1. ❖
❖
❖
❖
❖
❖
❖
❖
❖
Índice
Introducción……………………………………………………………………….……..2
Modelo en espiral…………………………………………………………………..…...3
Características……………………………………………………………………….…3
Etapas del modelo………………………………………………………..……………4
➢ Modelo de 4 regiones………………………………………………………….6
➢ Modelo de 6 regiones………………………………………………………….7
Ventajas……………………………………………………………………..…………..8
Desventajas……………………………………………………………………..………9
Acoplamientos del modelo espiral……………………………………………………9
Conclusión……………………………………………………………………..………10
Bibliografía……………………………………………………………………………..10
Introducción
Los modelos de ciclo de vida son una serie de procesos de desarrollo de software que
describe las fases del mismo, existen diferentes tipos de ciclo de vida, entre los más
Herramientas Automatizadas
2NM50
2. comunes podemos encontrar: Cascada, Codificar y corregir, diseño de herramientas, espiral,
entrega por etapas y entrega evolutiva.
La ISO 12207 es el estándar para los ciclos de vida, define a los ciclos de vida como “Un
marco de referencia que contiene los procesos, las actividades y las tareas involucradas en
el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la
vida del sistema desde la definición de los requisitos hasta la finalización de su uso” (ISO
12207-1,2013).
Estos modelos tienen como objetivo:
● Definir las actividades que se van a realizar durante el desarrollo del producto.
● Organizar las actividades de una manera más fácil.
● Controlar la calidad del software.
● Utilización más óptima de los recursos
Además cuentan con una base de cuatro tareas fundamentales, aunque cada modelo
describe las actividades de diferente manera, estas son:
● Determinar objetivos
● Análisis de riesgo o requerimientos
● Planificación
● Desarrollo
Modelo en espiral
El modelo en espiral es un ciclo de vida evolutivo, fue creado en el año de 1988 por Barry
Boehm, ingeniero informático estadounidense, sus actividades se realizan en una espiral
donde cada bucle, iniciando del centro, representa una serie de actividades.
Herramientas Automatizadas
2NM50
3. Se le considera una extensión del modelo de cascada, pero a diferencia de éste que es
dirigido por documentos, el de espiral es orientado a riesgos, quiere decir que se busca evitar
desde antes de comenzar el producto los riesgos, para lograr esto el proyecto se divide en
mini proyectos, donde cada uno se centra en uno o más riesgos, logrando que cada riesgo
esté controlado. Después de que los riesgos importantes estén controlados, el modelo
termina igual que el ciclo de vida en cascada.
El proceso se realiza de manera incremental, donde el ciclo comienza como un pequeño
prototipo dentro primeras iteraciones y en las últimas el producto final o versiones más
complejas y detalladas del mismo.
También el modelo puede combinarse con otros ciclos de vida, por ejemplo en caso de no
tener los conocimientos para elaborar cierta parte del producto podemos recurrir al ciclo de
vida “software comercial”, o si el cliente quiere una entrega semanal, mensual o anual del
desarrollo del producto podemos combinar nuestro modelo con el ciclo “entrega evolutiva”
etc.
Características
● En cada giro se construye un nuevo modelo del sistema completo.
● Este modelo puede ser combinado con otros modelos, como el de cascada y el
evolutivo.
● Es el mejor modelo para desarrollar sistemas grandes, aunque puede aplicarse a
cualquier tipo de proyecto, además no es un modelo rígido, por lo que puede
presentar cambios y mejoras.
● El análisis de riesgo requiere la participación de personal con una alta calificación.
● No hay un número definido de iteraciones y deben ser evaluadas por el equipo de
gestión de proyecto, las primeras iteraciones se pueden basar en prototipos y las
iteraciones finales poseen un software más completo.
● En los ciclos de trabajo se estudia antes el riesgo para poder proceder al siguiente
ciclo
● Cada ciclo termina con una revisión que discute los logros actuales y los planes para
el siguiente ciclo
Herramientas Automatizadas
2NM50
4. ● Con cada iteración alrededor de la espiral, se crean sucesivas versiones del software,
cada vez más completas y, al final, el sistema de software ya queda totalmente
funcional
● Es el enfoque más realista actualmente
● El análisis de riesgos es una etapa única del ciclo de vida en espiral, la cual nos
evitará futuros problemas.
● Se divide en un número de actividades de marco de trabajo o regiones de tareas,
existen por lo general de tres a seis regiones de tareas.
Etapas del modelo
● Planificación
○ Aspectos a Lograr
■ Determinación de objetivos, límites y condiciones de contorno
(condiciones que limitan de alguna manera el desarrollo, económicas, de
tiempo, etc.) y alternativas.
○ Actividades
■ Predecir la duración de las actividades y tareas de nivel individual,
recursos requeridos, concurrencia y solapamiento de tareas para el
desarrollo en paralelo y camino crítico a través de la red de actividades.
■ Estimar recursos: Predicción de personal, esfuerzo y costo que se
requerirán para terminar las actividades y productos conocidos
asociados con el proyecto.
■ Planificar tareas y solapamiento de actividades.
■ Definir y desarrollar los requerimientos de software.
■ Definir los requisitos de interfaz.
■ Priorizar e integrar los requisitos de software.
● Análisis de Riesgo
○ Aspectos a Lograr
■ Desarrollo de un plan para descubrir los riesgos más importantes y
resolver los mismos.
■ Eliminación de aspectos no compatibles con las condiciones, o
condiciones de contorno o límites.
Herramientas Automatizadas
2NM50
5. ○ Actividades
■ Identificar ideas o necesidades.
■ Formular soluciones potenciales.
■ Conducir estudios de viabilidad.
■ Planificar la transición del sistema.
■ Refinar y finalizar la idea o necesidad.
■ Analizar las funciones del sistema.
■ Desarrollar la arquitectura del sistema.
■ Descomponer los requisitos del sistema.
■ Planificación de contingencias.
● Ingeniería
○ Aspectos a Lograr
■ Desarrollo del producto o prototipo según las condiciones de la etapa
anterior.
○ Actividades
■ Realizar el diseño arquitectónico.
■ Analizar el flujo de información.
■ Diseñar la base de datos.
■ Seleccionar o desarrollar algoritmos.
■ Realizar el diseño detallado de la etapa.
■ Crear el código fuente.
● Evaluación
○ Aspectos a Lograr
■ Evaluar los resultados del prototipo obtenido, verificar y validar.
○ Actividades
■ Crear los datos de prueba de código fuente.
■ Ejecutar las tareas de verificación y validación.
■ Recoger y analizar los datos de la métrica.
■ Planificar las pruebas.
■ Desarrollar las especificaciones de las pruebas.
■ Ejecutar las pruebas.
■ Generación de los aspectos de mejora, errores, defectos y ampliaciones.
Herramientas Automatizadas
2NM50
6. ● Toma de decisiones
○ Aspectos a Lograr
■ Se determina si se pasa al ciclo posterior o se realiza una nueva
iteración.
○ Actividades
■ Evaluación de resultados.
■ Contraste con los hitos fijados o condiciones predeterminadas.
■ Fijación de las condiciones de pasaje a los ciclos posteriores de no
haberlas fijado.
■ Repetición del ciclo o pasaje a otro modelo.
■ Técnicas de toma de decisiones (árboles de decisión, decisiones en
condiciones de incertidumbre, etc.)
● Refinamiento
○ Aspectos a Lograr
Si se toma la decisión de continuar en los ciclos internos, se sofistican las
condiciones a tomar en cuenta en el planeamiento del nuevo ciclo, en los ciclos
exteriores es una etapa que no se utiliza.
○ Actividades
No hay actividades específicas, sino aquellas que generan las posibilidades de
sofisticar indicadas anteriormente.
Modelo de 4 regiones
● 1. Determinar o fijar los objetivos.
Se definen los objetivos específicos, en base a ellos se identifican las
limitaciones del proceso y del sistema de software; se diseña una planificación
detallada de gestión y se identifican riesgos.
● 2. Análisis del riesgo
En este paso se hace un análisis detallado para cada posible riesgo identificado
en el proyecto, se definen los pasos a seguir para reducirlos y se planean
estrategias alternativas.
● 3. Desarrollar, verificar y validar
Herramientas Automatizadas
2NM50
7. Después de ver los posibles riesgos se elige un paradigma para el desarrollo
del sistema y se le aplica
● 4. Planificar
En este último paso es donde el proyecto se revisa y se toma la decisión si se
debe continuar con un ciclo posterior al de la espiral. Si se decide continuar, se
desarrollan los planes para la siguiente fase del proyecto.
(Imagen del método de espiral de 4 regiones) Recuperado de Desarrollo en espiral
http://es.wikipedia.org/wiki/Desarrollo_en_espiral
Para el modelo de 6 regiones
1. Comunicación con el cliente:
Tareas requeridas para establecer la comunicación entre el cliente y el desarrollador.
2. Planificación:
Tareas inherentes a la definición de los recursos, tiempo y otra información
relacionada con el proyecto.
3. Análisis de Riesgos:
Tareas necesarias para evaluar los riesgos técnicos y de gestión del proyecto.
4. Ingeniería:
Tareas para construir una o más representaciones de la aplicación software.
5. Construcción y Adaptación:
Herramientas Automatizadas
2NM50
8. Tareas para construir la aplicación, instalarla, probarla y proporcionar soporte al
usuario o cliente (Ej. documentación y práctica).
6. Evaluación del cliente:
Tareas para obtener la reacción del cliente, según la evaluación de lo creado e
instalado en los ciclos anteriores.
(Imagen de método espiral de 6 regiones) Recuperado de Ingeniería del software: Un
enfoque práctico. Cuarta edición. Pp. 28-29. Roger S. Pressman.
Ventajas
● Se puede tener una versión usable del software en un tiempo reducido.
● El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de
computadora.
● Como el software evoluciona a medida que progresa el proceso, el desarrollador y el
cliente comprenden y reaccionan mejor ante riesgos en cada uno de los nivele
evolutivos.
● El modelo en espiral permite a quien lo desarrolla aplicar el enfoque de construcción
de prototipos en cualquier etapa de evolución del producto.
Herramientas Automatizadas
2NM50
9. ● El modelo en espiral demanda una consideración directa de los riesgos técnicos en
todas las etapas del proyecto y si se aplica adecuadamente debe reducir los riesgos
antes de que se conviertan en problemas.
● No necesita de todos los requerimientos para comenzar a utilizarlo.
● Tiene menos riesgos de que ocurra un retraso, porque los conflictos se analizan
tempranamente y se pueden corregir con tiempo
● En la utilización de grandes sistemas ha doblado la productividad.
Desventajas
● Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable.
● Se necesita la participación continua del cliente
● Se pierde tiempo al realizar una nueva especificación en los requerimientos cuando se
quiere mejorar o modificar el software
● Debido a su elevada complejidad no se aconseja utilizarlo en pequeños sistemas.
● Se requiere mucho tiempo en el desarrollo del sistema.
● Posee un costo monetario alto.
● Requiere una gran experiencia en la identificación de riesgos.
● Es difícil la planificación completa del proyecto.
Acoplamientos del modelo espiral
Los nuevos requerimientos del sistema se definen en todo los detalles posibles, esto implica
generalmente el entrevistarse con un número determinado de usuarios que representarán a
todos los usuarios tanto externos como internos y otros aspectos del sistema existente.
Un prototipo preliminar se crea para el desarrollo del nuevo software partiendo de un diseño
hecho del sistema que se construyó del prototipo inicial. Esto es generalmente un sistema
scaled-down, y representa una aproximación de las características del producto final.
Un segundo diseño de software es desarrollado por un procedimiento cuádruple:
Herramientas Automatizadas
2NM50
10. ● Evaluación del primer prototipo en términos de sus fuerzas, debilidades, y riesgos.
● Definir los requisitos del segundo prototipo.
● Planeando y desarrollando el segundo prototipo.
● Construyendo y probando el segundo prototipo.
En la opción del cliente, el proyecto completado puede ser abortado si el riesgo se juzga
demasiado grande. Los factores de riesgo pudieron implicar los excesos de coste del
desarrollo, cálculo erróneo del fusionar los costes, o cualquier otro factor que podría, en el
juicio del cliente, dar lugar a un producto final menos que satisfactorio.
El diseño existente se evalúa de manera semejante al igual que el diseño anterior, y, en
caso de necesidad, otro prototipo se desarrolla de él según el procedimiento cuádruple. Se
iteran los pasos precedentes hasta que el cliente está satisfecho sabiendo que el diseño
mejorado representa el producto final deseado. Además, se construye el sistema
final,
basado en el diseño mejorado. El sistema final se evalúa y se prueba con todas las de ley.
El mantenimiento general se realiza sobre una base continua para prevenir fallas en grande
y para reducir al mínimo el tiempo perdido.
Conclusión
El modelo en espiral para la ingeniería de software actualmente es el más real para el
desarrollo de sistemas a gran escala. Las diversas etapas con las que cuenta este modelo
ayudan a que el desarrollo de sistemas de gran tamaño se lleve a cabo de una forma más
rápida y eficiente. Con eficiente nos referimos a que este modelo busca evitar los riesgos
antes de iniciar el desarrollo del producto, estos riesgos se ven controlados a través de la
división del proyecto en miniproyectos. El proceso avanza de forma gradual, ya que se
pueden generar cambios y mejoras durante el proceso de este modelo.
Las etapas con las que cuenta este modelo ayudan a mantener una mejor organización
durante el desarrollo del producto, para que el resultado final sea un producto de calidad.
Herramientas Automatizadas
2NM50
11. Referencias
❖ Ingeniería del software: un enfoque práctico. Cuarta edición. Pp 28-29. Roger S.
Pressman.
❖ Ingeniería de software orientada a objetos con UML, Java e Internet. Pp 53. Alfredo
Weitzenfeld.
❖ Ingeniería de software: una perspectiva orientada a objetos. Primera edición. Pp 2628. Eric J. Braude.
❖ Software Engineering. Pp 315-320. Boehm Barry W.
❖ H., J. L. (s.f.). Site de José Luis Jiménez H. Obtenido de
http://josejimenez.zzl.org/des/des5/me.pdf
❖ R., G. F. (s.f.). www.ojosvisual.net. Obtenido de
http://www.ojovisual.net/galofarino/modeloespiral.pdf
❖ Universidad de Granada. (s.f.). Universidad de Granada. Obtenido de
http://lsi.ugr.es/~ig1/docis/espiral.pdf
❖ Desarrollo en espiral http://es.wikipedia.org/wiki/Desarrollo_en_espiral
Herramientas Automatizadas
2NM50