GestiónCalidadSW - Universidad Antonio de Nebrija

Download Report

Transcript GestiónCalidadSW - Universidad Antonio de Nebrija

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
2
Introducción
1. Control de progreso del proyecto
–
–
–
Utilización de recursos
Planificación
Actividades de Gestión de Riesgos
2. 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
3
Control de Progreso del Proyecto
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
4
Situaciones de fracaso
1. Planificación y presupuesto demasiado
optimista.
2. Gestión de riesgos poco profesional.
3. 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
5
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
6
Componentes
1. Control de actividades de gestión de
riesgos.
2. Control de planificación.
3. Control de recursos.
4. Control de presupuesto.
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
7
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
8
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
9
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
10
Control de Presupuesto
•
Elementos presupuestados:
1.
2.
3.
4.
5.
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
11
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
12
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
13
1. Métricas de Proceso
1. Métricas de Calidad
1. Densidad de errores
2. Severidad de errores
3. Efectividad en la eliminación de errores
2. Métricas de Planificación
3. Métricas de Productividad
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
14
Métricas de Calidad
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
15
1.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
(D=b*c)
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
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
16
1.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.
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
17
1.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
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
18
1.3. Efectividad en la Eliminación de Errores
• Efectividad del SQA en período de operación
continuada.
Código
Nombre
DERE
Efectividad en Eliminación de Errores de
Desarrollo
NDE / (NDE + NYF)
Efectividad en Eliminación de Errores
Ponderados de Desarrollo
NDE / (WDE + WYF)
DWERE
Fórmula
• 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
19
Métricas de Planificación
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
20
Algunas 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.
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
21
Métricas de Productividad
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
22
Algunas métricas de productividad
Código
Nombre
DevP
Productividad de Desarrollo
DevH / KLOC
FDevP
Punto de Función de
Productividad de Desarrollo
DevH / NFP
Reutilización de código
ReKLOC / KLOC
Reutilización de
documentación
ReDoc / NDoc
CRe
DocRe
Fórmula
• 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
23
2. Métricas de Producto
•
Tipos de servicio al cliente:
1. Servicios de Atención al Cliente
2. Servicios de Mantenimiento Correctivo
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
24
Métricas de Calidad de Help Desk
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
25
2.1. Densidad de llamadas
Código
HDD
Nombre
Fórmula
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.
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
26
2.2. Severidad de llamadas
Código
ASHC
Nombre
Severidad Media de llamadas (HD)
Fórmula
WHYC / NHYC
• 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
27
Métricas de Calidad de
Mantenimiento Correctivo
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
28
2.3. Densidad de Fallos del Sistema SW
Código
SSFD
Nombre
Fórmula
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.
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
29
2.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.
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
30
Comparativa de industrias SW
Japonesa y Norteamericana
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
31
Métricas Utilizadas
•
Cusumano (1991) comparó las industrias con
las siguientes métricas:
1.
2.
3.
•
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
32
Comparativa
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
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
33
¿Qué factores afectan a todas estas medidas de
calidad de software?
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
34
Puntos de Función
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
35
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
36
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
37
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
38
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
39
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
40
Ajuste
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
41
Salidas
1-5 ítems de datos
referenciados
6-19 ítems de datos
referenciados
20 o más items
Simple (4)
Simple (4)
Medio (5)
2 ó 3 ficheros referenciados Simple (4)
Medio (5)
Complejo (7)
4 o más ficheros
referenciados
Complejo (7)
Complejo (7)
0 ó 1 fichero referenciado
Medio (5)
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
42
Entradas
1-4 ítems de datos
referenciados
5-15 ítems de datos
referenciados
16 o más ítems
0 ó 1 fichero
referenciado
Simple (3)
Simple (3)
Medio (4)
2 ficheros
referenciados
Simple (3)
Medio (4)
Complejo (6)
3 o más ficheros
referenciados
Medio (4)
Complejo (6)
Complejo (6)
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
43
Consultas
SALIDA
1-5 ítems de datos
referenciados
6-19 ítems de datos
referenciados
20 o más ítems
0 o 1 fichero
referenciado
Simple (4)
Simple (4)
Medio (5)
2 o 3 ficheros
referenciados
Simple (4)
Medio (5)
Complejo (7)
4 o más ficheros
referenciados
Medio (5)
Complejo (7)
Complejo (7)
ENTRADA
1-4 ítems de datos
referenciados
5-15 ítems de datos
referenciados
16 o más ítems
0 o 1 fichero
referenciado
Simple (3)
Simple (3)
Medio (4)
2 o 3 ficheros
referenciados
Simple (3)
Medio (4)
Complejo (6)
3 o más ficheros
referenciados
Medio (4)
Complejo (6)
Complejo (6)
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
44
Ficheros
1-19 ítems de datos
referenciados
20-50 ítems de datos
referenciados
51 o más ítems
1 formato/relación
de registro lógico
Simple (7)
Simple (7)
Medio (10)
2-5
formatos/relaciones
de registro lógico
Simple (7)
Medio (10)
Complejo (15)
6 o más
formatos/relaciones
de registro lógico
Medio (10)
Complejo (15)
Complejo (15)
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
45
Interfaces
Utilización del fichero:
En esta aplicación A
En las otras aplicaciones
Recibido de B
Sólo interfaz (sin actualizaciones)
Ambos fichero e interfaz
Compartido con B
Ambos fichero e interfaz
Ambos fichero (si se mantiene) e
interfaz
Enviado a B
Ambos fichero e interfaz
Sólo interfaz (sin actualizaciones)
1-19 ítems de datos
referenciados
20-50 ítems de datos
referenciados
51 o más ítems
1 formato/relación
de registro lógico
Simple (5)
Simple (5)
Medio (7)
2-5
formatos/relaciones
de registro lógico
Simple (5)
Medio (7)
Complejo (10)
6 o más
formatos/relaciones
de registro lógico
Medio (7)
Complejo (10)
Complejo (10)
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
46
COCOMO
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
47
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
48
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
49
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
50
Relación de constantes
Esfuerzo
Básico
Intermedio
Modo
C1
P1
C1
P1
Orgánico
2.4
1.05
3.2
1.05
Semiencajado
3.0
1.12
3.0
1.12
Empotrado
3.6
1.2
2.8
1.2
Modo
C2
P2
Orgánico
2.5
0.38
Semiencajado
2.5
0.35
Empotrado
2.5
0.32
Tiempo
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
51
Atributos 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
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
52
Atributos del producto
• RELY: garantía de funcionamiento
requerida al software
• DATA: tamaño de la base de datos
• CPLX: complejidad del producto
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
53
Atributos 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
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
54
Atributos 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
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
55
Atributos del proyecto
• MODP: prácticas de programación
modernas
• TOOL: utilización de herramientas
software
• SCED: plan de desarrollo requerido
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
56
COCOMO II (I)
• 1995-97, por el USC Center for Software
Engineering
• Enfocado para grandes proyectos
• Provee “estimaciones de rango”, en lugar de
“estimaciones puntuales”.
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
57
COCOMO 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.
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
58
Bibliografía
• Software Project Management. A
Unified Framework. W. Royce. AddisonWesley.
• http://www.sc.ehu.es/jiwdocoj/mmis/coc
omo.htm (de la asignatura de Métricas y
Modelos en la Ingeniería de Software de
la Universidad del País Vasco)
Calidad de Software - 8. Gestión de
Calidad de Software - Justo Hidalgo
59