Modelo en Cascada
En Ingeniería de Software el desarrollo
en cascada, también llamado modelo en cascada, es el enfoque metodológico
que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa
debe esperar a la finalización de la etapa anterior. Un ejemplo de una
metodología de desarrollo en cascada es:
1.- Análisis de requisitos: En esta fase se analizan las
necesidades de los usuarios finales del software para determinar qué objetivos
debe cubrir. De esta fase surge una memoria llamada SRD (documento de
especificación de requisitos), que contiene la especificación completa de lo
que debe hacer el sistema sin entrar en detalles internos.
2.- Diseño del Sistema: Descompone y organiza el sistema en
elementos que puedan elaborarse por separado, aprovechando las ventajas del
desarrollo en equipo. Como resultado surge el SDD (Documento de Diseño del
Software), que contiene la descripción de la estructura relacional global del
sistema y la especificación de lo que debe hacer cada una de sus partes, así
como la manera en que se combinan unas con otras.
3.- Diseño del Programa: Es la fase en donde se realizan los
algoritmos necesarios para el cumplimiento de los requerimientos del usuario
así como también los análisis necesarios para saber que herramientas usar en la
etapa de Codificación.
6.- Implantación: Es la fase en donde el usuario final
ejecuta el sistema, para ello el o los programadores ya realizaron exhaustivas
pruebas para comprobar que el sistema no falle.
7.- Mantenimiento: Una de las etapas más críticas, ya
que se destina un 75% de los recursos, es el mantenimiento del Software ya que
al utilizarlo como usuario final puede ser que no cumpla con todas nuestras
expectativas.
De
esta forma, cualquier error de diseño detectado en la etapa de prueba conduce
necesariamente al rediseño y nueva programación del código afectado, aumentando
los costos del desarrollo. La palabra cascada sugiere, mediante la
metáfora de la fuerza de la gravedad, el esfuerzo necesario para introducir un
cambio en las fases más avanzadas de un proyecto.
Si
bien ha sido ampliamente criticado desde el ámbito académico y la industria,
sigue siendo el paradigma más seguido al día de hoy.
Modelo en Espiral
El desarrollo
en espiral es un modelo de ciclo de vida del software definido
por primera vez por Barry Boehm en 1986, utilizado
generalmente en la Ingeniería de Software.
Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteracción representa un conjunto de actividades. Las
actividades no están fijadas a ninguna prioridad, sino que las siguientes se
eligen en función del análisis de riesgo,
comenzando por el bucle interior.
Este
modelo tiene en cuenta fuertemente el riesgo que aparece a la hora de
desarrollar software. Para ello, se comienza mirando las posibles alternativas
de desarrollo, se opta por la de riesgo más asumible y se hace un ciclo de la
espiral. Si el cliente quiere seguir haciendo mejoras en el software, se vuelve
a evaluar las distintas nuevas alternativas y riesgos y se realiza otra vuelta
de la espiral, así hasta que llegue un momento en el que el producto software
desarrollado sea aceptado y no necesite seguir mejorándose con otro nuevo
ciclo.
Este
modelo fue propuesto por Boehm en 1988.
Básicamente consiste en una serie de ciclos que se repiten en forma de espiral,
comenzando desde el centro. Se suele interpretar como que dentro de cada ciclo
de la espiral se sigue un Modelo Cascada, pero no necesariamente debe ser así.
El Espiral puede verse como un modelo evolutivo que conjuga la naturaleza
iterativa del modelo MCP con los aspectos
controlados y sistemáticos del Modelo Cascada, con el agregado de gestión de riegos (ciclos).
En
cada vuelta o iteración hay que tener en cuenta:
- Los Objetivos: Qué necesidad debe cubrir el producto.
- Alternativas: Las diferentes formas de conseguir los objetivos de forma exitosa, desde diferentes puntos de vista como pueden ser:
- Características: Experiencia del personal, requisitos a cumplir, etc.
- Formas de gestión del sistema.
- Riesgo asumido con cada alternativa.
- Desarrollar y Verificar: Programar y probar el software.
Si
el resultado no es el adecuado o se necesita implementar mejoras o
funcionalidades:
Se
planificaran los siguientes pasos y se comienza un nuevo ciclo de la espiral.
La espiral tiene una forma de caracola y se dice que mantiene dos dimensiones, la
radial y la angular:
- Angular: Indica el avance del proyecto del software dentro de un ciclo.
- Radial: Indica el aumento del coste del proyecto, ya que con cada nueva iteración se pasa más tiempo desarrollando.
Este
sistema es muy utilizado en proyectos grandes y complejos como puede ser, por
ejemplo, la creación de un Sistema Operativo.
Al
ser un modelo de Ciclo de Vida orientado a la gestión de riesgo se dice que uno
de los aspectos fundamentales de su éxito radica en que el equipo que lo
aplique tenga la necesaria experiencia y habilidad para detectar y catalogar
correctamente los riesgos.

No hay comentarios:
Publicar un comentario