Modelos de Ciclo de Vida
Las
formas de organizar y estructurar la secuencia de ejecución de las tareas en
las diferentes fases de cada uno de los métodos puede dar lugar a un tipo de ciclo
de vida diferente; Las principales diferencias entre distintos modelos de ciclo
de vida están divididas en 3 grandes visiones:
1.-El alcance de ciclo de vida:
depende de hasta donde deseamos llegar con el proyecto.
2.-La cualidad y cantidad de las
etapas: que ciclo de vida se escogerá y el proyecto al cual se adaptara.
3.-La estructura y la sucesión
de las etapas: si hay realimentación entre las etapas y hay libertad para
repetirlas.
Ciclo de Vida en Cascada
El
ciclo de vida inicialmente propuesto por Winston Royce en 1970, es el más seguido
por las organizaciones. Es un ciclo de vida que admite interacciones, es decir,
durante las modificaciones que se hacen en el mantenimiento se puede ver por
ejemplo la necesidad de cambiar algo en el diseño, lo cual significa que se
harán los cambios necesarios en la codificación y se tendrán que realizar de
nuevo las pruebas, es decir, si se tiene que volver a una de las etapas
anteriores al mantenimiento hay que recorrer de nuevo el resto de las etapas. Después de cada etapa se realiza una o varias
revisiones para comprobar si se puede pasar a la siguiente. Este sirvió de base
para el resto de los ciclos de vida.
·
La planificación es sencilla.
·
La calidad del producto
resultante es alta.
·
Permite trabajar con
personal poco calificado.
Algunos de sus Inconvenientes
·
Generalmente no se
cuenta con todos los requisitos y las especificaciones al principio y surgen necesidades
imprevistas.
·
Si se cómete algún
error ya avanzada una etapa es difícil regresar a corregir.
·
El cliente no verá
resultados hasta el final. No se tiene el producto hasta el final.
·
No se tienen
indicadores fiables del progreso del trabajo.
La necesidad de
conocer los requerimientos al principio del proyecto es primordial al elegir
este modelo a pesar de permitir iteraciones.
Ciclo de Vida en V
Propuesto
por Alan Davis, tiene las mismas etapas del ciclo de vida de cascada solo que a
este se le agregaron dos sub-etapas de retroalimentación entre la etapa de
análisis y mantenimiento y entre las de diseño y depuración.
|
|
Ciclo de Vida Tipo Sashimi
Según
el modelo en cascada, una fase solo puede empezar cuando ha terminado la
anterior. En este caso sin embargo, se permite un solapamiento entre fases. Por
ejemplo, sin tener terminado del todo el diseño se comienza a implementar. El
nombre ``sashimi’’ deriva del modo del estilo de presentación de rodajas de
pescado crudo en Japón. Una ventaja de este modelo es que no necesita generar
tanta documentación como el ciclo de vida en cascada debido a la continuidad
del mismo personal entre fases.
Los problemas planteados son:
·
Es aún más difícil
controlar el progreso del proyecto debido a que los finales de fase ya no son
un punto de referencia claro.
·
Al hacer cosas en
paralelo si hay problemas de comunicación pueden surgir inconsistencias.
La fase de ``concepto’’ consiste en
definir los objetivos del proyecto, beneficios, tipo de tecnología y el tipo de
ciclo de vida. El diseño arquitectónico es el de alto nivel, el detallado el de
bajo nivel.
Ciclo de Vida en Cascada con Subproyectos
Una
vez que se ha llegado al diseño arquitectónico, se comprueba que el sistema se
divide en varios subsistemas independientes entre sí, sería razonable suponer
que a partir de ese punto cada uno se puede desarrollar por separado y en
consecuencia en paralelo con los demás. Cada uno tendrá seguramente fechas de
terminación distintas. Una vez que han terminado todos se integran y se prueba
el sistema en su conjunto.
Es ideal cuando se cuenta con un plantel numeroso de programadores, es una ventaja tener más gente trabajando al mismo tiempo. Pero la desventaja es que pueden surgir ciertas dependencias entre las distintas subetapas que detengan el proyecto temporalmente si no es gestionado de manera correcta, es un modelo donde hay que administrar y poner demasiada atención a los tiempos.
Ciclo de Vida en Cascada Incremental
En
este caso se va creando el sistema añadiendo pequeñas funcionalidades. Se
realiza construyendo por módulos que cumplen las diferentes funciones del
sistema; esto permite ir aumentando gradualmente las capacidades del software.
Este ciclo de vida facilita la tarea del
desarrollo permitiendo a cada del equipo desarrollar un modulo del proyecto. Es
una repetición del ciclo de vida en cascada, aplicando se este ciclo en cada
funcionalidad del programa a construir.
Hay
dos partes en el ciclo de vida, por un lado está el análisis y el diseño
global. Por otra parte están los pequeños incrementos, con las fases de diseño
detallado, codificación y mantenimiento.
Ciclo de Vida en Espiral
Propuesto inicialmente por Boehm en 1988. Consiste en una serie de ciclos que se repiten. Cada uno tiene las mismas fases y cuando termina da un producto ampliado con respecto al ciclo anterior. En este sentido es parecido al modelo incremental, la diferencia importante es que tiene en cuenta el concepto de riesgo. Un riesgo puede ser muchas cosas: requisitos no comprendidos, mal diseño, errores en la implementación, etc.
Hay cuatro
actividades que envuelven a las etapas:
Determinar
los objetivos a través de una entrevista hecha directamente con el cliente
incluyendo todo tipo de requerimientos. La planificación que es el relevamiento
de los requerimientos iníciales o luego de una interacción el análisis de
riesgo que va de acuerdo con la planificación para ver si es factible continuar
con el desarrollo y después se procede a las pruebas y evaluación.
Ventajas de este tipo de ciclo: No necesita una definición completa de los requisitos para empezar a funcionar. Al entregar productos desde el final de la primera iteración es más fácil validar los requisitos. El riesgo en general es menor, porque si todo se hace mal, solo se ha perdido el tiempo y recursos invertidos en una iteración (las anteriores iteraciones están bien). El riesgo de sufrir retrasos es menor, ya que al identificar los problemas en etapas tempranas hay tiempo de subsanarlos.
Algunas desventajas serian: Es difícil evaluar los riesgos. Necesita de la participación continua por parte del cliente. Cuando se subcontrata hay que producir previamente una especificación completa de lo que se necesita, y esto lleva tiempo.
Ciclo de Vida Orientado a Objetos
considerarse como un modelo
pleno a seguir, técnica presentada en los 90´s, tal vez como una de las mejores
metodologías para la creación de productos software. Cada funcionalidad o requerimiento
solicitado por el usuario, es considerado un objeto. Los objetos están
representados por un conjunto de propiedades llamadas atributos, por otra parte
el comportamiento que tendrán estos objetos se denominaran métodos.
No hay comentarios:
Publicar un comentario