El documento describe factores y métricas para determinar la calidad de software. Identifica dos tipos de factores: directos (errores, tiempo) e indirectos (usabilidad, mantenibilidad). También describe los factores de McCall (corrección, fiabilidad, eficiencia, etc.), el modelo FURPS (funcionalidad, usabilidad, rendimiento, soporte), y ejemplos de métricas para medir estos factores.
Presentación inteligencia artificial en la actualidad
Calidad Software Factores McCall FURPS Métricas
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.
Ejemplos de métricas:
6/14=0.42
Integridad = 0[1- amenaza x (1- seguridad)]
) )
TMEF = TMDF+TMDR
Disponibilidad = TMDF/(TMDF + TMDR) x 100 %
EED = Ei / ( Ei + Ei+1)