METRICAS TECNICAS DEL SOFTWARE
Las métricas técnicas para el software proporcionan una manera sistemática de valorar la calidad
basándose en un conjunto de reglas. También proporcionan al ingeniero del software descubrir y
corregir problemas potenciales antes de que se conviertan en defectos catastróficos.
FACTORES DE CALIDAD
Factores de calidad de McCall
McCall y Cavano definieron un juego de factores de calidad como los primeros pasos hacia el
desarrollo de métricas de la calidad del software. Estos factores evalúan el software desde tres
puntos de vista distintos:
1. Operación del Producto.
2. Revisión del Producto.
3. Transición del Producto.
1. Operaciones del producto - Características operativas
Corrección El grado en que una aplicación satisface sus
especificaciones y consigue los objetivos encomendados
¿Hace lo que se le pide? por el cliente.
Fiabilidad El grado que se puede esperar de una aplicación lleve a
cabo las operaciones especificadas y con la precisión
¿Lo hace de forma fiable requerida.
todo el tiempo?
Eficiencia La cantidad de recursos hardware y software que
necesita una aplicación para realizar las operaciones con
¿Qué recursos hardware y los tiempos de respuesta adecuados.
software necesito?
Integridad El grado con que puede controlarse el acceso al software
o a los datos a personal no autorizado.
¿Puedo controlar su uso?
Facilidad de uso El esfuerzo requerido para aprender el manejo de una
aplicación, trabajar con ella, introducir datos y conseguir
¿Es fácil y cómodo de resultados
manejar?
2. Revisión del producto - Capacidad para soportar cambios
Facilidad de mantenimiento El esfuerzo requerido para localizar y reparar
errores.
¿Puedo localizar los fallos?
Flexibilidad El esfuerzo requerido para modificar una
aplicación en funcionamiento.
¿Puedo añadir nuevas opciones?
Facilidad de prueba El esfuerzo requerido para probar una aplicación
de forma que cumpla con lo especificado en los
¿Puedo probar todas las opciones? requisitos.
3. Transición del producto - Adaptabilidad a nuevos entornos
Portabilidad El esfuerzo requerido para transferir la aplicación
a otro hardware o sistema operativo.
¿Podré usarlo en otra máquina?
Reusabilidad Grado en que partes de una aplicación pueden
utilizarse en otras aplicaciones
¿Podré utilizar alguna parte del
software en otra aplicación?
Interoperabilidad El esfuerzo necesario para comunicar la aplicación
con otras aplicaciones o sistemas informáticos
¿Podrá comunicarse con otras
aplicaciones o sistemas
informáticos?
Métrica para el esquema de puntuación
Las métricas pueden ir en forma de lista de comprobación para evaluar y puntuar atributos
específicos del software.
McCall, propuso un esquema de puntuación en una escala del 0 (bajo) al 10 (alto). Se emplean las
siguientes métricas en el esquema de puntuación:
Facilidad de La facilidad con la que se puede comprobar el
auditoría cumplimiento de los estándares.
Exactitud La exactitud de los cálculos y del control.
Estandarización de El grado de empleo de estándares de interfaces, protocolos
comunicaciones y anchos de banda.
Complexión El grado con que se ha logrado la implementación total de
una 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 El empleo de estructuras y tipos de datos estándares a lo
datos largo del programa.
Tolerancia al error El daño causado cuando un programa encuentra un error.
Eficiencia de El rendimiento del funcionamiento de un programa.
ejecución
Capacidad de El grado con que se pueden ampliar el diseño
expansión arquitectónico, de datos o procedimental.
Generalidad La amplitud de aplicación potencial de los componentes del
programa.
Independencia del El grado con que se desacopla el software del hardware
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ó El grado en que el código fuente proporcionan
n documentación significativa
Simplicidad El grado de facilidad con que se puede entender un
programa.
Independencia del El grado de independencia de programa respecto a las
sistema software 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 El grado en que ayuda el software a manejar el sistema o
los nuevos usuarios.
FURPS
El modelo de McCall ha servido de base para modelos de calidad posteriores, y este es el caso del
modelo FURPS, producto del desarrollo de Hewlett-Packard. En este modelo se desarrollan un
conjunto de factores de calidad de software, bajo el acrónimo de FURPS.
F Functionality - funcionalidad
U Usability – usabilidad – facilidad de uso
R Reliability - confiabilidad
P Performance - desempeño
S Supportability - capacidad de soporte
La siguiente tabla, presenta la clasificación de los atributos de calidad que se incluyen en el modelo,
junto con las características asociadas a cada uno (Pressman, 2002).
Factor de Calidad Atributos
Funcionalidad · Características y capacidades del programa
· Generalidad de las funciones
· Seguridad del sistema
Facilidad de uso · Factores humanos
· Factores estéticos
· Consistencia de la interfaz
· Documentación
Confiabilidad · Frecuencia y severidad de las fallas
· Exactitud de las salidas
· Tiempo medio de fallos
· Capacidad de recuperación ante fallas
· Capacidad de predicción
Rendimiento · Velocidad del procesamiento
· Tiempo de respuesta
· Consumo de recursos
· Rendimiento efectivo total
· Eficacia
Capacidad de Soporte · Extensibilidad
· Adaptabilidad
· Capacidad de pruebas
· Capacidad de configuración
· Compatibilidad
· Requisitos de instalación
El modelo FURPS incluye, además de los factores de calidad y los atributos, restricciones de diseño y
requerimientos de implementación, físicos y de interfaz. Las restricciones de diseño especifican o
restringen el diseño del sistema. Los requerimientos de implementación especifican o restringen la
codificación o construcción de un sistema (por ejemplo, estándares requeridos, lenguajes, políticas).
Por su parte, los requerimientos de interfaz especifican el comportamiento de los elementos externos
con los que el sistema debe interactuar. Por último, los requerimientos físicos especifican ciertas
propiedades que el sistema debe poseer, en términos de materiales, forma, peso, tamaño (por
ejemplo, requisitos de hardware, configuración de red).
Factores de calidad ISO 9126
El estándar ISO/IEC
9126 ha
sido desarrollado en un intento de identificar los atributos clave de calidad para
un producto de software (Pressman, 2002). Este estándar es una simplificación
del Modelo de McCall, e identifica seis características básicas de calidad que
pueden estar presentes en cualquier producto de software. El estándar provee
una descomposición de las características en subcaracterísticas, que se
muestran en la siguiente tabla:
Característica Subcaracterística
Funcionalidad · Adecuación
· Exactitud
· Interoperabilidad
· Seguridad
Confiabilidad · Madurez
· Tolerancia a fallas
· Recuperabilidad
Usabilidad · Entendibilidad
· Capacidad de aprendizaje
· Operabilidad
Eficiencia · Comportamiento en tiempo
· Comportamiento de recursos
Mantenibilidad · Analizabilidad
· Modificabilidad
· Estabilidad
· Capacidad de pruebas
Portabilidad · Adaptabilidad
· Instalabilidad
· Reemplazabilidad
ISO/IEC 9126 no son necesariamente usados para mediciones directas (Pressman,
2002), pero proveen una valiosa base para medidas indirectas, y una excelente lista
para determinar la calidad de un sistema.
ESTRUCTURA PARA LAS MÉTRICAS TÉCNICAS DEL SOFTWARE
Es importante establecer una estructura fundamental y un conjunto de principios básicos para la
medición de métricas técnicas para el software.
Los principios básicos de la medición, sugeridos por Roche, pueden caracterizarse mediante cinco
actividades:
Formulación Obtención de medidas y métricas del software apropiadas para la
representación del software.
Colección Mecanismo empleado para acumular datos necesarios para obtener
las métricas formuladas.
Análisis Cálculo de las métricas y aplicación de herramientas matemáticas.
Interpretación Evaluación de los resultados de las métricas en un esfuerzo por
conseguir una visión interna de la calidad de la representación.
Realimentación Recomendaciones obtenidas de la interpretación de métricas
técnicas transmitidas al equipo software.
Los principios que se pueden asociar con la formulación de las métricas técnicas son los siguientes:
o Los objetivos de la medición que deben establecerse antes de empezar la recolección de
datos.
o Todas las técnicas sobre métricas deben definirse sin ambigüedades.
o Las métricas deberían obtenerse basándose en una teoría válida para el dominio de
aplicación.
o Hay que hacer las métricas a medida para acomodar mejor los productos y procesos
específicos.
Roche sugiere los siguientes principios para la recolección y análisis de datos:
o Siempre que sea posible, la recogida de datos y el análisis debe automatizarse.
o Se deben aplicar técnicas estadísticas válidas para establecer las relaciones entre los
atributos internos del producto y las características externas de la calidad.
o Se deben establecer directrices de interpretación y recomendaciones para todas las
métricas.
La métrica obtenida y las medidas que conducen a ello deben tener las siguientes características:
o Simples y fáciles de calcular.
o Empírica e intuitivamente persuasivas.
o Consistentes y objetivas.
o Consistentes en el empleo de unidades y tamaños.
o Independiente del lenguaje de programación.
o Un mecanismo eficaz para la realimentación de calidad.