la calidad del software11
DESCRIPTION
cdTRANSCRIPT
Administración de la calidad del Software• Se refiere a lograr un nivel de calidad
requerido en el producto de software • Involucra a la definición de estándares de
calidad apropiados y procedimientos que permitan asegurar que estos se cumplan.
• Debe llevar a desarrollar una cultura de calidad en donde la calidad es responsabilidad de todos
Administración de la calidad del Software– comprobación independiente de los procesos de
desarrollo– los productos resultantes de los procesos se introducen
en el proceso de administración de la calidad para asegurar su consistencia con estándares y objetivos de calidad
– equipo de aseguramiento y control: independientes de los equipos de desarrollo• responsabilidad de la administración de la calidad• visión objetiva del proceso• informan de problemas y dificultades a los administradores
principales de la organización
control de la calidad
• control de calidad– vigilar el proceso de desarrollo para asegurar que se
siguen los procedimientos de SQA y estándares de calidad ajustándose al plan de calidad
– dos enfoques complementarios• revisiones técnicas: el software, documentación y
procesos son revisados por un grupo de personas• 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 aplican a ese proyecto
– implica una medida cuantitativa de de algunos atributos del software (medición y métricas)
Aseguramiento de la calidad
Aseguramiento de la calidad
Planificación de la calidad
Planificación de la calidad
Control de la calidadControl de la calidad
control de calidad: revisiones técnicas formales
Decisión final: - Aceptación - Rechazo - Aceptación condicionada a pequeñas modificaciones
Decisión final: - Aceptación - Rechazo - Aceptación condicionada a pequeñas modificaciones
Poca gente, preparación y duración breves
Poca gente, preparación y duración breves
Se revisa UN producto (especificación, módulo, listado,...)Se revisa UN producto (especificación, módulo, listado,...)
Participantes: jefe de revisión, revisores (ingenieros,programadores,...) y productor
Participantes: jefe de revisión, revisores (ingenieros,programadores,...) y productor
revisiones técnicas formales
• objetivos:
descubrir errores en la función, lógica o implementación de cualquier representación del softwre.
verificar el cumplimiento de los requisitos
garantizar el cumplimiento de los estándares.
conseguir un desarrollo uniforme del software
obtener proyectos que hagan más sencillo los trabajos técnicos (análisis que permitan buenos diseños, diseños que permitan implementaciones sencillas, estrategias de pruebas que faciliten éstas,...)
•RTFs: son un filtro que permite “purificar” las actividades de ingeniería de software.
– se aplican en diversos momentos del desarrollo para detectar defectos.
– diseño: entre el 50 y el 60% de los errores del desarrollo.– aprovecha la diversidad de un grupo de personas para:
señalar la necesidad de mejoras en el producto de ingeniería (diagramas del análisis, diccionario de datos, diseño, código, estrategia de pruebas,...)
confirmar las partes en las que no es necesaria una mejora.
conseguir un trabajo técnico de calidad más uniforme.– efectividad: se calcula que son efectivas en un 75%.
ejemploErrores encontrados Número Coste unitario Total
Llevando a cabo revisiones
Durante el diseño 22 1,5 33
Antes de la prueba 36 6,5 234
Durante la prueba 15 15,0 315
Tras la distribución 3 67,0 201
783
Sin revisiones
Antes de la prueba 22 6,5 143
Durante la prueba 82 15,0 1230
Tras la distribución 12 67,0 804
2177
ACS
• El aseguramiento de la calidad del software (ACS) consiste en controlar que los productos y procesos del desarrollo de software umplen estándares de completitud y calidad. Como se ha comentado, ACS cumple el rol de watchdog de los procesos del ciclo de vida del software.
• Existen dos formas de obtener software de calidad. La primera es prevenir la falta de calidad, defi niendo normas, estándares, métodos y técnicas apropiadas durante los procesos del ciclo de vida.
• La segunda es detectar y corregir la falta de calidad (e.g. errores en el ódigo, en el diseño, en manuales de usuarios, o código complejo mal documentado) a través de la evaluación de procesos, mejoramiento de procesos, revisiones y, por supuesto, testeo de software.
• Las actividades de aseguramiento de la calidad deben ser planificadas, con sus correspondientes asignaciones de recursos humanos y materiales. O sea, asegurar la calidad cuesta dinero. Sin embargo, la falta de calidad también tiene un precio.
• Costos de prevención: costos de actividades específicamente diseñadas para prevenir una calidad pobre.
• Costos de detección: costos de actividades orientadas a encontrar problemas de calidad.
• Costos de fallos: costos derivados de una calidad pobre, por ejemplo, el costo de corregir errores y el costo de atender quejas de usuarios