modelo de espiral ciclo de vida del desarrollo de software

13
MODELO DE MODELO DE ESPIRAL ESPIRAL CICLO DE VIDA DEL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE DESARROLLO DE SOFTWARE

Upload: imelda-sibal

Post on 05-Jan-2015

6 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

MODELO DE MODELO DE ESPIRALESPIRAL

CICLO DE VIDA DEL CICLO DE VIDA DEL DESARROLLO DE SOFTWAREDESARROLLO DE SOFTWARE

Page 2: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

IntroducciónIntroducción

El Desarrollo en Espiral es un modelo de ciclo El Desarrollo en Espiral es un modelo de ciclo de vida desarrollado por Barry Boehm en 1988, de vida desarrollado por Barry Boehm en 1988, utilizado generalmente en la Ingeniería de utilizado generalmente en la Ingeniería de software. Las actividades de este modelo son software. Las actividades de este modelo son una espiral, cada bucle es una actividad. Las una espiral, cada bucle es una actividad. Las actividades no están fijadas a prioridad, sino actividades no están fijadas a prioridad, sino que las siguientes se eligen en función del que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle análisis de riesgo, comenzando por el bucle interior.interior.

Page 3: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

En este modelo, el esfuerzo de desarrollo es iterativo. En este modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo de Tan pronto como uno completa un esfuerzo de desarrollo, otro comienza. Además, en cada desarrollo desarrollo, otro comienza. Además, en cada desarrollo ejecutado, puedes seguir estos cuatros pasos: ejecutado, puedes seguir estos cuatros pasos:

1.1. Determinar qué quieres lograr. Determinar qué quieres lograr.

2.2. Determinar las rutas alternativas que puedes tomar Determinar las rutas alternativas que puedes tomar para lograr estas metas. Por cada una, analizar los para lograr estas metas. Por cada una, analizar los riesgos y resultados finales, y seleccionar la mejor. riesgos y resultados finales, y seleccionar la mejor.

3.3. Seguir la alternativa seleccionada en el paso 2. Seguir la alternativa seleccionada en el paso 2.

4.4. Establecer qué tienes terminado. Establecer qué tienes terminado.

Page 4: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

Algunos principios básicos Algunos principios básicos del modelo espiral:del modelo espiral:

Decidir qué problema se quiere resolver antes de viajar a Decidir qué problema se quiere resolver antes de viajar a resolverlo. resolverlo.

Examinar tus múltiples alternativas de acción y elegir una Examinar tus múltiples alternativas de acción y elegir una de las más convenientes. de las más convenientes.

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

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

Conocer (comprender) los niveles de riesgo, que tendrás Conocer (comprender) los niveles de riesgo, que tendrás que tolerar. que tolerar.

Page 5: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

El Modelo Espiral mejora el Modelo de Cascada El Modelo Espiral mejora el Modelo de Cascada enfatizando la naturaleza iterativa del proceso enfatizando la naturaleza iterativa del proceso de diseño. Eso introduce un ciclo de prototipo de diseño. Eso introduce un ciclo de prototipo iterativo. En cada iteración, las nuevas iterativo. En cada iteración, las nuevas expresiones que son obtenidas transformando expresiones que son obtenidas transformando otras dadas son examinadas para ver si otras dadas son examinadas para ver si representan progresos hacia el objetivo. representan progresos hacia el objetivo.

Page 6: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

- Modelo espiral -- Modelo espiral -Actividades principalesActividades principales

Primer Paso.Primer Paso. Identificación de: Identificación de:

Los objetivos de la parte del producto que está Los objetivos de la parte del producto que está siendo elaborada (rendimientos, funcionalidad, siendo elaborada (rendimientos, funcionalidad, adaptación al cambio, etc.). adaptación al cambio, etc.).

Las alternativas principales de la implementación Las alternativas principales de la implementación de esta porción del producto (usar el diseño A, usar de esta porción del producto (usar el diseño A, usar el diseño B, reutilizar el módulo X de la aplicación Z, el diseño B, reutilizar el módulo X de la aplicación Z, comprar a un proveedor externo, etc.). comprar a un proveedor externo, etc.).

Las restricciones impuestas para cada alternativa Las restricciones impuestas para cada alternativa (costes, planificaciones, interfaces, etc.). (costes, planificaciones, interfaces, etc.).

Page 7: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

SSegundo paso.egundo paso. Evaluar Evaluar las diferentes alternativas que las diferentes alternativas que se plantean teniendo en cuenta los objetivos a conseguir se plantean teniendo en cuenta los objetivos a conseguir y las restricciones impuestas. Frecuentemente, este y las restricciones impuestas. Frecuentemente, este paso identifica las áreas de incertidumbre del proyecto paso identifica las áreas de incertidumbre del proyecto con sus correspondientes riesgos.con sus correspondientes riesgos.

Si existen riesgos, lo siguiente es la formulación de una Si existen riesgos, lo siguiente es la formulación de una estrategiaestrategia efectiva en coste (utilizando prototipos, efectiva en coste (utilizando prototipos, simulación, bancos de prueba, cuestionario para los simulación, bancos de prueba, cuestionario para los usuarios, modelización analítica o combinaciones de usuarios, modelización analítica o combinaciones de éstas y otras técnicas de resolución de riesgos) para éstas y otras técnicas de resolución de riesgos) para resolver dichos riesgos.resolver dichos riesgos.

- Modelo espiral -- Modelo espiral -Actividades principalesActividades principales

Page 8: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

Tercer paso.Tercer paso. Consiste en Consiste en desarrollar, verificar y validar desarrollar, verificar y validar (probar): (probar):

Tareas de la actividad propia y de prueba.Tareas de la actividad propia y de prueba.

Análisis de alternativas e identificación resolución de Análisis de alternativas e identificación resolución de riesgos. riesgos.

Dependiendo del resultado de la evaluación de los Dependiendo del resultado de la evaluación de los riesgos, se elige un modelo para el desarrollo, el que riesgos, se elige un modelo para el desarrollo, el que puede ser cualquiera de los otros existentes, como puede ser cualquiera de los otros existentes, como formal, evolutivo, cascada, etc. formal, evolutivo, cascada, etc.

- Modelo espiral -- Modelo espiral -Actividades principalesActividades principales

Page 9: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

Cuarto paso.Cuarto paso. Revisar todo lo hecho, Revisar todo lo hecho, evaluándolo, y con ello decidir si se continúa evaluándolo, y con ello decidir si se continúa con las fases siguientes y planificar la próxima con las fases siguientes y planificar la próxima actividad. actividad.

- Modelo espiral -- Modelo espiral -Actividades principalesActividades principales

Page 10: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

Características:Características:

En cada giro se construye un nuevo modelo del sistema En cada giro se construye un nuevo modelo del sistema completo. completo.

Este modelo puede combinarse con otros modelos de Este modelo puede combinarse con otros modelos de proceso de desarrollo (cascada, evolutivo). proceso de desarrollo (cascada, evolutivo).

Mejor modelo para el desarrollo de grandes sistemas. Mejor modelo para el desarrollo de grandes sistemas.

El análisis de riesgo requiere la participación de personal El análisis de riesgo requiere la participación de personal altamente calificado. altamente calificado.

Page 11: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

Desventajas:Desventajas:

Resulta difícil convencer a grandes clientes de Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable.que el enfoque evolutivo es controlable.

Es nuevo (1988) y no se ha utilizado tanto como Es nuevo (1988) y no se ha utilizado tanto como otros modelos de ciclo de vida. otros modelos de ciclo de vida.

Debido a su elevada complejidad no se Debido a su elevada complejidad no se aconseja utilizarlo en pequeños sistemas.aconseja utilizarlo en pequeños sistemas.

Page 12: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

Ventajas:Ventajas:

El modelo en espiral puede adaptarse y aplicarse a El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de computadora. lo largo de la vida del software de computadora.

Como el software evoluciona a medida que progresa Como el software evoluciona a medida que progresa el proceso, el desarrollador y el cliente comprenden el proceso, el desarrollador y el cliente comprenden y reaccionan mejor ante riesgos en cada uno de los y reaccionan mejor ante riesgos en cada uno de los nivele evolutivos. nivele evolutivos.

El modelo en espiral permite a quien lo desarrolla El modelo en espiral permite a quien lo desarrolla aplicar el enfoque de construcción de prototipos en aplicar el enfoque de construcción de prototipos en cualquier etapa de evolución del producto. cualquier etapa de evolución del producto.

Page 13: MODELO DE ESPIRAL CICLO DE VIDA DEL DESARROLLO DE SOFTWARE

Ventajas:Ventajas:

El modelo en espiral demanda una El modelo en espiral demanda una consideración directa de los riesgos técnicos en consideración directa de los riesgos técnicos en todas las etapas del proyecto y si se aplica todas las etapas del proyecto y si se aplica adecuadamente debe reducir los riesgos antes adecuadamente debe reducir los riesgos antes de que se conviertan en problemas. de que se conviertan en problemas.

En la utilización de grandes sistemas a doblado En la utilización de grandes sistemas a doblado la productividad.la productividad.