3. Calidad del producto
El producto debe ser analizado de diferentes puntos de vista:
Funcional
No-funcional
Pero la calidad puede ser influenciada por otros factores:
Políticos
Administrativos
Económicos
Legales
Y de los vendedores, ...
Podemos identificar tres temas a abordar:
Que factores de calidad se deben considerar?
Como evaluar los productos?
Como utilizar los factores de calidad para asegurar la calidad?
4. Como se evalúa en la calidad?
En muchas ocasiones se definen listas de criterios :
No estructuradas
Demasiado largas
No claramente medibles
No confiables
Quienes proveen estos criterios:
Fabricantes
Empresas consultoras
Terceras organizaciones (ej., INCOSE - WfMC)
5. ¿Que es un modelo de calidad del software?
Un modelo de calidad es:
“El conjunto de características y las relaciones entre
ellas que proveen la base para la especificación de
los requisitos de calidad y la evaluación de la
calidad.”
ISO/IEC 8402.
Los modelos de calidad permiten:
Definición estructurada de criterios de evaluación
Especificación de requisitos con relación a ellos
Descripción de componentes en un marco común
Definición de métricas y prioridades
6. Modelos de calidad: Algunas interrogantes
“El conjunto de características y las relaciones entre ellas que proveen
la base para la especificación de los requisitos de calidad y la
evaluación de la calidad.”
Que conjunto?
Que tipo de características? Como se estructuran?
Que tipo de relaciones?
Como debemos utilizar los modelos de calidad para especificar
requisitos?
Como debemos utilizar los modelos de calidad para describir los
componentes?
Además:
Como deben construirse?
Como podemos reutilizarlos?
7. Modelos de Calidad: Estructura
Todos los modelos de calidad comparten:
Un catalogo de factores de calidad (fijo?
desechable?)
Diferentes niveles de abstracción (Numero de capas?
jerarquía? grafo?)
Algunos autores recomiendan su descripción en forma
de un modelo conceptual que describa:
La forma del modelo
Propiedades de las métricas
Elementos medibles
Aspectos de formalización (definiciones)
8. Tipos de modelos de calidad
Modelo Fijo
• Reusable
• Rígido
A la Medida
• Desechable
• Flexible
Modelo Mixto
• Reusable
• Flexible
9. Tipos de modelos de calidad
Modelos fijos:
Existe un catalogo de partida del cual se elige un subset de
características de calidad
Pros: reutilizable, comparable, rápido de utilizar
Contras: inflexible
Modelos a la medida :
Determinación de factores de calidad basada en necesidades
del contexto
Pros, contras: Lo contrario del caso anterior
Modelos mixtos:
Un modelo de alto nivel que puede ser refinado
Pros, contras: balanceados
10. Modelos fijos
Aproximación típica: Jerarquía multi-nivel (con pocos niveles fijos)
Factores de alto nivel (-ilities)
Criterios mas concretos
Eventualmente metricas para medidas del software
Ejemplos
Modelo de McCall (1977):
11 factores de calidad (en 3 grupos), 23 criterios de calidad
(no incluye métricas)
Modelo de Boehm (1978):
6 factores de calidad (en 3 grupos), 12 criterios de calidad
(no incluye métricas)
Modelo FURPS (HP, 1987):
5 factores de calidad (Functionality, Usability, Reliability,
Performance, Supportability), 27 criterios (no incluye
metricas)
13. Modelos a la medida
Razonamiento es requerido para determinar el modelo de calidad:
Identificar objetivos a alcanzar
Hacer operativos estos objetivos
Ejemplos
Estándar IEEE 1061 (1998)
Define factores subfactores y métricas
No fija ninguna instancia particular o métrica
Goal-Question-Metric (GQM) (Basili y compañeros, 1992):
Objetivo: Nivel conceptual (Atributos abstractos)
Pregunta: Nivel operacional (Caracteriza el objeto a ser
medido)
Metrica: Nivel cuantitativo (Objetiva o subjetiva)
Puede ser utilizado en combinación con el estándar IEEE
1061
14. Modelos a la medida: GQM
QuestionQuestion
Metric MetricMetric MetricMetric Metric
Goal 1 Goal 2
Question QuestionQuestion
•Objetivo
•Propósito: mejorar Objeto: cambiar tiempo de proceso
•Objeto: Línea de tiempo de Punto de vista: Administradores
•Pregunta 1 •Cual es la velocidad de proceso requerida actualmente?
•Métricas
•1
•2
•3
•Tiempo promedio del ciclo
•Desviación estándar
•% de veces fuera del limite
•Pregunta 2 •Esta mejorando el rendimiento?
•Métricas
•1
•2
•(tiempo promedio de ciclo X 100) / tiempo promedio estimado
•Calificación subjetiva de los administradores
15. Modelo mixto: Gilb
Modelo de Gilb
Casi fijo:
4 dimensiones de calidad: capacidad de trabajo,
disponibilidad, adaptabilidad, usabilidad
4 atributos de recursos: tiempo, dinero, personas,
herramientas
Refinamiento del modelo:
Sigue 7 principios
Ej.: Principio de medición: “todos los atributos tiene y deben
ser medibles en la practica”
Plantillas para definición de atributos:
Escala de medida, Procedimiento de prueba, valores
posibles
20. El estándar ISO/IEC 9126: partes 2 y 3
Métricas en una forma GQM:
nombre, propósito, método de aplicación, formula, interpretación,
métrica, tipo de escala, tipo de medida, datos requeridos, audiencia
Parte 2: métricas externas; parte 3: métricas internas
Ejemplo: precisión computacional
Con cuanta frecuencia el usuario final encuentra resultados
incorrectos?
Registrar el numero de imprecisiones de acuerdo a las
especificaciones
X = A/T, A = No. de cómputos imprecisos encontrados por los
usuarios, T = tiempo de operación
X >= 0, Lo mas cercano a 0 es mejor
A = Conteo, T = Tiempo, X = Conteo / Tiempo
Datos requeridos: especificación de requisitos, reporte de pruebas
Audiencia objeto: desarrollador, usuario
21. El estándar ISO/IEC 9126 en la practica
El estándar es ambiguo en algunos puntos
Interpretación de las entidades de calidad:
Subcaracteristicas vs. atributos
Estructura de la jerarquía:
Multi-nivel
Solapamiento; la misma entidad?
Sobre las métricas:
Algunas propuestas en las partes 2,3 y 4 del estándar
Conexión con la teoría clásica de métricas
Que entidades de calidad son medibles
Que tipos de métricas se deben utilizar
22. Estándares de modelos de calidad: IEEE 1061
Modelo a la medida:
No fija ninguna característica de calidad
Modelo multinivel mas flexible
Versiones 1992 y 1998
Identifica claramente donde se aplican las métricas
Recomienda el uso de técnicas GQM para la
identificación de métricas
23. Estándares de modelos de calidad: IEEE 1661
Software Quality of System X
Direct Metric (S)
Quality Subfactor
Quality Factor
Direct Metric (S)
Quality Subfactor
Quality Factor
Direct Metric (S)
Quality Subfactor
Quality Factor
Metric Metric Metric
24. Catálogos de Atributos
Incose, Nplace, TEC, etc.
Performance
Engineering
Throughput
Latency
Capacity
Modes
Synthesis
Analisys
Demand
System
Observation Interval
Processing rate
Criticality
Utilization
Schedulable Utilization
Spare capacity
Response window
Precedence
Jitter
Criticality
Arrival pattern
Execution time
Type of resource
Software services
Resource allocation
Scheduling theory
Queuing theory
Formal methods
Concerns
Factors
Methods
27. Estructura y elementos constitutivos
ƒƒ ƒƒƒƒ ½½ aa
bb
cc aa
bb
cc aa
bb
cc aa
bb
ccaa
bb
cc aa
bb
cc aa
bb
cc aa
bb
cc ½½ƒƒ ½½
Características
Atributos
Subcaracteris-
ticas
Metricas
Capa 1
Capa n+j
Capa n+i
Capa n
Capa 2
............
Grupos de elementos
similares
Capa n+j+1
• Tipos de elementos
• Numero de elementos de cada tipo
• Numero de Capas
• Capas de cada tipo
28. Estructura y elementos constitutivos
ƒƒ ƒƒƒƒ ½½ aa
bb
cc aa
bb
cc aa
bb
cc aa
bb
ccaa
bb
cc aa
bb
cc aa
bb
cc aa
bb
cc ½½ƒƒ ½½
Características
Atributos
Subcaracteris-
ticas
Metricas
Capa 1
Capa n+j
Capa n+i
Capa n
Capa 2
............
Grupos de elementos
similares
Elementos Internos Elementos Externos
Capa n+j+1
29. Factores internos y externos
Algunos modelos hacen distinción de los factores internos y externos
Los internos tienen un efecto sobre los externos
Los externos ayudan a estimar el comportamiento de los internos
La falta de esta separación puede comprometer el uso de los modelos
En algunos casos muy critico:
Modelos proceso-producto ej. SQUID, Dromey.
Internal
quality
characteristic
Internal
quality
characteristic
Internal
quality
characteristic
Internal
quality
characteristic
Internal
quality
characteristic
Internal
quality
characteristic
Internal
quality
attribute
Internal
quality
attribute
External
quality
characteristic
External
quality
characteristic
External
quality
attribute
External
quality
attribute
External
quality
attribute
External
quality
characteristic
Link
30. Estructura y elementos constitutivos
ƒƒ ƒƒƒƒ ½½ aa
bb
cc aa
bb
cc aa
bb
cc aa
bb
ccaa
bb
cc aa
bb
cc aa
bb
cc aa
bb
cc ½½ƒƒ ½½
Características
Atributos
Subcaracteris-
ticas
Metricas
Capa 1
Capa n+j
Capa n+i
Capa n
Capa 2
............
Grupos de elementos
similares
Elementos Internos Elementos Externos
Capa n+j+1
31. Estructura y elementos constitutivos
ƒƒ ƒƒƒƒ ½½ aa
bb
cc aa
bb
cc aa
bb
cc aa
bb
ccaa
bb
cc aa
bb
cc aa
bb
cc aa
bb
cc ½½ƒƒ ½½
Características
Atributos
Subcaracteris-
ticas
Metricas
Capa 1
Capa n+j
Capa n+i
Capa n
Capa 2
............
Grupos de elementos
similares
Solapamiento
Elementos Internos Elementos Externos
Capa n+j+1
Subcaracteristicas
Transversales
32. Solapamiento de factores
Algunos factores son útiles para la evaluación de varias características
Existen modelos:
Con solapamiento McCall, Boehm
Sin solapamiento FURPS
Con solapamiento solo a algunos niveles 9126-1
Ejemplos:
Documentación técnica afecta a instalabilidad, facilidad de
aprendizaje
Capacidad de respaldo y restauración afecta a la recuperabilidad,
de los datos y del sistema
33. Estructura y elementos constitutivos
ƒƒ ƒƒƒƒ ½½ aa
bb
cc aa
bb
cc aa
bb
cc aa
bb
ccaa
bb
cc aa
bb
cc aa
bb
cc aa
bb
cc ½½ƒƒƒƒ ½½
(-)(+) (D)(+)
Características
Atributos
Subcaracteris-
ticas
Metricas
Capa 1
Capa n+j
Capa n+i
Capa n
Capa 2
............
Grupos de elementos
similares
Dependencia Solapamiento
Elementos Internos Elementos Externos
Capa n+j+1
Subcaracteristicas
Transversales
34. Interrelaciones entre factores de calidad
Algunos factores de calidad tiene relaciones con otros
Modelo de interdependencias de Perry
C
orrecteness
R
eliability
EfficiencyIntegrityU
sability
M
aintainability
Testability
Flexibility
Portability
R
eusability
Interoperability
Correcteness
Reliability −
Efficiency
Integrity •
Usability − − • −
Maintainability − − • −
Testability − − • − −
Flexibility − − • − − −
Portability • − −
Reusability • • • − − − −
Interoperability • • −
− Direct • Inverse blank Neutral
35. Interrelaciones entre factores de calidad
Estándar IEEE 1061-1992
Software
Quality Factors
Efficiency
FlexibilityIntegrity
Interoperability
M
aintainability
Portability
R
eliability
Survivability
C
orrecteness
R
eusability
VerifiabilityU
sability
Expandability
Efficiency
Flexibility X
Integrity X
Interoperability X O X
Maintainability X O
Portability X O
Reliability X O
Survivability X X X
Correcteness O
Reusability X X O O O X O
Verifiability X O O O O O
Usability X O O O O X
Expandability X X O X O
X means the factors conflict
O means the factors support one another
A blank space means there is not relationship
36. Relaciones mas complejas
Chung, Milopolous y otros modelo NFR:
MAKES (++): Provee suficiente soporte positivo; cuando un
factor es satisfecho el otro también lo es.
BREAKS (--): Provee suficiente soporte negativo; cuando un
factor se satisfecho, el relacionado es negado.
HELPS (+): Provee un soporte positivo de manera parcial;
cuando un factor es satisfecho el factor relacionado recibe un
soporte positivo parcial.
HURTS (-): Provee un soporte positivo de manera parcial;
cuando un factor es satisfecho el relacionado recibe un soporte
negativo parcial.
UNKNOWN (?): Un factor de calidad provee alguna contribución
a otro factor de calidad pero con un signo desconocido (positivo
o negativo) y extensión (parcial o suficiente).
37. Relaciones mas complejas
Escala de Chung:
Pero ojo:
Demasiadas dependencias pueden comprometer el la utilidad
del modelo
Hay que saber discriminar (articulo de Paul Grumbajer)
BREAK HURT UNKNOWN HELP MAKE
SOME +SOME -
(--) (-) (?) (++)(+)
38. Estructura y elementos constitutivos
ƒƒ ƒƒƒƒ ½½ aa
bb
cc aa
bb
cc aa
bb
cc aa
bb
ccaa
bb
cc aa
bb
cc aa
bb
cc aa
bb
cc ½½ƒƒƒƒ ½½
(-)(+) (D)(+)
Características
Atributos
Subcaracteris-
ticas
Metricas
Capa 1
Capa n+j
Capa n+i
Capa n
Capa 2
............
Grupos de elementos
similares
Dependencia Solapamiento
Elementos Internos Elementos Externos
Capa n+j+1
Subcaracteristicas
Transversales
39. Estructura y elementos constitutivos
ƒƒ ƒƒƒƒ ½½ aa
bb
cc aa
bb
cc aa
bb
cc aa
bb
ccaa
bb
cc aa
bb
cc aa
bb
cc aa
bb
cc ½½ƒƒƒƒ ½½
(-)(+) (D)(+)
Características
Atributos
Subcaracteris-
ticas
Metricas
ƒƒ
ƒƒ
Capa 1
Capa n+j
Capa n+i
Capa n
Capa 2
............
Grupos de elementos
similares
Dependencia Solapamiento
Elementos Internos Elementos Externos
Capa n+j+1
Subcaracteristicas
Transversales
40. Métricas
Útiles para:
Proveer la base para estimaciones
Realizar un seguimiento del avance
Determinar la complejidad
Ayudarnos a entender cuando hemos alcanzado el nivel de
calidad esperado
Analizar defectos
Validar experimentalmente las mejores practicas
Proceso de medición:
MeasurementsInput
Measuring Instruments
Quantities
and Units
Etalons Characteristics of
measuring instruments
Measurement
Results
41. Escala de medida
Tipos de Escalas Fenton and Pfleeger, Zuse
Nominal.
Ordinal.
Intervalo.
Ratio.
Absoluta.
Scale
Type
Admissible Transforms (how
measures M and M’ must be related)
Examples
Nominal 1-1 mapping from M to M’ Labeling, classifying entities
Ordinal
Monotonic Increasing function from
M to M’, that is M(x)≥M(y) implies
M’(x)≥M’(y)
Preference, hardness, air quality,
intelligence tests (raw scores)
Interval M’=aM+b (a>0)
Relative time, temperature (Fahrenheit,
Celcius), intelligence tests
(standardized scores)
Ratio M’=aM (a>0) Time interval, length, temperature (Kelvin)
Absolute M’=M Counting entities
42. Clasificación de los modelos de calidad
del software
Existen propuestas en relación a:
Estructura [Trendowicz & Punter 03]:
Numero de capas
Numero de relaciones entre capas
Alternativa de construcción [Buglione et. al 02]:
Fijo o a la medida
A la medida subdividido en definido en forma directa o indirecta
Aplicación [Tiam 04] :
General
Especifico para un producto
Nosotros consideraremos dos dimensiones:
Dimensión Especifico/General
Dimensión Reutilizable/desechable
43. FURPS [GC87]
Specific General
Throw-AwayReusable
McCall [MRW77]
Boehm [BBK+78]
GQM [Bas92]
Gilb [Gilb88]
IEEE 1061 [IEEE98]
SQUID [BDKP99]
Dromey [Dro96]
ISO/IEC 9126-1 [ISO01]
ADEQUATE [HKF99]
Clasificación de los modelos de calidad
del software
44. Aplicaciones de los modelos de calidad (1/2)
Aplicaciones exploradas por diversos autores:
Especificaciones de software
Diseño arquitectónico del software
Soporte a la implementación del software
Soporte a la evaluación del software
Soporte para la certificación del software
Identificación de riesgos
Otros:
Soporte a decisiones económicas en relación al
rendimiento del software
Evaluación de la calidad de la documentación
provista por los vendedores de componentes
COTS