medida de los factores de calidad

Anuncio
MEDIDA DE LOS FACTORES DE CALIDAD
Los factores que afectan a la calidad del software se pueden
categorizar en dos amplios grupos:
(1)Factores que se pueden medir directamente (por ejemplo,
defectos por punto de función).
(2)Factores que se pueden medir sólo indirectamente (por
ejemplo, facilidad de uso o de mantenimiento).
En todos los casos debe aparecer la medición. Debemos
comparar el software (documentos, programas, datos) con una
referencia y llegar a una conclusión sobre la calidad.
Cápsula 10. Medida de Factores de Calidad
1
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Cápsula 10. Medida de Factores de Calidad
2
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Es difícil, y en algunos casos imposible, desarrollar medidas
directas de los factores de calidad anteriores.
Por tanto, se definen y emplean un conjunto de criterios para
desarrollar expresiones para todos los factores, de acuerdo
con la siguiente relación:
QF = (c1 * m1) + (c2 * m2) + (c3 * m3) + … + (cn * mn)
Donde:
QF es un factor de calidad del software,
cn son coeficientes de regresión ( c1 + c2 + … + cn = 1.0 )
m, son los valores de los criterios que afectan al factor de
calidad.
Cápsula 10. Medida de Factores de Calidad
3
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
El problema es que muchas de los criterios definidas por
McCall pueden medirse solamente de manera subjetiva. Las
métricas pueden ir en forma de lista de comprobación que se
emplea para "puntuar" atributos específicos del software.
El esquema de puntuación propuesto por McCall es una
escala del 0 (bajo) al 10 (alto).
Se emplean las siguientes criterios en el esquema de
puntuación:
Cápsula 10. Medida de Factores de Calidad
4
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Facilidad de auditoría. La facilidad con la que se puede comprobar el cumplimiento de los estándares.
Exactitud. La exactitud de los cálculos y del control.
Estandarización de comunicaciones. El grado de empleo de estándares de interfaces y protocolos.
Compleción. El grado con que se ha logrado la implementación total de una función.
Complejidad. Valoración del grado de complejidad del componente / función.
Concisión. Lo compacto que es el programa en términos de líneas de código.
Consistencia. El empleo de un diseño uniforme y de técnicas de documentación a lo largo del proyecto de
desarrollo del software.
Estandarización de datos. El empleo de estructuras y tipos de datos estándares a lo largo del programa.
Tolerancia al error. El daño causado cuando un programa encuentra un error.
Eficiencia de ejecución. El rendimiento del funcionamiento de un programa.
Capacidad de expansión. El grado con que se pueden ampliar el diseño arquitectónico, de datos o
procedimental.
Cápsula 10. Medida de Factores de Calidad
5
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Generalidad. La amplitud de aplicación potencial de los componentes del programa.
Independencia del hardware. El grado con que se desacopla el software del hardware donde opera.
Instrumentación. El grado con que el programa vigila su propio funcionamiento e identifica los errores que
ocurren.
Modularidad. La independencia funcional de componentes de programa.
Operatividad. La facilidad de operación de un programa.
Seguridad. La disponibilidad de mecanismos que controlan o protegen los programas y los datos.
Autodocumentación. El grado en que el código fuente proporciona documentación significativa.
Simplicidad. El grado de facilidad con que se puede entender un programa.
Independencia del sistema software. El grado de independencia de programa respecto a las
características del lenguaje de programación no estándar, características del sistema operativo y otras
restricciones del entorno.
Trazabilidad. La capacidad de seguir una representación del diseño o un componente real del programa
hasta los requisitos.
Formación (Entrenamiento). El grado en que ayuda el software a manejar el sistema a los nuevos
usuarios.
Cápsula 10. Medida de Factores de Calidad
6
MEDIDA DE LOS FACTORES DE CALIDAD
Cápsula 10. Medida de Factores de Calidad
7
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Las relaciones entre los factores de calidad y los criterios son las siguientes:
A. Corrección = (C1 * CM) + (C2 * CS) + (C3 * TZ)
B. Fiabilidad = (C1 * EX) + (C2 * CX) + (C3 * CS) + (C4 * TE) + (C5 * MD) + (C6 * SM)
C. Eficiencia = (C1 * CN) + (C2 * EE) + (C3 * OP)
D. Seguridad (Integridad) = (C1 * FA) + (C2 * IN) + (C3 * SG)
E. Usabilidad (Facilidad de uso) = (C1 * OP) + (C2 * FM)
F. Facilidad de mantenimiento = (C1 * CN) + (C2 * CS) + (C3 * IN) + (C4 * MD) + (C5 * AD) + (C6 * SM)
G. Flexibilidad =
(C1 * CX) + (C2 * CN) + (C3 * CS) + (C4 * CE) + (C5 * GE) + (C6 * MD) + (C7 * AD) + (C8 * SM)
H. Facilidad de Pruebas = (C1 * FA) + (C2 * CX) + (C3 * IN) + (C4 * MD) + (C5 * AD) + (C6 * SM)
I. Portabilidad = (C1 * GE) + (C2 * IH) + (C3 * MD) + (C4 * AD) + (C5 * SM)
J. Reusabilidad = (C1 * GE) + (C2 * IH) + (C3 * MD) + (C4 * AD) + (C5 * IS)
K. Interoperatividad = (C1 * EC) + (C2 * ED) + (C3 * GE) + (C4 * MD)
Cápsula 10. Medida de Factores de Calidad
8
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Criterio: Generalidad (GE--Generality)
Métrica 1. GE.1: UR Unit Referencing
Métrica 2. GE.2: UI Unit Implementation
Criterio: Independencia de la Aplicación (AP--Application Independence)
Métrica 1. AP.3: AS Architecture Standardization
Criterio: Modularidad (MO--Modularity)
Métrica 1. MO.1: MI Modular Implementation
Criterio: Auto Descriptividad (SD--Self-Descriptiveness)
Métrica 1. SD.2: EC Effectiveness of Comments
Tomadas del Reporte Técnico de la Federal Aviation Administration Technical Center.
(página 246 del archivo digital).
Indican cuáles son las métricas a tener en cuenta para valorar los atributos que conforman la reusabilidad.
Cápsula 10. Medida de Factores de Calidad
9
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
A modo de guía se muestran las especificaciones de 2 métricas
asociadas a 2 criterios diferentes:
Criterio: Independencia de la Aplicación
Métrica 1. AP.3: Estandarización de la Arquitectura (AS)
AS 
cantidad de líneas de código no-HOL en el módulo
cantidad total de líneas de código fuente del módulo
Para cada módulo de un CSCI (Computer Software Configuration Item), responda la
pregunta:
REGLA:
"Cuántas líneas de código no-HOL (High Order Language) hay en el módulo?”
(ejemplo de no-HOL es el lenguaje ensamblador).
"Divida la cantidad de líneas de código no-HOL entre la cantidad total de líneas de
código." (Bowen, Wigle y Tsai 1985).
RANGO:
Esta métrica genera un número real entre cero y uno.
INTERPRETACIÓN:
Los valores “útiles” para este atributo son los que se acerquen más a cero.
Cápsula 10. Medida de Factores de Calidad
10
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Criterio: Independencia de la Aplicación
Métrica 1. AP.3: Estandarización de la Arquitectura (AS)
La razón de fijarse en lenguaje que no sea HOL es que esos lenguajes son
dependientes de la máquina y en la medida que haya una menor cantidad de
esas líneas, esto aumenta la valoración del atributo y por consiguiente podría
incidir en un aumento de la reusabilidad.
Aporte: para ratios como este cuyos valores “buenos” para la reusabilidad
son los que se acercan a cero, habría necesidad de efectuar un cálculo como
este: ASr = 1 – AS. De modo que cuando el valor de AS se acerque más a
cero, el valor de ASr será más cercano a 1 de modo que todas las métricas
se puedan llevar a valores con sentido positivo (o creciente) y se puedan
llevar todas a una expresión general para cuantificar la reusabilidad.
Cápsula 10. Medida de Factores de Calidad
11
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Criterio: Auto Descriptividad
Métrica 1. SD.2: Efectividad de los Comentarios (EC)
EC 
cantidad de módulos con comentarios que cumplen estándar
cantidad de módulos evaluados
Para cada módulo de un CSCI, responda la pregunta:
REGLA:
"¿Tiene comentario de encabezado que contenga toda la información acorde con
el estándar establecido?” (Bowen, Wigle, and Tsai 1985).
Divida el total de respuestas afirmativas entre el número de módulos que se
estén evaluando.
RANGO:
Esta métrica genera un número real entre cero y uno.
INTERPRETACIÓN:
Los valores “útiles” para este atributo son los que se acerquen más a 1.
Cápsula 10. Medida de Factores de Calidad
12
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Criterio: Auto Descriptividad
Métrica 1. SD.2: Efectividad de los Comentarios (EC)
La razón de fijarse en que los comentarios cumplan con un
estándar establecido es que podrían facilitar la comprensión de lo
que hace el módulo. Esto aumenta la valoración del atributo ya que
si se puede comprender, se puede evaluar con menos dificultad si
se podría re-usar, y por consiguiente podría incidir en un aumento
de la reusabilidad.
Aporte: para ratios como este cuyos valores “buenos” para la
reusabilidad son los que se acercan a 1, no hay necesidad de
calcular una expresión adicional como se hizo con la métrica
anterior.
Cápsula 10. Medida de Factores de Calidad
13
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Cuantificación de la Reusabilidad. Aún teniendo en cuenta lo
expresado, ahora se plantea una primera aproximación para calcular
un valor (o probabilidad) para la reusabilidad, a partir de las 2
métricas revisadas:
REUSABILIDAD = (C1 * ASr) + (C2 * EC).
De esta manera el rango de valores resultantes está entre 0 y 1.
Ci son coeficientes de regresión ( C1 + C2 = 1.0 ) que representan la
ponderación o el “peso” que se le podría asignar a cada métrica si se
cree que alguna de ellas podría tener una mayor incidencia en la
cuantificación de la reusabilidad.
De no ser así, en este ejemplo C1 = C2 = 0.5.
Cápsula 10. Medida de Factores de Calidad
14
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. Modelo de McCall.
Generalizando, se muestra una expresión que podría cuantificar una
valoración para “Reusabilidad”:
Por lo tanto, se muestran los símbolos originales, ya que no se tiene
forma de saber cuáles de ellas tienen “valores buenos” cerca de cero.
REUSABILIDAD =
(C1 * UR) + (C2 * UI) + (C3 * ASr) + (C4 * MI) + (C5 * EC)
Ci son coeficientes de regresión ( C1 + C2 + C3 + C4 + C5 = 1.0 )
Si la ponderación es equitativa Ci = 0.2
Cápsula 10. Medida de Factores de Calidad
15
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. REBOOT (Reuse Based on Object-Oriented Techniques) - Jeffrey Poulin
Muestra las siguientes relaciones entre Factores y sus correspondientes
Criterios y Métricas de la siguiente manera:
Cápsula 10. Medida de Factores de Calidad
16
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. REBOOT (Reuse Based on Object-Oriented Techniques) - Jeffrey Poulin
Muestra las siguientes relaciones entre Factores y sus correspondientes
Criterios y Métricas de la siguiente manera:
Cápsula 10. Medida de Factores de Calidad
17
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. REBOOT (Reuse Based on Object-Oriented Techniques) - Jeffrey Poulin
Aporte: A continuación se presenta un ejemplo de un posible esquema de
“tabla de normalización” propuesta para una métrica:
Clasificación del Valor obtenido
de la Métrica
Calificación a asignar
para “normalizar”
Valor Métrica < A
0.99
A ≤ Valor Métrica < B
0.90
B ≤ Valor Métrica < C
0.80
C ≤ Valor Métrica < D
0.70
D ≤ Valor Métrica < E
0.60
E ≤ Valor Métrica < F
0.50
F ≤ Valor Métrica < G
0.40
G ≤ Valor Métrica < H
0.30
H ≤ Valor Métrica < I
0.20
I ≤ Valor Métrica < J
0.10
J ≤ Valor Métrica
0.01
Cápsula 10. Medida de Factores de Calidad
18
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. REBOOT (Reuse Based on Object-Oriented Techniques) - Jeffrey Poulin
Por ejemplo, la métrica “Complejidad Ciclomática”
Valor V(G) bajo  Complejidad Ciclomática menor
Pero sus valores no están entre 0 y 1 (Excede a 1)
En esos casos se sugiere el manejo de tabla de “normalización” para
llevarlo a escala de valores entre 0 y 1.
Clasificación del Valor obtenido
de la Métrica
Calificación a asignar
para “normalizar”
Complejidad ciclomática <= 10
0.99
10 < Complejidad ciclomática <= 20
0.75
20 < Complejidad ciclomática <= 50
0.40
Complejidad ciclomática > 50
0.10
Cápsula 10. Medida de Factores de Calidad
19
MEDIDA DE LOS FACTORES DE CALIDAD
Ejemplo. REBOOT (Reuse Based on Object-Oriented Techniques) - Jeffrey Poulin
Finalmente, se podría plantear la siguiente expresión (una vez se han
“normalizado” todas las métricas):
Reusabilidad = (C1 * MO) + (C2 * IE) + (C3 * CCX) + (C4 * CM)
Ci son coeficientes de regresión (C1 +C2 + C3 + C4 = 1.0 )
Donde:
C1 * MO = C1 * MMO(normalizada)
C2 * IE
= (0.5 C2 * MIE1r) + (0.5 C2 * MIE2r)
C3 * CCX = C3 * CC(normalizada)
C4 * CM =
( (1/3)C4 * Fan-in(normalizada) ) +
( (1/3)C4 * Fan-out(normalizada) ) +
( (1/3)C4 * CC(normalizada) )
---------------- FIN DEL DOCUMENTO
Cápsula 10. Medida de Factores de Calidad
20
Descargar