Control de Calidad del Software
Referencias básicas Ingeniería de software. Un enfoque práctico. Pressman, R. Quinta edición. Mc. Graw Hill 2002 Ingeniería de software. Sommerville, I. Séptima edición. Addison Wesley 2005
Calidad Trata de los métodos que aseguran ciertos estándares preestablecidos en varios aspectos del SW y su desarrollo Calidad de Diseño: Se ocupa generalmente de las características especificadas por un diseñador para un elemento particular. Calidad de Conformidad: Se ocupa del grado con el cual las especificaciones se cumplen durante el proceso de desarrollo.
Aseguramiento de la Calidad de Software - SQA Serie de actividades que tienen que ser implementadas a través del proceso de desarrollo de software Producir un conjunto de actividades para asegurar alta calidad de producto Realizar pruebas de aseguramiento de calidad Usar métricas para desarrollar estrategias que mejorarán el proceso de software
SQA Conformidad a las necesidades funcionales y de rendimiento, a los estándares de desarrollo y a las características implícitas requeridas de todo el software que se ha desarrollado profesionalmente
SQA - Actividades Preparación del plan SQA (IEEE) Desarrollo de la descripción del proceso de software Revisión de software Actividades de verificación Documentación Reporte de no conformidad
Control de Calidad de Software Inspecciones, revisiones y pruebas realizadas durante el proceso de software de forma de asegurar que los productos desarrollados cumplen los estándares establecidos.
Revisiones de software 50-60% de todos los errores pueden ser atribuidos a diferentes actividades de diseño emprendidas durante el proceso de desarrollo de software En el 75% de los casos, introducir un proceso formal de revisión permite la detección temprana de los defectos del diseño
Confiablidad Considere un programa con una confiabilidad de 0.90 sobre ocho horas de procesamiento El programa funcionará de manera correcta cada 90 de 100 veces por cada 8 horas de ejecución
Medidas de Confiablidad y Disponibilidad Confiablidad Tiempo promedio entre falla (MTBF) = tiempo promedio de fallar (MTTF) + tiempo promedio de reparar (MTTR) Disponibilidad: Probabilidad que un paquete de SW esté trabajando según los requerimientos en un punto dado del tiempo Disponibilidad = (MTTF/MTBF) *100%
Seguridad del Software Operación de SQA Identifica y determina zonas peligrosas potenciales que puede causar fallas del sistema Proceso de modelación y análisis donde las amenazas potenciales se identifican y se agrupan basándose en lo crítico y el riesgo Las técnicas de análisis determinan su severidad y posibilidad de ocurrencia Determinación de los requerimientos de seguridad
Diferencias Confiabilidad: Análisis estadístico de la calidad para localizar la posibilidad de falla de software. No hay contratiempos. Seguridad: diversas maneras en que las fallas terminan en contratiempo.
Sistemas de Aseguramiento de Calidad Un sistema de aseguramiento de calidad es el nombre dado a una estructura total que incluye las responsabilidades, procesos, procedimientos y recursos que ayudan a implementar una función de administración de la calidad dentro de una organización
Sistemas de Aseguramiento de Calidad ISO 9000 fue creada por la Organización Internacional de Estándares y se ocupa de los sistemas de aseguramiento de calidad que se pueden aplicar a los diversos negocios y servicios.
Sistemas de Aseguramiento de Calidad Una compañía que desee registrarse en el modelo de aseguramiento de calidad definido en ISO 9000 debe permitir que un auditor neutral examine sus sistemas y operaciones de calidad, y el auditor debe certificar que están en conformidad con los estándares ISO
Sistemas de Aseguramiento de Calidad ISO 9000 no indica cómo los diferentes elementos del sistema de calidad tienen que ser implementados por una organización. La organización debe diseñar e implementar los sistemas de aseguramiento de calidad que cumplen con los estándares fijados por ISO
Sistemas de Aseguramiento de Calidad ISO 9001 tiene elementos que aplican a la IS. Requiere que una organización de software cumpla 20 especificaciones para un sistema de aseguramiento de calidad efectivo
Sistemas de Aseguramiento de Calidad Requerimientos de ISO Control de diseño y proceso Técnicas estadísticas Responsabilidad de gerencia Documentación y control de data Entrenamiento Identificación y seguimiento de producto Pruebas e inspección; Prevención y corrección de defectos Servicios Control de registros de calidad; calidad del sistema; verificación de calidad Proceso de revisión de contrato
Modelo de Capacidad de Madurez - CMM El Instituto de Ingeniería de Software (SEI) en la Universidad de Carnegie- Mellon desarrolló un marco de trabajo del proceso de madurez CMM consiste de el Modelo y un documento de prácticas claves. Posee 5 niveles
Modelo de Capacidad de Madurez - CMM Nivel I Iniciado Nivel II Repetible: Procesos principales de la administración de proyecto requeridos para mantener el control sobre costo, cronograma y funcionalidad
Modelo de Capacidad de Madurez - CMM Nivel III Definido: Documentación, estandarización e integración del proceso de software para las operaciones de administración e ingeniería en todos los departamentos
Modelo de Capacidad de Madurez - CMM Nivel IV Administrado: Comparación de los datos detallados del proceso de SW y de calidad de producto. Se entienden cuantitativamente y después se controlan
Modelo de Capacidad de Madurez - CMM Nivel V Optimizado: Mejora continua del proceso, retroalimentación cuantitativa del proceso y prueba de implementación de ideas y de tecnologías innovadoras