Gracias
C.C.S. Calidad de Componentes Software ISO 9126
Agenda Conceptos sobre Componentes Software y Componentes COTS (Commercial Off-The-Shelf Comercio fuera de formalidad o a pedido) Desarrollo Software Basado en Componentes Selección de Componentes Modelos de Calidad ISO 9126 Modelo Calidad para componentes Métricas de Usabilidad
Conceptos sobre Componentes Software
Componente Software Una unidad de composición de aplicaciones software que posee un conjunto de requisitos, y que ha de poder ser desarrollado, adquirido, incorporado al sistema y compuesto con otros componentes, de forma independiente en tiempo y espacio [Szyperski, 1998]
Componentes COTS www.e-cronia.com Commercial Off-The-Shelf (Comercio fuera de formalidad o a pedido) Clase especial de componentes software, normalmente de código duro que presentan las siguientes características Vendidos o licenciados al público en general Su código no puede ser modificado por el usuario (código cerrado) No hay control sobre su evolución: los mantiene y actualiza el propio vendedor, quien conserva los derechos de la propiedad intelectual (ERP-SAP, Back y Front Office) Están disponibles en forma de múltiples copias, todas idénticas entre sí. [Bass et al., 1999]
Desarrollo de Software Basado en Componentes (D.S.B.C.)
Desarrollo de Software Basado en Componentes D.S.B.C. Diseño y desarrollo de aplicaciones distribuidas basadas en componentes software reutilizables Una extensión natural de la programación orientada a objetos dentro del ámbito de los sistemas abiertos y distribuidos Tecnológicamente comienza a estar maduro y usarse en la industria. Hace falta medir ahora su calidad!
Desarrollo (simplificado) Basado en C.O.T.S. Fabricante 1 Modular Gestión, S.I. generador de información, conocimiento y riqueza Fabricante 2 Ensamblaje
Ciclo de Vida D.S.B.C. Gestión del Proyecto Requisitos Especificación Aprovisionamiento (Provisioning) Integración (Assembly) Prueba Despliegue (Deployment) Operación Mantenimiento www.e-cronia.com
Mercado de Componentes C.O.T.S.
Selección de Componentes Comprar o Construir?
La Fase de Aprovisionamiento Usa el resultado de la fase de especificación para determinar que componentes se deben Construir desde cero Comprar a terceros Modificar (componentes o módulos existentes) Debemos tener la capacidad de valorar distintos componentes software que ofrezcan una funcionalidad similar. (EF: T-O-E) Debemos tener la capacidad de seleccionar el mejor entre ellos, si existe. (Benchmarking)
La Fase de Aprovisionamiento
Selección de Componentes Necesitamos poder saber valorar objetivamente un componente, es decir, Medir su Calidad Qué es la calidad de un componente? Cómo se mide eso? Existe algún estándar internacional que sirva de referencia?
1 Proceso del Ciclo de Vida del Software según ISO 12207 www.e-cronia.com b) 2 3 4 5 a)
Algunos Estándares relacionados con SW www.e-cronia.com ISO 9126 Calidad del Software y Métricas de evaluación ISO 12182 Categorización del SW ISO 12207 Ciclo de Vida del SW ISO 14764 Mantenimiento del SW ISO 14598 Ingeniería de SW Evaluación de Producto ISO 15026 Niveles de Integridad SI/SW ISO 15408 Niveles de Seguridad T.I. (HW-SW) IEEE-830 ERSW IEEE-1016 BP diseño SW IEEE-1044 Clasificación fallas SW CMM Capability Maturity Model (Modelo de Maduración de Capacidades)
Modelo de Calidad ISO 9126
Modelo de Calidad www.e-cronia.com Un Modelo de calidad es el conjunto de características y sub-características, y de cómo se relacionan entre sí. Depende del tipo de producto a evaluar Modelo de Calidad ISO-9126
Corrección Fiabilidad Robustez Eficiencia Amigabilidad Verificabilidad Mantenibilidad Reusabilidad Transportabilidad Comprensibilidad Interoperabilidad Productividad Oportunidad Visibilidad Algunos componentes de calidad de SW Funcionamiento correcto según especificaciones Probabilidad que el SW no falle (alta disponibilidad) www.e-cronia.com Actuación razonable ante eventos imprevistos (continuidad-predecible) Rendimiento eficiente de los recursos de T.I utilizados. Facilidad de utilización por los distintos niveles de usuarios. Facilidad de verificar las propiedades del software (ERS-Funcionalidad real) Facilidad de mantenimiento: correctivo, adaptativo, preventivo, perfectivo. Capacidad de reutilización por componentes, objetos, biblioteca de Objetos. Capacidad de uso y compatibilidad en distintos entornos de SO disímiles. Facilidad de comprender-entender la lógica, funcionalidad SW, PEN, SI/TI Capacidad de Recursividad y Sinergia con otros sistemas: CN. Eficiencia de los procesos automatizados v/s los procesos administrativos Capacidad de desarrollar el SW de acuerdo a la planificación. Just at Time Transparencia de los procesos para examen externo. Auditabilidad
ORIGEN DE LOS DEFECTOS DEL SOFTWARE Interfaz HW 11.8 11.0 7.8 6.0 20.2 Interfaz SW Lógica Adm. Datos Estándares 25.7 7.0 10.6 ERS/Diseño Interfaz Hum. Comp.Errores
Modelo de Calidad ISO/IEC 9126-1 Características Funcionalidad Fiabilidad Usabilidad Eficiencia Adecuación Madurez Aprendibilidad Subcaracterísticas Corrección Interoperabilidad Seguridad Conformidad Tolerancia a Fallos Comprensibilidad Recuperabilidad Operabilidad Atractividad Comportamiento Temporal Utilización de Recursos Mantenibilidad Analizabilidad Cambiabilidad Estabilidad Facilidad de Prueba Portabilidad Adaptabilidad Instalabilidad Coexistencia Reemplazabilidad
Calidad del producto de SW según ISO 9126 Calidad del SW Funcionalidad Fiabilidad Usabilidad Eficiencia Mantenibilidad Transportabilidad Conveniencia Exactitud Interoperabilidad Seguridad Conformidad Madurez Tolerancia a fallas Facultad de Recuperación Conformidad Comprensibilidad Facilidad de Aprendizaje Facilidad de Operación Atractivo Conformidad Tiempo de Respuesta Utilización de Recursos Conformidad Facilidad de Análisis Facilidad de Cambio Facilidad de Prueba Stress Test Conformidad Adaptabilidad Facilidad de Instalación Coexistencia Conformidad
Modelo de Calidad para Componentes Software www.e-cronia.com ISO 9126 es un Modelo genérico para evaluar calidad. Es necesario adaptarlo (en nuestro caso, para componentes software de ENAER): Determinar qué subcaracterísticas son relevantes, y cuáles hay que particularizar según requerimientos propios de la empresa. Definir métricas específicas para los componentes software. (Definición de Criterios Técnicos propios ENAER) Definir indicadores para las características de calidad o aceptabilidad para producción.
Modelo de Calidad para www.e-cronia.com Componentes COTS: COTS-QM Características Subcaracterísticas Funcionalidad Idoneidad Corrección Interoperatividad Seguridad Conformidad Fiabilidad Madurez Tolerancia a Fallos Recuperabilidad Usabilidad Facilidad de aprendizaje Operatividad Facilidad de comprensión Eficiencia Comportamiento Temporal Utilización de Recursos Mantenibilidad Analizabilidad Cambiabilidad Estabilidad Facilidad de Prueba Portabilidad Adaptabilidad Facilidad Instalación Adecuación Reemplazabilidad
Modelo de Calidad para www.e-cronia.com Componentes COTS: COTS-QM Características Funcionalidad Subcaracterísticas Fiabilidad Idoneidad Corrección Interoperatividad Seguridad Conformidad Usabilidad Madurez Recuperabilidad Facilidad de aprendizaje Eficiencia Operatividad Facilidad de comprensión Mantenibilidad Comportamiento Temporal Utilización de Recursos Cambiabilidad Facilidad de Prueba
Métricas para COTS y el proceso de medición de componentes software
Conceptos del Proceso de Medición Trata de satisfacer necesidades de información sobre ciertas entidades que poseen atributos y que se miden con métricas Los conceptos medibles relacionan los atributos con las necesidades de información Una métrica es un metodo de medición, y una escala de medición en base a criterios técnicos predefinidos de aceptabilidad. Métricas directas, indirectas, e indicadores
Medir un componente www.e-cronia.com Cuál es la información disponible de un componente software? Basar las métricas en esta información disponible Definir relaciones entre las métricas y las características de calidad [?]
La Usabilidad en DSBC
La Usabilidad en DSBC ISO 9126 La capacidad del componente para ser entendido, comprendido, usado y atractivo para el usuario cuando se usa bajo unas determinadas condiciones The capability of the component to be understood, learned, used and attractive to the user, when used under specified conditions
La Usabilidad en DSBC Depende del tipo de "uso" que se espera y tipo de "usuario" que utilizará el producto Usuarios de los componentes software? Desarrollador del componente Evaluador/Seleccionador Integrador (system builder) Configurador/Administrador del sistema/parametrizador Usuario del sistema Mantenimiento
La Usabilidad según ISO 9126 ISO 9126 define la Usabilidad en términos de cinco sub-características Comprensión (Understandability) Aprendibilidad (Learnability) Operabilidad (Operability) Atractividad (Attractiveness) Conformidad de Usabilidad (Usability compliance)
La Usabilidad según ISO 9126 ISO 9126 define la Usabilidad en términos de cinco sub-características Comprensión (Understandability) Aprendibilidad (Learnability) Operabilidad (Operability) Atractividad (Attractiveness) Conformidad de Usabilidad (Usability compliance)
ISO 12207 Normas Internacionales para la Regulación del Ciclo de Vida del Software Complemento ISO 14764 PMS Organización Internacional de Estandarización (ISO) Comisión Internacional de Electrónica (IEC) Normas Britanicas (BS) Fuente: www.iso.org - Internet ISO - IEEE Auditor de Tecnologías de la Información
Introducción a la Norma ISO 12207 www.e-cronia.com Jerarquía de las Tecnologías de la Información Ciclo de Vida del Software Propósito de la Norma ISO 12207 y su SLDC del SW Comprendiendo su Evolución Complemento con la Norma 14764 PMS Diagramas de Procesos de la ISO 12207 Significado e Interpretación de los Procesos de la ISO 12207
Introducción: ISO 12207 www.e-cronia.com Propósito Establecer un marco común para el ciclo de vida del software para: adquirir, suministrar, desarrollar, operar y mantener software gestionar, controlar y mejorar el marco de trabajo SW como base para el comercio internacional de software Complemento del PMS con ISO 14764 Arquitectura de alto nivel para el ciclo de vida Modularidad Cohesión: un proceso por función principal Acoplamiento: interfaces mínimas Responsabilidad Un proceso bajo la responsabilidad de una parte (de un acuerdo relación cliente-proveedor -)
Visión: Jerarquía de las Tecnologías de la Información www.e-cronia.com
Metodología del Ciclo de Vida del Software www.e-cronia.com
Metodología del Ciclo de Vida del Software ISO 12207 www.e-cronia.com
Metodología del Ciclo de Vida del Software ISO 12207 www.e-cronia.com
Metodología del Ciclo de Vida del Software ISO 12207 www.e-cronia.com
Metodología del Ciclo de Vida del Software ISO 12207 www.e-cronia.com Conceptualización Relevamiento de Requerimientos Análisis de Requerimientos Visualización del Producto (Conceptualizando la Solución)
Metodología del Ciclo de Vida del Software ISO 12207 www.e-cronia.com
Metodología del Ciclo de Vida del Software ISO 12207 www.e-cronia.com
Metodología del Ciclo de Vida del Software ISO 12207 www.e-cronia.com
Metodología del Ciclo de Vida del Software ISO 12207 www.e-cronia.com
Metodología del Ciclo de Vida del Software ISO 12207 www.e-cronia.com
ISO 12207 Árbol de Procesos www.e-cronia.com Principales funciones y partes PRIMARIO ADQUISICIÓN ABASTECIMIENTO DESARROLLO OPERACIÓN MANTENCIÓN (CAPP) CICLO DE VIDA Soportan otras funciones con un propósito DE APOYO Gestión de la organización y mejora Para formalizar el ajuste del estándar DOCUMENTACIÓN ADMINISTRACIÓN DE LA DOCUMENTACIÓN ASEGURAMIENTO DE LA CALIDAD VERIFICACIÓN VALIDACIÓN ARTICULACIÓN DE LA REVISIÓN AUDITABILIDAD RESOLUCIÓN DE PROBLEMAS ORGANIZACIONAL ADMINISTRACIÓN-GESTIÓN INFRAESTRUCTURA AD.-T.I. MEJORAMIENTO ENTRENAMIENTO ADAPTACIÓN
Preguntas