Title: LS3148 - Calidad de Software
18. Gestión de Calidad de Software
- LS3148 - Calidad de Software
- 3IM1
- Universidad Antonio de Nebrija
- Justo Hidalgo
2Contenidos
- 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
3Introducció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
- ...
4Control de Progreso del Proyecto
5Situaciones 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.
6Definició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
7Componentes
- Control de actividades de gestión de riesgos.
- Control de planificación.
- Control de recursos.
- Control de presupuesto.
8Control 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.
9Control 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.
10Control de Recursos
- Informes sobre la utilización de recursos
- En contraposición a planificación de recursos
- Permite medir desviaciones.
11Control de Presupuesto
- Elementos presupuestados
- Recursos humanos
- Elementos de desarrollo y pruebas
- Compra de SW COTS
- Compra de HW
- Pago a subcontratas
12Métricas de Calidad de SWNo puedes controlar lo
que no puedes medirTom DeMarco (1982)
13Tipos 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
141. 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
15Métricas de Calidad
161.1. Densidad de Errores (I)
- Utiliza los parámetros básicos
- Number of Code Errors (NCE)
- Weighted Number of Code Errors (WCE)
Severidad (a) NCE (b) Peso relativo (c) Error ponderado (Dbc)
Severidad baja (1) 42 1 42
Severidad media (3) 17 3 51
Severidad alta (9) 11 9 99
TOTAL 70 - 192
NCE 70 - -
WCE - - 192
171.1. Densidad de Errores (y II)
Código Nombre Fórmula
CED Densidad de Error de Código NCE / KLOC
DED Densidad de Error de Desarrollo NDE /KLOC
WCED Densidad de Error de Código Ponderado WCE / KLOC
WDED Densidad de Error de Desarrollo Ponderado WDE / KLOC
WCEF Errores de Código ponderado por punto de función WCE /NFP
WDEF Errores de Código de Desarrollo por punto de función WDE / NFP
- 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.
181.2. Severidad de Errores
- Detección de situaciones de crecimiento de
errores severos.
Código Nombre Fórmula
ASCE Severidad Media de Errores de Código WCE / NCE
ASDE Severidad Media de Errores de Desarrollo WDE / NDE
191.3. Efectividad en la Eliminación de Errores
- Efectividad del SQA en período de operación
continuada.
Código Nombre Fórmula
DERE Efectividad en Eliminación de Errores de Desarrollo NDE / (NDE NYF)
DWERE Efectividad en Eliminación de Errores Ponderados de Desarrollo NDE / (WDE WYF)
- 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.
20Métricas de Planificación
21Algunas métricas de planificación
Código Nombre Fórmula
TTO Observación de Planificación MSOT / MS
ADMC Retraso Medio en Término de Hito TCDAM / MS
- MSOT Hitos completados a tiempo
- MS número total de hitos
- TCDAM Número total de retrasos de término para
todos los hitos.
22Métricas de Productividad
23Algunas métricas de productividad
Código Nombre Fórmula
DevP Productividad de Desarrollo DevH / KLOC
FDevP Punto de Función de Productividad de Desarrollo DevH / NFP
CRe Reutilización de código ReKLOC / KLOC
DocRe Reutilización de documentación ReDoc / NDoc
- 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.
242. Métricas de Producto
- Tipos de servicio al cliente
- Servicios de Atención al Cliente
- Servicios de Mantenimiento Correctivo
25Métricas de Calidad de Help Desk
262.1. Densidad de llamadas
Código Nombre Fórmula
HDD Densidad de llamadas (HD) NHYC / KLMC
WHDD Densidad Ponderada de llamadas (HD) WHYC / KLMC
WHDF Llamadas ponderadas por punto de función WHYC / NMFP
- 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.
272.2. Severidad de llamadas
Código Nombre Fórmula
ASHC Severidad Media de llamadas (HD) WHYC / NHYC
- NHYC número de llamadas durante un año de
servicio. - WHYC llamadas ponderadas recibidas durante un
año de servicio.
28Métricas de Calidad de Mantenimiento Correctivo
292.3. Densidad de Fallos del Sistema SW
Código Nombre Fórmula
SSFD Densidad de Fallos del Sistema SW NYF / KLMC
WSSFD Densidad Ponderada de Fallos del Sistema SW WYF / KLMC
WSSFF Fallos ponderados del sistema sw por punto de función WYF / NMFP
- 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.
302.4. Disponibilidad del sistema SW
Código Nombre Fórmula
FA Disponibilidad total (NYSerH-NYFH)/NYSerH
VitA Disponibilidad vital (NYSerH-NYVitFH)/NYSerH
TUA Indisponibilidad total NYTFH/NYSerH
- 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.
31Comparativa de industrias SW Japonesa y
Norteamericana
32Mé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.
33Comparativa
Métricas E.E.U.U. Japón
Productividad media 7290 12447
Densidad de fallos 4.44 1.96
Reutilización de código 9.71 18.25
Número de compañías 20 11
34- Qué factores afectan a todas estas medidas de
calidad de software?
35Puntos de Función
36Usabilidad
- 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.
37Mantenibilidad
- 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)
38Defectos
- 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.
39Puntos 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.
40Funcionamiento
- 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
41Ajuste
42Salidas
43Entradas
44Consultas
45Ficheros
46Interfaces
47COCOMO
48COCOMO
- Constructive Cost Model
- Creado por Barry Boehm
- Jerarquía de modelos de estimación de costes
software.
49Fó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
50Fó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.
51Relación de constantes
52Atributos de Coste
- 15 atributos en 4 categorías
- atributos del producto
- atributos del ordenador
- atributos del personal
- atributos del proyecto
- Cada atributo se cuantifica en el entorno del
proyecto, siendo la escala entre - muy bajo
- bajo
- nominal
- alto
- muy alto
- extremadamente alto
53Atributos del producto
- RELY garantía de funcionamiento requerida al
software - DATA tamaño de la base de datos
- CPLX complejidad del producto
54Atributos del ordenador
- TIME restricción de tiempo de ejecución
- STOR restricción del almacenamiento principal
- VIRT volatilidad de la máquina virtual
- TURN tiempo de respuesta del ordenador
55Atributos del personal
- ACAP capacidad del analista
- AEXP experiencia en la aplicación
- PCAP capacidad del programador
- VEXP experiencia en máquina virtual
- LEXP experiencia en lenguaje de programación
56Atributos del proyecto
- MODP prácticas de programación modernas
- TOOL utilización de herramientas software
- SCED plan de desarrollo requerido
57COCOMO II (I)
- 1995-97, por el USC Center for Software
Engineering - Enfocado para grandes proyectos
- Provee estimaciones de rango, en lugar de
estimaciones puntuales.
58COCOMO II (y II)
- Existen tres modelos para estimación de costes
- Post-architecture estabilidad (lo que COCOMO
creía) - Esfuerzo 2.45 EAPP (Size)p,
- EAPP depende de 17 factores.
- Early-design model
- Esfuerzo 2.45 EARCH (Size)p,
- EARCH depende de 7 factores
- Prototyping
- Esfuerzo lineal.
59Bibliografía
- Software Project Management. A Unified Framework.
W. Royce. Addison-Wesley. - http//www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm (de
la asignatura de Métricas y Modelos en la
Ingeniería de Software de la Universidad del País
Vasco)