miércoles, 30 de octubre de 2013

Ciclos de Vida.


Cascada:

Descripción: Comenzó a diseñarse en 1966 y terminó de diseñarse en 1970. Se define como una secuencia de fases en la que al final de cada una de ellas reúne la documentación para garantizar que cumple los requisitos antes de pasar a la siguiente fase.
Esquema: 1- Análisis de requisitos.
        2- Diseño del Sistema.
                3- Diseño del Programa.
                        4- Codificación.
                                5- Pruebas.
                                        6- Explotación.
                                                7- Mantenimiento.
Ventajas: - Es un modelo sencillo.
- Es fácil aprender a utilizarlo.
- Está dirigido por los tipos de documentos y resultados que deben obtenerse al final de cada etapa
- Ha sido muy usado y, por tanto, está ampliamente contrastado
- Ayuda a detectar errores en las primeras etapas a bajo costo
- Ayuda a minimizar los gastos de planificación.
Desventajas: - Los proyectos raramente siguen el proceso lineal tal como se definía originalmente el ciclo de vida.
- Es difícil que el cliente exponga explícitamente todos los requisitos al principio
- El cliente debe tener paciencia pues obtendrá el producto al final del ciclo de vida.
- No refleja exactamente cómo se programa realmente el sistema.
- Puede resultar complicado regresar a etapas anteriores para realizar correcciones.


Incremental:

Descripción: Es la repetición de varios ciclos de vida en cascada. Al final de cada ciclo se entrega una versión parcial del software incrementada con cierta funcionalidad nueva respecto a las entregas anteriores. Se suele aplicar a desarrollos de gran tamaño.
Esquema: 1- Análisis.
        2- Diseño.
                   3- Codificación.
                             4- Pruebas.
        2- Diseño.
                    3- Codificación.
                             4- Pruebas
        2- Diseño.
                    3- Codificación.
                             4- Pruebas
Ventajas: - Construir un sistema pequeño tiene siempre menos riesgo 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.
- Los usuarios disponen antes del software, aunque no sea completo, por lo que pueden sugerir mejoras.
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.


Espiral:

Descripción: El modelo en espiral fue creado en 1988 y sustituye al modelo en cascada con ciclos de experimentación y aprendizaje. Se incorpora el análisis de riestos. Se van construyendo sucesivas versiones del software, cada vez más completas en cada vuelta de la espiral.
Esquema: 1- Planificación
         2- Análisis de riesgo
                   3- Ingeniería
                             4- Evaluación del cliente
 1- Planificación
         2- Análisis de riesgo
                   3- Ingeniería
                             4- Evaluación del cliente
1- Planificación
         2- Análisis de riesgo
                   3- Ingeniería
                             4- Evaluación del cliente
1- Planificación
         2- Análisis de riesgo
                   3- Ingeniería
                             4- Evaluación del cliente
Ventajas: - Incorpora muchas de las ventajas de los otros ciclos de vida.
- Conjuga la naturaleza iterativa de los prototipos con los aspectos controlados y sistemáticos del modelo clásico.
- Proporciona el potencial para el desarrollo rápido de versiones incrementales.
- Puede adaptarse y aplicarse a lo largo de la vida del software.
- Permite aplicar el enfoque de construcción de prototipos en cualquier momento para reducir riesgos.
- Reduce los riesgos antes de que se conviertan en problemáticos.
- Controla muy bien los riesgos y mientras más iteraciones se realicen.
- Monitoriza y controla los riesgos continuamente.
Desventajas: - Puede resultar difícil convencer a algunos clientes de que el enfoque evolutivo es controlable.
- Solo resulta aplicable para proyectos de gran tamaño.
-  Supone una carga de trabajo adicional, no presente en otros ciclos de vida.
-  Requiere una considerable habilidad para la evaluación y resolución del riesgo.
- Es bastante complicado de realizar y su complejidad puede incrementarse hasta hacerlo impracticable.


Prototipado:

Descripción: El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar mucho dinero. El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles para el cliente. Este diseño conduce a la construcción de un prototipo, el cual será evaluado por el cliente para una retroalimentación.
Esquema: 1- Requisitos del software.
2- Diseño preliminar.
3- Diseño detallado.
4- Codificación.
5- Pruebas.
Ventajas: - No modifica el flujo del ciclo de vida.
- Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios.
- Reduce costos y aumenta la probabilidad de éxito.
- Exige disponer de las herramientas adecuadas.
- Una vez identificados todos los requisitos mediante el prototipo, se construye el producto de ingeniería.
Desventajas: - El cliente ve funcionando la primera versión del prototipo que ha sido construido
como una prueba, y puede desilusionarse al decirle que el sistema aun no ha sido construido.
- El desarrollador puede caer en la tentación de ampliar el prototipo para construir el sistema final sin tener en cuenta los compromisos de calidad y de mantenimiento que tiene con el cliente.

No hay comentarios:

Publicar un comentario