Académique Documents
Professionnel Documents
Culture Documents
SOFTWARE
Administración de la calidad del Software
Incorporar Rehacer
Crear borrador Revisar
comentarios a documento
inicial borrador
la revisión borrador
Etapa 1: creación
Documento aprobado
Producir Comprobar
Corregir texto
borrador final borrador final
Etapa 2: refinamiento
Documento aprobado
Producir
Revisar Imprimir
Arreglar texto patrones de
arreglos copias
impresión
Etapa 3: producción
• mejora de la calidad:
1. identificar productos de calidad
2. examinar el proceso utilizado para desarrollarlos
3. generalizar esos procesos para aplicarlos a otros proyectos
• fabricación: relación clara entre calidad de proceso y del producto
– proceso fácil de estandarizar y supervisar
– una vez definido el proceso de fabricación se ejecuta una y otra vez para
producir el mismo producto con el mismo nivel de calidad
• software: existe relación, pero menos directa
– proceso más creativo que mecánico: influencia de habilidades individuales
y experiencia
– factores externos (novedad de la aplicación, presión comercial,...)
– el proceso puede ser inapropiado para un tipo de software
• por ejemplo, un estándar puede indicar que la especificación tiene
que estar terminada y aprobada para implementar, pero puede hacer
falta realizar prototipos.
control de la calidad
• control de calidad
– vigilar el proceso de desarrollo para asegurar que se
Aseguramiento de la siguen los procedimientos de SQA y estándares de
calidad
calidad ajustándose al plan de calidad
– dos enfoques complementarios
• revisiones técnicas: el software, documentación y
Planificación de la procesos son revisados por un grupo de personas
calidad
• valoración: normalmente automática, con algún
tipo de herramienta
– el software y los documentos se procesan y
se comparan con los estándares que se
Control de la calidad
aplican a ese proyecto
– implica una medida cuantitativa de de
algunos atributos del software (medición y
métricas)
control de calidad: revisiones técnicas formales
Se revisa UN producto
(especificación, módulo, listado,...) Poca gente, preparación y
duración breves
Fiabilidad
Tamaño del programa en
líneas de código Métricas de Métricas de
Portabilidad control predicción
Número de mensajes de
Usabilidad error
Decisiones
Extensión del manual de administrativas
usuario
modelos de calidad del software
• Objetivo: mejora de procesos software.
• Diversos modelos que buscan:
– Determinar las fuerzas y debilidades en una organización
– Aglutinar esfuerzos para conseguir acuerdos sobre lo que es un buen proceso.
• Principales iniciativas:
– ISO 9001 y 9000-3:
• muy útil en compañías que además de software fabrican equipos
• define los procesos de calidad tanto en compañías de hardware como de software.
• muy utilizado en Europa.
– Capability Maturity Model (CMM) del Instituto de Ingeniería del Software
• el modelo más empleado y maduro
• valora el desarrollo de software en sistemas de gran complejidad
• visión completa del proceso de madurez organizacional
• incluye mecanismos para mejora continua de los procesos
– Bootstrap:
• enfocado a pequeñas y medianas empresas
• valora la madurez global de una organización
• examina procesos individuales de software y valora la conveniencia y el impacto de nuevas tecnologías
– SPICE:
• combina elementos de ISO, CMM y Bootstrap
• enfocado a estudiar el nivel de madurez de los procesos individuales (tiene en cuenta el contexto de los
procesos evaluados).
• objetivo: definir un marco común de referencia en el que convivan el resto de los modelos mencionados.
• Produce un perfil del proceso, en vez de un resultado válido/no válido.
ISO 9000
Modelos de calidad
ISO 9000
instanciado como
Proceso de la
Manual de calidad de la documentos calidad de la
organización organización
Plan de calidad del Plan de calidad del Plan de calidad del Administración
proyecto 1 proyecto 2 proyecto 3 de la calidad del
proyecto
modelos de calidad: ISO-9000
• Serie ISO-9000: conjunto de normas de sistemas de calidad y guías asociadas
que se publicaron a partir de 1987 por la ISO (Organización Internacional de ISO 9001
Normalización). Estándar aplicable a la Ingeniería del
• ISO9000: describe los elementos de garantía de calidad en términos genéricos Software
que pueden aplicarse a cualquier negocio, con independencia de los productos o 20 requisitos de un sistema de garantía
servicios ofrecidos. de calidad efectiva:
• Obtención de certificado: Responsabilidad de la gestión
Sistema de calidad
– Auditores externos examinan el sistema de calidad y las operaciones de Revisión de contrato
una compañía. Control de diseño
– Si es correcto, se recibe el certificado. Control de datos y documentos
– Auditorías de seguimiento cada seis meses. Compras
Control del producto suministrado por el cliente
• Procesos documentados y practicados como se hayan descrito en el estándar. Identificación y posibilidad de seguimiento del producto
– Ventajas: comprensión, control y mejora de los procesos y la red de Control del proceso
procesos. Inspección y prueba
Control de inspección, medición y equipo de pruebas
– Inconveniente: burocracia y papeleo. Inspección y estado de prueba
• ISO9000 describe los elementos de un sistema de garantía de calidad: Control de producto no aceptado
– estructura organizativa Acción correctora y preventiva
Tratamiento, almacenaje, empaquetamiento,
– procedimientos preservación y entrega.
– procesos y recursos para implantar la planificación de la calidad Control de registros de calidad
Auditorías internas de calidad
– control de calidad
Formación
– garantía de calidad Servicios
– mejora de la calidad Técnicas estadísticas
• ISO 9000 NO describe cómo debe implementar una organización estos Más orientada a empresas de fabricación
elementos del sistema de calidad.
• Objetivo: diseñar e implementar un sistema de garantía de calidad que cumpla
los estándares y acople los productos, servicios y cultura de la empresa. ISO 9000-3
Guía para la aplicación de ISO 9001 en el
desarrollo, suministro y mantenimiento de
software
relación entre modelos de calidad del software
ISO 9000-3
1991
BOOTSTRAP
1993
SPICE
1994
modelos de calidad: capability maturity model (CMM)
• Software Engineering Institute (Carnegie Mellon University), 1986: modelo
para evaluar el grado de madurez con que las organizaciones desarrollaban
software.
• 1991: aparece el CMM, prácticamente en su forma actual:
– basado en casos reales
– refleja las necesidades de los profesionales del desarrollo de software y de
la mejora del proceso.
– está documentado
– su documentación está disponible (http://www.sei.cmu.edu/)
• punto de partida: definición del proceso de software: conjunto de actividades,
métodos, prácticas y transformaciones que se usan para desarrollar el software
y los productos a él asociados.
• madurez del proceso:
– refleja la capacidad de una organización para producir software de calidad
(cuanto más madura es una organización, mejor definido será el proceso de
software).
– proceso del software maduro: mayor productividad y mayor calidad del
producto.
– las empresas van pasando por cinco niveles de madurez
modelos de calidad: capability maturity model (CMM)
Proceso
mejora continua OPTIMIZADO
Proceso
predecible
GESTIONADO
Proceso consistente
estándar DEFINIDO
Proceso
disciplinado REPETIBLE