Atributos de Calidad para
Componentes COTS
Manuel F. Bertoa y Antonio Vallecillo
Universidad de Málaga
{bertoa,[email protected]
Motivación

Desarrollo de software basado en
componentes




Componentes COTS
Búsqueda, evaluación, selección de componentes
Análisis de las aplicaciones construidas
Los esfuerzos hasta ahora se han
concentrado en los aspectos funcionales



¿aspectos extra-funcionales?
¿atributos de calidad?
¿métricas para medir los atributos?
Atributos de Calidad para Componentes COTS
2
Situación actual


No existe una clasificación consensuada de
los atributos de calidad
Los estándares de calidad actuales:




Son demasiado generales
No se adaptan a los requisitos específicos de los
componentes COTS
Están en proceso de revisión (e.g. SquaRE)
Los fabricantes de componentes software no
proporcionan información de este tipo
Atributos de Calidad para Componentes COTS
3
Objetivo de nuestro trabajo


Clasificar las características de calidad (desde
el punto de vista del DSBC)
Definir un modelo de calidad para
componentes COTS




Características
Atributos
Métricas
Apoyarnos en estándares internacionales
(ISO 9126, IEEE 830-1993)
Atributos de Calidad para Componentes COTS
4
Contenido
1. Características de calidad de
componentes (COTS)
2. Clasificación de características
3. Atributos de los Componentes


Medibles en tiempo de ejecución
Medibles durante el ciclo de vida
4. Documentación de los componentes
Atributos de Calidad para Componentes COTS
5
Características de calidad de
componentes

Terminología: basada en ISO 9126

Característica de Calidad

Atributo

Métrica

Modelo de Calidad
Atributos de Calidad para Componentes COTS
6
Características de calidad de
componentes

Característica de Calidad : un conjunto de
propiedades mediante las cuales se evalúa y
describe la calidad de un producto



Una característica se puede refinar en múltiples
niveles de sub-características
Atributo: una propiedad de calidad a la que
puede asignársele una métrica
Métrica: es un procedimiento que examina
un componente y produce un dato simple
Atributos de Calidad para Componentes COTS
7
Características de calidad de
componentes

Un Modelo de calidad es el conjunto de
características y sub-características, y
de cómo estas se relacionan entre sí.


El modelo de calidad a utilizar va a
depender del tipo de producto a evaluar.
Modelo de Calidad de ISO 9126
Atributos de Calidad para Componentes COTS
8
Modelo de Calidad ISO/IEC 9126-1
Características
•Funcionalidad
Idoneidad
Subcaracterísticas
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
Atributos de Calidad para Componentes COTS
Reemplazabilidad
9
Modelo de Calidad para
Componentes COTS
Características
•Funcionalidad
Idoneidad
Subcaracterísticas
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
Atributos de Calidad para Componentes COTS
Reemplazabilidad
10
Modelo de Calidad para
Componentes COTS
Características
•Funcionalidad
Idoneidad
Subcaracterísticas
Corrección
Interoperatividad
Seguridad
Conformidad
•Fiabilidad
Madurez
Recuperabilidad
•Usabilidad
Facilidad de aprendizaje
Operatividad
Facilidad de comprensión
•Eficiencia
Comportamiento Temporal
Utilización de Recursos
•Mantenibilidad
Cambiabilidad
Atributos de Calidad para Componentes COTS
Facilidad de Prueba
11
Modelo de Calidad para
Componentes
Caracteristicas
•Funcionalidad
Idoneidad
Subcaracteristicas
Compatibilidad
Corrección
Interoperatividad
Seguridad
Conformidad
•Fiabilidad
Madurez
Recuperabilidad
Complejidad
•Usabilidad
Facilidad de aprendizaje
Operatividad
Facilidad de comprensión
•Eficiencia
Comportamiento Temporal
Utilización de Recursos
•Mantenibilidad
Cambiabilidad
Atributos de Calidad para Componentes COTS
Facilidad de Prueba
12
Clasificaciones de las características
de calidad
Características de Calidad de Componentes.
Clasificaciones
1. Atendiendo a su ámbito de aplicación:

Características locales: tienen sentido para los
componentes aislados


P.e.: La "madurez''
Características globales: valoradas a nivel de la
arquitectura software.

P.e.: La "tolerancia a fallos"
Atributos de Calidad para Componentes COTS
14
Características de Calidad de Componentes.
Clasificaciones
2. Atendiendo al instante en el cual una
característica puede ser observada o medida

Observable en tiempo de ejecución


(p.e. el Rendimiento)
Observable durante el todo ciclo de vida del
producto software

(p.e. la Mantenibilidad)
Atributos de Calidad para Componentes COTS
15
Características de Calidad de Componentes.
Clasificaciones
3. Dependiendo de los usuarios a los que se
dirige el modelo

Los arquitectos software que necesitan evaluar
los componentes COTS

Los usuarios finales
Atributos de Calidad para Componentes COTS
16
Características de Calidad de Componentes.
Clasificaciones
4. Atendiendo al tipo de características que
observan del producto que miden


Métricas internas: miden los atributos internos
del producto final o de los productos intermedios
Métricas externas: realizan las mediciones en
función del comportamiento del sistema
Atributos de Calidad para Componentes COTS
17
Características observables en tiempo
de ejecución
Subcaracterísticas
•Funcionalidad
Corrección
Seguridad
•Fiabilidad
Recuperabilidad
•Eficiencia
Comportamiento Temporal
Utilización de Recursos
Atributos de Calidad para Componentes COTS
18
Características observables durante el
ciclo de vida
Subcaracterísticas
•Funcionalidad
Compatibilidad
Idoneidad
•Fiabilidad
•Usabilidad
Interoperatividad
Conformidad
Madurez
Complejidad
Facilidad de aprendizaje
Operatividad
Facilidad de comprensión
•Mantenibilidad
Cambiabilidad
Atributos de Calidad para Componentes COTS
Facilidad de Prueba
19
Atributos de los componentes
Atributos de los componentes

Tipos de métricas que utilizaremos

Atributos medibles en tiempo de
ejecución

Atributos medibles durante el ciclo de
vida
Atributos de Calidad para Componentes COTS
21
Atributos de los componentes

Métricas:

Presencial

Tiempo

Nivel

Ratio
Atributos de Calidad para Componentes COTS
22
Atributos de los componentes

Presencial


Esta métrica indica si un atributo está
presente en el componente o no

variable booleana

variable de tipo string
(false,””) (true,”implements interface Resource”)
Atributos de Calidad para Componentes COTS
23
Atributos de los componentes

Tiempo


Esta métrica se utiliza para medir intervalos
de tiempo.

variable de tipo entero (valor absoluto)

variable de tipo string (unidades)
(10, “ms”)
Atributos de Calidad para Componentes COTS
24
Atributos de los componentes

Nivel



Se utiliza para indicar un grado de
esfuerzo, habilidad, etc...
Cuantifica medidas subjetiva dentro de una
escala de valores.
Variable entera:
0 (Muy Bajo), 1 (Bajo), 2 (Medio), 3 (Alto), 4 (Muy Alto)
Atributos de Calidad para Componentes COTS
25
Atributos de los componentes

Ratio

Se utiliza para expresar un porcentaje
(entre 0 y 100)

variable de tipo entero
Atributos de Calidad para Componentes COTS
26
Atributos de los componentes
medibles en tiempo de ejecución
Atributos de los componentes
medibles en tiempo de ejecución
Funcionalidad
 Corrección



1. Precisión
Ratio
2. Exactitud computacional Ratio
Seguridad



3. Cifrado de Datos
4. Capacidad de Control
5. Capacidad para Auditar
Atributos de Calidad para Componentes COTS
Presencial
Presencial
Presencial
28
Atributos de los componentes
medibles en tiempo de ejecución
Fiabilidad
 Recuperabilidad




6. Secuencializable
7. Persistente
8. Transaccional
9. Tratamiento de Errores
Atributos de Calidad para Componentes COTS
Presencial
Presencial
Presencial
Presencial
29
Atributos de los componentes
medibles en tiempo de ejecución
Eficiencia
 Comportamiento Temporal




10. Tiempo de Respuesta
Tiempo
11. Capacidad en Emisión
Entero
12. Capacidad en Recepción Entero
Utilización de Recursos


13. Requisitos de Memoria
14. Utilización de Disco
Atributos de Calidad para Componentes COTS
Entero
Entero
30
Atributos de los componentes
medibles durante el ciclo de vida
Atributos de los componentes
medibles durante el ciclo de vida
Funcionalidad (1/2)
 Idoneidad




1. Cobertura
Ratio
2. Exceso
Ratio
3. Cobertura de Implementación Ratio
Interoperatividad

4. Compatibilidad de los Datos Presencial
Atributos de Calidad para Componentes COTS
32
Atributos de los componentes
medibles durante el ciclo de vida
Funcionalidad (2/2)
 Conformidad



5. Conformidad con Estándares
6. Certificaciones
Presencial
Presencial
Compatibilidad

7. Compatibilidad hacia atrás
Atributos de Calidad para Componentes COTS
Presencial
33
Atributos de los componentes
medibles durante el ciclo de vida
Fiabilidad
 Madurez



8. Volatilidad
9. Evulocionabilidad
10. Fallos Eliminados
Tiempo
Entero
Entero
Atributos de Calidad para Componentes COTS
34
Atributos de los componentes
medibles durante el ciclo de vida
Usabilidad (1/2)
 Facilidad de Aprendizaje




11.
12.
13.
14.
Tiempo para Usar Correctamente
Tiempo para Configurar Correct.
Periodo para Administrar Correct.
Periodo para Dominar
Atributos de Calidad para Componentes COTS
Tiempo
Tiempo
Tiempo
Tiempo
35
Atributos de los componentes
medibles durante el ciclo de vida
Usabilidad (2/2)
 Facilidad de Comprensión





15. Documentación de Usuario
Nivel
16. Sistema de Ayuda
Nivel
17. Documentación Computacional Presencial
18. Formación
Presencial
19. Cobertura de la Demostración Ratio
Atributos de Calidad para Componentes COTS
36
Atributos de los componentes
medibles durante el ciclo de vida
Usabilidad(3/3)
 Operatividad
 20. Esfuerzo para Operar
Nivel
 21. Esfuerzo para Configurar
Nivel
 22. Esfuerzo para Administrar
Nivel
 Complejidad
 23. Interfaces Ofrecidas
Entero
 24. Interfaces Externas Utilizadas Entero
 25. Índice de Complejidad
Índice
Atributos de Calidad para Componentes COTS
37
Atributos de los componentes
medibles durante el ciclo de vida
Mantenibilidad

Cambiabilidad




26. Modificabilidad
Entero
27. Índice de Modificabilidad
Índice
28. Capacidad de control de cambio Nivel
Facilidad de Prueba


29. Auto-test de Arranque
30. Batería de Pruebas
Atributos de Calidad para Componentes COTS
Presencial
Presencial
38
Discusión y Conclusiones

Modelo de Calidad para componentes COTS



Particularización del modelo general de calidad ISO
Identificación de un conjunto de atributos de
calidad para componentes COTS, junto con una
serie de métricas para evaluarlos.
Objetivo: la mejora y posible automatización de
los procesos de evaluación y selección de
componentes COTS
Atributos de Calidad para Componentes COTS
39
Discusión y Conclusiones


¿Cuáles son los
parámetros para medir
la calidad?
¿Quién facilita esta
información?


Definir y consensuar
modelos de calidad para
productos muy
específicos
Evaluación por
entidades
independientes
Hacia una “Ingeniería” del Software Basada en Componentes
Atributos de Calidad para Componentes COTS
40
Fin de la presentación
http://www.lcc.uma.es/~av/Publicaciones/02/ideas-97.pps
Descargar

Atributos de Calidad para Componentes COTS