Skip to content

Modelo espiral ingeniería de software

software espiral
Modelo espiral ingeniería de software
El Modelo Espiral, propuesto originalmente por Boehm, es un modelo de proceso de software evolutivo que combina la naturaleza iterativa de la construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial. Proporciona el potencial para el rápido desarrollo de versiones incrementales de software.

Modelo espiral ingeniería de software

El desarrollo o modelado en espiral es un enfoque del desarrollo de software que puede considerarse como una respuesta a los inconvenientes del desarrollo en cascada. El modelo en espiral describe el ciclo de vida de un software mediante espirales, que se repiten hasta que el producto final puede ser entregado. El desarrollo en espiral también se conoce como desarrollo o modelado incremental. Se trabaja en el producto de forma continua y las mejoras suelen tener lugar en pasos muy pequeños.

Una característica clave del desarrollo en espiral es la minimización de los riesgos en el desarrollo de software, lo que podría resultar en un aumento de los costos totales, más esfuerzo y retraso en la entrega. Estos riesgos se contrarrestan con el enfoque incremental, haciendo primero los prototipos, que luego pasan por las fases de desarrollo del software al menos una vez. El desarrollo en espiral es genérico y puede combinarse con otros métodos de desarrollo clásicos y ágiles, por lo que también se denomina desarrollo de modelo o de segundo orden.

Modelo espiral definición

El desarrollo de la espiral fue propuesto por Barry W. Boehm en su ensayo “A Spiral Model of Software Development and Enhancement”. En ese momento, el modelo de desarrollo en cascada prevaleció, por lo que los inconvenientes asociados fueron discutidos a menudo. A diferencia de otros modelos como el “código y arreglo” o el “modelo en cascada”, el desarrollo en espiral se basa en el riesgo. La identificación y resolución de los riesgos desempeña un papel importante en las diferentes espirales del proyecto una vez que se han definido los objetivos y las condiciones. La atención se centra en los posibles factores que pueden causar incertidumbres para el programa informático o para todo el proyecto. Dependiendo de la hipótesis, si los riesgos pueden controlarse de manera eficaz en función de los costos, no hay nada que impida la conclusión satisfactoria del proyecto. Los enfoques para reducir al mínimo esos riesgos son, por ejemplo, los prototipos, las simulaciones, las pruebas de referencia o las entrevistas con los usuarios. En el caso de ciertos tipos de riesgos, todo el procedimiento puede incluso revisarse y estructurarse de manera diferente. La intervención de la administración es posible en cada fase del proyecto y se pueden adaptar otros enfoques de desarrollo.

Fases de modelo en espiral

El modelo de desarrollo de espirales se caracteriza por los siguientes ciclos (también cuadrantes):

  • Determinación objetiva y alternativa: Los objetivos se determinan junto con el cliente. Al mismo tiempo, se discuten las posibles alternativas y se especifican las condiciones marco (por ejemplo, sistemas operativos, entornos y lenguajes de programación).
  • Análisis y evaluación de riesgos: Se identifican y evalúan los posibles riesgos. También se evalúan las alternativas existentes. Los riesgos se registran, evalúan y luego se reducen utilizando prototipos, simulaciones y programas informáticos de análisis. En este ciclo, hay varios prototipos como plantillas de diseño o componentes funcionales
  • Desarrollo y pruebas: Se amplían los prototipos y se añaden funcionalidades. El código real es escrito, probado y migrado a un entorno de pruebas varias veces hasta que el software puede ser desplegado en un entorno productivo.
  • Planeando el siguiente ciclo: El siguiente ciclo se planifica al final de cada etapa. Si se producen errores, se buscan soluciones, y si una alternativa es una solución mejor, se prefiere en el siguiente ciclo.

La fuerza impulsora más importante del desarrollo de la espiral es el análisis y la evaluación de los riesgos. Cualquier riesgo que amenace al proyecto debe ser identificado desde el principio. El progreso del proyecto depende de manera crítica de cómo se pueden eliminar los riesgos. El proyecto se considera exitoso sólo cuando no hay riesgos. El objetivo del ciclo es producir un producto que mejore continuamente. El software o la aplicación se mejora constantemente. El modelo en espiral es incremental, pero no necesariamente repetitivo. Las repeticiones sólo se producen cuando hay riesgos, errores o conflictos que amenazan el proyecto. Entonces el producto tiene que pasar por un ciclo de nuevo, llamado iteración o repetición.

Descripción de metodología espiral

  • El modelo de desarrollo en espiral se utiliza a menudo para proyectos más grandes que están sujetos a riesgos. Dado que estos riesgos tienen un impacto monetario directo, el control de los presupuestos de los clientes y las empresas de desarrollo es esencial. El modelo en espiral se utiliza especialmente en nuevos entornos técnicos, ya que éstos implican riesgos.
  • Los conflictos entre los requisitos de software y el diseño se evitan eficazmente mediante el enfoque cíclico, ya que los requisitos se pueden comprobar constantemente y, si es necesario, modificar.
    Se puede obtener información de los usuarios, los desarrolladores y los clientes en las primeras etapas del proyecto. Sin embargo, esta estructura también requiere una gestión que tenga en cuenta los ciclos del producto y pueda responder rápidamente a los riesgos. Por consiguiente, el control de esos proyectos es relativamente complejo y también requiere una buena documentación para que se registren todos los cambios.
  • Aunque el programa informático se prueba en diversos aspectos durante el ciclo de desarrollo y ensayo (pruebas de unidad, aceptación e integración), a menudo sucede que los prototipos se transfieren al sistema de producción. Por lo tanto, existe el riesgo de que se introduzcan otros errores e incoherencias conceptuales en el producto final posterior.
    Cuando se toman decisiones sobre ciclos posteriores, existe el riesgo de que se formen bucles y el proyecto tarde más tiempo si se toman decisiones equivocadas. Por esta razón, las alternativas y su evaluación son importantes.