Anda di halaman 1dari 16

FUNDAMENTOS DE LA INGENIERA DEL SOFTWARE

EL SOFTWARE
Es un ingrediente indispensable para el funcionamiento del computador. Est formado
por una serie de instrucciones y datos, que permiten aprovechar todos los recursos que el
computador tiene, de manera que pueda resolver gran cantidad de problemas. Un
computador en s, es slo un conglomerado de componentes electrnicos; el software le da
vida al computador, haciendo que sus componentes funcionen de forma ordenada.
El software es un conjunto de instrucciones detalladas que controlan la operacin de un
sistema computacional.
Funciones del software
Administrar los recursos de computacionales
Proporcionar las herramientas para optimizar estos recursos.
Actuar como intermediario entre el usuario y la informacin almacenada.
Programas de Software
Programa: Conjunto de argumentos o instrucciones para la computadora, almacenado en
la memoria primaria de la computadora junto con los datos requeridos para ser ejecutado,
en otras palabras hacer que las instrucciones sean realizadas por la computadora.
Tipos de Software
Software del sistema: Es un conjunto de programas que administran los recursos de la
computadora. Ejemplos: Unidad central de proceso, dispositivos de comunicaciones y
dispositivos perifricos, el software del sistema administra y controla al acceso del
hardware.

Software de aplicaciones: Programas que son escritos para o por los usuarios para realizar
una tarea especfica en la computadora. Ejemplo: software para procesar un texto, para
generar una hoja de clculo, el software de aplicacin debe estar sobre el software del
sistema para poder operar.
Software de usuario final: Es el software que permiten el desarrollo de algunas
aplicaciones directamente por los usuarios finales, el software del usuario final con
frecuencia tiene que trabajar a travs del software de aplicacin y finalmente a travs del
software del sistema
CUALIDADES DEL SOFTWARE
Correcto: Un programa es funcionalmente correcto si se comporta de acuerdo a la
especificacin de las funciones (especificacin de requerimientos funcionales) que debera
proveer.
Confiabilidad: Informalmente el software es confiable si el usuario puede tenerle
confianza. Formalmente la confiabilidad se define en trminos del comportamiento
estadstico: la probabilidad de que el software opere como es esperado en un intervalo de
tiempo especificado.
Robustez (Robustness): Un programa es robusto si se comporta en forma razonable an en
circunstancias que no fueron anticipadas en la especificacin de requerimientos; por
ejemplo cuando encuentra datos de entrada incorrectos o algn malfuncionamiento del
hardware como rotura de disco.
Performance (tambin Eficciency): En la Ingeniera de Software generalmente
performance equivale a eficiencia. Un sistema de software es eficiente si utiliza los recursos
computacionales en forma econmica.
Amigabilidad (Friendliness): Un sistema de software es amigable si un usuario humano lo
encuentra fcil de utilizar. Esta definicin refleja la naturaleza subjetiva de la amigabilidad.

Verificabilidad (Verifiability): Un sistema de software es verificable si sus propiedades


pueden ser verificadas fcilmente. Por ejemplo, la correctitud o la performance de un
sistema son propiedades que interesa verificar.
Mantenibilidad (Maintainability): El trmino mantenimiento del software es utilizado
generalmente para referirse a las modificaciones que se realizan a un sistema de software
luego de su liberacin inicial, siendo visto simplemente como correccin de bugs.
Reparabilidad (Reparability): Un sistema de software es reparable si permite la
correccin de sus defectos con una carga limitada de trabajo.
Evolucionabilidad (Evolvability): Un sistema es evolucionable si acepta cambios que le
permitan satisfacer nuevos requerimientos. En otros productos de ingeniera las
modificaciones van precedidas de actividades como estudios de factibilidad, diseo
asociado, aprobaciones, evaluaciones y finalmente la introduccin de la modificacin.
Reusabilidad (Reusability): La reusabilidad es similar a la evolucionabilidad: en la
segunda se modifica un producto para construir una nueva versin del mismo producto, en
la primera se utiliza un producto, posiblemente con modificaciones menores, para construir
otro producto.
Portabilidad (Portability): El software es portable si puede ser ejecutado en distintos
ambientes, refirindose este ltimo tanto a plataformas de hardware como a ambientes de
software como puede ser determinado sistema operativo.
Comprensibilidad (Understandability): Algunos sistemas de software son ms fciles de
comprender que otros, algunas tareas son inherentemente ms complejas que otras.
Interoperabilidad (Interoperability): La interoperabilidad se refiere a la habilidad de un
sistema de coexistir y cooperar con otros sistemas, por ejemplo, la habilidad de un
procesador de texto de incluir grficas producidas por un paquete de grficos.

Productividad (Productivity): La productividad es una cualidad del proceso de


produccin de software, mide la eficiencia del proceso y como se vio antes, es la cualidad
de performance aplicada al proceso.
Oportunidad (Timeliness): La oportunidad es una cualidad del proceso que se refiere a la
habilidad de entregar un producto a tiempo.
Visibilidad (Visibility): Un proceso de desarrollo de software es visible si todos sus pasos
y su estado actual son claramente documentados. Otros trminos utilizados son
transparencia y apertura.
FACTORES DE CALIDAD DEL SOFTWARE
El desarrollo de software se ha vuelto uno de los principales ejes de conocimiento y
crecimiento profesional y empresarial en los ltimos aos, debido a la globalizacin y
aplanamiento del mundo en que vivimos. Todo se est haciendo en torno al software
e Internet. Y es por estos motivos y miles ms, que el desarrollo de estos grandes sistemas,
debe ser casi perfecto, y se deben seguir ciertos factores de calidad que as lo aseguran. A
continuacin algunos de los ms importantes como lo son la reusabilidad, legibilidad
y seguridad.
Reusabilidad: La necesidad de la reutilizacin surge de la observacin de que los sistemas
software a menudo siguen patrones similares; debera ser posible explotar esta similitud y
evitar reinventar soluciones a problemas que ya han sido encontradas con anterioridad.
Capturando tal patrn, un elemento de software reutilizable se podr aplicar en muchos
desarrollos diferentes.
Reusabilidad-Tipo de factor: La reusabilidad es un factor de tipo externo, ya que es
perceptible por los usuarios o clientes, por ejemplo al momento de utilizar partes de un
software en otro diferente. Tambin en el caso de los usuarios que son programadores,
utilizar partes de cdigos creadas en otros desarrollos para su propio trabajo (libreras).

Reusabilidad-Mtrica: La reusabilidad est dentro del contexto de las mtricas de calidad.


Las mtricas de calidad son todas las mtricas de software que definen de una u otra forma
la calidad del software; tales como exactitud, estructuracin o modularidad, pruebas,
mantenimiento, reusabilidad, entre otras. Estas son los puntos crticos en el diseo,
codificacin, pruebas y mantenimiento.
Legibilidad: La legibilidad dentro del contexto del desarrollo del software se refiere al
modo en que se estructura la informacin con la que se trabaja, es decir, todo debe estar
claramente documentado, espaciado, sin errores, y con una facilidad de uso gil y de rpido
entendimiento. As se logra una mayor comprensin del proyecto, y las modificaciones
pertinentes son ms fciles de realizar.
Legibilidad-Tipo de factor: La legibilidad es un factor de tipo interno, ya que solo es
perceptible por los desarrolladores o los profesionales de la computacin. Al cliente no le
importa que el sistema por debajo est legible, solo le importa que funcione ptimamente.
Legibilidad-Mtrica: La Legibilidad est dentro del contexto de las mtricas de Calidad.
Seguridad
Hay dos tipos

La seguridad es un factor de calidad de uso, definido por la ISO 9126 y se refiere a la forma
en que los atributos miden la habilidad para prevenir accesos no autorizados, ya sea

accidentales o deliberados, tanto a programas como a datos.


Es una actividad de calidad del software que se centra en la identificacin de riesgos que
pueden producir un impacto negativo en el software, se dirige un proceso de anlisis, se
identifican los riesgos y se clasifican por su importancia y grado de riesgo. Cuando se han
identificado los riesgos, se especifican los requisitos del software relacionados con la
seguridad.
Seguridad-Tipo de factor: Segn las dos definiciones anteriores, se puede concluir que es
un factor de tipo tanto externo como interno, ya que los desarrolladores deben tener en

cuenta la seguridad del software al momento de desarrollarlo, pero es a los clientes a los
que a la hora de la verdad, exigen un sistema final totalmente confiable y seguro.
Seguridad-Mtrica: La seguridad est dentro del contexto de las mtricas de calidad.
INGENIERA DEL SOFTWARE
La ingeniera de software es una disciplina formada por un conjunto de mtodos,
herramientas

tcnicas

que

se

utilizan

en

el desarrollo

de

los

programas

informticos (software). Esta disciplina trasciende la actividad de programacin, que es el


pilar fundamental a la hora de crear una aplicacin. El ingeniero de software se encarga de
toda la gestin del proyecto para que ste se pueda desarrollar en un plazo determinado y
con el presupuesto previsto.
La ingeniera de software, por lo tanto, incluye el anlisis previo de la situacin, el
diseo del proyecto, el desarrollo del software, las pruebas necesarias para confirmar su
correcto funcionamiento y la implementacin del sistema. Cabe destacar que el proceso de
desarrollo de software implica lo que se conoce como ciclo de vida del software, que est
formado por cuatro etapas: concepcin, elaboracin, construccin y transicin.
La concepcin fija el alcance del proyecto y desarrolla el modelo de negocio; la
elaboracin define el plan del proyecto, detalla las caractersticas y fundamenta la
arquitectura; la construccin es el desarrollo del producto; y la transicin es la transferencia
del producto terminado a los usuarios.
VISIN GENERAL DEL PROCESO DE DESARROLLO DE SOFTWARE
Este proceso es afectado por la creatividad y juicio de las personas involucradas.
En el desarrollo de software hay una serie de desafos adicionales, relativos esencialmente a
la naturaleza del producto obtenido. Un proceso de desarrollo de software tiene como
propsito la produccin eficaz y eficiente de un producto software que rena los requisitos
del cliente. Son actividades requeridas para desarrollar un sistema de software de alta
calidad y proporciona el marco de trabajo desde el cual se puede establecer un plan

detallado para el desarrollo del software. Actividades: Diseo, validacin, evolucin,


especificacin. Se sabe que cuanto mayor sea la ayuda de los usuarios en un proyecto de
desarrollo de software, mayores sern las probabilidades de xito que tenga el mismo. No
obstante es importante hacer algunas matizaciones:
1) El proyecto no se hace slo, porque incluso existiendo una gran ayuda por parte de los
usuarios, si no se consigue interpretar con precisin lo que quieren y no se dinamiza un
feedback continuo de los mismos durante todo el proceso de desarrollo, se incrementarn
las posibilidades de que algn requisito funcional no se haya recogido adecuadamente o de
que se haya realizado un software con una usabilidad incmoda para los usuarios. Estas
circunstancias son fuente de innumerables problemas en las fases finales del proyecto y
provocan retrasos, sobrecostes y grandes dificultades para cerrar el proyecto, adems de
crear conflictos con el cliente que pueden perjudicar las relaciones futuras con el mismo.
2) Es importante que entre el grupo usuarios asignados al proyecto haya usuarios que vayan
a estar implicados en el futuro uso del sistema de informacin, es decir, no es suficiente que
el equipo de usuarios est formado por idelogos o tericos que se nutrirn del resultado
del trabajo de la herramienta, sino que es fundamental que participen usuarios que despus
se tengan que poner el mono de trabajo y vayan a trabajar con el software.
3) Los analistas estn para ayudar y para colaborar con los usuarios en la especificacin y
diseo de la solucin, pero no estn para dar lecciones a los usuarios y ensearle cmo
deben hacer su trabajo. Si los usuarios hacen su trabajo de una determinada manera, aunque
no sea la ms ortodoxa, siempre tendr una justificacin que slo se entendera si realmente
estuvieran haciendo su trabajo durante un tiempo y se vieran los problemas con los que se
enfrentan cotidianamente.
4) Es fundamental documentar el proyecto, en primer lugar con la documentacin que se
especifique en las normativas de desarrollo de la organizacin para la que se realiza el
servicio, con las matizaciones que indique el Director del Proyecto, en segundo lugar con la
documentacin que establezcan las normativas internas de calidad de la organizacin (no
requerir un sobreesfuerzo, ya que en la mayor parte de los casos coincidir) y a todo lo

anterior sumarle toda la documentacin de trabajo que sea necesaria para trabajar con los
usuarios, que no tienen por qu entender de modelos de datos, de diagramas de casos de
uso.
PARTICIPANTES EN EL PROCESO DE DESARROLLO DE SOFTWARE
Puesto que la participacin de usuarios en el diseo de sistemas de informacin es un
aspecto relevante, resulta necesario aclarar lo que significa la participacin y lo que ella
implica. Una cosa es segura: la participacin no es un concepto nuevo en el extenso plano
de las ciencias de la informacin.
En el entendido de que toda unidad de informacin trabaja en funcin del beneficio
social; el participante ms importante de ella es, por lo tanto, el usuario. De esta manera, se
puede definir a la participacin como un proceso en el cual dos o ms partes involucradas
influyen sus decisiones, planes y polticas en torno a los sistemas, servicios y recursos que
ofrece una determinada unidad. Sin embargo, se debe reconocer que es poco el debate que
se hace acerca de las decisiones tomadas, es decir, de los distintos intereses que influyen en
ellas. Si se desea tener un acercamiento ms amplio en el diseo de sistemas es necesario
considerar las funciones, la estructura, los intereses y los problemas mismos que influyen
en los participantes implicados. Dentro de todo sistema, existen varios tipos de
participantes que necesariamente intervienen en los sistemas que ellos mismos
implementan para agilizar la recuperacin de sus recursos.
As mismo, tambin existen tres tipos de participante: participantes unitarios, pluralistas y
coercitivos. La relacin de tipo unitaria implica que sus participantes poseen valores,
creencias e intereses idnticos; ellos comparten el mismo propsito. En las relaciones
pluralistas, sus participantes comparten los mismos intereses, no as sus valores o creencias,
lo que debe promover un espacio de intercambio de ideas, acuerdos e incluso conflictos. En
total contraste, en las relaciones coercitivas existen pocos o nulos intereses en comn, la
libertad de expresin es muy baja y los valores y creencias de cada individuo resultan ser
muy conflictivas. Las decisiones son tomadas mediante enfoques absolutistas de gente con
poder.

CICLO DEL VIDA DEL SOFTWARE


Es la forma mediante la cual se describen los diferentes pasos que se deben seguir
para el desarrollo de un software, partiendo desde una necesidad hasta llegar a la puesta en
marcha de una solucin y su apropiado mantenimiento. El ciclo de vida para un software
comienza cuando se tiene la necesidad de resolver un problema, y termina cuando el
programa que se desarroll para cumplir con los requerimientos, deja de ser utilizado.
Existen varias versiones del ciclo de vida del software entre las cuales se destacan: el ciclo
de vida clsico o en cascada, el modelo en espiral, el desarrollo de prototipos, el modelo
por incrementos y el modelo extremo.
Etapas del ciclo de vida del software
El ciclo de vida clsico del software siendo uno de los ms utilizados tal como lo
plantean diferentes autores, est conformado en su versin ampliada por siete etapas que se
pueden representar mediante un modelo en cascada as:
Ingeniera de sistemas: En esta etapa el analista luego de un minucioso y detallado estudio
de los sistemas de una organizacin, detecta un problema o una necesidad que para su
solucin y/o satisfaccin es necesario realizar un desarrollo de software.
Anlisis: En esta etapa se debe entender y comprender de forma detallada cual es la
problemtica a resolver, verificando el entorno en el cual se encuentra dicho problema, de
tal manera que se obtenga la informacin necesaria y suficiente para afrontar su respectiva
solucin. Esta etapa es conocida como la del QU se va a solucionar.
Diseo: Una vez que se tiene la suficiente informacin del problema a solucionar, es
importante determinar la estrategia que se va a utilizar para resolver el problema. Esta etapa
es conocida bajo el CMO se va a solucionar.

Implementacin: partiendo del anlisis y diseo de la solucin, en esta etapa se procede a


desarrollar el correspondiente programa que solucione el problema mediante el uso de una
herramienta computacional determinada.
Pruebas: Los errores humanos dentro de la programacin de los computadores son muchos
y aumentan considerablemente con la complejidad del problema. Cuando se termina de
escribir un programa de computador, es necesario realizar las debidas pruebas que
garanticen el correcto funcionamiento de dicho programa bajo el mayor nmero de
situaciones posibles a las que se pueda enfrentar.
Documentacin: Es la gua o comunicacin escrita en sus diferentes formas, ya sea en
enunciados, procedimientos, dibujos o diagramas que se hace sobre el desarrollo de un
programa. La importancia de la documentacin radica en que a menudo un programa
escrito por una persona, es modificado por otra. Por ello la documentacin sirve para
ayudar a comprender o usar un programa o para facilitar futuras modificaciones
(mantenimiento). La documentacin se compone de tres partes:
Documentacin Interna: Son los comentarios o mensajes que se aaden al cdigo fuente
para hacer ms claro el entendimiento de los procesos que lo conforman, incluyendo las
precondiciones y las poscondiciones de cada funcin.
Documentacin Externa: Se define en un documento escrito con los siguientes puntos:
Descripcin del Problema
Datos del Autor
Algoritmo (diagrama de flujo o Pseudocdigo)
Diccionario de Datos
Cdigo Fuente (programa)

Manual de Usuario: Describe paso a paso la manera cmo funciona el programa, con el
fin de que el usuario lo pueda manejar para que obtenga el resultado deseado.
Mantenimiento: Una vez instalado un programa y puesto en marcha para realizar la
solucin del problema previamente planteado o satisfacer una determinada necesidad, es
importante mantener una estructura de actualizacin, verificacin y validacin que
permitan a dicho programa ser til y mantenerse actualizado segn las necesidades o
requerimientos planteados durante su vida til. Para realizar un adecuado mantenimiento,
es necesario contar con una buena documentacin del mismo. Para terminar de entender la
problemtica en la cual se desarrolla este libro es importante tener unos conceptos claros y
precisos de lo que es el Anlisis y el Diseo de Algoritmos.
FUNDAMENTACIN TERICA DEL PARADIGMA DE PROGRAMACIN
Los paradigmas de programacin son la forma, que determinan los mtodos y las
herramientas que un programador usara en la construccin de un software. Mayormente los
lenguajes de programacin estn basados en uno o ms paradigmas, a estos se les puede
llamar multiparadigmas. Tambin menciona los diferentes tipos de paradigmas que se
conocen, pero solamente se hace referencia a los ms importante ya que suelen haber
muchos ms que no se mencionaran en esta investigacin.
Un lenguaje de programacin puede soportar distintos paradigmas de programacin
con el objetivo de que un programador utilice el ms conveniente a la hora de resolver un
problema. Ningn paradigma es capaz de resolver todos los problemas de forma sencilla y
eficiente, por lo tanto, es til poder elegir entre distintos estilos de programacin
dependiendo del tipo de problema. Tambin hay lenguajes que permiten mezclar los
paradigmas que, en principio, pareceran irreconciliables.
Se debe aclarar que hay subparadigmas que se incluyen en paradigmas ms generales,
pero hay otros que utilizan mtodos de programacin totalmente distintos entre s e
igualmente hay lenguajes que los combinan. Por ejemplo, el lenguaje Oz emplea
programacin lgica, funcional, orientada a objeto y otras. Lenguajes como Delphi, C++ y

Visual Basic combinan el paradigma imperativo, el procedural y el orientado a objetos.


Incluso lenguajes ms puros en sus paradigmas como Prolog (paradigma lgico) o Scheme
(paradigma funcional) poseen estructuras iterativas tpicas de los lenguajes de paradigma
imperativo.
METODOLOGA O PROCESOS DE DESARROLLO DE SOFTWARE
La comparacin y/o clasificacin de metodologas no es una tarea sencilla debido a la
diversidad de propuestas y diferencias en el grado de detalle, informacin disponible y
alcance de cada una de ellas. A grandes rasgos, si tomamos como criterio las notaciones
utilizadas para especificar artefactos producidos en actividades de anlisis y diseo,
podemos clasificar las metodologas en dos grupos: Metodologas Estructuradas y
Metodologas Orientadas a Objetos.
Por otra parte, considerando su filosofa de desarrollo, aquellas metodologas con
mayor nfasis en la planificacin y control del proyecto, en especificacin precisa de
requisitos y modelado, reciben el apelativo de Metodologas Tradicionales (o tambin
denominadas Metodologas Pesadas, o Peso Pesado). Otras metodologas, denominadas
Metodologas giles, estn ms orientadas a la generacin de cdigo con ciclos muy cortos
de desarrollo, se dirigen a equipos de desarrollo pequeos, hacen especial hincapi en
aspectos humanos asociados al trabajo en equipo e involucran activamente al cliente en el
proceso.
Metodologas Estructuradas
Los mtodos estructurados comenzaron a desarrollarse a fines de los 70s con la
Programacin Estructurada, luego a mediados de los 70s aparecieron tcnicas para el
Diseo (por ejemplo: el diagrama de Estructura) primero y posteriormente para el Anlisis
(por ejemplo: Diagramas de Flujo de Datos). Estas metodologas son particularmente
apropiadas en proyectos que utilizan para la implementacin lenguajes de 3ra y 4ta
generacin.

Metodologas Orientadas a Objetos


Su historia va unida a la evolucin de los lenguajes de programacin orientada a
objeto, los ms representativos: a fines de los 60s SIMULA, a fines de los 70s Smalltalk80, la primera versin de C++ por Bjarne Stroustrup en 1981 y actualmente Java o C# de
Microsoft. A fines de los 80s comenzaron a consolidarse algunos mtodos Orientadas a
Objeto. En 1995 Booch y Rumbaugh proponen el Mtodo Unificado con la ambiciosa idea
de conseguir una unificacin de sus mtodos y notaciones, que posteriormente se reorienta
a un objetivo ms modesto, para dar lugar al Unified Modeling Language (UML), la
notacin Orientada a Objetos ms popular en la actualidad.
Algunas metodologas orientadas a objetos que utilizan la notacin UML son:
Rational Unified Process (RUP), OPEN, MTRICA (que tambin soporta la notacin
estructurada).
Metodologas Tradicionales
Las metodologas no giles son aquellas que estn guiadas por una fuerte
planificacin durante todo el proceso de desarrollo; llamadas tambin metodologas
tradicionales o clsicas, donde se realiza una intensa etapa de anlisis y diseo antes
de la construccin del sistema. Todas las propuestas metodolgicas antes indicadas
pueden considerarse como metodologas tradicionales. Aunque en el caso particular
de RUP, por el especial nfasis que presenta en cuanto a su adaptacin a las
condiciones del proyecto (mediante su configuracin previa a aplicarse), realizando
una configuracin adecuada, podra considerarse gil.
Metodologas giles
Un proceso es gil cuando el desarrollo de software es incremental (entregas
pequeas de software, con ciclos rpidos), cooperativo (cliente y desarrolladores
trabajan juntos constantemente con una cercana comunicacin), sencillo (el mtodo

en s mismo es fcil de aprender y modificar, bien documentado), y adaptable (permite


realizar cambios de ltimo momento). Entre las metodologas giles identificadas son:
Extreme Programming, Scrum, Familia de Metodologas Crystal, Feature Driven
Development, Proceso Unificado Rational, una configuracin gil, Dynamic Systems
Development Method, Adaptive Software Development, Open Source Software
Development.
MODELADO DE SISTEMAS
Una tcnica ampliamente usada es documentar la especificacin del sistema como un
conjunto de modelos del sistema. Estos modelos son representaciones grficas que
describen los procesos del negocio, el problema a resolver y el sistema que tiene que ser
desarrollado. Debido a las representaciones grficas usadas, los modelos son a menudo ms
comprensibles que las descripciones detalladas en lenguaje natural de los requerimientos
del sistema. Ellos constituyen tambin un puente importante entre el proceso de anlisis y
diseo. Pueden usarse modelos en el proceso de anlisis para comprender el sistema
existente que debe ser reemplazado o mejorado, o para especificar el nuevo sistema que sea
requerido. Pueden desarrollarse diferentes modelos para representar el sistema desde
diferentes perspectivas. Por ejemplo:

El aspecto ms importante de un modelo del sistema es que omite los detalles.


Un modelo del sistema es una abstraccin del sistema que se est estudiando en lugar de

una representacin alternativa de ese sistema.


Idealmente, una representacin de un sistema debera mantener toda la informacin sobre la
entidad que se est representando.
Una abstraccin simplifica y resalta de forma deliberada las caractersticas ms
relevantes. Por ejemplo, en el caso improbable de que este libro fuese publicado por
captulos en un peridico, la presentacin en este caso sera una abstraccin de los puntos
clave del libro. Si fuese traducido del ingls al italiano, sta podra ser una representacin

alternativa. La intencin del traductor debera ser mantener toda la informacin tal y como
se presenta en ingls.
Diferentes tipos de modelos del sistema se basan en distintas aproximaciones de
abstraccin. Un modelo de flujo de datos se centra en el flujo de datos y las
transformaciones funcionales sobre esos datos. Se omiten los detalles de las estructuras de
datos. Por el contrario, un modelo de entidades de datos y sus relaciones documentan las
estructuras de datos del sistema en lugar de su funcionalidad.
TCNICAS Y HERRAMIENTAS EN EL PROCESO DE DESARROLLO DE
SOFTWARE
Las herramientas de desarrollo de software (HDS) han desempeado un importante
papel en el desarrollo de aplicaciones. Como consecuencia del avance tecnolgico stas han
experimentado tambin continuos cambios. As como se cuenta en la actualidad con
documentacin sobre las numerosas HDS disponibles, y con trabajos de investigacin que
revelan avances en herramientas particulares.
El Proceso / Tcnicas. Permite un desarrollo racional de la IS y comprende actividades
tcnicas y de gestin propias asociadas al ciclo de vida del software. Est determinado por
un modelo, una representacin formal de un sistema. En la IS, un modelo se comporta
tambin como una estrategia de desarrollo.
El Mtodo. Un mtodo es una gua general para ayudar al desempeo de una actividad. En
la IS, los mtodos indican cmo construir el software. Los mtodos tienen dimensiones de
eficiencia y de efectividad, sentido del proceso y del producto, cualidades que se atribuyen
directamente a la calidad del software.
Las Herramientas. Todo mtodo tiene uno o varios instrumentos y tcnicas asociados a
l, con un grado de adecuacin que depende generalmente del contexto de aplicacin.
Herramientas de Desarrollo de Software

Actualmente se considera a las HDS como herramientas basadas en computadoras


que asisten el proceso de ciclo de vida de software, consolidadas en la literatura en la
forma de Ingeniera de software asistida por computadora (CASE, por sus siglas en ingls).
Esto es, software que se utiliza para ayudar a las actividades del proceso de software o
software que es utilizado para disear y para implementar otro software.
Permiten automatizar acciones bien definidas, reduciendo tambin la carga cognitiva
del ingeniero de software, quien requiere libertad para concentrarse en los aspectos
creativos del proceso. Este soporte se traduce en mejoras a la calidad y la productividad
en el diseo y desarrollo. Las HDS automatizan metodologas de software y desarrollo de
sistemas y se vinculan con los diferentes conceptos involucrados en el desarrollo.
Las Herramientas como rea de Conocimiento de la IS
Las disciplinas conforman una visin de contexto de la IS. Hacia lo interno, existen
un conjunto de reas de conocimiento que facilitan la comprensin del alcance y las
limitaciones de diferentes temas en la IS. Estas reas son: Requerimientos, Diseo,
Construccin, Pruebas y Mantenimiento de software, Gestin de la configuracin, Gestin
de la ingeniera y del proceso de la ingeniera de software, Herramientas y mtodos de
software, y Calidad de software. De este modo, las herramientas de software y los mtodos,
integran un rea especfica de la IS, y contribuyen a la produccin de software de alta
calidad, con bajo costo y en el menor tiempo posible.

Anda mungkin juga menyukai