Modelos, Normas y Estándares Internacionales de Calidad de Software MSc. Cesar Luza Montero. [email protected] Conceptos Preliminares Modelo • En ciencias puras y aplicadas, se denomina modelo a una representación abstracta, conceptual, gráfica, física, matemática, de fenómenos, sistemas o procesos a fin de analizar, escribir, explicar, simular, explorar, controlar y predecir- esos fenómenos o procesos. 3 3 Norma • Modelo o patrón considerado como típico. • Ejemplo: • Bad Smell in OO code • GoF Design Patterns 4 4 Protocolo • Descripción formal de formatos de mensaje y de reglas para intercambiar mensajes. • Ejemplo: • FTP, • HTML 5 5 Estándar • Consisten en ciertos términos, conceptos, formatos de datos, estilos de documento, procedimientos y técnicas acordadas por los creadores de software. • Para ser considerado un estándar, un modelo, protocolo o norma determinada necesita ser aceptado e incorporado por un grupo de desarrolladores que contribuyen a la definición y el mantenimiento de la norma o protocolo. • Ejemplos: • HTML (W3C), • ISO 9000 (ISO) , • ISO SQuaRE 25000 6 6 Normativa Calidad TIC SW 7 7 Actividad 01 • Busque en internet ejemplos de modelo, norma, protocolo y estándar en tecnologías y calidad de software 8 ISO 9000 Calidad en la producción de software ISO 9000: Definición • ISO 9000: Normas que enuncian exigencias en materia del manejo y de la garantía de la calidad en una organización. • El estándar ISO 9000 NO especifica cuáles son los pasos o procedimientos para realizar un producto de calidad, solo enuncia las características a tener en cuenta en la creación de un Sistema de Gestión de Calidad 10 ISO 9000: Objetivos • Homogeneizar el lenguaje relacionado con el concepto de calidad. • Dar las líneas directrices que le permitan crear un Sistema de Gestión de la Calidad a una empresa. • Permitir evaluar diferentes sistemas de calidad. • La evaluación sirve de base para obtener un certificado (universal) que garantiza que la empresa domina su sistema de gestión de la calidad. 11 ISO 9000: Familia estándares • Son 4 Normas Centrales: • ISO 9000:2005: Definiciones y guías para la utilización de las normas. principios y vocabulario. • ISO 9001:2015: Requisitos de sistemas de gestión de calidad. • ISO 9004:2009: Da recomendaciones de una gama más amplia sobre un sistema de gestión de calidad para mejorar el desempeño global de la organización. No es guía para implementar la ISO 9001:2015, ni para usarla con fines contractuales o de certificación. • ISO 19011:2011: Directrices para auditoras de sistemas de gestión de calidad internas y externas. • La revisión de los estándares ISO se hace +/- cada 5 años para asegurar que permanezcan útiles y relevantes 12 ISO 9001: ¿cuando aplicar? • Se necesita demostrar la capacidad de proporcionar de manera adecuada SGC que satisfagan a sus clientes. • Necesita mejorar la satisfacción del cliente mediante implementación eficaz de un sistema de gestión de calidad la 13 Actividad 02 • Revise la estructura del contenido de la ISO 9001:2015 • Busque en internet ejemplos de aplicación de la ISO 9001:2015 14 Generación 1: ISO 9126 Calidad en el producto ISO 9126: Definición • ISO 9126 es un estándar internacional para la evaluación de un producto de software. 16 ISO 9126: Definición 17 ISO 9126: Términos • Producto de Software: • Son los ejecutables, código fuente, descripciones de arquitectura, descripciones de requerimientos, etc. • Usuario de Software: • Son los operadores (con algún rol o perspectiva de usuario) y programadores (usuarios de componentes como son bibliotecas software) 18 ISO 9126: Términos • Fallo: • Incumplimiento de los requisitos previos. (Requisitos del Cliente) • No conformidad: • Es el incumplimiento de los requisitos especificados (Requerimientos definidos en fase de Análisis). 19 ISO 9126: Términos • Verificación • ¿Estamos construyendo el producto correctamente? • Conjunto de actividades que aseguran la implementación correcta de una función • Validación • ¿Estamos construyendo el producto correcto? • Conjunto de actividades que aseguran que el software construido corresponde con los requerimientos. 20 ISO 9126: Estructura • Dividido en cuatro capítulos: • ISO/IEC 9126-1: • Características de calidad y subcategorías, el modelo de calidad. • ISO/IEC 9126-2: • Métricas externas (Software con Ejecución, comportamiento) • ISO 9126-3: • Métricas internas (Software sin Ejecución) • ISO 9126-4: • Métricas de uso con referencia a características y subcategorías sobre un contexto. (Software en Producción) 21 ISO 9126: Estructura 22 ISO 9126: Estructura • Factores de calidad (especificar): • visión externa del software, cómo es visto por los usuarios. • Criterios (construir): • visión interna del software, cómo es visto por el desarrollador. • Métricas (controlar): • Se definen y se usan para proveer una escala y método para la medida. 23 ISO 9126: Ciclo 24 ISO 9126-1: Modelo 25 ISO 9126-2 y3: Estructura 26 ISO 9126-2: Métricas externas • % Cobertura Funcionalidad • Tiempo de análisis de fallos • # Éxitos al encontrar causas de fallo 27 ISO 9126-3: Métricas internas • % Completitud de la implementación Funcional • % Suficiencia de las Pruebas • % Funcionalidades Evidentes para el usuario • % Tiempo de respuesta promedio • % Trazabilidad de cambios 28 ISO 9126-4: Estructura 29 ISO 9126-4: Métricas calidad de uso • Métricas de Efectividad • Métricas de Seguridad • % Efectividad de Tareas • % Seguridad de Software: • % Tareas Completas (Usuarios reportan incidentes en Producción Vs Total Usuarios) • % Afectación Software: (Usuarios afectados por incidentes en Producción Vs Total Usuarios) • Daño Económico • Frecuencia de Errores • Métricas de Productividad • Tiempo promedio de tareas • Eficiencia de tareas (Nro Tareas / Tiempo) • Costo de Productividad (Tareas/ Total costo) • % Tiempo Productivo • % Eficiencia Relativa (Uso sistema vs Experto) • Métricas de Satisfacción • Escala de Satisfacción • Uso del Software 30 ISO 9126-4: Métricas calidad de uso • Métricas de Seguridad • % Seguridad de Software: (Usuarios reportan incidentes en Producción Vs Total Usuarios) • % Afectación Software: (Usuarios afectados por incidentes en Producción Vs Total Usuarios) • Daño Económico • Métricas de Satisfacción • Escala de Satisfacción • Uso del Software 31 Actividad 03 • Identifica un producto SW y determina cuales serian sus atributos de calidad 32 Generación 1 ISO 14598 ISO/IEC 14598: Alcance • Presenta una visión general de los procesos de evaluación del producto software • Proporciona directrices y requisitos para la evaluación. 34 ISO/IEC 14598: Estructura • ISO/lEC 14598-2 e ISO/lEC 14598-6 son relativas a la gestión y soporte de la evaluación a nivel corporativo. • Proceso de Evaluación en tres situaciones a nivel de proyecto: • Desarrollo (mejora) (ISO/lEC 14598-3); • Adquisición (ISO/lEC 14598-4); • Evaluación independiente (incluyendo evaluación por tercera parte) (ISO/lEC 14598-5). 35 ISO/IEC 14598: Modelo 36 ISO/IEC 14598: Modelo 37 Actividad 04 • Elabora un catalogo actividades que realizaría para evaluar la calidad de su proyecto del curso 38 Generación 2 ISO (SQUARE) 25000 ISO (SQuaRE) 25000 • SQuaRE (Software Product Quality Requirements and Evaluation) • Unifica los conceptos de ISO 9126 e ISO 15288 (Fases del ciclo de vida de desarrollo del producto Sw). • Objetivo: • Organizar, enriquecer y unificar: especificación de requisitos de calidad del software y evaluación de la calidad del software. • Define entonces un proceso de medición de calidad del software. 40 ISO (SQuaRE) 25000: Familia • ISO/IEC 25000:2005 • Software Engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Guide to SQuaRE • ISO/IEC 25001:2007 • Software Engineering -- Software product Quality Requirements and Evaluation (SQuaRE) -- Planning and management 41 ISO (SQuaRE) 25000: Estructura • ISO/IEC 25000:2005 • ISO/IEC 2500n: • Relativo a gestión de calidad (Introducción, Descripción de todos). • ISO/IEC 2501n: • Relativo al modelo de calidad (calidad interna, externa y en uso). • ISO/IEC 2502n: • Relativo a la medida de calidad (métricas de calidad y una guía práctica para su aplicación). • • ISO/IEC 2503n: • Relativo a requisitos de calidad (para definición o evaluación). • ISO/IEC 2504n: • Relativo a evaluación de calidad(evaluadores, clientes o desarrolladores). 42 ISO (SQuaRE) 25000: ISO 15288 43 Actividad 05 • Piense en una aplicación como Amazon. • Defina 2 req. funcionales y 2 req. no funcionales. • Para los req. no funcionales piense en atributos de calidad y una métrica clara para su definición. • Consulte sobre el nuevo estándar SQUARE 25023:2016 su estructura jerárquico, realice un diagrama de dicha jerarquía. • https://www.iso.org/obp/ui/#iso:std:iso-iec: 25023:ed-1:v1:en 44 Fuente • Esta presentación esta basada en • https://campusvirtual.univalle.edu.co/moodle/pluginfile.php/1179404/mod_reso urce/content/1/2017A-CP-Clase02A_ModelosDeCalidadInternacionales.pdf • . 45