Modelos de desarrollo de Software
Modelo de Espiral El modelo espiral de los procesos software es un meta-modelo del ciclo de vida. En este modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de desarrollo, otro comienza. Pasos: Determinar qué se quiere lograr Determinar las rutas alternativas que se pueden tomar para lograr estas metas. Por cada una, analizar los riesgos y resultados finales, y seleccionar la mejor. Seguir e implementar la alternativa seleccionada en el paso 2. Establecer qué es lo que se ha terminado y planificar lo siguiente.
Modelo de Proceso de Espiral Evalúe alternativas, identifique y resuelva riesgos Determine objetivos alternativas y restricciones Análisis de Riesgos Análisis de Riesgos Análisis de Riesgos Prototipo Operacional Prototipo 3 Análisis de Riesgos Prototipo 2 Proto tipo 3 REVISIÓN Simulaciones, modelos y benchmarks Plan de requerimientos Plan del ciclo de vida Concepto de Operación Requeri mientos de SW Diseño del Producto Diseño Detallado Plan de Desarrollo Validación de Requerimientos Codificación Prueba de Unidades Plan de Integración y Prueba V&V Diseño Prueba de Integración Prueba de Aceptación Planea la siguiente fase Desarrolla y verifica el siguiente nivel del producto Servicio
Fases del Modelo de Espiral Planteamiento de Objetivos Se identifican los objetivos específicos para cada fase del proyecto. Identificación y reducción de riesgos. Los riesgos clave se identifican y analizan, y la información sirve para minimizar los riesgos. Desarrollo y Validación. Se elige un modelo apropiado para la fase del desarrollo y se ejecuta. Planeación. Se revisa el proyecto y se trazan planes para la siguiente ronda del espiral.
Aplicación del Modelo de Espiral Necesitamos 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. Analizamos las alternativas de resolver esto (por ej: 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.
Aplicación del Modelo de Espiral Con el prototipo construido el cliente nos provee retroalimentación útil. Ahora comenzamos el segundo viaje alrededor de la espiral donde decidimos que el mayor riesgo es que muchos nuevos requerimientos comiencen a aparecer después de que el sistema sea desplegado. Analizamos las rutas alternativas, y decidimos que la mejor aproximación es construir un incremento del sistema que satisfaga sólo los requerimientos mejor entendidos.
Aplicación del Modelo de Espiral Se construye el incremento Después del despliegue, el cliente nos provee de retroalimentación que dirá si estamos correctos con los requerimientos de esta fase, Sin embargo 50 nuevos requerimientos ahora se originarán en las cabezas de los clientes. Y el tercer viaje alrededor de la espiral comienza.
Modelo de Espiral 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é se tiene realizado y qué se ha aprendido después de hacerlo. No ser tan ingenuo para pensar que el sistema que se está construyendo será "EL" sistema que el cliente necesita, y Conocer (comprender) los niveles de riesgo, que se tendrán que tolerar.
Flexibilidad en el modelo de Espiral Para sistemas bien comprendidos utiliza el Modelo de Cascada. La fase de análisis de riesgos es relativamente fácil. Con requerimientos estables y sistemas de seguridad críticos, utiliza modelos formales. Con especificaciones incompletas, utiliza el modelo de prototipado. Pueden utilizarse modelos híbridos en distintas partes del desarrollo.
Ventajas del Modelo de Espiral Centra su atención en la reutilización de componentes y eliminación de errores en información descubierta en fases iniciales. Los objetivos de calidad son el primer objetivo. Integra desarrollo con mantenimiento. Provee un marco de desarrollo de hardware/software.
Problemas con el Modelo de Espiral El desarrollo contractual especifica el modelo del proceso y los resultados a entregar por adelantado. Requiere de experiencia en la identificación de riesgos. Requiere refinamiento para uso generalizado.