Sei sulla pagina 1di 37

1

Mtricas Tcnicas del


Software
Captulo 19
Roger, Pressman
Ingeniera de Software
Quinta Edicin
Motivacin
A diferencia de otras disciplinas, la ingeniera del software no est
basada en leyes cuantitativas bsicas de la Fsica.
Se intenta obtener un conjunto de medidas indirectas que dan lugar
a mtricas que proporcionan una indicacin de la calidad de algn
tipo de representacin del software.
Segn Fenton [FEN91]:
La medicin es el proceso por el que se asignan nmeros o smbolos a
los atributos de las entidades en el mundo real, de tal manera que las
definan de acuerdo con unas reglas claramente definidas.
En las ciencias fsicas, medicina y, ms recientemente, en las ciencias
sociales, somos ahora capaces de medir atributos que previamente
pensbamos que no eran medibles...
Por supuesto, tales mediciones no estn tan refinadas como las de las
ciencias fsicas..., pero existen [y se toman importantes decisiones
basadas en ellas].
Sentimos que la obligacin de intentar medir lo no medible para
mejorar nuestra comprensin de entidades particulares es tan poderosa
en la ingeniera del software como en cualquier disciplina.
2
Definiciones
Medida: indicacin cuantitativa de la extensin,
la cantidad, la dimensin o el tamao de algn
atributo de producto o proceso. Tomado en un
punto del tiempo o lugar.
Mtrica: medida cuantitativa del grado en que
un sistema, componente o proceso posee un
atributo determinado. Reune y relaciona
medidas en varios puntos (promedio, mediana,
tasa, razn)
19.1 Calidad de Software
En la bsqueda de calidad de software se
enfatiza tres puntos importantes:
1. Los requisitos del software son la base de las
medidas de la calidad. La falta de concordancia
con los requisitos es una falta de calidad.
2. Unos estndares especficos definen un conjunto
de criterios de desarrollo que guan la manera en
que se hace la ingeniera del software. Si no se
siguen los criterios, habr seguramente poca
calidad.
3. Existe un conjunto de requisitos implcitos que a
menudo no se nombran (por ejemplo, facilidad de
mantenimiento). Si el software cumple con sus
requisitos explcitos pero falla en los implcitos, la
calidad del software no ser fiable.
3
19.1.1 Factores de calidad de McCall
McCall y sus colegas proponen, en 1977,
una serie de factores de calidad de
software:
Se concentran en tres aspectos:
Caractersticas Operativas
Capacidad de Cambios
Adaptabilidad a nuevos entornos
Factores de Calidad de McCall
Operacin del Producto Operacin del Producto
Revisin del producto
Transicin del Producto
Facilidad de mantenimiento
Flexibilidad
Facilidad de Prueba
Portabilidad
Reutilizacin
Interoperatividad
Correccin
Fiabilidad
Usabilidad
Integridad
Eficiencia
4
Factores de Calidad de McCall
Se desarrollan medidas indirectas como
sigue:
Fq = c
1
m
1
+ c
2
m
2
+ + c
n
m
n
Fq: factor; m mtricas; c: cohef. correlacin
La relacin entre los factores de calidad y
las mtricas se muestra en la tabla
siguiente.
Factor de
Calidad
Mtrica de
Calidad
5
19.1.2 FURPS (Propuestas por Hewlett
Packard en 1987)
Functionality (Funcionalidad). Valora el conjunto de
capacidades del programa, la generalidad de las
funciones y seguridad global.
Usability (Facilidad de uso). Valora aspectos como:
esttica, consistencia y documentacin general.
Reliability (Fiabilidad). Valora: fallos (frecuencia,
gravedad y recuperacin), exactitud de salidas.
Performance (Rendimiento). Tiempo de procesamiento y
respuesta, consumo de recursos, efectividad y eficacia.
Support (Soporte). Facilidad de mantenimiento,
compatibilidad y facilidad de: prueba, instalacin y
localizacin de problemas.
9.1.3 Factores de Calidad ISO 9126
Este estndar identifica seis atributos de
calidad:
Funcionalidad. Satisface necesidades.
Idoneidad, correccin, interoperabilidad, conformidad
y seguridad.
Confiabilidad. Cantidad de tiempo disponible.
Madurez, tolerancia a fallos, facilidad de
recuperacin.
Usabilidad. Grado de facilidad de uso.
Facilidad de: comprensin, aprendizaje y
operatividad.
6
19.1.3 Factores de Calidad ISO 9126
Eficiencia. Grado en que optimiza los recursos
de cmputo.
Tiempo de uso y recursos utilizados.
Facilidad de mantenimiento. Que tan fcil
corregir errores.
Estabilidad, facilidad de: anlisis, cambios y prueba.
Portabilidad. Facilidad de cambiar de entorno.
Facilidad de: instalacin, ajuste y adaptacin al
cambio.
19.2 Una estructura para las mtricas
tcnicas del software
Para conseguir dar valores cuantitativos a las
mtricas, es necesario establecer un modelo de
medicin.
Segn Fenton
Desarrollar una mtrica nica sera semejante a la
bsqueda imposible del santo grial.
Segn Shari Pfleeger
Lo mismo que las medidas de temperatura
comienzan con un ndice de referencia y
evolucionan por sofisticadas escala, herramientas y
tcnicas, las medidas del software estn
evolucionando.
7
19.2.1 El reto de las mtricas tcnicas
Segn Fenton:
A medida que crece el nmero de mediciones
de distintos atributos, se tienen que satisfacer
objetivos incompatibles. Lo que es contrario a
la teora de la representacin de la medicin.
Hay pocos intentos cientficos sobre
medicinSe menciona a menudo la
imposibilidad de llevar a cabo experimientos.
Sin embargo, la medicin es necesaria si
se desea conseguir calidad.
19.2.2. Principios de medicin
Las mtricas tcnicas:
ayudan a la evaluacin de los modelos de
anlisis y diseo,
proporcionan una indicacin de la complejidad
de los diseos procedimentales y del cdigo
fuente y
ayudan en el diseo de pruebas ms efectivas.
8
Roche [ROC94] propone un proceso de medicin se
puede caracterizar por cinco actividades:
1. Formulacin:
obtencin de medidas y mtricas del software apropiadas para la
representacin del software.
2. Coleccin:
mecanismo empleado para acumular datos necesarios para obtener
las mtricas formuladas.
3. Anlisis:
clculo de las mtricas y aplicacin de herramientas matemticas.
4. Interpretacin:
evaluacin de resultados de mtricas en un esfuerzo por conseguir
una visin interna de la calidad de la representacin.
5. Realimentacin (feedback):
recomendaciones obtenidas de la interpretacin de mtricas tcnicas
transmitidas al equipo que construye el software.
Principios asociados con la mtricas
tcnicas
Los objetivos de la medicin debern
establecerse antes de empezar la recogida de
datos.
Todas las tcnicas sobre mtricas deberan
definirse sin ambigedades.
Las mtricas deberan obtenerse basndose en
una teora vlida para el dominio de aplicacin
Hay que hacer las mtricas a medida para
acomodar mejor los productos y procesos
especficos.
9
Principios asociados con las actividades
de medicin
Siempre que sea posible, la recogida de
datos y su anlisis deben automatizarse.
Se deberan aplicar tcnicas estadsticas
validas para establecer las relaciones
entre los atributos internos del producto y
las caractersticas externas de la calidad
Se deberan establecer una directrices de
interpretacin y recomendaciones para
todas las mtricas.
Consideraciones
El xito de una actividad de medicin esta
ligada al soporte de gestin.
Se deben considerar los fondos, la
formacin y la promocin si se quiere
establecer y mantener un programa de
medicin tcnica.
10
19.2.3. Caractersticas fundamentales de
las mtricas del software (Ejiogu)
Simples y fciles de calcular.
Deberan ser relativamente fcil aprender a obtener la
mtrica y su clculo no debera demandar un esfuerzo o
cantidad de tiempo inusuales.
Emprica e intuitivamente persuasivas.
Satisfacer las nociones intuitivas del ingeniero sobre el
atributo del producto en cuestin
Consistentes y objetivas.
Deberan siempre producir resultados sin ambigedad. Un
tercer equipo debera ser capaz de obtener el mismo valor de
mtrica usando la misma informacin del software.
19.2.3. Caractersticas fundamentales de
las mtricas del software (Ejiogu)
Consistentes en el empleo de unidades y tamaos.
El clculo matemtico de la mtrica debera emplear medidas
que eviten extraas combinaciones de unidades.
Independientes del lenguaje de programacin.
Deberan basarse en el modelo de anlisis, diseo o en la
estructura del programa.
Eficaces en el mecanismo para la realimentacin de la
calidad.
Proporcionar al desarrollador de software informacin que le
lleve a un producto final de mayor calidad.
11
19.3 Mtricas del modelo de anlisis
En esta fase las mtricas tcnicas
proporcionan una visin interna a la
calidad del modelo de anlisis.
Estas mtricas examinan el modelo de
anlisis con la intencin de predecir el
tamao del sistema resultante. Es
probable que el tamao y la complejidad
del diseo estn directamente
relacionadas.
Metodologa de Puntos de
Funcin
The International Function Point
Users Group
Release 4.1
ngeles Sumano Lpez
12
Clculo de Puntos de Funcin
1 Calcular Puntos de funcin sin ajustar
Establecer los 5 indicadores y su dificultad
2 Establecer Modificadores con su grado
de influencia
3 Aplicar frmula
4 Interpretar
Indicadores de datos en Puntos de
Funcin
Archivos Lgicos Internos (ALI).
Grupo identificable de datos relacionados
lgicamente o de informacin de control que
pertenece al usuario
es mantenido dentro de las fronteras del
sistema.
13
Indicadores de datos en Puntos de
Funcin
Archivo de Interfaz Externa (AIE).
Grupo identificable de datos relacionados
lgicamente o de informacin de control que
pertenece al usuario,
es referido por la aplicacin, pero mantenido
dentro de las fronteras de otra aplicacin.
Indicadores de transacciones en Puntos
de Funcin
Entradas Externas (EE).
Es un proceso elemental que procesa datos o
informacin de control que viene de fuera de la
frontera de la aplicacin para mantener uno o
ms ALI y/o
alterar el comportamiento del sistema.
14
Indicadores de transacciones en Puntos
de Funcin
Salidas Externas (SE).
Es un proceso elemental lgico que debe
contener al menos una frmula matemtica,
clculo o
crear datos derivados que enva datos o
informacin de control fuera de la frontera de la
aplicacin.
Indicadores de transacciones en Puntos
de Funcin
Consultas Externas (CE).
Es un proceso elemental que enva datos o
informacin de control fuera de la frontera de la
aplicacin.
15
Asignacin de nivel de dificultad para los Archivos
Lgicos Internos o Archivos de Interfaz Externos
1 -19 TDE 20 - 50 TDE 51 + TDE
0 1 TRE simple simple mediano
2 5 TRE simple mediano complejo
6 + TRE mediano complejo complejo
Clculo de Puntos de Funcin sin ajustar
Una vez sealado identificadores, su
complejidad y modificadores se asignan
pesos que ya estn dados por el mtodo.
Puntos de Funcin sin ajustar.
Indicador simple mediano complejo SUMA
ALI _ * 7 _ * 10 _ * 15 __
AIE _ * 5 _ * 7 _ * 10 __
EE _ * 3 _ * 4 _ * 6 __
SE _ * 4 _ * 5 _ * 7 __
CE _ * 3 _ * 4 _ * 6 __
T = ___
16
Estimadores en Puntos de Funcin
1. Comunicacin de datos.
Describe el grado con el cual la aplicacin se
comunica directamente con el procesador.
2. Procesamiento Distribuido de Datos.
Mide el grado con el que la aplicacin transfiere datos
entre componentes de la aplicacin
3. Rendimiento.
El rendimiento ser crtico y tendr influencia sobre
cmo disear, desarrollar o implementar.
Estimadores en Puntos de Funcin
4. Configuracin Altamente Usada.
El software ser implementado en un entorno
existente y fuertemente utilizado.
5. Promedio de Transacciones.
Un alto promedio de transacciones
influenciar al diseo, desarrollo, implantacin
y soporte.
6. Entrada de Datos en Lnea.
El software requerir entradas interactivas.
17
Estimadores en Puntos de Funcin
7. Eficiencia para el Usuario Final.
Las funciones en lnea provedas tendrn que
enfatizar un diseo para la eficiencia del
usuario final.
8. Actualizacin en Lnea.
Se necesitar la actualizacin de archivos
maestros en forma interactiva
9. Procesamiento Complejo.
Describe el grado en el cual el procesamiento
lgico influencia el desarrollo de la aplicacin.
Estimadores en Puntos de Funcin
10.Reusabilidad.
Describe el grado en el cual la aplicacin y su
cdigo han sido especficamente diseados,
desarrollados y soportados para que se
puedan reutilizar.
11.Facilidad de Instalacin.
Describe el modo en que la conversin desde
medios ambientes previos influenciarn el
desarrollo de la aplicacin.
18
Estimadores en Puntos de Funcin
12.Facilidad de Operacin.
Describe el grado en el cual las aplicaciones
atienden los aspectos operacionales, tales
como:
salvar y recuperar datos y recuperacin de
procesos.
La facilidad de operacin es una caracterstica
de la aplicacin. Minimizando la necesidad de
actividades manuales, tales como:
montaje de cintas, manejo de papel e intervencin
manual directa en el lugar.
Estimadores en Puntos de Funcin
13.Varios Sitios.
Describe el grado en el cual la aplicacin ser
diseada, desarrollada e implantada en
mltiples localizaciones y organizaciones de
usuarios
14.Facilidad de Cambios.
Describe el grado en el cual la aplicacin ha
sido desarrollada para la modificacin fcil del
procesamiento lgico o las estructuras de
datos.
19
Estimadores en Puntos de funcin
A cada estimador se le asigna un grado
de influencia, la cual puede ser:
0=sin influencia,
1=accidental,
2=moderado,
3=medio,
4=significativo,
5=esencial.
Ya calificados los estimadores, se suman
en la variable M.
Asignacin del grado de influencia para
Actualizacin en lnea
Grado Razn
0 No hay actualizacin en lnea
1 Se incluye la actualizacin en lnea de uno a tres archivos de control. El
volumen de actualizacin es bajo y la recuperacin es fcil.
2 Se incluye la actualizacin en lnea de cuatro o ms archivos de control. El
volumen de actualizacin es bajo y la recuperacin es fcil.
3 Se incluye la actualizacin en lnea de la mayora de los archivos lgicos
internos.
4 Adems, la proteccin contra prdida de datos es esencial y tendr que
ser especialmente diseada y programada en el sistema.
5 Adems, se consideran dentro de los procesos de recuperacin
volmenes altos. Se incluyen procesos de recuperacin altamente
automatizados con intervencin mnima del operador.
20
Aplicacin de frmula de PF
pf = T * (0.65 + 0.01 * M)
Posible interpretacin sobre el proyecto:
Complejidad
sencilla hasta 100 puntos
media 101 a 300 puntos
difcil de 301 a 500 puntos
Costo de $50 a $100 dlares EEUU por punto
de funcin
Considerando datos histricos de productividad
por punto de funcin, se puede calcular:
Tiempo requerido
Personas requeridas
Conclusin sobre Puntos de Funcin
El mtodo de Puntos de Funcin sirve
para:
detallar los requerimientos no funcionales o
restricciones del sistema
estimar el costo, tiempo y personal requerido
para el desarrollo de un sistema
Es un mtodo cuantitativo que apoya a la
estimacin de esfuerzo
21
19.3.2. La Mtrica BANG
Se emplea para desarrollar una indicacin del
tamao del software a implementar como
consecuencia del modelo de anlisis.
Desarrollada por DeMarco.
Es una indicacin independiente de la
implementacin del tamao del sistema.
El desarrollador de software debe evaluar un
conjunto de primitivas (elementos del modelo de
anlisis que no se subdividen ms en este
nivel).
Mtrica BANG
Primitivas
Primitivas funcionales (PFu). Transformaciones (burbujas)
que aparecen en el nivel inferior de un diagrama de flujo de
datos
Elementos de datos (ED). Los atributos de un objeto de
datos,
los elementos de datos son datos no compuestos y aparecen en
el diccionario de datos.
Objetos (OB). Objetos de datos (Ej. Entidad)
Relaciones (RE). Las conexiones entre objetos de datos
Estados (ES) .El nmero de estados observables para el
usuario en el diagrama de transicin de estados
Transiciones (TR). El nmero de transiciones de estado
en el diagrama de transicin de estados.
22
Mtrica BANG
Adems se determinan las cuentas adicionales para:
Primitivas modificadas de funcin manual (PMFu). Opciones que
caen fuera del lmite del sistema y que deben modificarse para
acomodarse al nuevo sistema.
Elementos de datos de entrada (EDE). Aquellos elementos de
datos que se introducen en el sistema.
Elementos de datos de salida (EDS). Aquellos elementos de datos
que se sacan del sistema.
Elementos de datos retenidos (EDR). Aquellos elementos de datos
que son retenidos (almacenados) por el sistema.
Muestras (tokens) de datos (TCJ). Las muestras de datos
(elementos de datos que no se subdividen dentro de una primitiva
funcional que existen en el lmite de la i-sima primitiva funcional
(evaluada para cada primitiva).
Conexiones de relacin (REJ). Las relaciones que conectan el i-
simo objeto en el modelo de datos con otros objeto.
Mtrica BANG
DeMarco sugiere que la mayora del software se
puede asignar a uno de los dos dominios
siguientes:
Las aplicaciones de dominio de funcin
encontradas comnmente en aplicaciones de ingeniera y
cientficas.
hacen hincapi en la transformacin de datos y no poseen
generalmente estructuras de datos complejas.
Las aplicaciones de dominio de datos
encontradas comnmente en aplicaciones de sistemas de
informacin.
tienden a tener modelos de dato complejos.
23
la Mtrica BANG
Usando la relacin RE/PFu:
RE / PFu < 0.7 implica una aplicacin de dominio
de funcional
0.8 < RE / PFu < 1.4 indica una aplicacin hbrida
RE / PFu > 1.5 implica una aplicacin de dominio
de datos
DeMarco sugiere que se emplee una cuenta
media de muestra (token) por primitiva
TC
avg
= TC
i
/PFu
para controlar la uniformidad de la particin a
travs de muchos diferentes modelos dentro del
dominio de una aplicacin.
la Mtrica BANG
Para calcular la mtrica Bang para
aplicaciones de dominio de funcin se
emplea el siguiente algoritmo:
Bang = 0
Mientras haya primitivas funcionales hacer:
Calcular cuenta-token de la primitiva i
Calcular el incremento PFu corregido (IPFuC)
Asignar la primitiva a una clase
Evaluar la clase y anotar el peso valorado
Bang = Bang + valoracin IPFuC
Fin Mientras
24
la Mtrica BANG
La cuenta-token se calcula
determinando cuntos smbolos
lxicos (tokens) diferentes son
visibles dentro de la primitiva.
Es posible que el nmero de
smbolos lxicos (tokens) y el
nmero de elementos de datos sea
diferente, si los elementos de datos
pueden moverse desde la entrada a
la salida sin ninguna transformacin
interna.
La IPFuC corregida se determina
de una tabla publicada por
DeMarco.
Tci IPFuC
2 1.0
5 5.8
10 16.6
15 29.3
20 43.2
la Mtrica BANG
Para aplicaciones de dominio de datos, se
calcula la mtrica Bang con el algoritmo:
Bang = 0
Mientras haya objetos de datos
Calcular la cuenta de relaciones del objeto i
Calcular el incremento OB corregido (IOBC)
Bang = Bang + IOBC
Fin Mientras
25
la Mtrica BANG
El IOBC corregido se determina
tambin de una tabla publicada
por DeMarco.
Rei IOBC
1 1
3 4
6 9
la Mtrica BANG
Una vez que se ha calculado la mtrica
Bang, se puede emplear el historial
anterior para asociarla al esfuerzo y
tamao.
Se sugiere que cada empresa construya
sus propias versiones de las tablas IPFuC
e IOBC para calibrar la informacin del
proyecto completo.
26
19.3.3 Calidad de la especificacin
Propuesta por Alan Davis en 1993
Corresponde a la calidad de la
especificacin de requerimientos.
Incluyen las caractersticas siguientes:
Especificidad, complecin, correccin,
comprensin, verificacin, consistencia, logro,
concisin, trazabilidad, modificacin, exactitud,
reutilizacin.
Cualitativas,
pero podran algunas podran medirse.
Calidad de la especificacin (Ejemplo)
Sea
Nr = Nf +Nnf, donde
Nr = Nmero de requerimientos
Nf = Nmero de requerimientos funcionales
Nnf = Nmero de requerimientos NO funcionales
Especificidad (ausencia de ambigedad)
Q1 = Nui / Nr, donde
Nui = nmero de requerimientos donde todos los
revisores tuvieron interpretaciones idnticas.
27
19.4 Mtricas del Modelo de Diseo
Proporcionan al diseador una mejor
visin interna
Ayudan a que el diseo evolucione a un
nivel superior de calidad
Se dividen en:
Mtricas de diseo arquitectnico
Mtricas de Diseo a nivel de componente
19.4.1 Mtricas de diseo arquitectnico
Mtricas de complejidad propuestas por Card y Glass en
1990
Complejidad estructural
S(i) = f
2
out
(i), donde
f
out
(i) = expansin del mdulo i (nmero de mdulos
inmediatamente subordinados al mdulo i)
Complejidad de Datos. Sobre la interfaz interna del
mdulo.
D(i) = v(i) / [f
out
(i) + 1], donde
v(i) es el nmero de variables que entran o salen del mdulo.
Complejidad Total del Sistema.
CS =
i
(S(i) + D(i))
Complejidad Relativa del Sistema
CRS = Promedio((S(i) +D(i)))
A medida que crecen los valores de complejidad, crece la
complejidad arquitectnica del sistema. CRS>26.5, malo
28
Suponga el siguiente DE de un cajero automtico
Calcular la complejidad total del sistema
Mdulo Expansin
del
mdulo
Complejidad
Estructural
Complejidad
de Datos
Mdulo Ejecutivo
ATM
4 16 1.6
Introducir tarjetas 0 0 6
Identificar NIP 0 0 3
Solicitar Saldo 1 1 2
Retirar Efectivo 2 4 3
Calcular Entrega 1 1 2.5
TOTALES 22 17.9
Complejidad total
del sistema= 39.9
Complejidad
Relativa = 6.65
29
Mtricas de diseo arquitectnico
Henry y Kafura proponen en 1981 la mtrica de
complejidad de expansin concentracin, que
considera las estructuras de datos que recoge
(concentran) o actualizan (expansin).
MHK = longitud(i) x [f
in
(i) + f
out
(i)]
2
, donde
longitud(i) = nmero de sentencias en lenguaje de programacin
En 1991, Fenton propone medidas de morfologa
simples basadas en la estructura de mdulos jerrquicos
del sistema:
Tamao = n + a (nmero de nodos + nmero de aristas)
Profundidad
Anchura
Relacin arco-nodo, r = a/n
19.4.2 Mtricas de Diseo a nivel
componentes
Se centran en las caractersticas internas de las
componentes del software e incluyen las
medidas de las 3C
Cohesion (Cohesin)
Coupling (Acoplamiento)
Complexity (Complejidad, en el captulo 17)
Pueden aplicarse antes o despus de tener el
cdigo.
30
Mtrica de Cohesin
Para medir la cohesin se puede usar el trabajo
de Bieman y Ott, el cual define varios
conceptos:
nmero de elementos (tokens),
rebanada de datos (data slice),
adhesivo (glue) y
superadhesivo (superglue).
Con ellas se calcula la cohesin funcional fuerte
CFF = nmero de superadhesivos / nmero de
elementos
Cohesin Funcional Dbil, se calcula as:
CFD = nmero de adhesivos / nmero de
elementos
Mientras ms cercano sean CFF CFD a 1,
mayor ser la cohesin del mdulo.
Mtrica de Cohesin
Nmero de elementos. Son todas las referencias a
variables y constantes que se utilizan en el mdulo. Si una
variable aparece varias veces, cada una se toma como un
elemento.
Para distinguirlos se les puede agregar como subndice un nmero
que dice si es la primera aparicin, la segunda u otra.
Rebanada de datos. Es el conjunto de variables y
constantes que afectan el valor de una variable dentro del
mdulo. Se forma como sigue:
a) se comienza por una variable de resultado (ya sea regreso de una
funcin o variable de salida), usualmente al final, donde guarda su
valor definitivo y se agrega a la rebanada, incluyendo el subndice
que le toc al revisar los elementos.
b) Se analiza el lado derecho de la asignacin y se anotan las variables
y constantes que intervienen en el clculo de su valor.
c) Para cada elemento de la rebanada, se revisan las lneas anteriores
disminuyendo una a una, repitiendo el proceso del paso b.
31
Mtrica Cohesin
Adhesivo. Se le llamar adhesivo a un
elemento que aparece en dos o ms
rebanadas.
Superadhesivo. Se denomina
superadhesivo a un elemento que est en
todas las rebanadas de un mdulo.
Ejemplo
1 procedure SumAndproduct
(N:integer; var SumN, ProdN:
integer);
2 var I:integer;
3 begin
4 SumN := 0;
5 ProdN := 1;
6 for I := 1 to N do
7 begin
8 SumN := SumN + I;
9 ProdN := ProdN * I;
10 end;
11 end.
Elementos: {N
1
, SumN
1
,
ProdN
1
, I1, SumN2, 0
1
, ProdN2,
1
1
, I2, 12, N2, SumN3, SumN4,
I3, ProdN3, ProdN4, I4}
Nmero de elementos = 17
Rebanada de SumN: {SumN3,
SumN4, I3, I2, 12, N2, SumN2,
01, N1, I1, SumN1}
Rebanada de ProdN: {ProdN3,
ProdN4, I4, I2, 12, N2, ProdN2,
11, N1, I1,Prod1}
Adhesivos: I2, 12, N2, N1, I1
Superadhesivos: I2, 12, N2,
N1, I1
CFF = 5/ 17 = 0.294
CFD = 5 / 17 = 0.294
32
Mtrica de Acoplamiento
Proporciona una indicacin de la conectividad
de un mdulo con otros.
Medida propuesta por Dhama en 1995
Medidas para el acoplamiento de flujo de datos
y de control
d
i
= nmero de parmetros de datos de entrada
c
i
= nmero de parmetros de control de entrada
d
o
= nmero de parmetros de datos de salida
c
o
= nmero de parmetros de control de salida
Mtrica de Acoplamiento
Medidas para el acoplamiento global
g
d
= nmero de variables globales usadas
como datos
g
c
= nmero de variables globales usadas
como control
Medidas para el acoplamiento de entorno:
w = nmero de mdulos llamados
r = nmero de mdulos que llaman al mdulo
en cuestin
33
Mtrica de Acoplamiento
Indicador de acoplamiento de mdulo
m
c
= k / M, donde
k = 1, constante de proporcionalidad
M = d
i
+ a x c
i
+ d
o
+ b x c
o
+ g
d
+ c x g
c
+ w + r, con
a = b = c = 2
Cuando mayor es m
c
, menor es el
acoplamiento del mdulo.
19.4.3 Mtricas de diseo de Interfaz
En 1993, Sears propone la mtrica de
Conveniencia de la Representacin (CR)
mide la transicin de una entidad de representacin a
otra dentro de una GUI
1
.
Entre las entidades de representacin (er) de una
GUI estn:
Iconos, campos de edicin, mens y ventanas
Se asigna el costo a cada secuencia de accin
como sigue:
Costo = [frecuencia de transicin (k) x costo de
transicin (k)], donde
k es la transicin especfica de una entidad de representacin
a la siguiente cuando se realiza una tarea especfica
1
Graphic User Interface
34
Mtricas de diseo de Interfaz
La conveniencia de representacin se calcula como:
CR = 100 x [(costo de representacin ptima) / (costo de
representacin propuesta)]
CR sera igual a 100 como mejor medida
Para el clculo de la representacin ptima se hace:
Dividir la pantalla en una cuadrcula en donde cada cuadro
representa una er.
Si se tiene una cuadrcula de N posiciones y K diferentes er,
entonces el nmero de posibles distribuciones es:
[N! / (K! (N K)!] K!
Alternativamente, se puede hacer un algoritmo de
bsqueda de rbol.
1
Graphic User Interface
Mtricas de diseo de Interfaz
CR se utiliza para evaluar diferentes
distribuciones.
Se puede utilizar una CR
Por otro lado, Nielsen y Levy en 1994 proponen
mejor consultar al usuario sobre cmo le gustara
su GUI.
NOTA: El trabajo de consulta del usuario tambin es
laborioso y cansado.
1
Graphic User Interface
35
19.5 Mtricas del Cdigo Fuente
Nota: Lneas de cdigo representa la
medida ms simple e inmediata para el
cdigo fuente.
Otra mtrica que ha sido fuertemente
estudiada, pero que no se le ha
encontrado un significado prctico es la de
Halsted, propuesta en 1977.
Tericamente, deben existir varias
medidas para un algoritmo.
Mtricas del Cdigo Fuente
La forma de calcularlas es
con las siguientes
cantidades:
n
1
= nmero de operadores
diferentes en el programa
n
2
= nmero de operandos
distintos en el programa
N
1
= nmero total de veces
que aparecen los operadores
N
2
= nmero total de veces
que aparecen los operandos
36
Mtricas del Cdigo Fuente
Las mtricas de Halstead, seran:
Longitud global del programa
N = n
1
log
2
n
1
+ n
2
log
2
n
2
Volumen del programa
V = N log
2
(n
1
+ n
2
)
Volumen compacto (ya que V vara
dependiendo del lenguaje)
L = 2 / n
1
x n
2
/ N
2
19.6 Mtricas de Prueba
La que existen se concentran en el proceso de
prueba y no el las caractersticas tcnicas de la
prueba.
Los responsables de la prueba, se guan por las
mtricas de anlisis, diseo y cdigo.
Puntos de Funcin
Bang
Halstead
Complejidad ciclomtica
37
19.7 Mtricas de Mantenimiento
En el estndar IEEE 982.1-1998, se propone un
ndice de Madurez del Software (IMS).
Proporciona una indicacin de la estabilidad del
producto de software y se expresa como:
IMS = [M
t
- (F
c
+ F
a
+ F
d
)] / M
t
, donde
M
t
= nmero de mdulos en la versin actual
F
c
= nmero de mdulos en la versin actual que han
cambiado
F
a
= nmero de mdulos en la versin actual que se han
aadido
F
d
= nmero de mdulos en la versin actual que han
eliminado

Potrebbero piacerti anche