Modelos de
Ciclo de Vida
Resumen
Ingeniería de Software
Alfonso Vega G.
Actividades
Ciclo de Vida de un Sistema de
Información
 El desarrollo de sistemas es un proceso que consiste
en dos etapas principales de análisis y diseño de
sistemas; comienza cuando la gerencia, o en algunas
ocasiones el personal de desarrollo de sistemas, se
da cuenta de que cierto sistema del negocio necesita
mejorarse.
 El ciclo de vida del desarrollo de sistemas es el
conjunto de actividades de los analistas, diseñadores
y usuarios, que necesitan llevarse a cabo para
desarrollar y poner en marcha un sistema de
información.
Algunos Modelos de Ciclos de Vida
Modelo Cascada
Ciclo de Vida en V
Modelo Incremental
Ciclo de Vida por Prototipos
Modelo Evolutivo
Ciclo de Vida en Espiral
Modelo en Cascada
Modelo en Cascada
Propuesto por Winston Royce el año 70.
Admite iteraciones (no es estrictamente
lineal como se cree)
Después de cada etapa se realiza una o
varias revisiones para poder pasar a la
siguiente. Es un modelo rígido y con
muchas restricciones.
Pero sirvió como base para muchos otros.
Modelo en cascada








Ventajas
Planificación sencilla
Calidad del producto alta
Permite trabajar con personal poco cualificado
Inconvenientes
Necesidad de tener todos los requisitos al principio
Es un modelo rígido y poco flexible.
Si se han cometido errores en una fase es difícil volver
atrás
 No se dispone del producto hasta el final
 Síndrome del 90%
 Más lento y más costoso que los demás
Modelo en Cascada
Tipos de proyecto para los que es
adecuado
Los que se dispone de todas las
especificaciones desde el principio
Se desarrolla un tipo de producto que no
es novedoso
Proyectos complejos que se entienden
bien desde el principio
Ciclo de Vida en V
Ciclo de Vida en V
Contiene las mismas etapas que el ciclo de vida cascada puro. A
diferencia el Modelo V tiene dos subetapas adicionales de
retroalimentación entre las etapas de análisis y mantenimiento, y
entre las de diseño y debugging.
Ventajas:
• Se ofrece una mayor garantía de corrección al terminar el
proyecto
• La relación entre las etapas de desarrollo y los distintos tipos de
pruebas facilitan la localización de fallos
• Es un modelo sencillo y de fácil aprendizaje
• Hace explícito parte de la iteración y trabajo que hay que revisar
• Especifica bien los roles de los distintos tipos de pruebas a realizar
• Involucra al usuario en las pruebas
Ciclo de Vida en V
Desventajas:
• Las desventajas son similares a las del
modelo Cascada
• Es difícil que el cliente exponga
explícitamente todos los requisitos
• El cliente debe tener paciencia pues
obtendrá el producto al final del ciclo de
vida
• Las pruebas pueden ser caras y, a
veces, no lo suficientemente efectivas
• El producto final obtenido puede que no
Ciclo de Vida en V
Usos
Aplicaciones transaccionales de mediano
tamaño, donde se necesita un nivel de
confiabilidad alta.
Ejemplo : Aplicaciones de Facturación
Modelo Incremental
Modelo Incremental
Es un modelo que desciende o deriva del
modelo en cascada puro.
Se basa en construir incrementando las
funcionalidades del programa
Se crean módulos que cumplen las
diferentes funciones del sistema
Al final de cada Iteración se le entrega al
cliente una versión mejorada o con
mayores funcionalidades del producto.
Modelo Incremental
 VENTAJAS.
 Construir un sistema pequeño es siempre menos riesgoso que construir un sistema
grande.
 Al ir desarrollando parte de las funcionalidades, es más fácil determinar si los
requerimientos planeados para los niveles subsiguientes son correctos.
 Si un error importante es realizado, sólo la última iteración necesita ser descartada y
utilizar el incremento previo.
 DESVENTAJAS.
 Se presupone que todos los requisitos se han definido al inicio.
 Se requiere de una experiencia importante para definir los incrementos de forma
de distribuir en ellos las tareas en forma proporcional
 Si el sistema a desarrollar es de gran magnitud y se cuenta con un único grupo para
construirlo se corre el riesgo que el desarrollo se prolongue demasiado en tiempo
Modelo Incremental
Uso
No esta pensado para cierto tipo de
aplicaciones sino que a cierto tipo de
usuario o cliente. Se puede utilizar en casi
cualquier proyecto, pero será muy útil
cuando el usuario requiera entregas
rápidas, aunque sean parciales.
Ciclo de Vida Evolutivo
Ciclo de Vida Evolutivo
Este modelo que los requerimientos del
usuario pueden cambiar en cualquier
momento.
Se afronta ese problema mediante una
iteración de ciclos
requerimiento-desarrollo-evaluación.
Ciclo de Vida Evolutivo
Ciclo de Vida Evolutivo
Resulta muy útil cuando se desconoce la
mayoría de los requerimientos iniciales.
Ejemplo Un sistema de Stock-VentasFacturación, en el cual hay muchas áreas
que utilizarán la aplicación. Las posibles
modificaciones de un área podrían afectar
los requerimientos de otra; En ese caso se
hace necesario que la aplicación
evolucione hasta logarr las satisfacciones
de todos los clientes
Cuando el usuario no necesita todas las
funcionalidades desde el principio del
proyecto
Ciclo de Vida por Prototipos
Ciclo de Vida por Prototipos
El uso de prototipos no es exclusivo del
modelo Iterativo. En la práctica los
prototipos se utilizan para validar los
requerimientos de los usuarios en
cualquier ciclo de vida.
Nos permite suavizar la transición entre
los requerimientos iniciales y finales que
surgen en un proyecto con grandes
innovaciones.
Ciclo de Vida por Prototipos
Si no se conoce exactamente las
especificaciones de forma precisa, suele
recurrirse a definir especificaciones
iniciales para hacer un prototipo, es decir
un producto parcial.
El objetivo es lograr un producto
intermedio, antes de construir el definitivo
Es conveniente evaluar si vale la pena el
esfuerzo antes de construir prototipos.
Ciclo de Vida por Prototipos
Ventajas
Este modelo es útil cuando el cliente
conoce los objetivos generales para el
software, pero no identifica los requisitos
detallados de entrada, procesamiento o
salida.
También ofrece un mejor enfoque cuando
el responsable del desarrollo del software
está inseguro de la eficacia de un
algoritmo o de la adaptabilidad de un
sistema operativo o de la forma que
Ciclo de Vida por Prototipos
Desventajas
Es altamente costoso y difícil para la
administración temporal.
Ciclo de Vida por Prototipos
Uso:
Se utiliza mayoritariamente en proyectos
de desarrollo con innovaciones
importantes, o en el uso de tecnologías
nuevas o poco probadas, en las que la
incertidumbre impide iniciar un proyecto
secuencial
Si deseamos migrar aplicaciones de
tecnología para adoptar sus nuevas
funcionalidades o simplemente estar entre
los top-ten, este es un modelo ideal
Modelo en Espiral
Modelo en Espiral
Puede considerarse una variación del
Modelo Prototipo
Se basa en una serie de ciclos repetitivos
para ir ganando madurz en el producto
final. Toma los beneficios de los modelos
incremental y prototipos, pero se agrega el
concepto de riesgo, dada la incertidumbre
de requerimientos al inicio del proyecto o
de los que surgen durante el desarrollo.
Modelo en Espiral
A medida que el ciclo se cumple, se van
obteniendo prototipos sucesivos que van
ganando la satisfacción del cliente o
usuario.
Modelo en Espiral
Existen cuatro etapas básicas
Planificación (relevantar requerim).
Análisis de Riesgo (en base al paso
anterior, decidimos si continuamos)
Implementación (prototipo)
Evaluación (cliente evalúa)
Modelo en Espiral













Ventajas
No es necesaria definición completa de requisitos
Desde el final de la primera iteración es más fácil validar los requisitos
Riesgo es menor, porque sólo se arriesga la última iteración
Riesgo de retrasos menor, de detectar los problemas temprano y da tiempo
a subsanarlos
Inconvenientes
Es difícil evaluar los riesgos
Necesaria participación continua del cliente
Al subcontratarlo hay que producir una especificación completa y eso lleva
tiempo
Tipos de proyecto para los que es adecuado
Grandes sistemas
Proyectos donde es importante el factor riesgo
Cuando no es posible definir todos los requisitos
Modelo en Espiral
Uso
Aplicaciones de Administración de
reclamos , pedidos e incidentes, dado que
los sectores que utilizan el sistema son
demasiados y con intereses muy diversos
como para lograr un levantamiento
exhaustivo y completo de requerimientos.
Ejercicios propuestos
 Utilizando los temas vistos:
 Compare el Modelo de Ciclo de Vida en V con el Modelo Cascasda
 Compare el Modelo de Ciclo de Vida Evolutivo con el Incremental.
Indique cuando se utiliza cada uno, ventajas y desventajas
Descargar

Diapositiva 1