que es concebido un nuevo proyecto hasta que se deja de utilizar. En la norma ISO 12207 se define como modelo de ciclo de vida com : "un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotacin y el mantenimiento de un producto software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso". Esta definicin considera una actividad como un conjunto de tareas y una tarea como una accin que transforma entradas en salidas. Existen diversos modelos de ciclos de vida, es decir, distintas formas de ver el proceso de desarrollo de software, y cada uno de ellos va asociado a un paradigma de la Ingeniera del Software, es decir, a una serie de mtodos, herramientas y procedimientos que debemos usar a lo largo del proyecto. Los modelos o ciclos de vida (Roger Pressman lo denomina Modelos Prescriptitos) mas comnmente utilizados son:
Tradicionales o en Cascada
Incrementales - Cascada Incremental - DRA (Desarrollo Rpido de Aplicaciones) Evolutivos - Prototipo - Espiral ( de Boehm) - Desarrollo Concurrente Especializado de Proceso - Desarrollo basado en Componentes - Mtodos Formales - Desarrollo de Software Orientado a Aspectos Proceso Unificado (RUP)
Planeacin
- Estimacin - Itinerario - Seguimiento
Modelado
- Anlisis - Diseo
Construcci n
- Cdigo - Prueba
Despliegue
- Entrega - Soporte -Retroalimentacin
Las etapas se representan cayendo en cascada desde una fase a la siguiente. Cada etapa de desarrollo debe completarse antes de dar paso a la siguiente. De esta forma solo una vez que ha finalizado la etapa de requerimientos puede pasarse al Diseo, y as sucesivamente. Por lo tanto este modelo presenta una visin muy clara de cmo se suceden las etapas durante el desarrollo y cual es la secuencia de eventos que se puede encontrar. Para cada actividad se asocian hitos a cumplir o entregas. Es un modelo muy simple y de fcil comprensin por parte de los Usuarios. Es recomendada cuando : Se conoce el dominio de aplicacin Los desarrolladores tienen experiencia en los problemas a resolver Pueden "congelarse" los requisitos del sistema durante todo el proceso del desarrollo
Prototipo
Comunicacin
Este modelo se basa en la elaboracin de prototipos para resolver las fase de Anlisis y Especificacin de requerimientos. Los prototipos pueden ser desechables (se utilizan solo con este propsito y luego se descartan) incrementales (se utilizan y luego se van perfeccionando para llegar al sistema final). Un prototipo es un modelo a escala reducida de la solucin final y sirve para verificar que las especificaciones han sido construidas de acuerdo a los requerimientos del sistema. Una vez establecidos con claridad los requerimientos del sistema perfecciona el diseo y luego se contina el proceso en sus etapas finales con el modelo en cascada. Es recomendada cuando :
3 Los usuarios tienen una idea general sobre la naturaleza del problema pero no hay acuerdo sobre la solucin Se requieren resultados rpidos para avanzar progresivamente sobre el punto anterior Se dispone de tecnologa y herramientas adecuadas para soportar esta estrategia.
Espiral
Es una estrategia de desarrollo en forma iterativa en la cual se va evaluando permanentemente los riesgos (cancelacin del proyecto por superar los tiempos o recursos asignados) y los avances, mediante la aplicacin de prototipos. Este modelo combina las virtudes de los anteriores. Si bien el ciclo de vida en Espiral est basado en el de Cascada que considera una concepcin lineal del proceso de construccin de software, al Espiral se lo ve como una serie de iteraciones que cumplen los objetivos definidos primariamente pudindose ver los avances que se hacen gradualmente, preparando a su vez los elementos que sern utilizados en los siguientes pasos. Otra ventaja es la incorporacin del riesgo y de los factores econmicos del desarrollo que muchas veces acta como la restriccin mas importante en el proceso de desarrollo, a diferencia del cascada que centra su atencin en la elaboracin adecuada de los requerimientos, favorecer el mantenimiento completar satisfactoriamente la construccin.
Planeacin
+ (anlisis de riesgo) Comunicacin Prototipado
Modelado
Inicio
Planeacin
Despliegue Construccin
Este modelo aprovecha adems la potencialidad del desarrollo con prototipos disponiendo en una fase muy temprana de los requerimientos completos obteniendo un modelo que facilita la construccin del sistema. Al igual que en el caso del Prototipo, se trabaja con prototipacin para dar cumplimiento a la fase de Anlisis y una vez que se establecen claramente los requisitos del sistema y los riesgos estn controlados, se contina con el proceso bajo el modelo en cascada hasta su finalizacin. Es recomendada cuando :
4 No conoce el dominio de aplicacin del problema Desarrolladores y Usuarios tienen poca experiencia en el tema Faltan precisiones sobre los problemas a resolver ni la forma de hacerlo Los requisitos son muy inestables . Existen condicionamientos muy estrictos en cuanto a recursos (tiempo y costo)
RUP
Captura varias de las mejores prcticas en el desarrollo moderno de software en
con guas, plantillas y herramientas para todas las actividades crticas de desarrollo.
Crea y mantiene modelos, en lugar de enfocarse en la produccin de una gran
Ingeniero de Desempeo
Pruebas
Entorno de Gerenciamiento
Implementacin
Prueba Distribucin
producir resultados.
El progreso es medido conforme avanzan las implementaciones.
Administracin de Requerimientos
Organizar y documentar la funcionalidad y cuales son las restricciones requeridas.
casos de uso.
Los casos de uso son instrumentos importantes de planeacin.
Controlar, llevar un registro y monitorear cambios para permitir un desarrollo iterativo. Establece espacios de trabajo seguros para cada desarrollador. Provee aislamiento de cambios hechos en otros espacios de trabajo. Controla todos los artefactos de software - modelos, cdigo, documentos, etc
Estructura de RUP
El proceso puede describirse en dos dimensiones, o a lo largo de dos ejes: El eje horizontal representa tiempo y muestra el aspecto dinmico del proceso,
Fases Inicio Transicin Flujos de Trabajo de Procesos Modelacin de Negocios Requerimientos Contenido Anlisis y Diseo Implementacin Prueba Desarrollo Flujos de Trabajo de Soporte Admin. Configuracin Administracin Ambiente Iteracin(es) Preliminar Iter. #1 Iter. #2 Iter. #n Iter. Iter. Iter. Iter. #n+1 #n+2 #m #m+1 Iteraciones Elaboracin Construccin
10
Nocin de Proceso
Trabajador/Quien ?? Rol que puede ser desempeado por un individuo conjunto de individuos en la organizacin de desarrollo
Actividad/Como ??
Diseador Responsable de
Caso de Uso
11 3 Resumen final
En aquellos casos que el sistema requiera procesos automatizados (software) aplicar principios slidos de Ingeniera del Software.