Está en la página 1de 21

MODELOS DE CICLO

DE VIDA DE UN
SISTEMA

ANÁLISIS DE SISTEMAS I
MODELO EN ESPIRAL

⦿ Es un modelo de proceso de software evolutivo el cual es a


base de una serie de ciclos los cuales se repiten en forma
de espiral, esta orientado a evitar riesgos de trabajo. Cada
vez que se avanza un ciclo se va alcanzando un nivel
superior hasta concluir el proyecto.
⦿ Es uno de los modelos más importantes para brindar soporte a
la gestión de riesgos. Como su nombre indica, este modelo se
muestra como en forma de espiral, donde las diferentes
etapas del modelo se distribuyen en diferentes ciclos.

⦿ El número de ciclos en el modelo no es fijo y puede variar de


un proyecto a otro.
REPRESENTACIÓN GRÁFICA
HISTORIA
⦿ Creación

⦿ El modelo espiral fue definido por el matemático y profesor de


ingeniería de software estadounidense Barry Boehm.

⦿ Boehm es conocido por sus numerosas contribuciones a la


ingeniería de software, tales como el modelo de costo
constructivo (COCOMO), el modelo espiral del proceso de
software, el enfoque de la Teoría G (ganar-ganar) para la
determinación de requerimientos y gestión del software.
ALTERNATIVA AL
MODELO DE CASCADA
⦿ En su publicación, Boehm describe el modelo espiral como una
posible alternativa al modelo de cascada previamente
establecido, que también servía como base para su práctica.

⦿ El modelo espiral no fue el primero en plantear el desarrollo


cíclico, pero sí fue el primer modelo en explicar por qué la
iteración es importante. Como fue previsto originalmente, se ha
destinado a proyectos grandes y complejos cuyas iteraciones van
típicamente de 6 meses a 2 años.

⦿ Este modelo cíclico influyó en la arquitectura de ingeniería de


software basada en modelos (MBASE) y en la programación
extrema.
CARACTERÍSTICAS DEL MODELO ESPIRAL
⦿ Control del riesgo

⦿ Lo que diferencia en gran medida este modelo de los demás


modelos de proceso de software es que reconoce explícitamente
los riesgos.

⦿ Este modelo informático contiene componentes de casi cualquier


otro modelo del ciclo de vida del software, como el modelo de
cascada, el modelo de creación de prototipos, el modelo
iterativo, el modelo evolutivo, etc.

⦿ Debido a esto, es capaz de manejar casi cualquier tipo de riesgo


que por lo general no manejan los otros modelos.
DESCRIPCIÓN DE LA ESPIRAL

⦿ Cada giro de la espiral representa un ciclo completo, por donde


siempre pasan los cuatro cuadrantes, que representan las cuatro
etapas del modelo.

⦿ A medida que aumenta el tamaño de la espiral, también lo hace


el progreso ejecutado. Por tanto, las etapas no se ejecutan sólo
una vez, sino varias veces, en forma de espiral.

⦿ Aunque esta repetición cíclica hace que el proyecto se acerque


lentamente a los objetivos establecidos, se minimiza
contundentemente el riesgo que falle el proceso de desarrollo.
⦿ Genérico

Las cuatro etapas solo implantan los objetivos básicos de un ciclo, pero
no tienen que manifestarse en cada ciclo.

El orden de cada ciclo tampoco está estrictamente determinado. Por


tanto, el modelo se puede combinar en cualquier momento con otros
modelos.

⦿ Flexible

Es bastante flexible, al realizar por separado para cada fase del


proyecto los procesos de definición de objetivos, análisis de riesgos,
desarrollo y planificación.

⦿ Metamodelo

Se considera metamodelo por incluir a los demás modelos. Por ejemplo,


si la espiral fuera de un solo ciclo representaría al modelo de cascada, ya
que incorpora el enfoque gradual de este modelo clásico.
ETAPAS
⦿ Determinar objetivos, alternativas y restricciones

⦿ Los requerimientos del sistema se definen con el mayor


detalle posible, incluyendo rendimiento, interfaces de
hardware/software, indicadores claves de éxito, etc. y se
consideran cuáles objetivos se deben asociar con el ciclo
actual de desarrollo.

⦿ Igualmente, se determinan las restricciones como el costo,


cronograma e interfaces, consumo de tiempo, etc.
EVALUACIÓN DE RIESGOS

⦿ Se evalúan todas las alternativas propuestas. Los objetivos y


restricciones sirven como referencias determinantes para
seleccionar la mejor solución.

⦿ Además, se identifican los riesgos que pueden dificultar el éxito


del proyecto, tales como falta de experiencia, nuevas
tecnologías, cronogramas ajustados, procesos deficientes, etc.,
implantando las estrategias más rentables y con menor riesgo.

⦿ Finalmente, se utilizan métodos como creación de prototipos,


simulaciones, modelos analíticos y encuestas de usuarios.
DESARROLLO Y PRUEBA
⦿ Se realiza todo el desarrollo necesario, utilizando la
tecnología y solución seleccionada.

⦿ Con cada iteración se va creando una mejor versión de la


aplicación.

⦿ Se escribe y se prueba el código real varias veces hasta


alcanzar el resultado deseado, que luego servirá como
base para futuros pasos del desarrollo.
PLANIFICACIÓN DEL PRÓXIMO CICLO

⦿ Al completar un ciclo, se comienza la planificación del siguiente.

⦿ Esta planificación podría ser seguir normalmente con el proyecto


si se alcanzó el objetivo del ciclo, planteándose la definición del
próximo objetivo.

⦿ También podría ser encontrar otras soluciones, si la etapa


anterior de desarrollo resultó defectuosa.

⦿ La estrategia existente podría reemplazarse por una de las


alternativas previamente definidas o una nueva. Con esto, se
comenzaría un nuevo intento para alcanzar el objetivo dado.
EJEMPLO
⦿ El ejército de Estados Unidos adoptó el modelo espiral para el desarrollo y actualización
del programa de modernización de los Sistemas de Combates Futuros (SCF).

⦿ Lanzado oficialmente en 2003, se preveía que los SCF equiparan a las tropas con
vehículos conectados en tiempo real a una red de campos de batalla extraordinariamente
rápida y flexible.

⦿ El proyecto se dividía en cuatro espirales de desarrollo de unos dos años cada una.

⦿ La espiral 1 estaba programada que comenzara para 2008 y entregara prototipos para su
uso y evaluación.

⦿ Tras finalizar la espiral 1, estaba programado comenzar la espiral 2 para 2010. El


desarrollo final del producto se tenía previsto entregar para 2015.

⦿ En agosto 2005, Boeing anunciaba la finalización del primer hito importante del
proyecto, que era la revisión funcional de los sistemas. Boeing y Science Applications
International Corporation eran los colíderes del proyecto.

⦿ Sin embargo, para octubre de 2005 el Pentágono recomendó retrasar el proyecto debido
al alto impacto en los costos por la guerra de Irak y la ayuda por el huracán Katrina.

⦿ El proyecto fue cancelado en 2009 después que surgieron recortes presupuestarios, sin
poderse probar los beneficios del modelo espiral en esta misión
VENTAJAS
⦿ Estructura cíclica

Debido a este tipo de estructura se eliminan tácitamente


los problemas entre el diseño y los requerimientos técnicos
del software, gracias a las comprobaciones periódicas.

⦿ Gestión de riesgos
Los riesgos se analizan en cada una de las etapas del
producto antes de seguir adelante. Esto ayuda a superar o
mitigar los posibles riesgos.
⦿ La evaluación periódica de los riesgos cobra valor cuando se
utilizan entornos técnicos novedosos, que generalmente están
asociados con un potencial de riesgo particular debido a la
ausencia de valores empíricos.

⦿ Participación y retroalimentación del cliente

⦿ En cada etapa del proyecto están involucrados los clientes, hasta


completar el proyecto. Por tanto, se pueden reunir diferentes
retroalimentaciones para así mejorar la próxima versión del
proyecto.
⦿ Ideal para proyectos grandes

Es particularmente popular y destacado para proyectos


grandes y complejos, donde el control del presupuesto es
prioritario para los clientes y desarrolladores.

Se tiene un control máximo sobre los costos, recursos y


calidad del proyecto de software.
DESVENTAJAS
⦿ Costoso
⦿ Puede ser bastante costoso, ya que requiere un alto nivel
de experiencia para el análisis de riesgos.

⦿ Además, los proyectos necesitan una gran cantidad de


tiempo para desarrollarse, lo cual puede aumentar los
gastos generales.
⦿ Bastante complejo

⦿ Se requiere una gestión previa muy activa y compleja del proyecto,


donde se controle y documente cada ciclo de forma continua y
cuidadosa.

⦿ Es comparativamente más complejo que otros modelos, porque hay


muchos ciclos, pasando cada uno por las diferentes etapas,
aumentando así el esfuerzo del proceso de documentación.

⦿ Resulta esencial tener conocimientos en análisis y gestión de riesgos,


que a menudo no están disponibles.
⦿ Gestión del tiempo

⦿ Es difícil gestionar el tiempo, ya que se desconoce el


número de ciclos.

⦿ Además, en cualquier momento puede retrasarse el


proceso de desarrollo si dentro de un ciclo se deben tomar
decisiones importantes o por acciones adicionales al
planificar el ciclo siguiente.
⦿ Muchos pasos

⦿ No siempre resulta favorable realizar muchos pasos en el


desarrollo de software por el hecho que, a pesar de la
versatilidad de las pruebas, pueden llegar al sistema
terminado partes sin terminar del programa.

⦿ Como consecuencia, siempre existe el peligro que cualquier


error o inconsistencia conceptual afecte al producto final.

También podría gustarte