Control de Calidad del Software - ldc.usb.vemgoncalves/IS2/sd07/clase10.pdf · Aseguramiento de la...

23
Control de Calidad del Software

Transcript of Control de Calidad del Software - ldc.usb.vemgoncalves/IS2/sd07/clase10.pdf · Aseguramiento de la...

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

• 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 gradocon el cual las especificaciones se cumplen durante el proceso de desarrollo.

Calidad

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