Publicidad

Modelos de ciclo de vida del software

Docente Investigador en Corporación Universitaria Centro Superior UNICUCES
3 de Aug de 2017
Publicidad

Más contenido relacionado

Publicidad
Publicidad

Modelos de ciclo de vida del software

  1. METODOLOGÍAS DE DESARROLLO MODELOS DE CICLOS DE VIDA César Augusto Gutiérrez R. cagutierrez@live.unicues.edu.co
  2. Contenido  Contexto  Ciclos de vida:  Modelo en Cascada  Modelo en V  Modelo iterativo o por prototipos  Modelo en Espiral  Modelo Unified Process  IEEE 1074
  3. Contexto  El desarrollo de un sistema de software está enmarcado por los recursosrecursos, el tiempotiempo y un conjunto de requerimientosrequerimientos.
  4. El – – – – software nace, crece y muere Es su ciclo de vida Nace con sus requerimientos y diseño Crece con su desarrollo y mantenimiento Muere cuando se reemplaza por otro Concepto
  5. Razones – Crecimiento de la empresa • Cambio de los requerimientos originales – Número de usuarios – Número de transacciones • Distribución del software Cambio de operaciones • Ampliación • Integración con otros sistemas – Software Obsoleto
  6. Contexto  Para lograrlo debe existir una planeaciónplaneación y un seguimientoseguimiento a ésta.  Una planeación está conformada por actividadesactividades, recursosrecursos y tiempotiempo  Esas actividades se llevan a cabo dentro de un proceso definidoproceso definido
  7. Proceso de construcción de software  “El co njunto co m ple to de actividade s de ing e nie ría de so ftware ne ce sarias para transfo rm ar lo s re q ue rim ie nto s de l usuario e n so ftware . ” [Humphrey]
  8. Ciclos de Vida  El proceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepción de una idea hasta la entrega y el retiro del sistema.  Representa todas las actividades y artefactos (productos intermedios) necesarios para desarrollar una aplicación
  9. Ciclos de Vida  Permiten manejar la complejidad de un proyecto de desarrollo  Vistas complementarias:  Las actividades  Los entregables (artefactos)
  10. Actividades de un Ciclo de Vida Implícita o Explícitamente todos los modelos de ciclo de vida cuentan por lo menos con las siguientes actividades
  11. Modelo en Cascada  Modelo orientado en las actividades  Prescribe una ejecución secuencial de un subconjunto de los procesos de desarrollo y de administración  Es el modelo mas antiguo, propuesto por Winston Royce en1970.
  12. Modelo en Cascada REQUERIMIENTOSREQUERIMIENTOS IMPLEMENTACIONIMPLEMENTACION LANZAMIENTOLANZAMIENTO DISEÑODISEÑO PRUEBASPRUEBAS INSTALACIONINSTALACION MANTENIMIENTOMANTENIMIENTO
  13. Modelo en Cascada - Fortalezas  Fácil entendimiento e implementación  Ampliamente utilizado y conocido ( En teoría )  Refuerza buenos hábitos: definir antes que diseñar, diseñar antes que codificar  Identifica entregables e hitos.  Orientado a documentos.  Funciona bien en productos maduros y equipos débiles
  14. Modelo en Cascada - Debilidades  No aprovecha la iteración, ni el desarrollo exploratorio  Espera requerimientos definidos completamente al inicio del proyecto. (IREAL!!!)  Dificultar para integrar administración del riesgo  El software es entregado tarde en el proyecto. Esto hace que se detecten errores graves muy tarde.  Hacercambios es difícil y costoso.
  15. Modelo en V  Busca hacer la actividad de pruebas más efectiva y productiva  Los planes (y casos de prueba) se van elaborando a medida que se avanza en el desarrollo del proyecto
  16. Definición de requerimientosDefinición de requerimientos Análisis de requerimientosAnálisis de requerimientos Diseño arquitecturaDiseño arquitectura Diseño detalladoDiseño detallado ProgramaciónProgramación Pruebas Unitarias Pruebas Unitarias Pruebas Integración Pruebas Integración Pruebas Sistema Pruebas Sistema Pruebas Aceptación Pruebas Aceptación Pre. Pruebas Unitarias Pre. Pruebas Unitarias Pre. Pruebas Integración Pre. Pruebas Integración Pre. Pruebas Sistema Pre. Pruebas Sistema Pre. Pruebas Aceptación Pre. Pruebas Aceptación Modelo en V
  17. Modelo en Espiral  Modelo centrado en la actividades  Basado en las mismas actividades del modelo de cascada  Introduce: manejo de riesgos y creación de prototipos  Las actividades son organizadas en ciclos
  18. Modelo en Espiral  Un ciclo corresponde a la construcción de un producto intermedio  Las actividades de cada ciclo son:  Determinar objetivos  Especificar las restricciones  Generar alternativas  Identificar riesgos  Resolver riesgos  Desarrollar y verificar próximo nivel del producto  Desarrollar el plan del ciclo
  19. REQUERIMIENTOSREQUERIMIENTOS IMPLEMENTACIONIMPLEMENTACIONLANZAMIENTOLANZAMIENTO DISEÑODISEÑO V&VV&V INSTALACIONINSTALACION MANTENIMIENTOMANTENIMIENTO N… Ciclos Prototipo 1 Prototipo 2 Prototipo 3 Prototipo 4 …….. Prototipo n… Modelo en Espiral
  20. Modelo Iterativo o por Prototipos Es uno de los primeros ciclos de vida que permitían que el código fuente fuera reutilizable, sin embargo con el modelo iterativo no solo es utilizable, si no que para muchos, estos prototipos pueden llegar a ser el producto final que siempre quisieron, lo cual lo hace realmente relevante y destacable, por encima del resto de los modelos de antaño que puedas encontrar. Básicamente, las fases del ciclo de vida del sistema, son las siguientes: 1. Inicialización 2. Iteración 3. Lista de Control Una de las principales ventajas del modelo iterativo, es que la retroalimentación a los usuarios se proporciona desde muy temprano, haciendo que adentrarse en el proyecto sea demasiado sencillo. Por un sistema creado mediante el ciclo de vida iterativo, tiende a no fallar casi, lo cual es garantía de satisfacción para el cliente en este caso o para la empresa que está implementando esta metodología.
  21. Modelo Iterativo o por Prototipos
  22. Modelo Unified Process  Consiste en varios ciclos.  Al final de cada uno, un producto es entregado al cliente  Cada ciclo consiste de cuatro fases:  Inception  Elaboration  Construction  Transition  Cada fase puede tener varias iteraciones  Una iteración construye un conjunto de casos de uso relacionados o mitiga algún riesgo de los identificados
  23. Inicio del Proyecto Inicio del Proyecto Define Casos de uso Define Casos de uso AnálisisAnálisis DiseñoDiseño Construcción y V&V Construcción y V&V LiberaciónLiberación Versión 1, Versión 2, ...Versión 1, Versión 2, ...  Incrementos = un caso de uso Incrementos = un caso de uso  Iteración = un caso de uso refinado con toda la funcionalidad  Iteración = un caso de uso refinado con toda la funcionalidad Modelo Unified Process ELABORACION CONSTRUCCION TRANSICION INICIO
  24. Team Software Process TSP
  25. IEEE 1074 Procesos de ciclo de vida de software  Establecer un marco común para desarrollar modelos de ciclo de vida  Proceso: conjunto de actividades para alcanzar un Propósito  17 procesos define el estándar organizados en grupos de procesos  Cada proceso está compuesto de actividades
  26. Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Asignación de Recursos 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento
  27. Modelamiento del ciclo de vida  Responsable: Gerente del proyecto  Personalizar las actividades de IEEE1074 a los requerimientos del proyecto y de la empresa  Seleccionar el ciclo de vida:  Cascada  Modelo en V  Spiral  Team Software Process  Prototipos
  28. 2. Administración del proyecto  Procesos  Iniciar el proyecto  Supervisar y controlar el proyecto  Administración de la calidad
  29. 2. Administración del proyecto – Iniciar el Proyecto  Responsable: Gerente del proyecto  Entregable: Plan de Administración del proyecto de software (SPMP)  Propósito:  Establecer la correspondencia entre las actividades y el modelo del ciclo de vida del software  Asignar recursos al proyecto  Establecer del ambiente del proceso  Realizar la planeación de la administración del proyecto
  30. 2. Administración del proyecto – Iniciar el Proyecto  Inicio del proyecto en general es:  Definir el plan de tareas  Definir el cronograma  Definir el presupuesto  Definir la organización del proyecto  Definir el ambiente del proyecto  Estándares  Comunicación  Procedimientos de reunión y reporte  Metodología de desarrollo  Herramientas de desarrollo
  31. 2. Administración del proyecto - Supervisión y control del proyecto  Responsable: Gerente del proyecto  Entregable: Plan de Administración del proyecto de software (SPMP) actualizado  Propósito:  Analizar riesgos  Realizar planeación de contingencias  Administrar el proyecto  Conservar registros  Implementar el modelo de reporte de problemas
  32. Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Identificación del sistema 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento
  33. 2. Administración del proyecto – Admin. de la calidad  Responsable: Equipo de administración de calidad  Entregable: Plan de Administración de la calidad  Propósito:  Planear la administración de la calidad del software  Definir métricas  Administrar la calidad del software  Identificar las necesidad de mejora de calidad
  34. Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Identificación del sistema 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento
  35. 3. Predesarrollo  Administración o marketing y el cliente identifican una idea o una necesidad  Nuevo esfuerzo de desarrollo  Cambio de interfaz de un sistema existente  Reemplazo de software de un proceso de negocios existente  Procesos  Exploración del concepto  Asignación del sistema
  36. 3. Predesarrollo - Exploración del concepto  Responsable: Administración y Cliente  Entregable: Enunciado del problema  Propósito:  Producir el enunciado del problema (“Statement of needs”)  Identificar ideas o necesidades  Formular enfoques potenciales  Realizar estudios de factibilidad  Planear la transición del sistemas  Refinar y finalizar la idea o necesidad
  37. 3. Predesarrollo – Identificación del sistema  Responsable: Administración, Cliente, Arquitecto de software  Entregable: Enunciado del problema y Documento de arquitectura  Propósito:  Establecer la arquitectura inicial  Base para la comunicación entre los miembros  Identificar  Hardware  Software  Requerimientos funcionales
  38. Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Identificación del sistema 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento
  39. 4. Desarrollo - Requerimientos  Responsable: Equipo de desarrollo y cliente  Entregable: Documento de requerimientos  Propósito:  Definir y desarrollar los requerimientos de software  Definir los requerimientos de la interfaz  Establecer la prioridad e integrar los requerimientos de software
  40. 4. Desarrollo - Requerimientos  Responsable: Equipo de desarrollo  Entregable: Documentos de diseño  Propósito:  Producir una representación del sistema coherente y bien organizada  Descomponer en subsistemas  Asignar los requerimiento a los sistemas de hardware y software  Describir de las condiciones de frontera  Seleccionar de componentes pre- existentes  Definir los objetivos de diseño
  41. 4. Desarrollo - Implementación  Responsable: Equipo de desarrollo  Entregable: Código, Pruebas  Propósito:  Construir la solución  Crear datos de pruebas  Crear código fuente  Crear código objeto  Crear la documentación operativa  Planear la integración  Realizar la integración
  42. Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Identificación del sistema 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento
  43. 5. Posdesarrollo - Instalación  Responsable: Administración y cliente  Entregable: Sistema  Propósito:  Planear la instalación  Distribuir el software  Instalar el software  Aceptar el software en el ambiente operacional
  44. 5. Posdesarrollo - Operación y soporte  Responsable: Administración y cliente  Propósito:  Operar el sistema  Proporcionar asistencia técnica y consultoría  Mantener la bitácora de peticiones del clientes
  45. 5. Posdesarrollo - Mantenimiento  Responsable: Administración y equipo de desarrollo  Propósito:  Mantener el sistema adecuado a los cambios en los requerimientos, nuevas necesidades, nuevas tecnologías.
  46. 5. Posdesarrollo - Retiro  Notificar a los usuarios  Realizar operaciones paralelas  Retirar el sistemas
  47. Grupos de Proceso 1. Modelamiento del Ciclo de Vida Selección de un ciclo de vida 2. Administración del Proyecto Iniciación del Proyecto Monitoreo y Control del Proyecto Administración de la calidad del SW 3. Pre-desarrollo Exploración del concepto Identificación del sistema 4. Desarrollo Requerimientos Diseño Implementación 5. Pos-desarrollo Instalación Operación y Soporte Mantenimiento Retiro 6. Procesos Integrales Verificación y Validación Administración de la configuración Documentación Entrenamiento
  48. 6. Procesos integrales - Verificación y validación  Propósito:  Planear la verificación y validación: inspecciones, revisiones, auditorias, pruebas  Ejecutar las tareas de verificación y validación  Recopilar y analizar datos de medidas  Planear las pruebas  Desarrollar los requerimientos de las pruebas  Ejecutar las pruebas
  49. 6. Procesos integrales - Administración de la configuración del software  Propósito:  Planear la administración de la configuración  Desarrollar la identificación de la configuración  Realizar el control de cambios
  50. 6. Procesos integrales - Documentación  Planear la documentación  Implementar la documentación  Producir y distribuir la documentación
  51. 6. Procesos integrales - Entrenamiento  Planear el programa de entrenamiento  Desarrollar los materiales de entrenamiento  Validar el programa de entrenamiento  Implementar el programa de entrenamiento
  52. Referencias  [Bernd Bruegge, Dutoit Allen. O bje ct-O rie nte d So ftware Eng ine e ring : Using UML, Patte rns, and Java , 2004, Prentice Hall, segunda edición. Capítulo 15  http://standards.ieee.org/catalog/olis/arch_se.html
Publicidad