Herramientas y Metodologías de Análisis y Diseño Estructurado
de Análisis y Diseño Estructurado
Apunte de la Cátedra Metodologías de Desarrollo de Software I
Claudia Marcos – Edgardo Belloni
Revisión Abril 1999: Carlos Rodríguez, Marcos Rossi, Maximiliano Suárez, Verónica Targiano
Revisión Marzo 2000: Maximiliano Suárez
Revisión Abril 2003: Vanesa Dell’acqua, Gastón Martini
Introducción
El desarrollo de sistemaspequeños, en la cual participan una o dos personas, es una tarea
simple. Los cambios naturales que surgen durante el ciclo de desarrollo del sistema no producen
una gran propagación de cambios en el sistema. Sin embargo, si el sistema es grande y en su desarrollo participan varios grupos de personas desarrollando una tarea específica, hay que tener en
cuenta no solo la comunicación con el usuariosino también la inter-relación entre los distintos grupos de trabajo.
Algunos de los problemas comunes que los desarrolladores encuentran en la construcción de
software de cierta complejidad son los siguientes:
P
P
P
P
El dominio de aplicación no es conocido.
La comunicación con el usuario.
La comunicación con el grupo de desarrollo.
La carencia de buena documentación.
Por esta razón,es necesario seguir una serie de pasos sistemáticos para que los diferentes grupos de desarrollo posean una buena comunicación. Estos pasos son brindados por los modelos de
ciclo de vida, los cuales están constituidos por diferentes etapas:
Especificación de requerimientos: Se realizan entrevistas con el usuario identificando los
requerimientos y necesidades del usuario.
Análisis: Modela losrequerimientos del usuario.
Diseño: Se modela la solución del sistema, teniendo en cuenta el ambiente de implementación
a utilizar, por ejemplo, si el sistema es centralizado o distribuido, la base de datos a utilizar,
lenguaje de programación, performance deseada, etc.
Implementación: Dado el lenguaje de programación elegido se implementa el sistema.
Testeo: En esta etapa se verifica y validael sistema teniendo en cuenta algunos criterios determinados por el grupo correspondiente.
Mantenimiento: Es la etapa más difícil de desarrollo del sistema, actualiza y modifica el sistema si surgen nuevos requerimientos.
Existen varios métodos para describir el ciclo de vida de un sistema, uno de ellos es el desarrollo estructurado en cascada (Fig. 1).
Introducción
1
Especificaciónde
Especificación
Requerimientos
Qué?
Análisis
Diseño
Cómo?
Código
Implementación
Testeo
Mantenimiento
Fig. 1: Modelo de Ciclo de Vida en Cascada
En un principio fue de gran utilidad pero el problema es que para pasar de una etapa a la otra
había que terminar la primera, produciendo un gran problema si algún cambio era requerido. La
etapa de Mantenimiento consumía el80% del costo de producción.
Debido a los nuevos requerimientos en el desarrollo de software, surgieron muchos otros modelos que trataban de solucionar los problemas existentes, que se basaron en el modelo en Cascada.
Por ejemplo, el Modelo en Espiral, en el cual el sistema se desarrolla incrementalmente (Fig. 2).
Los modelos propuestos poseen básicamente las mismas etapas, pero varían en:
Plos métodos y herramientas utilizadas en cada actividad
P
los controles requeridos, paralelismo en las actividades
P
las salidas de cada etapa
No es aconsejable elegir un modelo y seguirlo al detalle sino que se debe adaptar a las características del proyecto que esta siendo desarrollado.
Los métodos de desarrollo de software pueden dividirse en dos grupos: función/dato y orientados aobjetos.
Diseño
Análisis
Implementación
Test
Fig. 2: Modelo de Ciclo de Vida en Espiral
2
Introducción
Orientado a Función/Dato
Orientado a Objetos
P Énfasis en la transformación de datos.
P Funciones y datos tratados como entidades separadas.
P Énfasis en la abstracción de datos.
P Funciones y datos encapsulados en entidades
fuertemente relacionadas.
P Difícil de...
Regístrate para leer el documento completo.