Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Garantía de Calidad
1
Tema 3. Garantía de Calidad
2
Tema 3. Garantía de Calidad
1. Concepto de Calidad del SW
Proceso de desarrollo
Software
D1 D2 D3 D4 D5
Proceso de Gestión de
Calidad
5
Tema 3. Garantía de Calidad
Manual de Calidad
Estándares
Procedimientos
6
Tema 3. Garantía de Calidad
1. Concepto de Calidad del SW
Gestión de la Calidad
Cuando un proyecto está definiéndose:
El gestor del proyecto identifica los factores de calidad
que son importantes.
Extrae del manual de calidad aquellos estándares y
procedimientos que son necesarios para asegurar que el
producto a desarrollar tendrá en cuenta dichos factores.
Estos factores quedan reflejados en el plan de calidad
del proyecto.
8
Tema 3. Garantía de Calidad
1. Concepto de Calidad del SW
Gestión de la Calidad
El plan de calidad contendrá controles de calidad que
comprueben que los factores están presentes en los
productos.
Control de calidad ≈ evidencias documentales
Ejemplos:
9
Tema 3. Garantía de Calidad
NO SI
Mejorar
Mejorarproceso
proceso Calidad
CalidadOK
OK Estandarizar
EstandarizarProceso
Proceso
3. Planificación de la Calidad
20
Tema 3. Garantía de Calidad
4. Control de Calidad del SW
Chequear el proceso de desarrollo para asegurar que los
procedimientos y estándares se cumplen
Dos aproximaciones:
Revisiones de calidad
Software de Evaluación y Medida Automatizado
Revisiones: filtro para el proceso de ingeniería del software.
Se aplican en varios momentos del desarrollo del software.
Corrigen errores del análisis, diseño y codificación
Ante el hecho de que se producen errores, es bueno que otras
personas revisen el trabajo
Se trata de aprovechar la diversidad para: señalar necesidades,
confirmar partes del producto, conseguir uniformidad
Existen muchos tipos de revisiones:
Reunión al lado de la máquina de café.
Presentación formal de un diseño de software.
Revisiones técnicas formales(RTF)
21
Tema 3. Garantía de Calidad
25
Tema 3. Garantía de Calidad
5. Factores de calidad.
Desde un punto de vista más formal, podemos decir que un
producto software es de calidad si cumple o tiene algunos o todos
de los siguientes factores de calidad:
Corrección: cumple la especificación de requisitos.
Mantenibilidad: facilidad para cambiar el software.
Portabilidad: esfuerzo para trasladar el software a otra
plataforma.
‘Testabilidad’: facilidad para probar que el SW es correcto.
Facilidad de uso: esfuerzo para aprender, usar e interrumpir
un sistema en marcha.
Confiabilidad: capacidad para continuar el trabajo aunque
haya interrupciones. (sistemas seguros)
Eficiencia: recursos que se necesita para la aplicación.
Integridad: datos y sistemas inaccesible por personas no
autorizadas.
Reusabilidad: facilidad para reutilizar cosas en otros
proyectos.
26 Interoperabilidad: habilidad para operar con otros sistemas.
Tema 3. Garantía de Calidad
5. Factores de calidad
Factores de calidad de McCall
Facilidad de mantenimiento ¿Puedo arreglarlo? Portabilidad ¿Podré usarlo?
Flexibilidad ¿Puedo cambiarlo? Reusabilidad ¿Podré reusar algo de SW?
Facilidad de prueba ¿Puedo probarlo? Interoperabilidad ¿Podré hacerlo interactuar con otro?
Revisión de Transición de
producto producto
Operaciones de
producto
Corrección ¿Hace lo que quiero?
Fiabilidad ¿Lo hace de forma fiable todo el tiempo?
Eficiencia ¿Se ejecutará en mi hardware lo mejor que pueda?
Integridad ¿Es seguro?
Facilidad de uso ¿Puedo ejecutarlo?
Otros ejemplos:
Hewlett-Packard se centra en FURPS (Funcionality, usability,
reliability, performance and serviceability).
IBM monitoriza el nivel de satisfacción CUPRIMDSO. (capability,
usability, performance, reliability, installability, maintainability,
27 documentation/information, service, and overall)
Tema 3. Garantía de Calidad
6. Métricas de Software
La medición es crucial en el progreso de cualquier ciencia.
La afirmación “cuanto más rigurosas sean las primeras fases
de desarrollo mejor calidad se obtendrá al final”, ¿cómo se
puede confirmar?.
Teoría Concepto
Mundo
abstracto Proposición Definición
Mundo
Definición
empírico Hipótesis
operacional
Medida en el mundo
Análisis de datos
real
Los bloques de construcción de una teoría son conceptos y
definiciones.
Una definición operacional detalla las métricas y procedimientos a
usar para obtener datos.
28
Tema 3. Garantía de Calidad
6. Métricas de Software
Niveles de medición
Antes que nada necesitamos considerar la escala de medida.
Escala nominal (nominal scale):
Clasificación en categorias dependiendo de algún atributo.
Ej: Clasificar productos software en función del proceso de
desarrollo utilizado: cascada, espiral iterativo, OO y otros.
Se requiere exhaustividad conjunta y exclusión.
No existen relaciones de orden.
Escala ordinal (ordinal scale):
Operaciones de medida en las que los sujetos pueden
compararse en orden.
Ej: Clasificar los proyectos de software dependiendo de su
rigor: cumplimiento total, cumplimiento parcial y sin
cumplimiento.
No hay información acerca de la magnitud de la diferencia
entre elementos.
En ocasiones, en el mundo real se asume que las distancias
son iguales y se permiten aplicar operaciones como la media
29 (ej. escalas de cinco, siete o diez puntos de Likert).
Tema 3. Garantía de Calidad
6. Métricas de Software
Niveles de medición
Escalas de intervalo y proporción (ratio):
Una escala de intervalo puede indicar las diferencias exactas entre los
puntos de medida.
Permite aplicar operaciones de suma o resta.
Ej: si el defectos del producto A son 5 defectos por KLOC y el B 3.5
por KLOC, podremos decir que el nivel de defectos de A es 1.5
defectos por KLOC mayor que el de B.
Cuando se puede localizar un cero absoluto o no arbitrario en la
escala de intervalo, se convierte en una escala de ratio.
El ratio está en el nivel superior de las medidas y se le pueden aplicar
todas las operaciones.
Ej: la medición de la temperatura: si la diferencia entre la temperatura
media de invierno (5) y verano (20) son 15 grados, podríamos decir
también que la temperatura de verano es cuatro veces más cálida que
la de invierno.
Excepto para ciertos ejemplos casi todas las medidas de intervalo lo
son de ratio.
Una medida de más alto nivel siempre puede convertirse a una de
menor (cálida, templada, fría).
30
Tema 3. Garantía de Calidad
6. Métricas de Software
Medidas básicas
Ratio:
Resulta de dividir una cantidad entre otra. El numerador y
denominador son de poblaciones distintas y mutuamente exclusivas.
Ej: el ratio testeadores/desarrolladores puede variar entre 1:1 y 1:10.
Proporción:
Se diferencia del ratio en que el numerador es una parte del
denominador.
p=a/(a+b)
Más apropiado para grupos de categorias.
Cuando las medidas no son en enteros se denomina fracción.
Porcentaje:
Una proporción o fracción expresada en términos de cientos de
unidades. p=100p %.
Los errores de requisitos fueron el 15% del total, los de diseño el 25%,
los de codificación el 50% y otros errores el 10%.
El proyecto consiste en 8 KLOC. Durante su desarrollo se detectaron
y corrigieron 200 defectos, dando un ratio de 25 defectos por KLOC.
De los 200 defectos, el 15% fueron de requisitos, el 25% de diseño, el
50% de codificación y otros errores el 10%.
31
Tema 3. Garantía de Calidad
6. Métricas de Software
Medidas básicas
Porcentaje (cont.):
El porcentaje debe usarse únicamente con un número alto de
casos.
− Dependiendo del número de categorías, nunca menor de 30.
− Se deben usar valores absolutos.
Tasa (rate):
Asociado con el dinamismo (cambio) del fenómeno de interés.
Generalmente puede definirse como una medida del cambio
de una cantidad y por unidad de otra cantidad x.
Ej: tasa de nacimientos en demografía:
(Nacimientos/Población)*K.
Ej: ratio de defectos=(Nº de defectos/oportunidades de
error)*K.
32
Tema 3. Garantía de Calidad
6. Métricas de Software
Medidas básicas
Seis sigma:
Introducida por Motorola a finales de los 80: 1er. premio nacional de
calidad (MBNQA).
Representa un nivel riguroso de calidad.
Tasa de error específica: 3.4 partes defectuosas por millón (ppm)
Concretamente, representa el área que queda bajo una distribución
normal en el intervalo [-6σ,+6σ] (suponiendo media cero).
6. Métricas de Software
Medidas básicas
Seis sigma (cont.):
En la realidad, debido a variaciones en la ejecución de un
proceso existe un desplazamiento.
El desplazamiento máximo es 1.5 σ (Harry, 1989).
La definición estandar
para seis sigma es 3.4
ppm
34
Tema 3. Garantía de Calidad
6. Métricas de Software
Fiabilidad y validez
Fiabilidad: consistencia entre un número de medidas hechas
usando el mismo método de medida al mismo sujeto.
Una definición operacional vaga puede provocar una fiabilidad
baja.
Índice de variación (IV)
IV = Desviación estándar / media
Validez: cuando la medida o métrica mide realmente lo que se
pretende.
Cuando la medida es simple se convierte en precisión.
Se definen varios tipos de validez:
− De construcción: validez de la medida operacional que representa
la medida teórica
− De criterio: validez predictiva
− De contenido: si una medida cubre el rango posibilidades del
concepto medido
35
Tema 3. Garantía de Calidad
6. Métricas de Software
Errores de medición
Dos tipos de errores:
Sistemáticos (validez).
Aleatorios (fiabilidad).
En general:
M=T+s+e
M es el resultado
T es el valor verdadero
s es el error sistemático
e es el error aleatorio
Si el error es aleatorio, se puede asumir que la media es cero: E(e)=0.
E(M)= E(T) + E(e)
= E(T) + 0
= E(T) + 0
=T
Lo que se debe asegurar es la fiabilidad:
Método de reprueba: volver a realizar la misma medida un tiempo
después y calcular la correlación entre la primera y segunda medida.
36
Tema 3. Garantía de Calidad
6. Métricas de Software
Las métricas de software pueden clasificarse en tres categorías:
Métricas de producto.
− Describen características del producto.
Métricas de proceso.
− Usadas para mejorar el proceso software de desarrollo y
mantenimiento.
Métricas de proyecto.
− Describen las características del proyecto y su ejecución.
Las métricas de calidad son un subconjunto de las métricas de
software, que se enfocan a medir los aspectos de calidad.
Las métricas de calidad del software pueden dividirse también en:
Métricas del producto final (end-product).
Métricas de desarrollo (in-process).
La esencia de la ingeniería de calidad es investigar la relación
entre las métricas in-process, de proyecto y del producto final.
Calidad software:
Intrínseca del producto
37 Satisfacción del cliente
Tema 3. Garantía de Calidad
6. Métricas de Software
Métricas de Calidad del Producto
Calidad software:
Intrínseca del producto
Satisfacción del cliente
Calidad de producto:
Tiempo medio de fallo
Densidad media de defectos
Problemas del cliente
Satisfacción del cliente
38
Tema 3. Garantía de Calidad
6. Métricas de Software
Mét. de Calidad del Producto: Densidad de Defectos
6. Métricas de Software
Mét. de Calidad del Producto: Densidad de Defectos
6. Métricas de Software
Mét. de Calidad del Producto: Problemas del cliente
Defectos/KLOC PUM
Numerador Defectos válidos y únicos Todos los problemas del
en el producto cliente (no defectos y
repetidos)
Denominador Tamaño del producto Uso del producto por el
cliente
Perspectiva de medida Productor (Organización Cliente
de desarrollo)
Alcance Calidad intrínseca Calidad intrinsica más
otros factores
% de clientes satisfechos.
% de clientes insatisfechos (insatisfechos y muy insatisfechos).
% de clientes no satisfechos (neutrales, insatisfechos y muy
insatisfechos).
También aproximaciones ponderadas: Net satisfaction index (NSI)
Muy satisfecho. 100%
Satisfecho. 75%
Neutro. 50%
Insatisfecho. 25%
Muy insatisfecho. 0%
43
Tema 3. Garantía de Calidad
6. Métricas de Software
Mét. de calidad del producto: Puntos función
Entradas externas 3 6
Salidas externas 4 7
Archivos lógicos internos 7 15
Archivos externos 5 10
Consultas externas 3 6
44
Tema 3. Garantía de Calidad
6. Métricas de Software
Mét. de calidad del producto: Puntos función
6. Métricas de Software
Mét. de calidad del producto: Puntos función
6. Métricas de Software
Mét. de Cal. Desarrollo: Patrón de llegada de errores
49
Tema 3. Garantía de Calidad
6. Métricas de Software
Mét. Cal. Desarrollo: Efectividad de la eliminación de errores
50
Tema 3. Garantía de Calidad
6. Métricas de Software
Métricas de mantenimiento: Retardo de las correcciones
Si BMI:
es mayor que 100, el retardo se reduce.
si es menor, el retardo aumenta.
Se debe examinar el gráfico de evolución del BMI junto con los
gráficos de evolución de llegada de defectos, errores cerrados y
número de problemas en el retardo.
51
Tema 3. Garantía de Calidad
6. Métricas de Software
Métricas de mantenimiento: Retardo de las correcciones
52
Tema 3. Garantía de Calidad
6. Métricas de Software
Métricas de mantenimiento:Tiempo de respuesta
53
Tema 3. Garantía de Calidad
6. Métricas de Software
Métricas de mantenimiento: Porc. de correcciones delictivas
54
Tema 3. Garantía de Calidad
6. Métricas de Software
Métricas de mantenimiento: Calidad de las correcciones
6. Métricas de Software
Ejemplo de programa de métricas
Programa de Motorola.
Sigue el paradigma Objetivo/Pregunta/Métrica de Basili y Weiss
(1984).
Identifica objetivos.
Se formulan preguntas en términos cuantificables.
Se establecen métricas.
Objetivos y áreas de medición identificadas en el Motorola Quality
Policy for Software Development (QPSD):
Objetivos.
− Mejorar la planificación del proyecto.
− Incrementar la contención de defectos.
− Incrementar la fiabilidad del software.
− Decrementar la densidad de errores.
− Mejorar la atención al cliente
− Reducir el coste de la no conformidad.
56 − Incrementar la productividad del software.
Tema 3. Garantía de Calidad
6. Métricas de Software
Ejemplo de programa de métricas
Áreas de medición.
− Defectos distribuidos y distribuidos por tamaño.
− Efectividad total a lo largo del proceso.
− Adhesión a la planificación.
− Precisión de la estimación.
− Defectos distribuidos y distribuidos por tamaño.
− Efectividad total a lo largo del proceso.
− Adhesión a la planificación.
− Precisión de la estimación.
Para cada objetivo se realizan unas preguntas y se
formulan las métricas correspondientes.
57
Tema 3. Garantía de Calidad
6. Métricas de Software
Ejemplo de programa de métricas
Objetivo 1: Mejorar la Objetivo 2: Incrementar la contención de
planificación del proyecto. defectos.
Pregunta 2.1: ¿Cuál es la efectividad
Pregunta 1.1: ¿Cuál fue la conocida del proceso de detección de
precisión de la estimación defectos anterior a la distribución?
del valor actual de la − Métrica 2.1: Total Defect Containment
planificación del proyecto? Effectiveness (TDCE)
−
Número de defectos antes de la distribución
Métrica 1.1: Schedule TDCE =
Número de defectos antes +
Estimation Accuracy (SEA)
Número de defectos después de la distribución
Duración actual del proyecto
SEA = Pregunta 2.2: ¿Cuál es la efectividad
Duración estimada del proyecto
actual de la contención de defectos
Pregunta 1.2: ¿Cuál fue la durante cada fase de construcción?
− Métrica 2.2: Phase Containment
precisión de la estimación Effectiveness for phase i (PCEi)
del valor actual del esfuerzo Número de errores de la fase i
PCEi =
del proyecto? Número de errores de la fase i +
− Métrica 1.2: Effort Número de defectos de la fase i
Estimation Accuracy (EEA) − Error = Problema durante la revisón de
la fase.
Esfuerzo actual del proyecto − Defecto = Problema encontrado durante
EEA =
Esfuerzo estimado del proyecto fases posteriores.
58
Tema 3. Garantía de Calidad
6. Métricas de Software
Ejemplo de programa de métricas
Objetivo 3. Incrementar fiabilidad − Métrica 4.1b: In-Process
SW Defects (IPD)
Número de defectos in - process causados
Pregunta 3.1: ¿Cuál es la
por desarrollo incremental
tasa de fallos software y IPD =
Tamaño del fuente equivalente en ensamblador
cómo cambia a lo largo del
tiempo? Pregunta 4.2: ¿Cuál es el
Métrica 3.1: Fault Rate (FR) contenido de defectos
Número de fallos
FR = conocidos del software
Tiempo de ejecución
distribuido a clientes?
Objetivo 4. Decrementar la
− Métrica 4.2a: Total Released
densidad de errores.
Defects total (TRD total)
Pregunta 4.1: ¿Cuál es el
Nº de defectos distribuid os
número de fallos in-process, TRD total =
Tamaño equivalent e ensamblado r
y cómo se compara con los
defectos in-process? − Métrica 4.2b: Total Released
Defects delta (TRD delta)
− Métrica 4.1a: In-Process
Faults (IPF) Número de defectos distribuid os
Número de fallos in - process causados causados por desarrollo incrmental
TRD delta =
por desarrollo incremental Tamaño equivalente en ensamblador
IPF =
59 Tamaño del fuente equivalente en ensamblador
Tema 3. Garantía de Calidad
6. Métricas de Software
Ejemplo de programa de métricas
Pregunta 4.3: ¿Cuál es − Métrica 5.1: New Open
contenido de defectos Problems (NOP)
encontrado por el cliente NOP = Número total de problemas después de la
actualmente conocido? distribuci ón abiertos durante el mes
− Métrica 4.3a: Customer-
Found Defects total (CFD Pregunta 5.2: ¿Cuál es el
total) número de problemas
Número de defectos encontrado s por el cliente abiertos al final mes?
CFD total =
Tamaño equivalent e en ensamblado r − Métrica 5.2: Total Open
− Métrica 4.3b: Customer- Problems (TOP)
Found Defects delta (CFD TOP = Número total de problemasdespués de la distribución
delta) que permanecenabiertos al final del mes
Número de defectos encontrados por el cliente
CFD delta =
causados por desarrollo incremental Pregunta 5.3: ¿Cuál es la
Tamaño equivalente en ensamblador
edad media de los problemas
Objetivo 5. Mejorar la atención al abiertos al final del mes?
cliente
− Métrica 5.3: Mean Age of
Pregunta 5.1: ¿Cuál es el Open Problems (AOP)
número de nuevos problemas Tiempo total de los problemas que
abiertos durante el mes? permanece abiertos al final de mes
AOP =
Número total de problemas abiertos al final
60 del mes después de la distribuci ón
Tema 3. Garantía de Calidad
6. Métricas de Software
Ejemplo de programa de métricas
Pregunta 5.4: ¿Cuál es la Objetivo 7. Incrementar la
edad media de los productividad del software.
problemas cerrados? Pregunta 7.1: ¿Cuál fue la
− Métrica 5.4: Mean Age of productividad de
Closed Problems (ACP) desarrollo de software
Tiempo total de los problemas después de entrega (basado en código
cerrados durante el mes en que fueron abiertos
ACP = fuente)?
Número total de problemas abiertos después de
la distribuci ón cerrados durante el mes Métrica 7.1a: Software
Objetivo 6. Reducir el coste de Productivity total (SP total)
la no conformidad. SP total =
Código fuente total equivalente en ensamblador
Esfuerzo de desarrollo de software
Pregunta 6.1: ¿Cuál fue el
coste de corrección de Métrica 7.1b: Software
errores durante el més? Productivity delta (SP
− Métrica 6.1: Cost of delta)
Fixing Problems (CFP) Código fuente delta equivalente en ensamblador
SP delta =
CFP = Coste en dólares asociado a la corrección de problemas Esfuerzo de desarrollo de software
durante el mes después de la distribución
61