Apuntes de sistemas
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 sistemas pequeñ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 usuario sinotambié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 necesarioseguir 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 los requerimientos delusuario. 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 valida el sistema teniendo encuenta 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ón de Requerimientos
Qué?Análisis
Cómo?
Diseño
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 el 80% del costo de producción. Debido a losnuevos 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: P los métodos y herramientas utilizadas en cadaactividad 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 a objetos.
Diseño
Análisis
Implementación
Test
Fig. 2:Modelo de Ciclo de Vida en Espiral
2
Introducción
Orientado a Función/Dato
P Énfasis en la transformación de datos. P Funciones y datos tratados como entidades separadas.
Orientado a Objetos
P Énfasis en la abstracción de datos. P Funciones y datos encapsulados en entidades fuertemente relacionadas. P Difícil de entender y modificar. P Facilidades de mantenimiento. P Funciones,...
Regístrate para leer el documento completo.