Documentos de Académico
Documentos de Profesional
Documentos de Cultura
01 Calidad Del Software
01 Calidad Del Software
Calidad,
verificación y
validación de
software
Temas
• Calidad
• Calidad del software
Requerimientos y calidad
• Calidad y factores económicos.
• La calidad como factor de competitividad
Características de calidad Aseguramiento de
la calidad
• Control de la calidad Responsabilidades en
torno a la calidad
• Factores de éxito en la administración de la calidad del
software
• Beneficios reales del aseguramiento de la calidad
ISO 8402
The International Standard Quality Vocabulary
1. Basada en el valor
(diseño s/ precio) 5. Transcendente
Calidad por costo (excelencia innata)
Reputación
• La calidad es relativa:
– No hay valores mínimos o máximos para la
calidad (¿Hay un carro absolutamente mejor o
peor?)
– Necesidad de contexto de uso (¿4x4, familiar?
¿todo terreno, poco consumo, compacto para
estacionar en ciudad?)
16
© Copyright Cenfotec S.A. 2000..2018
Dificultades con la calidad
• La calidad es multidimensional:
– Nos puede interesar el precio, la confiabilidad,
mantenibilidad, facilidad de uso, entre otros.
Muchos factores pueden contribuir a la calidad
– Las dimensiones pueden ser dependientes –
cualidades como confiabilidad y precio no son
independientes. Lograr mayor confiabilidad o
facilidad de uso tiende a costar más
17
© Copyright Cenfotec S.A. 2000..2018 © Copyright Cenfotec S.A. 2000..2017
Debe Buen
trabajar por rendimiento
largo tiempo Fácil de usar
Adaptado a mis
necesidades
Sin pulgas
específicas
ni defectos
IEEE 729-83
• Es un asunto de competitividad
• Es esencial para la supervivencia
• Es esencial para mercadeo internacional
• Es eficaz respecto del costo
• Retiene clientes e incrementa utilidades
• Es característica de empresas e instituciones de
clase mundial
Reutilizabilidad
Flexibilidad
(¿Podré reutilizar alguna parte del software?)
(¿Puedo cambiarlo?)
Revisión
Transició Interoperabilidad
Facilidad de Prueba n (¿Podré hacerlo interactuar
(¿Puedo probarlo?) con otro sistema?)
Operación
Correctitud (¿Hace lo que quiero?)
Confiabilidad (¿Lo hace de forma confiable todo el tiempo?)
Eficiencia (¿Se ejecutará en mi hardware lo mejor que pueda?)
Integridad (¿Es seguro?)
Facilidad de uso (¿Está diseñado para ser usado?)
• Funcionalidad
Existencia de un conjunto de funciones (servicios)
para satisfacer necesidades.
• Utilizabilidad
Esfuerzo necesario para el uso eficaz del sistema.
• Eficiencia
Relación entre rendimiento y recursos utilizados.
• Confiabilidad
Capacidad para mantener el nivel de desempeño
bajo condiciones enunciadas y períodos de tiempo
enunciados.
• Corrección (“correctitud”)
Grado en el cual un sistema está libre de defectos
en su especificación, diseño e implementación.
• Adaptabilidad
La extensión en la cual el sistema puede ser
usado, sin modificaciones, en aplicaciones y
ambientes distintos de aquellos para los cuales fue
diseñado específicamente.
• Integridad
Grado en que se puede controlar el acceso al
sistema (software y/o datos) por agentes (personas
o sistemas) no autorizados.
• Comprobabilidad o auditabilidad
Facilidad para determinar que el sistema hace lo
requerido, ni más ni menos.
• Exactitud
Grado en el cual un sistema, tal cual fue
construido, está libre de errores – particularmente
en cuanto a salidas cuantitativas.
• Robustez
Grado en el cual un sistema continúa funcionando
en presencia de datos de entrada incorrectos o
condiciones ambientales límite.
• Mantenibilidad
Esfuerzo necesario para realizar modificaciones
especificadas.
• Reutilizabilidad
Grado en que puede ser utilizado de nuevo un
sistema, o parte de él, en otros sistemas.
• Portabilidad
Capacidad de transferir un sistema de un ambiente
operativo a otro.
• Interoperabilidad
Esfuerzo requerido para integrar o acoplar un
sistema con otro.
• Flexibilidad
Facilidad para modificar un sistema para usos o
ambientes distintos de aquellos para los cuales fue
diseñado específicamente.
• Legibilidad
Facilidad para leer y entender el código fuente de
un sistema – especialmente en el nivel de
enunciados detallados.
• Comprobabilidad
Grado en el cual se pueden hacer pruebas sobre
un sistema; grado en el cual se puede verificar que
el sistema satisface sus requerimientos.
• Comprensibilidad
Facilidad con la cual se puede comprender un
sistema en los niveles organizativo (arquitectónico)
y de detalle. Coherencia.
Integridad
Eficiencia
Utilizabili-
Robustez
Adaptabili-
Confiabili-
factor de
‘Correcti-
Exactitud
dad
abajo afecta
un factor a la
tud’
dad
dad
derecha
‘Correctitud’
Utilizabilidad
McConnell
Eficiencia
Confiabilidad
Integridad
Adaptabilidad
Exactitud
Robustez
S.A. 2000..2017
Modelo de calidad ISO 9126
ISO 9126 >>> ISO 25000 SQuaRE
Atributos de la calidad
• Formas de medir requerimientos no
funcionales
– Rendimiento:
• Transacciones procesadas por segundo
• Tiempo de respuesta a la acción del usuario
– Confiabilidad:
• Tasa de ocurrencia de fallos
• Media del tiempo de fallo
– Disponibilidad:
• Probabilidad de fallo en regímenes de alta demanda
© Copyright Cenfotec S.A. 2000..2018
Atributos de la calidad
Palomilla encontrada por Grace Murray Hopper atrapada en un relé (#70, pánel F)
de la computadora Mark II de Aiken, mientras era probada en la Universidad de
Harvard, 09.09.1945. Después de extraer la palomilla y pegarla a la bitácora de la
máquina, ella reportó, usando un eufemismo originado por Thomas A. Edison, que
había “despulgado la computadora” ("debugged the computer“).
Failure
Anomaly
Blunder
© Copyright Cenfotec S.A. 2000..2018
Error >>> Defecto >>> Falla
error de software
defecto de software
falla de software
Weinberg
Especif. Especif.
correcta incorrecta
Calidad,
verificación y
validación de
software