Documentos de Académico
Documentos de Profesional
Documentos de Cultura
60
61
62
(4.1)
65
(4.2)
66
detecten. El TMEF de esos errores puede ser de 50 e incluso de 100 aos. Otros
errores, aunque no se hayan descubierto an, pueden tener una tasa de fallo de
18 24 meses, incluso aunque se eliminen todos los errores de la primera
categora (los que tienen un gran TMEF), el impacto sobre la fiabilidad del
software ser muy escaso.
Adems de una medida de la fiabilidad debemos obtener una medida de la
disponibilidad. La disponibilidad (4.1.3.2) del software es la probabilidad de que un
programa funcione de acuerdo con los requisitos en un momento dado, y se define
como:
(4.3)
67
(4.4)
68
EED = Ei / ( Ei + Ei+1)
(4.5)
Donde Ei = es el nmero de errores encontrados durante la actividad iesima de: ingeniera del software i, el Ei + 1 = es el nmero de errores encontrado
durante la actividad de ingeniera del software (i + 1) que se puede seguir para
llegar a errores que no se detectaron en la actividad i.
Un objetivo de calidad de un equipo de ingeniera de software es alcanzar
un EED que se aproxime a 1, esto es, los errores se deberan filtrar antes de
pasarse a la actividad siguiente. Esto tambin puede ser utilizado dentro del
proyecto para evaluar la habilidad de un equipo, esto con el objetivo de encontrar
deficiencias que harn que se atrase el proyecto.
Existen varias mtricas de calidad, pero las ms importantes y que
engloban a las dems, son slo cuatro: correccin, facilidad de mantenimiento,
integridad y facilidad de uso, se explican en la siguiente seccin.
69
Facilidad de mantenimiento
Flexibilidad
Facilidad de Prueba
Portabilidad
Reusabilidad
(capacidad de reutilizacin)
Interoperatividad
70
(4.6)
71
Facilidad de auditoria
*
Exactitud
*
Estandarizacin de
comunicaciones
Complecin
*
*
*
Complejidad
*
Concisin
*
*
*
Consistencia
*
*
*
Estandarizacin de datos
*
*
*
Tolerancia a errores
*
Eficiencia de ejecucin
*
Capacidad de expansin
*
Generalidad
*
Independencia del hardware
Instrumentacin
*
*
Modularidad
*
*
Operatividad
*
Seguridad
*
Autodocumentacin
*
Simplicidad
*
*
Independencia del sistema
*
Trazabilidad
Facilidad de formacin
Figura 4.2 Relacin entre Factores de calidad y mtricas de
[Fenton91]
Usabilidad (facilidad de
manejo
Interoperabilidad
Portabilidad
Capacidad de pruebas
Flexibilidad
Mantenimiento
Integridad
Eficiencia
Fiabilidad
Factor de
calidad
Correccin
Mtrica de la
calidad del
software
Reusabilidad (capacidad de
reutilizacin)
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
la calidad de software
73
4.1.6 FURPS
(Funcionality, Usability, Reliability, Performance, Supportability)
nmero de archivos
Contrasea
Consulta de zona
Usuario
Consulta de sensor
Activar/desactivar
Funciones de
interaccin del
usuario con
Hogar seguro
Iterruptor de emergencia
Sensores
Configuracin de zona
Mensajes
Usuarios
Estado del sensor
Activar/desactivar
Alerta de
alarma
Contraseas, sensors
Datos de configuracin
del sistema
Subsistema de
monitorizacin y
respuesta
76
Parmetro de medicin
Cuenta
Simple
Media
Compleja
Total
3*
=9
2*
=8
2*
=6
Nmero de archivos
1*
10
15
=7
4*
10
= 20
Cuenta total
50
Tabla 4.1 Factor de ponderacin [Pressman 98]
77
Puede emplearse para desarrollar una indicacin del tamao del software a
implementar como consecuencia del modelo de anlisis. Desarrollada por Tom
DeMarco [Ejiogo 91], la mtrica bang es una indicacin, independiente de la
implementacin, del tamao del sistema [Ejiogo 91]. Para calcular la mtrica
bang, el desarrollador de software debe evaluar primero un conjunto de primitivas
(elementos del modelo de anlisis que no se subdividen ms en el nivel de
anlisis) Las primitivas se determinan evaluando el modelo de anlisis y
desarrollando cuentas para los siguientes elementos:
-
DeMarco [Ejiogo 91] sugiere que la mayora del software se puede asignar a
uno de los dos dominios siguientes, dominio de funcin o dominio de datos,
dependiendo de la relacin RE/PFu. Las aplicaciones de dominio de funcin
(encontrados comnmente en aplicaciones de ingeniera y cientficas) hacen
79
TC i/Pfu
(4.7)
80
Existe una lista de caractersticas para poder valorar la calidad del modelo
de anlisis y la correspondiente especificacin de requisitos: Especificidad,
correccin, complecin, comprensin, capacidad de verificacin, consistencia
externa e interna, capacidad de logro, concisin, traza habilidad, capacidad de
modificacin, exactitud y capacidad de reutilizacin. Aunque muchas de las
caractersticas anteriores pueden ser de naturaleza cuantitativa, Davis [Pressman
98] sugiere que todas puedan representarse usando una o ms mtricas. Por
ejemplo asumimos que hay ni requisitos en una especificacin, tal como
ni = nf + nnf
(4.8)
(4.9)
Donde nui es el numero de requisitos para los que todos los revisores tuvieron
interpretaciones idnticas. Cuanto ms cerca de uno este el valor de Q1 menor
ser la ambigedad de la especificacin.
La complecin de los requisitos funcionales pueden terminarse calculando la
relacin
Q2 = nu / (ni * ns )
(4.10)
81
(4.11)
Las mtricas para software, como otras mtricas, no son perfectas; muchos
expertos argumentan que se necesita ms experimentacin hasta que se puedan
emplear bien las mtricas de diseo. Sin embargo el diseo sin medicin es una
alternativa inaceptable. A continuacin se mostraran algunas de las mtricas de
diseo ms comunes. Aunque ninguna es perfecta, pueden proporcionarle al
diseador una mejor visin interna y as el diseo evolucionara a un mejor nivel de
calidad.
(4.12)
(4.13)
(4.14)
(4.15)
83
(4.16)
(4.17)
84
Nodo
Profundidad
Arco
(4.18)
(4.19)
85
(4.20)
(4.21)
86
(4.22)
(4.23)
(4.24)
(4.25)
Wi=0.167).
Se puede determinar y compartir el valor de ICED de diseos anteriores
con un diseo actualmente en desarrollo. Si el ICED es significativamente inferior
a la medida, se aconseja seguir trabajando en el diseo y revisin. Igualmente, si
hay que hacer grandes cambios a un diseo ya existente, se puede calcular el
efecto de estos cambios en el ICED.
87
Bieman y Ott [Hamdi 99] definen una coleccin de mtricas que proporcionan
una indicacin de la cohesin de un mdulo. Las mtricas se definen con cinco
conceptos y medidas:
Porcin de datos. Dicho simplemente, una porcin de datos es una marcha
atrs a travs de un mdulo que busca valores de datos que afectan a la
localizacin del mdulo en el que empez la marcha atrs. Debera resaltarse
que se pueden definir tanto porciones de programas (que se centran en
enunciados y condiciones) como porciones de datos.
Smbolos lxicos (tokens) de datos. Las variables definidas para un mdulo
pueden definirse como seales de datos para el mdulo.
Seales de unin. El conjunto de seales de datos que se encuentran en uno o
ms porciones de datos.
88
89
(4.26)
4.3.2.2
Mtricas de acoplamiento.
(4.27)
(4.28)
donde:
a=b=c=2
91
(4.29)
4.3.2.3
Mtricas de complejidad.
92
ciclomtica
de
los
mdulos
excedan
ese
valor,
resultaba
93
(4.30)
94
95
(4.33)
(4.34)
96
(4.35)
Halstead propuso que todos los lenguajes pueden categorizarse por nivel de
lenguaje, I, que variar segn los lenguajes. Halslead cre una teora que supona
que el nivel de lenguaje es constante para un lenguaje dado, pero otro trabajo
[Pressman 98] indica que el nivel de lenguaje es funcin tanto del lenguaje como
del programador. Los siguientes valores de nivel de lenguaje se muestran en la
tabla 4.2.
Lenguaje
Media/.I
Ingls prosaico
2.16
PL/1
1.53
ALGOL/68
2.12
FORTRAN
1.14
Ensamblador
0.88
procedimental.
Los
lenguajes
de
alto
nivel
permiten
la
97
(4.36)
(4.37)
(4.38)
99
donde e(k) se calcula para el mdulo k usando las ecuaciones (4.35 y 4.36) y
suma en el denominador de la ecuacin (4.37) es la suma del esfuerzo de la
ciencia del software a lo largo de todos los mdulos del sistema.
A medida que se van haciendo las pruebas tres medidas diferentes
proporcionan una indicacin de la complexin de las pruebas. Una medida de la
amplitud de las pruebas proporciona una indicacin de cuantos (del nmero total
de ellos) se han probado. Esto proporciona una indicacin de la complexin del
plan de pruebas. La profundidad de las prueba es una medida del porcentaje de
los caminos bsicos independientes probados en relacin al nmero total de estos
caminos en el programa. Se puede calcular una estimacin razonablemente
exacta del nmero de caminos bsicos sumando la complejidad ciclomtica de
todos los mdulos del programa. Finalmente, a medida que se van haciendo las
pruebas y se recogen los datos de los errores, se pueden emplear los perfiles de
fallos para dar prioridad y categorizar los errores descubiertos. La prioridad indica
la severidad del problema. Las categoras de los fallos proporcionan una
descripcin de un error, de manera que se puedan llevar a cabo anlisis
estadsticos de errores.
100
producto de software (basada en los cambios que ocurren con cada versin del
producto) Se determina la siguiente informacin:
M r = nmero de mdulos en la versin actual
Fc = nmero de mdulos en la versin actual que se han cambiado
Fa = nmero de mdulos en la versin actual que se han aadido
Fd = nmero de mdulos de la versin anterior que se han borrado en la
versin actual
El ndice de madurez del software se calcula de la siguiente manera:
(4.39)
101