1 / 47

Experiencias en la medición de la calidad de los componentes software

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. Agenda. Conceptos sobre Componentes Software y Componentes COTS Desarrollo Software Basado en Componentes

karis
Download Presentation

Experiencias en la medición de la calidad de los componentes software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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 Calidad de Componentes Software

  3. Conceptos sobre Componentes Software

  4. 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 Software

  5. 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] Calidad de Componentes Software

  6. Desarrollo de Software Basado en Componentes (DSBC)

  7. 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 Software

  8. Desarrollo (simplificado) Basado en COTS Calidad de Componentes Software

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

  10. Mercado de Componentes COTS

  11. www.componentsource.com Calidad de Componentes Software

  12. www.componentsource.com Calidad de Componentes Software

  13. Selección de Componentes ¿Comprar o Construir?

  14. 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 Software

  15. La Fase de Aprovisionamiento ¿Cuál elegir? Calidad de Componentes Software

  16. Selección de Componentes • Necesitamos poder saber valorarobjetivamente 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 Software

  17. 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 Software

  18. Corrección Interoperabilidad Seguridad Conformidad Adecuación Tolerancia a Fallos Recuperabilidad Madurez Atractividad Aprendibilidad Operabilidad Comprensibilidad Adaptabilidad Instalabilidad Coexistencia Modelo de Calidad ISO/IEC 9126-1 Características Subcaracterísticas Funcionalidad Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad Comportamiento Temporal Utilización de Recursos Analizabilidad Cambiabilidad Estabilidad Facilidad de Prueba Reemplazabilidad Calidad de Componentes Software

  19. 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 Software

  20. 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 metodode medición, y una escala de medición • Medidas base, derivadas, e indicadores Calidad de Componentes Software

  21. 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 Software

  22. 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? Calidad de Componentes Software

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

  24. 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 Software

  25. Componentes: Información Disponible Calidad de Componentes Software

  26. La Usabilidad en DSBC

  27. 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 Software

  28. 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 Software

  29. 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 (Usabilitycompliance) Calidad de Componentes Software

  30. 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 (Usabilitycompliance) Calidad de Componentes Software

  31. Proceso de medición de la Usabilidad de Componentes Software

  32. 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 Software

  33. 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 Software

  34. Atributos de Usabilidad Calidad de Componentes Software

  35. Atributos de Usabilidad Calidad de Componentes Software

  36. Atributos de Usabilidad Calidad de Componentes Software

  37. Atributos de Usabilidad Calidad de Componentes Software

  38. Ejemplo: Calidad de los Manuales Calidad de Componentes Software

  39. Medidas de la Calidad de los Manuales Calidad de Componentes Software

  40. ¿? ¿Cómo se enlazan las subcaracterísticas con los atributos? Understandability Learnability Operability • 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 Calidad de Componentes Software

  41. Un propuesta teórica inicial para ser demostrada mediante experimentos Calidad de Componentes Software

  42. 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 Software

  43. 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 (R2=.95) • #HTMLfiles/FE -> Understandability (R2=.90) • #Interfaces -> Perceived Usability (R2=.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 Software

  44. 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 Software

  45. Resultados del análisis regresión Calidad de Componentes Software

  46. 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 Software

  47. Antonio Vallecillo av@lcc.uma.es Manuel F. Bertoa bertoa@lcc.uma.es Gracias Preguntas: Calidad de Componentes Software

More Related