Factores y caracteristicas que determinan la calidad
1. Factores y características que Determinan la Calidad
Existen dos tipos de factores:
Factores que pueden ser medidos directamente (errores/KLDC/unidad
de tiempo).
Factores que solo pueden ser medidos indirectamente (la facilidad de
uso o de mantenimiento).
En ambos casos se puede medir la calidad, debemos comparar el software
(documentos, programas, etc.) con alguna referencia y llegar a una indicación
de calidad.
Factores de Calidad según McCall
Los factores desarrollados según el modelo de McCall, se centra en tres
aspectos importantes de un producto de software:
Sus características operativas.
Su capacidad para soportar los cambios.
Su adaptabilidad a nuevos entornos.
Lista de factores:
Corrección: mide el grado en que un programa satisface sus
especificaciones y consigue los objetivos del usuario.
Fiabilidad: mide el grado en que se puede esperar que un programa
lleve a cabo sus funciones esperada con la precisión requerida.
Eficiencia: mide la cantidad de recursos de computadora y de código
requerido por un programa para que lleve a cabo las funciones
especificadas.
Integridad: es el grado en que puede controlarse el acceso al software o
a los datos por personal no autorizado.
Facilidad de Uso: es el esfuerzo requerido para aprender un programa e
interpretar la información de entrada y de salida.
Facilidad de Mantenimiento: es el esfuerzo requerido para localizar y
arreglar programas.
2. Facilidad de Prueba: es el esfuerzo requerido para probar un
programa.
Flexibilidad: es el esfuerzo requerido para modificar un sistema
operativo.
Portabilidad: es el esfuerzo requerido para transferir un software de un
hardware o un entorno de sistemas a otro.
Reusabilidad: es el grado en que un programa (o partes de un
programa) se puede reutilizar en otro.
Facilidad de Interoperación: es el esfuerzo requerido para asociar un
programa a otro.
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 métricas para desarrollar expresiones para todos los factores, de acuerdo
con la siguiente relación:
F = c1 x m1 + c2 x m2 +....+ c, x m,
donde F es un factor de calidad del software, c, son coeficientes de
regresión y m, son las métricas que afectan al factor de calidad.
FURPS
Un conjunto de factores de calidad del software al que se le ha dado el
acrónimo de FURPS: funcionalidad, facilidad de uso, fiabilidad, rendimiento
y capacidad de soporte (FUNCIONALITY, USABILITY, RELIABILITY,
PERFORMANCE, SUPPORTABILITY).
3. Se definen los siguientes atributos para cada uno de los cinco factores
principales:
La funcionalidad se valora evaluando el conjunto de características y
capacidades del programa, la generalidad de las funciones entregadas y
la seguridad del sistema global.
La facilidad de uso se valora considerando factores humanos, la
estética, la consistencia y la documentación general.
La fiabilidad se evalúa midiendo la frecuencia y gravedad de los
fallos, la exactitud de las salidas (resultados), el tiempo de medio de
fallos (TMDF), la capacidad de recuperación de un fallo y la
capacidad de predicción del programa.
El rendimiento se mide por la velocidad de procesa miento, el tiempo de
respuesta, consumo de recursos, rendimiento efectivo total y eficacia.
La capacidad de soporte combina la capacidad de ampliar el programa
(extensibilidad), adaptabilidad y servicios (estos tres atributos
representan un término más común -mantenimiento-), así como
capacidad de hacer pruebas, compatibilidad, capacidad de configuración
(la capacidad de organizar y controlar elementos de la configuración
del software), la facilidad de instalación de un sistema y la facilidad
con que se pueden localizar los problemas.
4. Ejemplos de métricas:
6/14=0.42
Donde E= es el número de errores encontrados antes de la entrega del
software al usuario final y D= es el número de defectos encontrados
después de la entrega.
El valor ideal de EED es 1, donde simbolizando que no se han
encontrado defectos en el software. De forma realista, D será mayor que
cero, pero el valor de EED todavía se puede aproximar a 1 cuando E
aumenta. En consecuencia cuando E aumenta es probable que el valor
final de D disminuya (los errores se filtran antes de que se conviertan en
defectos).
Integridad = 0[1- amenaza x (1- seguridad)]
) )
Donde se suman la amenaza y la seguridad para cada tipo de ataque.
TMEF = TMDF+TMDR
(TMDF (tiempo medio de fallo) y TMDR (tiempo medio de reparación)).
Disponibilidad = TMDF/(TMDF + TMDR) x 100 %
EED = Ei / ( Ei + Ei+1)
Donde Ei = es el número de errores encontrados durante la actividad i-esima
de: ingeniería del software i, el Ei + 1 = es el número de errores encontrado
Durante la actividad de ingeniería del software (i + 1) que se puede seguir para
Llegar a errores que no se detectaron en la actividad i.