Experiencias en la medición de la calidad de los componentes software Manuel F. Bertoa y Antonio Vallecillo Departamento de Lenguajes y Ciencias de la.

Slides:



Advertisements
Presentaciones similares
Juan Carlos Perez Serrano
Advertisements

Fundamentos de Diseño de Software INFT.1
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
ISO/IEC 9126 “Calidad de Producto de Software”
CALIDAD DE PRODUCTO PORTADA CALIDAD DE PRODUCTO.
CALIDAD EN DESARROLLO DE SOFTWARE
Medición de la usabilidad en aplicaciones de escritorio.
INGENIERIA DE SOFTWARE
Metodologías orientadas a objetos
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Calidad de Componentes Software
DESARROLLO E IMPLEMENTACIÓN DE UN PLUGIN DE GOOGLE WALLET PARA PAGOS ONLINE UTILIZANDO SOFTWARE OPEN SOURCE.
Juan Andrada Romero José Domingo López López
Juan Andrada Romero José Domingo López López
Juan Andrada Romero José Domingo López López
Neotect S.A.. Desarrollar el Software CreditScore de acuerdo a los requerimientos del Banco de los Alpes, y a las restricciones de tiempo y costo acordadas.
CreditScore: Plan de calidad
Administración de Procesos de Pruebas
Evaluación de Productos
Desarrollo de Software Basado en Componentes
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Noviembre 2010 Ferreyra, Paula Huerta, María de las Nieves
La calidad del software.
HERRAMIENTAS CASE.
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
NORMA ISO 9126 Carlos Mario Zapata J. 11/04/2017 Calidad de Software.
UNIDAD I Conceptos Básicos.
Metodología de Control Interno, Seguridad y Auditoría Informática
LA IMPORTANCIA DE LAS PyMEs
IIS Evaluación de productos, procesos, recursos Mejorando las predicciones (¿o estimaciones?)
Métricas de calidad de software
Ingeniería de Software
CONCEPTOS BÁSICOS Diseño de Sistemas.
Calidad y Garantía de Calidad
Conceptos de Gestión y Planificación de Proyectos Software
NORMAS ISO ISO Carlos Mario Zapata J. 4/15/2017
Armillas Mendieta Brenda Angélica De León Campos Arturo Delgado Sosa Luis Alberto Rodríguez Ortega Sandra Vergara Carranza Carlos.
Noviembre 2010 Ferreyra, Paula Huerta, María de las Nieves
Construcción de Software
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Unidad 3: Adquisición de Paquetes de Software Msc. Lic. Susana I. Herrera - Lic. Paola Budán UNSE 2012.
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
Medición y Métricas del Software
Alexander Aristizabal Ángelo flores herrera
Factores y Métricas que determinan la Calidad de un producto
Metodologías Lsi. Katia Tapia A., Mae.
 Sara Isabel Osorio Alcaraz Ana Isabel Vallejo Grisales 10 Informática 1.
Métricas de calidad de software
Control de Calidad de Software
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Estimación de proyectos de software
Ingeniería del Software I
problemas de la calidad del software
Software libre Integrantes: Leidy Ruiz Jhoana Moncada Jhon Vargas
NORMA ISO 9126 ISO
Estimación de Puntos de Función
Calidad de Software Centro ISYS Escuela de Computación
NIVELES DE CALIDAD DEL SOFTWARE
DESARROLLO DE SOFTWARE Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su.
Proceso de desarrollo de Software
Ing del Software Libre1 Ingeniería del Software Libre y Modelos de Calidad Instructora: Ing. Erika Veliz Correo Electrónico:
EVALUACIÓN DE CALIDAD DEL SOFTWARE Y GOBIERNO EN LÍNEA EN PORTALES WEB APLICANDO PROCESOS DE AUDITORÍA.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Noviembre, 2005 ESPECIFICACIÓN DE LA CALIDAD EN LOS SISTEMAS FIABLES (Quality Specification of Dependable Systems) ESPECIFICACIÓN DE LA CALIDAD EN LOS.
Modelado Orientado a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
Entorno de Recomendación para el Desarrollo de Objetos de Aprendizaje Manuel E. Prieto Universidad de Castilla-La Mancha, España Victor H. Menéndez Universidad.
Fue desarrollado durante el 2002, como consecuencia de los acuerdos de la mesa de la Estrategia 6 del Programa para el Desarrollo de la Industria de.
LA CALIDAD DEL SOFTWARE
Transcripción de la presentación:

Experiencias en la medición de la calidad de los componentes software Manuel F. Bertoa y Antonio Vallecillo Departamento de Lenguajes y Ciencias de la Computación Universidad de Málaga

Calidad de Componentes Software2 Agenda Conceptos sobre Componentes Software y Componentes COTS Desarrollo Software Basado en Componentes Selección de Componentes Modelos de Calidad ISO 9126 Modelo Calidad para componentes Medidas de Usabilidad

Conceptos sobre Componentes Software

Calidad de Componentes Software4 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]

Calidad de Componentes Software5 Componentes COTS Commercial Off-The-Shelf Clase especial de componentes software, normalmente de grano grueso que presentan las siguientes características Vendidos o licenciados al público en general Su código no puede ser modificado por el usuario No hay control sobre su evolución: los mantiene y actualiza el propio vendedor, quien conserva los derechos de la propiedad intelectual Están disponibles en forma de múltiples copias, todas idénticas entre sí [Bass et al., 1999]

Desarrollo de Software Basado en Componentes (DSBC)

Calidad de Componentes Software7 DSBC Diseño y desarrollo de aplicaciones distribuidas basadas en componentes software reutilizables Una extensión natural de la programación orienta 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!

Calidad de Componentes Software8 Desarrollo (simplificado) Basado en COTS

Calidad de Componentes Software9 Ciclo de Vida DSBC Gestión del Proyecto Requisitos Especificación Aprovisionamiento (Provisioning) Integración (Assembly) Prueba Despliegue (Deployment) Operación Mantenimiento

Mercado de Componentes COTS

Calidad de Componentes Software11

Calidad de Componentes Software12

Selección de Componentes ¿Comprar o Construir?

Calidad de Componentes Software14 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 Debemos tener la capacidad de seleccionar el mejor entre ellos, si existe

Calidad de Componentes Software15 La Fase de Aprovisionamiento

Calidad de Componentes Software16 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 la calidad? ¿Existe algún estándar inter- nacional que sirva de referencia?

Calidad de Componentes Software17 Modelo de Calidad 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

Calidad de Componentes Software18 Modelo de Calidad ISO/IEC Funcionalidad Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad SubcaracterísticasSubcaracterísticas Características Utilización de RecursosComportamiento Temporal Reemplazabilidad Coexistencia Tolerancia a FallosRecuperabilidad Madurez Instalabilidad Adaptabilidad Interoperabilidad Corrección Seguridad Conformidad Operabilidad Aprendibilidad Comprensibilidad AnalizabilidadCambiabilidadEstabilidadFacilidad de Prueba Adecuación Atractividad

Calidad de Componentes Software19 Modelo de Calidad para Componentes Software ISO 9126 es un Modelo genérico Es necesario adaptarlo (en nuestro caso, para componentes software) : Determinar qué subcaracterísticas son relevantes, y cuáles hay que particularizar Definir medidas (métricas) específicas para los componentes software Definir indicadores para las características de calidad

Calidad de Componentes Software20 Conceptos del “Proceso de Medición” Trata de satisfacer unas necesidades de información sobre ciertas entidades que poseen atributos que se miden con medidas Los conceptos medibles relacionan los atributos con las necesidades de información Una medida es un metodo de medición, y una escala de medición Medidas base, derivadas, e indicadores

Calidad de Componentes Software21 Símil: la medicina Queremos determinar si un paciente esté enfermo (necesidad de información) Entidades: personas Atributos: temperatura, talla, peso, dureza Medidas: ºC (boca), ºC (oído), índice de masa corporal (objetivas y subjetivas) Indicadores Tiene fiebre si ºC(boca)>37.5 Esta malo si tiene fiebre y le duele la cabeza OJO: no siempre son aplicables!

Calidad de Componentes Software22 Preguntas para el caso de la calidad de los componentes software ¿Cuáles son nuestras necesidades de información? ¿Cuáles son nuestras entidades? ¿Qué atributos tienen? ¿Qué medidas permiten medir esos atributos? ¿Cómo las medidas permiten evaluar las características de calidad?

Medidas para COTS y el proceso de medición de componentes software

Calidad de Componentes Software24 Medir un componente ¿Cuál es la información disponible de un componente software? Basar las medidas en esta información disponible Definir relaciones entre las medidas y las características de calidad [¿?]

Calidad de Componentes Software25 Componentes: Información Disponible

La Usabilidad en DSBC

Calidad de Componentes Software27 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

Calidad de Componentes Software28 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 Usuario del sistema Mantenimiento

Calidad de Componentes Software29 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)

Calidad de Componentes Software30 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)

Proceso de medición de la Usabilidad de Componentes Software

Calidad de Componentes Software32 Medidas de Usabilidad Necesidad de Información: Evaluar la usabilidad de un conjunto de componentes software que son candidatos a ser integrados en un sistema software para seleccionar el mejor de ellos El desarrollador del sistema desea seleccionar el componente más fácil de usar (integrar) dentro de un conjunto de componentes que ofrecen una funcionalidad similar y que cumplan los requisitos solicitados

Calidad de Componentes Software33 Medidas de Usabilidad Tres conceptos medibles relacionados con la usabilidad Calidad de la Documentación Complejidad del Problema Complejidad de la Solución (del Diseño) (Al comparar componentes que ofrecen una funcionalidad similar, podemos suponer que todos tienen la "misma complejidad del problema“) Complejidad del Problema

Calidad de Componentes Software34 Atributos de Usabilidad Entity Information Need Measurable Concept Attribute Software Component

Calidad de Componentes Software35 Atributos de Usabilidad Entity Information Need Measurable Concept Attribute Software Component Evaluate the Usability

Calidad de Componentes Software36 Atributos de Usabilidad Entity Information Need Measurable Concept Attribute Software Component Evaluate the Usability Quality of Documentation Quality of Manuals Quality of Demos Quality of Marketing Info Complexity of the Design

Calidad de Componentes Software37 Atributos de Usabilidad Entity Information Need Measurable Concept Attribute Software Component Evaluate the Usability Quality of Documentation Quality of Manuals Contents of manuals Size of Manuals Effectiveness of Manuals Quality of Demos Contents of Demos Quality of Marketing Info Contents of Marketing Info Complexity of the Design Design Legibility Interfaces Understandability Learning Facility API Complexity Customisability

Calidad de Componentes Software38 Ejemplo: Calidad de los Manuales Entity Informatio n Need Measurable Concept Attribute Software Component Evaluate the Usability Quality of Documentatio n Quality of Manuals Contents of manuals Size of Manuals Effectiveness of Manuals Quality of Demos Contents of Demos Quality of Marketing Info Contents of Marketing Info Complexity of the Design Design Legibility Interfaces Understandability Learning Facility API Complexity Customisability Quality of Manuals Contents of manuals Size of Manuals Effectiveness of Manuals

Calidad de Componentes Software39 Medidas de la Calidad de los Manuales AttributeIndicatorDerived Measure Contents of manuals Manuals Coverage Percentage of Functional Elements Described in Manuals Percentage of Interfaces Described in the Manual Percentage of Methods Described in the Manual Percentage of Configurable Parameters Described in the Manual Manuals Consistency Percentage of FE incorrectly described in manuals Difference Between the Component Version and The Manual Version Manuals Legibility Ratio of Figures per Kilo-word in manuals Ratio of HTML files of manuals per FE Size of Manuals Manuals SuitabilityRatio of words per FE Effectiveness of Manuals Effectiveness Ratio Percentage of Functional Elements Correctly Used after Reading the Manual

Calidad de Componentes Software40 ¿Cómo se enlazan las subcaracterísticas con los atributos? Debemos relacionar la Calidad de la documentación, la Complejidad del Problema, y la Complejidad del Diseño con la Comprensibilidad, Aprendibilidad y la Operabilidad En general, no existe una relación directa entre conceptos medibles (y las medidas) y subcaracterísticas de calidad, sino grados de relación o influencia entre ellas Quality of Documentation Complexity of Problem Complexity of Solution Understandability Learnability Operability ¿?

Calidad de Componentes Software41 Un propuesta teórica inicial para ser demostrada mediante experimentos AttributeUnderstandabilityLearnabilityOperability Contents of manuals lowHighmedium Size of Manuals lowhighmedium Effectiveness of Manuals lowhigh Contents of Demos highlow Contents of Help System -high Size of Help System -highmedium Effectiveness of Help System -high Contents of Marketing Info high-- Effectiveness of Marketing Info high-- Design’s Legibility (Readability) mediumlowhigh Interfaces Understandability low high Understandability of I/O highlowhigh ease of component Learning -highmedium Customisability lowmediumhigh Contents of error message low high Interfaces Density lowhigh

Calidad de Componentes Software42 El proceso seguido Se realizaron varios experimentos Evaluacion de la Usabilidad y (L,U,O) de forma subjetiva (percibida) y “directa” Evaluación de la Usabilidad y (L,U,O) de forma subjetiva (percibida) e “indirecta” Evaluacion de la (L,U,O) de forma objetiva Se obtuvieron valores para cada una de las medidas (objetivas) Se buscaron correlaciones entre las medidas (tanto base como derivadas) y los resultados de los experimentos A nivel individual Usando Análisis de Regresión Lineal

Calidad de Componentes Software43 Resultados interesantes Alta Correlación entre la usabilidad percibida y la objetiva (mejor usab, mejor correlación) Pocas medidas individuales explican relativamente bien la Usabilidad y la (U,L,O) #Words/FE -> Usability (R 2 =.95) #HTMLfiles/FE -> Understandability (R 2 =.90) #Interfaces -> Perceived Usability (R 2 =.81) Resultados inesperados El número de figuras y tablas no influye en la Usabilidad percibida (aunque sí en la U) La completitud de los manuales tampoco parece influir (un componente sólo documentaba el 50%) La longitud de los nombres de clases, métodos, etc. no influye

Calidad de Componentes Software44 Resultados interesantes (2) Combinaciones de medidas (no necesariamente buenas individualmente) son mucho más explicativas! (ver pag. sig.) Los resultados coinciden con lo esperado, y con lo que dicta el sentido común: U -> calidad manuales (estructura: HTMLfiles/FE) + complejidad del diseño (métodos sin args) L -> calidad manuales (contenido:Kword/interface) + complejidad del diseño (Ratio metodos void) O -> complejidad del diseño (Ratio void methods + configurabilidad: Config fields/method)

Calidad de Componentes Software45 Resultados del análisis regresión Subcharac. Depends on Measures R2R2 Relationship Understand ability Ratio HTML Files per FE (Files) % Methods without Args (MwoA) 0,99996 U = 0,28 Files – 1,07 MwoA + 1,20 Learnability Kilo-Words per Interface (WpI) Ratio of Return Values per Methods (RVpM) 0,98891 L = 0,15 WpI – 3,36 RVpM + 2,64 Operability Ratio of Configurable Parameters per Methods (CPpM) Ratio of Return Values per Methods (RVpM) 0,99001 O = 2,64 FpM – 8,18 RVpM + 6,17

Calidad de Componentes Software46 Conclusiones DSBC Tecnología de componentes bastante madura Mercado existente de COTS Uso en la industria cada vez mayor Calidad para DSBC en pañales todavía Pocas medidas para componentes Pocas experiencias reales Conceptos y modelos de calidad no asentados todavía Necesidad de DSBC y Calidad (CBSQ) ¡Queda mucho trabajo por hacer!

Calidad de Componentes Software47 Gracias Preguntas: Antonio Vallecillo Manuel F. Bertoa