200 likes | 431 Views
Proceso de desarrollo con UML y el modelo CMM. M. de la Cámara Delgado F. Sanchis Marco mcamara@eui.upm.es fsanchis@eui.upm.es. Objetivo.
E N D
Proceso de desarrollo con UML y el modelo CMM M. de la Cámara Delgado F. Sanchis Marco mcamara@eui.upm.es fsanchis@eui.upm.es
Objetivo • Presentar la adecuación de las técnicas y métodos de UML (Unified Modeling Language) alproceso de mejora de una organización, tomando como modelo el CMM (Capability Maturity Model)
Agenda • Modelo CMM • Áreas Claves del Proceso (KPA) en un Proyecto de Desarrollo Software. • Técnicas UML en el modelo CMM • Conclusiones
Modelo CMM: Objetivos • Objetivo 1: Determinar el nivel de madurez del Proceso de Desarrollo que permita establecer un indicador de Calidad del proceso. -> 5 Niveles de Madurez • Objetivo 2: Servir de guía en el Proceso de Desarrollo permitiendo la Mejora Continua de la organización -> Control de Procesos
Modelo CMM Resultados cuantificados, con opción de mejora N5: Optimizado Medidas de Producto y Proceso. Registro de valores de Calidad N4: Gestionado Desarrollo y Mantenimientodocumentado y Estandarizado N3: Definido Gestión del procesoseguimiento de: coste, planificación y funcionalidad N2: Repetible El éxito del proceso depende del esfuerzo individual N1: Inicial
Marco de trabajo Actividades Conjunto de Tareas Tareas Hitos, entregas Puntos SQA Actividades de Protección Modelo CMM 5 Niveles de Madurez 18 Áreas Clave de Proceso (KPA) en el CVS N5: Optimizado N4: Gestionado N3: Definido N2: Repetible N1: Inicial
Claves del Proceso (KPA) KPA • Objetivos • Compromisos sobre distintas Unid.Negocio • Capacidades organizativas y técnicas • Actividades • Métodos de supervisar la implantación • Métodos de verificar la implantación
KPA: Proceso Desarrollo Software • NIVEL 2: Repetible • Gestión de Requisitos • Planificación del Proyecto • Seguimiento y Supervisión del Proyecto Software • Gestión de Subcontratación del Software Garantía de Calidad del Software • Gestión de Configuración del Software
KPA: Proceso Desarrollo Software • Nivel 3: Definido • Enfoque del proceso de la organización • Definición del proceso de organización • Programa de formación • Gestión de integración del software • Ingeniería de productos software • Coordinación entre grupos • Revisiones periódicas
KPA: Proceso Desarrollo Software • Nivel 4: Gestionado • Gestión cuantitativa del proceso • Gestión de calidad del software • Nivel 5: Optimización • Prevención de defectos • Gestión de la tecnología • Gestión de cambios en el proceso
Proceso de Desarrollo con UML Dirigido por los Casos de Uso Centrado en la Arquitectura Iterativo e Incremental
FASES Workflow Planificación Anál. Riesgos Preparación Elaboración Construcción Verificación Transición Identificación Iteración en Fase de Elaboración Análisis Diseño Implantación Prueba Iter. #1 Iteración-es Inicial-es Iter. #2 Iter. #3 Iter. #4 Iter. #5 Iter. #7 Iter. #6 Iteraciones Proceso de Desarrollo con UML Fuente: Gráfico adaptado de documentos www.rational.com
Técnicas UML en el modelo CMM. Nivel 2: Repetible Gestión de Requisitos: Captura y Gestión de Requisitos en todo el CVS • Captura (Escenarios) • Modelo de Casos de Uso • Especificaciones no funcionales • Inspección de Casos de uso • Informes de Casos de Uso • Diccionario • Gestión de Requisitos: • Plan de Iteración • Plan de Integración • Plan de Proyecto • Plan de Desarrollo • Medida • Riesgo • Tiempo Controles Iterativos: Objetivos (Identificación) Arquitectura (Elaboración) CapacidaddeOperación (Construcción) Versionesde Productos (Transición)
Técnicas UML en el modelo CMM. Nivel 2: Repetible Planificación del Proyecto: Plan realista de ejecución de IS • Estimaciones Software: Medidas • Progreso (LOC, NC, Reusabilidad ...) • Estabilidad (Tip.de Reusabilidad, …) • Adaptabilidad (Costes de Reusabilidad) • Modularidad (Impacto de Extensiones) • Calidad (Error descubierto, Densidad, Profundidad de Herencia, Reusabilidad) • Madurez (Horas de Prueba por fallo) • Perfil de Recursos (Plan/Actual) • Actividades y Acuerdos • Planificados y Documentados • Casos de Negocio • Plan de Desarrollo de Software • Plan de Medida • Lista de Riesgos • Plan de Proyecto • Plan de Iteración • Control de Iteración • Estado de Control
Técnicas UML en el modelo CMM. Nivel 2: Repetible Seguimiento y Supervisión del Proyecto Software: Reproducir el estadoactual y progreso del proceso, permitiendo tomar las acciones de corrección cuando se produzca desviación. • Informe de Control de Estado: En cada iteración, y a lo largo de todo el CVS. Entrada de la toma de decisiones • Lista de Riesgos: recoge los puntos críticos del proyecto. Entrada de Planificación y de Seguimiento: • Impacto del punto crítico • Plan de contingencia • Control de Cambios: De acuerdo al Plan Inicial - Afectados
Técnicas UML en el modelo CMM. Nivel 2: Repetible Gestión de “Sub-Contratación” de Software: Selección de software cualificado, y gestionarlo correctamente. • Definido en los Casos de Negocio. Software para: • Gestión de Requisitos • Planificación de Proyectos • Seguimiento y Control de Proyectos • Aseguramiento de Calidad • Gestión de Configuración
Técnicas UML en el modelo CMM. Nivel 2: Repetible Garantía de Calidad del Software: Tanto en la IS como en la gestión de procesos. Responsabilidad de todos los implicados y por lo tanto embebida en la organización. • Actividades Planificadas: Cada actividad está dotada de un control con los criterios de revisión -> Auditoría • Estándares aplicables a actividades y productos: Plantillas • Informar del estado a los grupos e individuos implicados: Añadir a las entradas de calidad Informes de recursos (técnicos y financieros) • Medidas: • Progreso (LOC, NC, Reusabilidad ...) • Estabilidad (Tip.de Reusabilidad, …) • Adaptabilidad (Costes de Reusabilidad) • Modularidad (Impacto de Extensiones) • Calidad (Error descubierto, Densidad, Profundidad de Herencia, Reusabilidad) • Madurez (Horas de Prueba por fallo) • Perfil de Recursos (Plan/Actual)
Técnicas UML en el modelo CMM. Nivel 2: Repetible Gestión de Configuración del Software: Establecer y mantener la integridad de los productos del proyecto. • Plan de Gestión de Configuración e Integración • Descripción de la configuración de control y de su gestión. • Identificación y gestión de los cambios en los productos software • Información y ayuda en el rastreo de las líneas base a todos los implicados • Control de Versiones • Modelos de Proceso y Configuración de Modelos • Gestión de Cambios y Versiones
Conclusión • La aplicación del Modelo de Proceso de Desarrollo con UML en un proyecto software, permite situar a la organización en el nivel 2 del modelo CMM • La definición del Modelo de Proceso de Desarrollo con UML en la organización, puede adecuarse para llevar a cabo proyectos con otro tipo de productos, y situarla en el nivel 3