MODELOS | ETAPAS | CARACTERISTICAS | VENTAJAS | DESVENTAJAS |
CASCADA |
- Requerimientos
- Diseño
- Codificación y test
- Integración del sistema
- Operación y mantención
| - Se desarrolla con un paso a paso de etapas que realiza entregas limitadas.
- Es uno de los modelos que más se usan.
- Cualquier alteración de las etapas no permite que halla un trabajo de calidad.
| - Es sencillo de trabajar.
- Intuitivo
- Flexible
- Los recursos se usan al mínimo.
- A medida que se desarrolla se va a la vez documentando.
| - No se puede establecer todo lo que quiere el cliente en el ciclo de vida.
- En las iteraciones que se van viendo, siempre habrá algún problema u inconveniente.
- El cliente debe esperar prácticamente hasta que el programa este totalmente completado.
- Una falla con el programa finalizado puede ser un gran problema.
- No se puede volver atrás si el diseño ha ido mal.
|
INCREMENTAL |
- Requerimientos
- Diseño
- Desarrollo
- Validación
- Integración
- Validación
| - Evaluar costos es complicado.
- La entrega puede ser la esperada.
- Se entrega valga la redundancia un entregable funcionales.
| - Cada incremento es funcional, por lo tanto, por cada entrega el cliente podrá iniciar su uso.
- Los incrementos iniciales son una muestra de como podría quedar el software finalizado.
- Existen bajos riesgos de que falle el proyecto.
- Los incrementos más grandes serán puestos a rigurosas pruebas, y aquellos que sean de menor importancia no pasarán de agacha, así que cuando estos se unan pues se evite el mínimo de problemas sobre todo en los incrementos más importantes.
| - Los incrementos son muy pequeños.
- Existen limitaciones de código para las entregas.
- Las indicaciones del cliente son complejas de adaptar a los incrementos.
- Los recursos que se usan no pueden especificarse de una forma muy detallada.
|
DRA |
- Gestión
- Datos
- Procesos
- Generación de aplicaciones
- Entregas
| - Se desarrolla en entregas que van en una serie de incrementos.
- Se da prioridad a las interfaces que permite que se parte de ahí para desarrollar con un prototipo listo.
- Se necesitan equipos de 6 personas.
- Se eliminan procesos secundarios para cumplir con las entregas.
| - Es ágil.
- Varias personas pueden interactuar en él.
| - Requiere un personal amplio para los equipos.
- No todos los hardware están de la mano a el desarrollo de este.
- No es adecuado cuando los riesgos técnicos son altos.
|
EVOLUTIVO |
- Especificación
- Desarrollo
- Validación
| - Cambios de requisitos de los productos o productos.
- Se maneja una buena gestión de las etapas.
- Es iterativo.
- Se centra en aquellos aspectos que podrán ser visibles para el cliente.
| - Disponibilidad en el hardware especifico en el que se va a trabajar.
- Cada entrega es interactiva lo cual el cliente puede evaluarla.
- Las personas que desarrollan y los usuarios pueden entender mejor el sistema.
| - Si no hay entregas, no se puede medir el progreso del sistema.
- Si no se desarrolla rápido no podría documentarse de forma efectiva la cual pueda reflejar todos los cambios del sistema.
- Los cambios en la marcha pueden hacer la estructura algo compleja, lo cual la haría costosa en cuanto a mantenimiento.
|
ESPIRAL |
- Objetivo y determinación
- Comunicación
- Análisis de riesgos
- Diseño
- Desarrollo y prueba
| - En cada giro que hay se construye un nuevo modelo del sistema.
- Se dice que es uno de los mejores modelos para grandes proyectos.
- Tiende a trabajar con otros modelos.
| - Este puede adaptarse y aplicarse de una forma sencilla en cualquier ciclo de vida del software.
- Tiene un enfoque y es a reducir los riegos y fallas en un sistema.
- Los riesgos son visibles y se pueden prevenir a medida que evoluciona el proceso.
- Utiliza prototipos con el fin de reducir riesgos.
- Su enfoque es realista y el diseño de software es a gran escala.
| - Su modelo es algo costoso.
- Su tiempo de desarrollo tiende a ser largo.
- Es complejo y no se tiende a usar en sistemas pequeños.
- Se necesita personal calificado para poder establecer los riesgos.
- A pesar de que se puede utilizar en sistemas a gran escala, también presente inconvenientes a la hora de convencer a sus clientes a que lo implementen.
|
ORIENTADO A LA REUTILIZACIÓN |
- Requerimientos
- Análisis
- Modificación de requerimientos
- Diseño
- Desarrollo e integración
- Validación
| - Se trabaja con componentes reutilizables apropiados.
- Se debe confiar en esos componentes con el fin de cumplir con lo especificado.
- Lo que se usa para reutilizar esta documentando para comprenderlos mejor.
- Enfoque repetitivo y evolutivo
- Configura aplicaciones a partir de componentes de software ya preparados.
- Una interfaz define los servicios disponibles para usar.
| - Reducir el tiempo de desarrollo.
- Reducir costos.
- Mayor fiabilidad.
- No tener que reinventar las soluciones.
- Compartir los productos del ciclo de vida es mucho más sencillo.
- Consistencia y familiaridad, esto permite saber el software específico con fin en los mantenimientos.
| - Escasa información.
- Muy poco soporte.
- No hay muchas empresas que reutilicen código.
- Su desarrollo está enfocado a la reutilización con código que también se reutiliza.
- No hay quien soporte los gastos adicionales de la reutilización.
|