Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 02. Calidad del So/ware
Juan
Hernández
Marqués
DPTO.
DE
MATEMÁTICAS,
ESTADÍSTICA
Y
COMPUTACIÓN
juan.hernandez@unican.es
Este
tema
se
publica
bajo
Licencia:
CreaOve
Commons
BY‐NC‐SA
3.0
Objetivos del Tema
• Calidad de Proceso
• A é di A:
Apéndice A Conceptos
C ISO
9000:2005
ISO 90003
Evaluación y Mejora de Procesos
• Apéndice B: Otras Técnicas de
CMMI Verificación y Validación
ISO 15504 SPICE • Apéndice C: Lista de Defectos de
PSP Y TSP las Inspecciones
• Básica
SWEBOK - Guide to the Software Engineering Body of Knowledge,
2004 Version.
Cap. 11.
Piattini et al.
al (2006): Calidad de Sistemas Informáticos.
Informáticos Ra-Ma.
Ra Ma
Caps. 4-5 y 8.
• Complementaria
p
Piattini et al. (2006): Calidad de Sistemas Informáticos. Ra-Ma.
Caps. 1, 3, 9-10.
Sommerville (2005): Ingeniería del Software.
Software 7ª edición.
edición Addison-
Addison
Wesley.
Caps. 27 y 28.
Pressman (2005): Ingeniería del Software: Un Enfoque Práctico. 6ª
Edición. McGraw-Hill.
Cap. 26.
Walt Disney
• Según esto
esto, el elegido es….
es
“La Calidad puede no ser lo que
piensas
piensas”
P.B. Crosby
• Definición coloquial:
En la Vida Cotidiana “la calidad representa las propiedades inherentes
a un objeto que permiten apreciarlo como mejor, igual o peor que
otros objetos
j de su especie”.
p
Es sinónimo de bondad, excelencia o superioridad”.
¿Esta idea de calidad es aplicable de manera formal en una empresa?
• Definición Profesional:
Totalidad de las características y aspectos de un producto o servicio en
los que se basa su aptitud para satisfacer una necesidad dada.
Grado en el que un conjunto de características inherentes cumple con
los requisitos (ISO 9000:2005).
e
st
Ligado a compromisos aceptables
Co
Oportunidad
Plazos de fabricación
“Calidad
Calidad significa hacer lo correcto
cuando nadie está mirando”
Henry Ford
Aspectos éc cas y
Técnicas
relativos al Actividades
CONTROL DE Funcionales
Confianza CALIDAD
para la Aspectos
Dirección relativos al
ASEGURAMIENTO Confianza
INTERNO DE LA para el
p
CALIDAD Cliente
ASEGURAMIENTO
EXTERNO DE LA
CALIDAD
Juan Hernández - IS2 2.13
Introducción – Concepto de Calidad
CALIDAD
ESPERADA
CALIDAD
REALIZADA CALIDAD
NECESARIA
PROYECTO 3
PROYECTO 1
Plan de Calidad
Plan de Calidad del proyecto
adaptado
PROYECTO 2
Proyecto
Normas propias y Plan de
exigencias del cliente Calidad Condiciones espe-
adaptado ciales del proyecto
ULTADOS CLAVE
LIDERAZGO 9%
PROCESOS
14%
15%
RESU
to
uc
od
Pr
Juan Hernández - IS2 2.19
Introducción - Calidad de Sistemas de Información
¿cómo evaluamos?
…y además,
Visión holística de la
calidad.
lid d St
Stylianou
li y
Kumar (2000). Calidad de la
infraestructura
Calidad de la Calidad
C lid d
Calidad del
gestión
de la
software
Calidad
C lid d empresa
de SI Calidad del
servicio Calidad de los
Calidad de la
información procesos
de negocio
Calidad del soportados por
personal SI
proveedor
p usuario
C lid d Interna
Calidad C lid d Externa
Calidad C lid d en Uso
Calidad
N:M Nombre_i
(1,n) (0,n)
Nombre_a AUTOR
AUTOR Trabaja INSTITUCION
INSTITUCION
(0,n)
Escribe N:M
Identificativo Nombre_t
1:1 (1,n) N:M
BD
(1,n) (1,1) (0,n) (1,n)
SOCIO
SOCIO Num _s EDITORIAL
EDITORIAL Nombre_e
x x x
x x x x
x x x x x
x x
x x x x x
x x x
x x x x
x x
x x
atributo
subcaracterística
atributos internos característica atributos externos
…para definir
d fi i modelos
d l ded calidad
lid d
Características
Subcaracterísticas
capacidad para
capacidad para
ser entendido
adecuación madurez ser analizado adaptabilidad
capacidad para comportamiento
exactitud tolerancia a capacidad para instalabilidad
ser aprendido temporal
interoperabilidad fallos ser cambiado coexistencia
p
capacidad para
p utilización de
seguridad
id d de
d capacidad
id d de
d estabilidad
t bilid d capacidad
id d para
ser operado recursos
acceso recuperación capacidad para ser reemplazado
capacidad de
ser probado
atracción cumplimiento de
cumplimiento de cumplimiento de cumplimiento de
la eficiencia
la funcionalidad la fiabilidad cumplimiento de la portabilidad
cumplimiento de
la mantenibilidad
la usabilidad
Madurez …evitar
evitar fallar como resultado de fallos en el software…
software
Atracción …ser
ser atractivo al usuario…
usuario
Instalabilidad p
…ser instalado en un entorno especificado…
Satisfacción …para
para satisfacer al usuario…
usuario
ORGANIZACIONAL
TÉCNICO - Pérdida de clientes al estar insatisfechos. LEGAL
Errores en la - Pérdidas financieras debido a desperdicios de Dependiendo de ciertas
implementación de recursos en términos de tiempo y de dinero y a leyes, como la LOPD
almacenes
l de
d datos
d t una baja
b j o escasa productividad.
d i id d
- Trabajadores descontentos y desmotivados.
Juan Hernández - IS2 2.37
Calidad de Producto - Datos
• Calidad de Datos.
Características que deben tener los datos como materias primas
para que, utilizando un proceso de producción adecuado, se pueda
generar un p
g producto de información.
• Calidad de Información.
Aquellas
q características q
que debería tener un Producto de
Información para que su utilización sea adecuada, es decir, cumpla
con los requisitos de usuario.
• Dimensiones de Calidad de Datos.
Datos
Son criterios que permiten juzgar la calidad de los datos desde un
determinado punto de vista. Se definen en la norma ISO 25012
(similar a la 9126 para el Software).
NGENIERÍÍA
Planificación de Proyecto
y (PP)
( ) Gestión de Requisitos
q ((REQM)
Q )
PROYECTO
O
D
Escalonada C ti
Continua
so (KPA)
ML5 5
Capacidad del
4
ML4
a de Proces
3
ML3 2
ML2 1
Área
0
ML 1 KPA KPA KPA
Área de Proceso
Organización
Establece 5 Niveles de Madurez (Maturity Level) para Muestra la representación del nivel de
clasificar a las organizaciones, en función de qué áreas capacidad de la organización para cada
de procesos consiguen sus objetivos y se gestionan con una de las áreas de proceso.
principios de ingeniería.
ingeniería
Centrada en la madurez de la organización.
La selección de las áreas de proceso clave (KPA) está
prefijada,
p j , habiendo 7 KPA para
p el nivel de madurez 2
(ML2), 11 para el ML3, 2 para el ML4 y 2 más para el
ML5.
Juan Hernández - IS2 2.46
Evaluación y Mejora de Procesos - CMMI
• Niveles de Madurez.
Mejora Continua del Proceso
Es el típico proyecto en el que se da la (2 Áreas de Proceso) O i i d
Optimizado - Innovación y Distribución Organizacional (OID)
- Análisis Causal y Resolución (CAR)
siguiente situación: (5)
- ¿Cómo va el proyecto?
- Bien, bien.
Dos semanas después…
- Rendimiento del Proceso Organizacional (OPP)
- ¿Cómo
¿Có va ell proyecto?
t ?
- Bien, bien. Gestión Cuantitativa
Gestionado - Gestión Cuantitativa de Proyectos (QPM )
Tres semanas después… (2 Áreas de Proceso) Cuantitativamente - Gestión Cuantitativa del Suministrador (QSM)
Ejecutado CMMI-ACQ
CMMI-DEV+IPPD
(1) - Procesos Caóticos (Ad Hoc)
Juan Hernández - IS2 2.47
Evaluación y Mejora de Procesos - CMMI
Obligatorio
Metas Metas Metas Metas
Genéricas Específicas Genéricas Específicas
Nivel de
Capacidad
Esperado
Prácticas Prácticas Prácticas Prácticas
Genéricas Específicas Genéricas Específicas
Escalonada Continua
Juan Hernández - IS2 2.48
Evaluación y Mejora de Procesos - CMMI
• Evaluación (Appraisal)
LLas organizaciones
i i pueden
d querer evaluar
l su nivel
i l de
d madurez
d
(organizacional) o su nivel de capacidad (de procesos determinados)
por varias razones:
Comparar con las mejores prácticas CMMI y determinar qué mejoras se
pueden hacer.
Informar a los clientes externos y p
proveedores acerca de cómo funciona la
organización y lleva a cabo sus procesos.
Para cumplir los requisitos contractuales de uno o más clientes.
• Evaluación (Appraisal)
0. Preparación y 1. Presentación
Consolidación Inicial 4. Presentación del
de Evidencias PIIDB Informe de
Resultados
2. Revisión
Documentación
5. Elaboración de
3. Recomendaciones
Entrevistas
E i de mejora
Entrevistas
Áreas de proceso
Entrevistas
Áreas de las
de proceso
Áreas de proceso
Consolidación de
evidencias y puntuación 6. Planificación
de las practicas del Plan de Mejora
100%
PP Practice Characterization 90%
0%
80%
0% 70%
13% 60%
4% 50%
40%
30%
20%
10%
0%
83%
Implementation Institutionalization
Juan Hernández - IS2 2.53
Evaluación y Mejora de Procesos - CMMI
Gestión de Requisitos
Planificación del Proyecto
Seg imiento y Control del Pro
Seguimiento Proyecto
ecto
Gestión de Acuerdos con Proveedores
Medición y Análisis
A
Aseguramiento
i t de
d lla C
Calidad
lid d
Gestión de la Configuración
5 de 22 23 %
7 de 22 32 %
10 de 22 45 %
• Mejora (Improvement)
IDEAL define
d f un marco d
de ciclo
l de
d vida
d para la
l mejora de
d
procesos.
Roles y Responsabilidades
- Patrocinador
- Evaluador Competente
p
- Evaluador(es)
Contextos de Mejora
y Capacidad
Modelo de Evaluación
PSP 2
PSP 2.1
Revisión Diseño
Revisión Código Plantillas de Diseño
Necesidad de Información
(from Caracterización y Objetivos)
0..*
satisface
1..* usa
Medida Base Medida Derivada Indicador
(from Medidas Software) (from Medidas Software) (from Medidas Software)
1 *
1..* 0 *
0.. 1 *
1..* 1 *
1..*
0..*
usa usa calculada con calculado con
usa
1 0..* 0..* 1 1
Método de Medición Función de Cálculo Modelo de Análisis 0..*
1..*
usa
1..*
Forma de Medir
(from Acción de Medir)
Criterio de Decisión
Una medida que es derivada de otra medida HPT (horas-programador totales, que
Medida base o derivada, utilizando una función de es la sumatoria de las HPD de cada
Derivada cálculo como forma de medir. día).
Indicador Una medida que es derivada de otras medidas PROD (productividad de los
utilizando un modelo de análisis como forma programadores).
de medir. CAR (carestía del proyecto)
emplean
CMMI
GQM
(Goal Question
Estándares ISO/IEC SC7
Medición y Análisis
12207 (revisión- procesos de soporte)
Metric)
15288 (C
(Conceptos
t d de medición)
di ió )
Requerimientos de Medición
Necesidades Realimentación
d
de Productos
P d t de los usuarios
Información Informativos
C
Conceptual
t l Objetivo
Definición
Modelos
Implícitos
p Preguntas
g
Operacional
P1 P2 P3 P4
Cuantitativo M1 M2 M3 M4 M5 M6 M7
Interpretación Métricas
Juan Hernández - IS2 2.76
Medición del Software - GQM
• Fases GQM:
Logro
g de
Objetivo
Objetivo
Pregunta Respuesta
Plan del
Proyecto Métrica Medición
Definición Interpretación
Datos Recogidos
Medidas:
Pregunta 1
• NA(T) - NÚMERO DE ATRIBUTOS DE UNA TABLA
• NFK(T) - NÚMERO DE CLAVES AJENAS
• RFK(T) - RATIO DE CLAVES AJENAS DE UNA TABLA
NFK ( T )
RFK (T )
Pregunta 2 NA ( T )
• NT - NÚMERO DE TABLAS
• NA - NÚMERO DE ATRIBUTOS
• NFK - NÚMERO DE CLAVES AJENAS (NFK)
WMC(Persona) = 8
DIT(Persona) = 0
DIT(Empleado Fijo)= 2
NOC(Persona) = 2
NOC (Empleado) =2
PROYECTO 3
PROYECTO 1
Plan SQA
Plan SQA adaptado
adaptado
PROYECTO 2
Normas propias y Pl
Plan SQA
exigencias del cliente adaptado Condiciones especiales
del proyecto
Juan Hernández - IS2 2.85
Verificación y Validación - Sw Quality Control (SQC)
• Verificación y Validación (VV) es un conjunto de procedimientos,
actividades, técnicas y herramientas que se utilizan, paralelamente al
desarrollo de software, para asegurar que un producto software resuelve
el problema inicialmente planteado.
Actividades Verificación:
¿Estamos construyendo correctamente el producto?
El software debe ser conforme a su especificación.
Objetivo: Demostrar la consistencia, compleción
ó y corrección
ó de los
artefactos software entre las fases del ciclo de desarrollo de un
proyecto.
Técnica más utilizada: Revisiones SW
Actividades Validación:
¿Estamos construyendo el producto correcto?
El software debe hacer lo que el usuario realmente quiere
Objetivo: Determinar la corrección del producto final respecto a las
necesidades del usuario.
Técnica más utilizada: Pruebas SW
Juan Hernández - IS2 2.86
Verificación y Validación – Tipos Revisiones
• Revisiones informales:
No hayy pprocedimientos definidos,, ppor lo qque la revisión se realiza de la forma más
flexible posible.
Ventajas menor coste y esfuerzo, preparación corta, etc.
Desventajas
j Detectan menos defectos
• Revisiones semi-formales: Se definen unos procedimientos mínimos a
seguir walkthroughs.
• R i i
Revisiones f l : Se
formales S d fi
define completamente
l t t ell proceso, los
l
participantes y sus funciones, los documentos, etc. inspecciones.
Gestión Técnicas
• Estudiar el progreso del proyecto y la realización de • El producto se ajusta a sus especificaciones.
actividades según el plan • El desarrollo (o mantenimiento) del producto intermedio
• Adecuación del enfoque de gestión del proyecto para se está realizando de acuerdo a los planes, estándares y
lograr sus objetivos. guías aplicables al proyecto.
• Ayudar a las decisiones de cambios de gestión en el • Los cambios en el producto se realizan adecuadamente y
proyecto afectan sólo a aquellas áreas identificadas por la
• Confirmar los requisitos y su asignación en el sistema especificación de cambios
• •
Juan Hernández - IS2 2.87
Verificación y Validación - Inspecciones
Documentos de soporte
(estándares, guías y procedimientos)
Notificación de la PREPARACIÓN
inspección
Lista de defectos
Roles Función Lista de comprobación
Jefe del Responsable de las actividades
Proyecto administrativas
• Inspecciones. Informes.
Proporcionan información del progreso o resultados de la inspección
Estructura:
Notificación de la reunión de inspección
p Anuncio formal
Lista de Defectos Registro detallado de cada defecto descubierto
• Localización
• Descripción Problema
• Clasificación
Informe Resumen de Defectos
Informe de Inspección
Detección de defectos.
Comentarios sobre el estilo.
Objetivo Detección de defectos.
Búsqueda de soluciones.
Intercambio de conocimientos.
conocimientos
Formalidad Formal. Informal o Semiformal.
Personas de distinto nivel
Personas del mismo nivel del equipo de
Composición del equipo jerárquico, que pueden pertenecer
desarrollo
desarrollo.
además a otros proyectos.
Papeles definidos de los
Sí. No.
participantes
Utilización de listas de
Si
Siempre. A veces.
comprobación
• Auditorías:
Auditoría funcional (AFU):
Es un examen sobre el software justo antes de su entrega Verificar
que cumple todos los requisitos definidos en la ERS.
Auditoría física (AFI):
Es un examen que se realiza para verificar que el software y su
documentación son consistentes y están preparados para su entrega.
Auditoría durante el proceso de desarrollo (AP):
Se realiza para verificar la consistencia del diseño, que incluye el análisis
de:
• Código frente a la documentación de diseño.
• Especificaciones de interfaz (software y hardware).
• Implementaciones de diseño frente a los requisitos funcionales.
• Requisitos funcionales frente a las descripciones de pruebas.
• Auditorías vs Revisiones:
ATRIBUTO REVISIONES AUDITORÍAS
MECANISMO Las reuniones. Mezcla de reuniones,, observaciones
y exámenes.
RESPONSABILIDAD Generalmente Realizada por un grupo personas
compartida entre un que no suelen pertenecer a la
grupo de personas organización, en el que sobresale la
pertenecientes a la figura central del "auditor".
organización.
DURACIÓN
Ó Corta: unas pocas horas. De media a larga: de días a meses.
A áli i de
Análisis d simulación
i l ió
Proporcionar una evaluación del rendimiento y la información necesaria
para planificar la capacidad de un sistema durante su diseño.
Auditores de código
Examinar el código fuente y determinar automáticamente si se siguen los
estándares y prácticas de programación descritos previamente.
A li d
Analizadores y estimadores
ti d de
d tiempos
ti de
d ejecución
j ió
Proporcionar información sobre la ejecución de un programa (tiempo de
ejecución, consumo de CPU, etc.)
Comprobación de interfaces
Analizar la consistencia y la compleción de los flujos de información y de control
entre los módulos de un sistema
sistema.
A áli i de
Análisis d trazabilidad
t bilid d de
d requisitos
i it
Verificar que cada requisito del sistema está incluido en algún
elemento software.
Garantizar que las pruebas que se realizan sobre dicho software
permiten comprobar que se satisfacen los requisitos.
Monitores de software
Supervisar la ejecución de un programa para localizar posibles áreas
ineficientes. Al finalizar la ejecución, el monitor genera informes que
describen la utilización de los recursos del programa.
TIPO DE DESCRIPCIÓN
DEFECTO
Cumplimiento de Desviación sobre los estándares que debe seguir el producto.
estándares
Factores humanos Procedimientos operativos incorrectos.
Documentación Descripciones inadecuadas de algún componente (por ejemplo,
comentarios incorrectos).
Funcionalidad Defectos en la especificación de las funciones de un
componente.
Interfaz Defectos en la comunicación entre componentes del software
(por ejemplo, llamadas incorrectas de los módulos, paso de
datos incorrectos entre módulos).
Datos Defectos en la especificación de los datos (por ejemplo,
declaraciones, inicializaciones o descripciones de datos
i
incorrectas).
)
Sintaxis Defectos
e ectos ggramaticales.
a at ca es.