Método de cascada
Primer modelo empleado (Royce, 1970), también denominado ciclo de vida clásico y
modelo lineal secuencial.
Consiste en la ejecución secuencial de una serie de fases que se suceden, lo que da
nombre al modelo.
Cada fase genera documentación para la siguiente. Esta documentación debe ser
aprobada.
Una fase no comienza hasta que la anterior ha terminado.
Requiere disponer de unos requisitos completos y precisos al principio del desarrollo.
Se disponga de unos requisitos completos y consistentes al principio del desarrollo.
Sea un proyecto pequeño, en el que el período de congelación de los requisitos es corto, o
un proyecto con unos requisitos bastante estables.
Método Incremental
La principal diferencia del modelo incremental con los modelos tradicionales es que las tareas
están divididas en iteraciones, es decir, pequeños lapsos en los cuales se trabaja para conseguir
objetivos específicos. Con los modelos tradicionales no pasaba esto; era necesario esperar hasta el
final del proceso.
Los evolutivos son modelos iterativos, permiten desarrollar versiones cada vez más completas y
complejas, hasta llegar al objetivo final deseado; incluso evolucionar más allá, durante la fase de
operación. Los modelos “Iterativo Incremental” y “Espiral” (entre otros) son dos de los más
conocidos y utilizados del tipo evolutivo.
Características:
• Es evolutivo.
• Posee un enfoque evolutivo para la creación de software.
• Comienza con la identificación de las clases más importantes.
• Examina los datos que se van a manejar.
• Permite la reutilización del software.
• El ensamblaje de los componentes reduce el 70 del 100% del tiempo del ciclo del desarrollo
del software y un 84 del 100% del costo del proyecto.
Método Espiral
Características:
Características:
Características:
• Reutilización del software. Nos lleva a alcanzar un mayor nivel de reutilización de software.
• Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada uno de los
componentes antes de probar el conjunto completo de componentes ensamblados.
• Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento entre
componentes, el desarrollador es libre de actualizar y/o agregar componentes según sea
necesario, sin afectar otras partes del sistema.
• Mayor calidad. Dado que un componente puede ser construido y luego mejorado
continuamente por un experto u organización, la calidad de una aplicación basada en
componentes mejorará con el paso del tiempo.
• Ciclos de desarrollo más cortos. La adición de una pieza dada de funcionalidad tomará días en
lugar de meses o años.
• Mejor ROI. Usando correctamente esta estrategia, el retorno sobre la inversión puede ser más
favorable que desarrollando los componentes uno mismo.
• Funcionalidad mejorada. Para usar un componente que contenga una pieza de funcionalidad,
solo se necesita entender su naturaleza, más no sus detalles internos. Así, una funcionalidad
que sería impráctica de implementar en la empresa, se vuelve ahora completamente
asequible.