fbpx
Wikipedia

Desarrollo en espiral

El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1986,[1]​ utilizado generalmente en la ingeniería de software.

Las actividades de este modelo consistes en la confirmación en un espiral, en la que cada bucle o iteració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.

Introducción Editar

La ingeniería de software se vale y establece a partir de una serie de modelos que establecen y muestran las distintas etapas y estados por los que pasa un producto software, desde su concepción inicial, pasando por su desarrollo, puesta en marcha y posterior mantenimiento, hasta la retirada del producto. A estos modelos se les denomina «modelos de ciclo de vida del software». El primer modelo concebido fue el de Royce, más comúnmente conocido como desarrollo en cascada o desarrollo lineal secuencial. Este modelo establece que las diversas actividades que se van realizando al desarrollar un producto software suceden de forma lineal.

Boehm, autor de diversos artículos de ingeniería del software; modelos de estimación de esfuerzo y tiempo que se consume en hacer productos software; y Modelos de Ciclo de Vida; ideó y promulgó un modelo desde un enfoque distinto al tradicional en Cascada: El Modelo Evolutivo Espiral. Su Modelo de Ciclo de Vida en Espiral 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 1986 en su artículo «A Spiral Model of Software Development and Enhancement».[1]​ En 1988, Boehm publicó un artículo similar[2]​ destinado a una audiencia más amplia. 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 riesgo.

Ciclos o Iteraciones Editar

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:
  1. Características: experiencia del personal, requisitos a cumplir, etc.
  2. Formas de gestión del sistema.
  3. 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:
  1. Angular: Indica el avance del proyecto del software dentro de un ciclo.
  2. 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.

Tareas Editar

Para cada ciclo habrá cuatro actividades:

  1. Determinar objetivos
  2. Análisis del riesgo
  3. Desarrollar y probar
  4. Planificación
 
Modelo en espiral (Boehm, 1986)

Determinar o fijar objetivos Editar

  • Fijar también los productos definidos a obtener: requisitos, especificación, manual de usuario.
  • Fijar las restricciones.
  • Identificación de riesgos del proyecto y estrategias alternativas para evitarlos.
  • Hay una cosa que solo se hace una vez: planificación inicial.

Desarrollar, verificar y validar (probar) Editar

  • Tareas de la actividad propia y de prueba.
  • Análisis de alternativas e identificación resolución de riesgos.
  • Dependiendo del resultado de la evaluación de los riesgos, se elige un modelo para el desarrollo, el que puede ser cualquiera de los otros existentes, como formal, evolutivo, cascada, etc. Así si por ejemplo si los riesgos en la interfaz de usuario son dominantes, un modelo de desarrollo apropiado podría ser la construcción de prototipos evolutivos. Si los riesgos de protección son la principal consideración, un desarrollo basado en transformaciones formales podría ser el más apropiado.

Análisis y evaluación del riesgo Editar

  • Se lleva a cabo el estudio de las causas de las posibles amenazas y probables eventos no deseados y los daños y consecuencias que éstas puedan producir. Se evalúan alternativas. Se debe tener un prototipo antes de comenzar a desarrollar y probar.

En resumen, es para tener en cuenta los riesgos de cada uno de los ámbitos.

Mecanismos de control Editar

  • La dimensión radial mide el coste.
  • La dimensión angular mide el grado de avance del proyecto.

Variaciones del modelo en espiral Editar

Modelo en Espiral Típico de seis regiones Editar

El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de computadora, a diferencia del modelo de proceso clásico que termina cuando se entrega el software.

Las seis regiones que componen este modelo son las siguientes:

  • Comunicación con el cliente - Tareas necesarias para plantear la comunicación entre el desarrollador y el cliente.
  • Planificación - Tareas inherentes a la definición de recursos, el tiempo y otras informaciones relacionadas con el proyecto. Son todos los requerimientos.
  • Análisis de riesgos – Tareas para evaluar riesgos técnicos y otras informaciones relacionadas con el proyecto.
  • Ingeniería - Tareas para construir una o más representaciones de la aplicación.
  • Construcción y adaptación - Tareas requeridas para construir, probar, instalar y proporcionar soporte a los usuarios.
  • Evaluación del cliente - Tareas requeridas para obtener la reacción del cliente según la evaluación de las representaciones del software creadas durante la etapa de ingeniería e implementación durante la etapa de instalación.[3]

Modelo en espiral WIN-WIN Editar

El modelo Win-Win es una adaptación del modelo espiral que se enfatiza en la participación del cliente en el proceso de desarrollo de un producto de software. En un caso ideal, el desarrollador simplemente pregunta al cliente lo que se requiere y el cliente proporciona suficiente información y detalles para proceder. Sin embargo esto no suele ocurrir en la mayoría de los casos y es necesario que se establezcan negociaciones significativas entre ambas partes para equilibrar la funcionalidad y rendimiento con los costos y tiempo de salida al mercado del producto. El modelo Win-Win deriva su nombre del objetivo de estas negociaciones, es decir, "ganar-ganar". El cliente recibe el producto que satisface la mayoría de sus necesidades, y el desarrollador trabaja para alcanzar presupuestos y fechas de entrega. Para lograr este objetivo, se realizan varias actividades de negociación al principio de cada paso alrededor de la espiral.[4]

Ventajas Editar

  • El análisis del riesgo se hace de forma explícita y clara.
  • Une los mejores elementos de los restantes modelos.
  • Reduce riesgos del proyecto.
  • Incorpora objetivos de calidad.

Desventajas Editar

  • Genera mucho tiempo en el desarrollo del sistema
  • Es un modelo costoso en recursos
  • Requiere experiencia en la identificación de riesgos

Inconvenientes Editar

Planificar un proyecto con esta metodología es a menudo imposible, debido a la incertidumbre en el número de iteraciones que serán necesarias. En este contexto la evaluación de riesgos es de la mayor importancia y, para grandes proyectos, dicha evaluación requiere la intervención de profesionales de gran experiencia.

El IEEE clasifica al desarrollo en espiral como modelo no operativo en sus clasificaciones de MCV.[5]

Véase también Editar

Referencias Editar

  1. Boehm, B. «A Spiral Model of Software Development and Enhancement.» ACM SIGSOFT Software Engineering Notes, ACM, 11(4):14-24, agosto de 1986.
  2. Boehm B, «A Spiral Model of Software Development and Enhancement.» el 28 de mayo de 2015 en Wayback Machine. IEEE Computer, IEEE, 21(5):61-72, mayo de 1988.
  3. http://modeloespiral.blogspot.com/2009/08/modelo-tipico-de-seis-regiones.html
  4. [1]
  5. Developing a Software Project Life Cycle Process (IEEE 1074), 30 de marzo de 2006.

Enlaces externos Editar

  • A Spiral Model of Software Development and Enhancement. artículo original de Barry Boehm en el que proponía el modelo de desarrollo en espiral (en inglés)
  •   Datos: Q1460738
  •   Multimedia: Spiral model of Boehm / Q1460738

desarrollo, espiral, este, artículo, sección, tiene, referencias, pero, necesita, más, para, complementar, verificabilidad, este, aviso, puesto, mayo, 2012, desarrollo, espiral, modelo, ciclo, vida, software, definido, primera, barry, boehm, 1986, utilizado, g. Este articulo o seccion tiene referencias pero necesita mas para complementar su verificabilidad Este aviso fue puesto el 23 de mayo de 2012 El desarrollo en espiral es un modelo de ciclo de vida del software definido por primera vez por Barry Boehm en 1986 1 utilizado generalmente en la ingenieria de software Las actividades de este modelo consistes en la confirmacion en un espiral en la que cada bucle o iteracion representa un conjunto de actividades Las actividades no estan fijadas a ninguna prioridad sino que las siguientes se eligen en funcion del analisis de riesgo comenzando por el bucle interior Indice 1 Introduccion 2 Ciclos o Iteraciones 2 1 Tareas 2 1 1 Determinar o fijar objetivos 2 1 2 Desarrollar verificar y validar probar 2 1 3 Analisis y evaluacion del riesgo 3 Mecanismos de control 4 Variaciones del modelo en espiral 4 1 Modelo en Espiral Tipico de seis regiones 4 2 Modelo en espiral WIN WIN 5 Ventajas 6 Desventajas 7 Inconvenientes 8 Vease tambien 9 Referencias 10 Enlaces externosIntroduccion EditarLa ingenieria de software se vale y establece a partir de una serie de modelos que establecen y muestran las distintas etapas y estados por los que pasa un producto software desde su concepcion inicial pasando por su desarrollo puesta en marcha y posterior mantenimiento hasta la retirada del producto A estos modelos se les denomina modelos de ciclo de vida del software El primer modelo concebido fue el de Royce mas comunmente conocido como desarrollo en cascada o desarrollo lineal secuencial Este modelo establece que las diversas actividades que se van realizando al desarrollar un producto software suceden de forma lineal Boehm autor de diversos articulos de ingenieria del software modelos de estimacion de esfuerzo y tiempo que se consume en hacer productos software y Modelos de Ciclo de Vida ideo y promulgo un modelo desde un enfoque distinto al tradicional en Cascada El Modelo Evolutivo Espiral Su Modelo de Ciclo de Vida en Espiral 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 mas 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 asi hasta que llegue un momento en el que el producto software desarrollado sea aceptado y no necesite seguir mejorandose con otro nuevo ciclo Este modelo fue propuesto por Boehm en 1986 en su articulo A Spiral Model of Software Development and Enhancement 1 En 1988 Boehm publico un articulo similar 2 destinado a una audiencia mas amplia Basicamente 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 asi El Espiral puede verse como un modelo evolutivo que conjuga la naturaleza iterativa del modelo MCP con los aspectos controlados y sistematicos del Modelo Cascada con el agregado de gestion de riesgo Ciclos o Iteraciones EditarEn cada vuelta o iteracion hay que tener en cuenta Los Objetivos que necesidad debe cubrir el producto Alternativas las diferentes formas de conseguir los objetivos de forma exitosa desde diferentes puntos de vista como pueden ser Caracteristicas experiencia del personal requisitos a cumplir etc Formas de gestion 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 iteracion se pasa mas tiempo desarrollando Este sistema es muy utilizado en proyectos grandes y complejos como puede ser por ejemplo la creacion de un Sistema Operativo Al ser un modelo de Ciclo de Vida orientado a la gestion de riesgo se dice que uno de los aspectos fundamentales de su exito radica en que el equipo que lo aplique tenga la necesaria experiencia y habilidad para detectar y catalogar correctamente los riesgos Tareas Editar Para cada ciclo habra cuatro actividades Determinar objetivos Analisis del riesgo Desarrollar y probar Planificacion Modelo en espiral Boehm 1986 Determinar o fijar objetivos Editar Fijar tambien los productos definidos a obtener requisitos especificacion manual de usuario Fijar las restricciones Identificacion de riesgos del proyecto y estrategias alternativas para evitarlos Hay una cosa que solo se hace una vez planificacion inicial Desarrollar verificar y validar probar Editar Tareas de la actividad propia y de prueba Analisis de alternativas e identificacion resolucion de riesgos Dependiendo del resultado de la evaluacion de los riesgos se elige un modelo para el desarrollo el que puede ser cualquiera de los otros existentes como formal evolutivo cascada etc Asi si por ejemplo si los riesgos en la interfaz de usuario son dominantes un modelo de desarrollo apropiado podria ser la construccion de prototipos evolutivos Si los riesgos de proteccion son la principal consideracion un desarrollo basado en transformaciones formales podria ser el mas apropiado Analisis y evaluacion del riesgo Editar Se lleva a cabo el estudio de las causas de las posibles amenazas y probables eventos no deseados y los danos y consecuencias que estas puedan producir Se evaluan alternativas Se debe tener un prototipo antes de comenzar a desarrollar y probar En resumen es para tener en cuenta los riesgos de cada uno de los ambitos Mecanismos de control EditarLa dimension radial mide el coste La dimension angular mide el grado de avance del proyecto Variaciones del modelo en espiral EditarModelo en Espiral Tipico de seis regiones Editar El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de computadora a diferencia del modelo de proceso clasico que termina cuando se entrega el software Las seis regiones que componen este modelo son las siguientes Comunicacion con el cliente Tareas necesarias para plantear la comunicacion entre el desarrollador y el cliente Planificacion Tareas inherentes a la definicion de recursos el tiempo y otras informaciones relacionadas con el proyecto Son todos los requerimientos Analisis de riesgos Tareas para evaluar riesgos tecnicos y otras informaciones relacionadas con el proyecto Ingenieria Tareas para construir una o mas representaciones de la aplicacion Construccion y adaptacion Tareas requeridas para construir probar instalar y proporcionar soporte a los usuarios Evaluacion del cliente Tareas requeridas para obtener la reaccion del cliente segun la evaluacion de las representaciones del software creadas durante la etapa de ingenieria e implementacion durante la etapa de instalacion 3 Modelo en espiral WIN WIN Editar El modelo Win Win es una adaptacion del modelo espiral que se enfatiza en la participacion del cliente en el proceso de desarrollo de un producto de software En un caso ideal el desarrollador simplemente pregunta al cliente lo que se requiere y el cliente proporciona suficiente informacion y detalles para proceder Sin embargo esto no suele ocurrir en la mayoria de los casos y es necesario que se establezcan negociaciones significativas entre ambas partes para equilibrar la funcionalidad y rendimiento con los costos y tiempo de salida al mercado del producto El modelo Win Win deriva su nombre del objetivo de estas negociaciones es decir ganar ganar El cliente recibe el producto que satisface la mayoria de sus necesidades y el desarrollador trabaja para alcanzar presupuestos y fechas de entrega Para lograr este objetivo se realizan varias actividades de negociacion al principio de cada paso alrededor de la espiral 4 Ventajas EditarEl analisis del riesgo se hace de forma explicita y clara Une los mejores elementos de los restantes modelos Reduce riesgos del proyecto Incorpora objetivos de calidad Desventajas EditarGenera mucho tiempo en el desarrollo del sistema Es un modelo costoso en recursos Requiere experiencia en la identificacion de riesgosInconvenientes EditarPlanificar un proyecto con esta metodologia es a menudo imposible debido a la incertidumbre en el numero de iteraciones que seran necesarias En este contexto la evaluacion de riesgos es de la mayor importancia y para grandes proyectos dicha evaluacion requiere la intervencion de profesionales de gran experiencia El IEEE clasifica al desarrollo en espiral como modelo no operativo en sus clasificaciones de MCV 5 Vease tambien EditarIngenieria de Software Desarrollo de Software Modelo en Cascada o Secuencial Modelo Iterativo Incremental Modelo por Prototipos Modelo de Desarrollo RapidoReferencias Editar a b Boehm B A Spiral Model of Software Development and Enhancement ACM SIGSOFT Software Engineering Notes ACM 11 4 14 24 agosto de 1986 Boehm B A Spiral Model of Software Development and Enhancement Archivado el 28 de mayo de 2015 en Wayback Machine IEEE Computer IEEE 21 5 61 72 mayo de 1988 http modeloespiral blogspot com 2009 08 modelo tipico de seis regiones html 1 Developing a Software Project Life Cycle Process IEEE 1074 30 de marzo de 2006 Enlaces externos EditarA Spiral Model of Software Development and Enhancement articulo original de Barry Boehm en el que proponia el modelo de desarrollo en espiral en ingles Datos Q1460738 Multimedia Spiral model of Boehm Q1460738 Obtenido de https es wikipedia org w index php title Desarrollo en espiral amp oldid 153277110, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos