viernes, 3 de abril de 2009

Modelos de Ciclo de Vida


Figura 1. Modelo de ciclo de vida en cascada
Fuente: http://www.manycomics.com/recursos/documentos/se/code_and_fix.pdf





Figura 2. Modelo de ciclo de vida espiral
Fuente: http://es.wikipedia.org/wiki/Desarrollo_en_espiral


Las principales diferencias entre distintos modelos de ciclo de vida están en:
El alcance del ciclo dependiendo de hasta dónde llegue el proyecto correspondiente. Un proyecto puede comprender un simple estudio de viabilidad del desarrollo de un producto, o su desarrollo completo o, llevando la cosa al extremo, toda la historia del producto con su desarrollo, fabricación, y modificaciones posteriores hasta su retirada del mercado.
Las características (contenidos) de las fases en que dividen el ciclo. Esto puede depender del propio tema al que se refiere el proyecto (no son lo mismo las tareas que deben realizarse para proyectar un avión que un puente), o de la organización (interés de reflejar en la división en fases aspectos de la división interna o externa del trabajo).
La estructura de la sucesión de las fases que puede ser lineal, con prototipado, o en espiral. A continuación se presentan los modelos de ciclo de vida más usados en el medio:



Modelo Cascada

Este es el más básico de todos los modelos, y sirve como bloque de construcción para los demás modelos de ciclo de vida. La visión del modelo cascada del desarrollo de software es muy simple; dice que el desarrollo de software puede ser a través de una secuencia simple de fases. Cada fase tiene un conjunto de metas bien definidas, y las actividades dentro de una fase contribuye a la satisfacción de metas de esa fase o quizás a una subsecuencia de metas de la fase. Las flechas muestran el flujo de información entre las fases. La flecha de avance muestra el flujo normal. Las flechas hacia atrás representan la retroalimentación.
El modelo de ciclo de vida cascada, captura algunos principios básicos:



  • Planear un proyecto antes de embarcarse en él.

  • Definir el comportamiento externo deseado del sistema antes de diseñar su arquitectura interna.

  • Documentar los resultados de cada actividad.

  • Diseñar un sistema antes de codificarlo.

  • Testear un sistema después de construirlo.

En la figura 1 es posible observar el aspecto gráfico de este modelo de ciclo de vida


Modelo Espiral


El modelo espiral de los procesos software es un modelo del ciclo de meta-vida. En este modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de desarrollo, otro comienza. Además, en cada desarrollo ejecutado, puedes seguir estos cuatros pasos:
Determinar qué quieres lograr.
Determinar las rutas alternativas que puedes tomar para lograr estas metas. Por cada una, analizar los riesgos y resultados finales, y seleccionar la mejor.
Seguir la alternativa seleccionada en el paso 2.
Establecer qué tienes terminado.

La dimensión radial en la figura refleja costos acumulativos incurridos en el proyecto.
Observemos un escenario particular. Digamos que en este proyecto, nosotros viajaremos a resolver un conjunto particular de problemas del cliente. Durante el primer viaje alrededor de la espiral, analizamos la situación y determinamos que los mayores riesgos son la interfaz del usuario. Después de un cuidadoso análisis de las formas alternativas de direccionar esto (por ejemplo, construir un sistema y esperar lo mejor, escribir una especificación de requerimientos y esperar que el cliente lo entienda, y construir un prototipo), determinamos que el mejor curso de acción es construir un prototipo.
Lo realizamos. Luego proveemos el prototipo al cliente quien nos provee con retroalimentación útil. Ahora, comenzamos el segundo viaje alrededor de la espiral. Este tiempo decidimos que el mayor riesgo es ese miedo a que muchos nuevos requerimientos comiencen a aparecer sólo después de que el sistema sea desplegado. Analicemos las rutas alternativas, y decidimos que la mejor aproximación es construir un incremento del sistema que satisfaga sólo los requerimientos mejor entendidos. Hagámoslo ya. Después del despliegue, el cliente nos provee de retroalimentación que dirá si estamos correctos con esos requerimientos, pero 50 nuevos requerimientos ahora se originarán en las cabezas de los clientes. Y el tercer viaje alrededor de la espiral comienza.
El modelo espiral captura algunos principios básicos:

  • Decidir qué problema se quiere resolver antes de viajar a resolverlo.
    Examinar tus múltiples alternativas de acción y elegir una de las más convenientes.


  • Evaluar qué tienes hecho y qué tienes que haber aprendido después de hacer algo.

  • No ser tan ingenuo para pensar que el sistema que estás construyendo será "EL" sistema que el cliente necesita, y

  • Conocer (comprender) los niveles de riesgo, que tendrás que tolerar.
    El modelo espiral no es una alternativa del modelo cascada, ellos son completamente compatible.
En la figura 2 es posible observar un resumen gráfico del modelo de ciclo de vida espiral

Enlaces de ampliación del tema:
http://es.wikipedia.org/wiki/Desarrollo_en_espiral
http://www.getec.etsit.upm.es/docencia/gproyectos/planificacion/cvida.htm

Actividad planteada:
Elabore un comparativo entre los modelos de ciclo de vida vistos indicando sus ventajas y desventajas

No hay comentarios:

Publicar un comentario en la entrada