Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Modelos de Ciclos de Vida

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 22 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a Modelos de Ciclos de Vida (20)

Anuncio

Más reciente (20)

Modelos de Ciclos de Vida

  1. 1. Modelos de Ciclos de Vida ntroducción a los modelos en Cascada y Espiral MadPitbull_99
  2. 2. Definición de metodología Metodología de Desarrollo de Software: son los procesos que hay que seguir sistemáticamente para idear, implementar y mantener un producto software desde que surge la necesidad del producto hasta que cumplimos el objetivo por el cuál fue creado. ISO 12207 La ISO (International Organization for Standardization), en su norma 12207 define el ciclo de vida de un software cómo una marco de referencia que contiene las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto software, abarcando desde la definición hasta la finalización de su uso.
  3. 3. Etapas del ciclo de vida • Construye un modelo de los requisitos. Análisis • Se deducen la estructura de datos y del sistema y la interfaz de usuario. Diseño • Se construye el sistema. Codificació • Genera un código ejecutable. n • Se comprueba que se cumplen los criterios de corrección y calidad. Pruebas Mantenimi • Se asegura que el sistema siga funcionando y se adapta a nuevos requisitos ento
  4. 4. Modelos de ciclos de vida … Cascada … Ciclos de Vida Espiral …
  5. 5. Tipos de ciclos de vida en cascada Existen diferentes tipos de ciclos de vida en cascada: Cascada Con Con reducción Sashimi Iterativo Por prototipos Evolutivo Incremental subproyectos de riesgos
  6. 6. Ciclo de vida en cascada puro  Propuesto por Winston Royce en el año 1970.  Fue uno de los primeros y sirvió de base para el resto de los modelos de ciclos de vida.  Tal vez uno de los más extendidos (se estima que el 90% de los sistemas han sido desarrollados así). Análisis  Después de cada etapa se realizan una o Diseño varias revisiones para comprobar si Implementación se puede pasar a la siguiente. Pruebas Mantenimiento
  7. 7. Ventajas, desventajas y casos de uso en cascada puro VENTAJAS DESVENTAJAS  Admite iteraciones ( Se permite volver a una  Es rígido, poco flexible y con muchas etapa anterior del proyecto). restricciones.  Planificación sencilla.  La necesidad de conocer todos los  Provee un producto con un elevado grado de requerimientos al comienzo del proyecto. calidad sin disponer de un personal altamente  Si se han cometido errores y no se detectan en la calificado. etapa inmediatamente siguiente, es costoso y  Adecuado si se disponen de todos los difícil volver atrás para realizar la corrección. requerimientos desde el principio.  Los resultados no se ven hasta en las etapas finales del ciclo.  Cualquier error detectado nos trae un retraso y aumenta el coste del desarrollo.  Retardo en entregar partes del producto. CASOS DE USO  Cuando se disponen de todos los requerimientos desde el principio (reingeniería).  Producto no novedoso o con funcionalidades conocidas.  Proyectos complejos fácilmente entendibles.
  8. 8. Ciclo de vida en V  Propuesto por Alan Davis.  Tiene las mismas fases que la anterior, pero se considera el nivel de abstracción de cada una.  Una fase además de utilizarse cómo entrada para la siguiente, sirve para validar Validación o verificar otras fases posteriores. Análisis Mantenimiento Abstracción Verificación Diseño Pruebas Codificación Tiempo
  9. 9. Ciclo de vida tipo Sashimi  Se permite un solapamiento entre fases. Ejemplo: sin tener terminado el diseño se comienza a implementar.  Ventajas: • No necesita generar tanta documentación cómo el ciclo de cascada pura debido a la continuidad del mismo personal entre fases.  Desventajas: • Difícil de controlar el progreso del proyecto, dado que los finales de fase ya no son un punto Análisis de referencia. Diseño • Si hay problemas de comunicación pueden surgir Implementación inconsistencias. Pruebas Mantenimiento
  10. 10. Ciclo de vida tipo cascada con subproyectos  Llegados a la fase de diseño arquitectónico, el sistema se divida en varios subsistemas independientes entre sí.  A partir de ese punto, cada uno se puede desarrollar por separado y en consecuencia en paralelo con los demás. VENTAJAS DESVENTAJAS  Cadapuede tener tendrá fechas de el riesgo de que  Se uno a más gente Existe terminación distintas.en paralelo de trabajando forma eficiente. existan interdependencias entre los objetos.  Una vez terminados todos los subsistemas, se integran y se prueba el sistema en su conjunto.
  11. 11. Ciclo de vida iterativo  Busca reducir el riesgo que surge entre las necesidades del usuario y el producto final por malos entendidos durante la etapa de solicitud de requerimientos.  Es la iteración de varios ciclos en cascada.  Al final de cada iteración, se le entrega al cliente una versión mejorada o con mayores funcionalidades del producto.  El cliente es quien, después de cada iteración, Análisis Análisis evalúa el producto y lo corrige o propone Diseño Diseño Análisis mejoras. Diseño Implementación Implementación  Las iteraciones se repetirán hasta que el cliente Implementación Pruebas Pruebas Pruebas quede satisfecho. Versión 1 Versión 2 Versión 3 Iteración 1 Iteración 2 Iteración 3
  12. 12. Casos de uso en iterativo CASOS DE USO  Se suele utilizar en proyectos en los que los requerimientos no están claros de parte del usuario. Por lo que se hace necesaria la creación de distintos prototipos para presentarlos.  En aplicaciones medianas a grandes, en las que el cliente no necesita todas las funcionalidades desde el principio del proyecto. Por ejemplo, una empresa que quiera migrar sus aplicaciones a otra arquitectura, y desea hacerlo paulatinamente.
  13. 13. Ciclo de vida tipo por prototipos  Usado cuando no se conoce exactamente cómo desarrollar un determinado producto o cuáles son las especificaciones de forma precisa.  En estos casos suele recurrirse a definir especificaciones iniciales para hacer un prototipo, o sea, un producto parcial y provisional.  El objetivo es lograr crear un producto intermedio, antes de realizar el producto final, para conocer mediante el prototipo cómo responderán las funcionalidades previstas para el producto final.  Antes de adoptar este tipo de ciclo de vida, deberíamos analizar si el esfuerzo por crear un prototipo, realmente vale la pena.  Utilizado mayoritariamente en desarrollo de
  14. 14. Ciclo de vida evolutivo  Este modelo acepta que los requerimientos del usuario puedan cambiar en cualquier momento.  El problemas de los nuevos requerimientos se afronta mediante una iteración de ciclos de requerimientos - desarrollo - evaluación.  Puede ser muy útil cuando se desconocen la mayoría de los requerimientos iniciales, o estos requerimientos no están completos.
  15. 15. Ciclo de vida incremental  Se basa en la filosofía de construir incrementando las funcionalidades del programa.  Se realiza construyendo por módulos que cumplen las diferentes funciones del sistema. Esto permite aumentar gradualmente las capacidades del software.  Facilita el desarrollo, permitiendo a cada miembro del equipo desarrollar un módulo particular (en caso de que sea realizado por un equipo de programadores).  Similar al ciclo de vida en cascada con iteraciones, aplicándose un ciclo en cada nueva funcionalidad del programa.  Al final de cada ciclo, se le entrega al cliente la versión que contiene la nueva funcionalidad.
  16. 16. Esquema y beneficios del ciclo incremental Análisis Análisis Análisis Diseño Diseño Diseño Implementación Implementación Implementación Pruebas Pruebas Pruebas 1.0 1.2 1.2.3 Versión 1 Versión 2 Versión 3 Funcionalidad 1 + + Funcionalidad 2 Funcionalidad 3 Beneficios: Construir un sistema pequeño implica menos riesgos que construir uno grande.  Si se detecta un error grave, sólo desechamos la última iteración.  No se necesitan todos los requerimientos al
  17. 17. Diferencias entre incremental y evolutivo  El modelo de ciclo incremental no es parecido al modelo de ciclo de vida evolutivo.  En el incremental partimos de que no hay incertidumbre en los requerimientos iniciales, en el evolutivo somos conscientes de que comenzamos con un alto grado de incertidumbre.  En el incremental suponemos que conocemos el problema, y lo dividimos. Mientras que el evolutivo gestiona la incertidumbre.
  18. 18. Ciclo de vida en espiral  Diseñado por Boehm en el año 1988. Se puede considerar cómo una variación del modelo con prototipado.  Se basa en una serie de ciclos repetitivos para ir ganando madurez en el producto final.  Toma los beneficios de los ciclos de vida incremental y por prototipos, pero se tiene más en cuenta el concepto de riesgo que aparece debido a las incertidumbres e ignorancias.  A medida que el ciclo se cumple (el avance de la espiral), se van obteniendo
  19. 19. Ciclo de vida en espiral [II] Hay cuatro actividades que envuelven las etapas: 1. Planificación: relevamiento de requerimientos iniciales o luego de una iteración. 2. Análisis de riesgos: de acuerdo con el relevamiento de requerimientos, decidimos si continuamos con el desarrollo. 3. Implementación: desarrollamos un prototipo basado en los requerimientos.
  20. 20. Esquema del ciclo de vida en espiral
  21. 21. Ventajas y desventajas en el modelo espiral VENTAJAS DESVENTAJAS  Puede comenzarse un proyecto con un alto grado  El coste temporal que suma cada vuelta de la de incertidumbre. espiral.  Bajo riesgo de retraso en caso de detección de  La dificultad para evaluar los riesgos. errores, ya que se puede solucionar  Necesidad de la presencia o la comunicación en la próxima rama de la espiral. continua con el cliente o usuario.
  22. 22. Bibliografía • Ciclo de Vida del software (UNED) http://www.ia.uned.es/ia/asignaturas/adms/GuiaDidADM S/node10.html • Presentación Ciclos de Vida (Diego Salamanca) http://es.scribd.com/doc/11468082/CICLO-DE-VIDA-Y- MODELO-EN-CASCADA • Ciclo de Vida del Software (UCLM) http://alarcos.inf- cr.uclm.es/doc/ISOFTWAREI/Tema03.pdf • Revista USR.CODE

×