600 likes | 778 Views
8. Gestión de Calidad de Software. LS3148 - Calidad de Software 3IM1 Universidad Antonio de Nebrija Justo Hidalgo. Contenidos. Introducción Control de Progreso de Proyecto Situaciones de fracaso Componentes Métricas de Calidad de Software Tipos de métricas Puntos de Función
E N D
8. Gestión de Calidad de Software LS3148 - Calidad de Software 3IM1 Universidad Antonio de Nebrija Justo Hidalgo
Contenidos • Introducción • Control de Progreso de Proyecto • Situaciones de fracaso • Componentes • Métricas de Calidad de Software • Tipos de métricas • Puntos de Función • COCOMO I y II Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Introducción • Control de progreso del proyecto • Utilización de recursos • Planificación • Actividades de Gestión de Riesgos • Métricas de Calidad de Software • Calidad de desarrollo • Productividad • Densidad de fallos • ... Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Control de Progreso del Proyecto Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Situaciones de fracaso • Planificación y presupuesto demasiado optimista. • Gestión de riesgos poco profesional. • Dificultades de planificación y presupuesto. • Punto 1: revisión de contrato. • Puntos 2 y 3: control de gestión de calidad. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Definición • El control de progreso se centra en los aspectos gerenciales del proyecto –planificación, recursos humanos, etc.- • Su importancia queda patente cuando NO ESTÁ. • Detección temprana de eventos irregulares. • Estándares: • ISO 9000-3 (Ciclo de Vida General) • IEEE/EIA Std. 12207 (Ciclo de Vida General) • IEEE Std. 1058 • IEEE Std. 1490 Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Componentes • Control de actividades de gestión de riesgos. • Control de planificación. • Control de recursos. • Control de presupuesto. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Control de Actividades de Gestión de Riesgos • IEEE 2001 • Control de los riesgos que vimos anteriormente. • Periódicamente, estado de los elementos de riesgo. • P.e. en el Proceso Unificado, la lista de riesgos se evalúa en cada iteración. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Control de Planificación • Hitos que permiten monitorizar la planificación • Identificación de retrasos en la finalización de actividades planificadas. • Centrado en retrasos de actividades críticas: • Ruta Crítica: conjunto de actividades cuyo retraso implica un retraso global. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Control de Recursos • Informes sobre la utilización de recursos • En contraposición a planificación de recursos • Permite medir desviaciones. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Control de Presupuesto • Elementos presupuestados: • Recursos humanos • Elementos de desarrollo y pruebas • Compra de SW COTS • Compra de HW • Pago a subcontratas Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Métricas de Calidad de SW“No puedes controlar lo que no puedes medir”Tom DeMarco (1982) Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Tipos de Métricas • De Proceso: relacionadas con el proceso de desarrollo de sw • De Producto: relacionadas con el mantenimiento de sw • La mayoría de las métricas utilizan: • KLOC (miles de líneas de código) • Puntos de función Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
1. Métricas de Proceso • Métricas de Calidad • Densidad de errores • Severidad de errores • Efectividad en la eliminación de errores • Métricas de Planificación • Métricas de Productividad Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Métricas de Calidad Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
1.1. Densidad de Errores (I) • Utiliza los parámetros básicos: • Number of Code Errors (NCE) • Weighted Number of Code Errors (WCE) Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
1.1. Densidad de Errores (y II) • NCE: errores de código detectados en el código sw. • NDE: errores de código y diseño detectados en el proceso de desarrollo. • NFP: número de puntos de función. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
1.2. Severidad de Errores • Detección de situaciones de crecimiento de errores severos. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
1.3. Efectividad en la Eliminación de Errores • Efectividad del SQA en período de operación continuada. • NYF: número de fallos sw detectados durante un año de servicio de mantenimiento. • WYF: número ponderado de errores sw detectados durante un año de servicio de mantenimiento. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Métricas de Planificación Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Algunas métricas de planificación • MSOT: Hitos completados a tiempo • MS: número total de hitos • TCDAM: Número total de retrasos de término para todos los hitos. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Métricas de Productividad Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Algunas métricas de productividad • DevH: horas totales invertidas en desarrollo del sistema sw • ReKLOC: miles de líneas de código reutilizadas. • ReDoc: número de páginas de documentación reutilizadas. • NDoc: número de páginas de documentación. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
2. Métricas de Producto • Tipos de servicio al cliente: • Servicios de Atención al Cliente • Servicios de Mantenimiento Correctivo Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Métricas de Calidad de Help Desk Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
2.1. Densidad de llamadas • NHYC: número de llamadas durante un año de servicio. • KLMC: miles de líneas de código sw mantenido. • WHYC: llamadas ponderadas recibidas durante un año de servicio. • NMFP: número de puntos de función que hay que mantener. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
2.2. Severidad de llamadas • NHYC: número de llamadas durante un año de servicio. • WHYC: llamadas ponderadas recibidas durante un año de servicio. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Métricas de Calidad de Mantenimiento Correctivo Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
2.3. Densidad de Fallos del Sistema SW • NYF: número de fallos sw detectados durante un año de servicio de mantenimiento. • WYF: número ponderado… • KLMC: miles de líneas de código mantenido. • NMFP: número de puntos de función a ser mantenidos. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
2.4. Disponibilidad del sistema SW • NYSerH: número de horas en servicio del sistema durante 1 año. • NYFH: número de horas en que al menos una función no está disponible durante un año. • NYVitFH: número de horas en que al menos una función vital no está disponible durante un año. • NYFTH: número de horas de fallo general del sistema durante un año. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Comparativa de industrias SW Japonesa y Norteamericana Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Métricas Utilizadas • Cusumano (1991) comparó las industrias con las siguientes métricas: • Productividad media (KNLOC/WorkY) • Densidad de fallos (NYF/KNLOC) • Reutilización de código (ReKNLOC/KNLOC) • , donde: • KNLOC: miles de líneas de código no comentadas • WorkY: hombres/año en el desarrollo de sw. • ReKNLOC: miles de líneas de código reutilizadas. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Comparativa Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
¿Qué factores afectan a todas estas medidas de calidad de software? Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Puntos de Función Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Usabilidad • Grado en el que el producto es práctico y fácil de utilizar. • Esta característica debe subdividirse en atributos más fundamentales para que sea posible algún tipo de medición; algunos a considerar pueden ser • nivel requerido: medido en años de experiencia con aplicaciones similares • aprendizaje: medido en horas de adiestramiento requeridas antes de la utilización independiente • capacidad de manipulación: medida en velocidad de trabajo después del adiestramiento y/o errores cometidos a velocidad normal de trabajo. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Mantenibilidad • Facilidad de comprender, corregir, adaptar y mejorar el software. • Existen tres tipos de mantenimiento: • mantenimiento correctivo: corregir errores • mantenimiento adaptivo: modificar el software de acuerdo con el entorno • mantenimiento perfectivo: añadir nueva funcionalidad • Medida más común: MTTR (Mean Time To Repair) Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Defectos • Anomalía en la especificación, diseño o implementación de un producto. • Una mejora no es un defecto. • Se entiende por mejora un cambio que no hubiera sido detectado, o, en caso afirmativo, no hubiera sido corregido. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Puntos de Función • Medición de la aplicación desde el punto de vista del usuario, dejando aparte los detalles de codificación. • Totalmente independiente de las consideraciones de lenguaje. • Evalúan con fidelidad: • valor comercial de un sistema para un usuario • tamaño del proyecto, coste y tiempo de desarrollo • calidad y productividad del programador • esfuerzo de adaptación • posibilidad de desarrollo propio • Puntos de Función de Albrecht. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Funcionamiento • Interacción analista-usuario • Identificación de funciones disponibles para el usuario, organizadas en cinco grupos: • Salidas • Consultas • Entradas • Ficheros • Interfaces • Clasificación y ponderación de cada función por su nivel de complejidad (simple, media, compleja) • Ajuste de acuerdo a las características del entorno Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Ajuste Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Salidas Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Entradas Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Consultas Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Ficheros Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Interfaces Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
COCOMO Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
COCOMO • Constructive Cost Model • Creado por Barry Boehm • Jerarquía de modelos de estimación de costes software. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Fórmulas básicas (I) • Esfuerzo = C1 * EAF(SIZE)P1 • C1: constante • SIZE: número de miles de líneas de código fuente • P1: constante • EAF: productorio de parámetros de caracterízación de proyectos Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
Fórmulas básicas (y II) • Tiempo = C2 * (Esfuerzo)P2 • C2: constante • P2: constante • Las constantes están determinadas por el tipo de proyecto: • Orgánico: fácil, “de casa” • Semiencajado • Empotrado (embedded): complejo. Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo