Factores de
calidad de software
Las posibilidades de que aparezca el fallo humano en el
proceso de desarrollo de software son enormes.
Es complicado realizar un buen software, y muchos de los
productos que se construyen tienen calidad insuficiente, además de no acertar
con las estimaciones de tiempo y recursos inexactos para la construcción de los
mismos.
Todos los métodos, herramientas y procedimientos que
constituyen la Ingeniería del Software van orientados a un único fin: producir
software de calidad.
En este tema introduciremos el concepto de calidad de
software, primero a un nivel general como concepto y procesos a nivel de
organización, viendo después cuáles son los factores que influyen en la calidad
del software, cómo medirlos, y por último qué estrategias podemos utilizar para
conseguir un software de mayor calidad.
Aunque en el siguiente apartado se trata de la calidad del
software a nivel de empresa, haré referencia en el tema principalmente a
calidad de software a nivel de proyecto (factores, métricas y estrategias)
Factores operativos de la calidad del software.
Los factores operativos son aquellos que afectan al uso del
software:
Corrección: el software cumple las especificaciones
Fiabilidad: grado en el que el software es confiable, es
decir, no tiene fallos
Eficiencia: necesidad de recursos software y hardware del
producto
Seguridad: grado en el que puede controlarse el acceso al
software y a los datos
Facilidad de uso: grado de esfuerzo necesario para utilizar
el software
Factores de mantenimiento de la calidad del software.
Los factores de mantenimiento son aquellos que se aplican a
la capacidad de modificación del software:
Flexibilidad: esfuerzo necesario para modificar un programa
Facilidad de prueba: esfuerzo requerido para realizar las
pruebas de un programa
Facilidad de mantenimiento: esfuerzo requerido para
localizar y reparar un error
Factores evolutivos
Los factores evolutivos son aquellos que indican si el
software se puede trasladar con facilidad a otra máquina o a otro producto de
base (SO, SGBD, etc.), o incrementar sus prestaciones:
Portabilidad: facilidad para migrar el software de un
entorno de operación a otro
Capacidad de reutilización: grado en el que un programa o
parte del mismo se puede utilizar en otras aplicaciones.
Capacidad de interoperación: esfuerzo necesario para que un
software opere conjuntamente con otros sistemas