Calidad basada en el producto de software

El interés por conocer y mejorar la calidad del software es un tema de investigación q ue tiene varias décadas. McCall et al. (1977) propuso un modelo de factores que influyen en la calidad del software. Estos factores se agrupan según los objetivos que se planteen para la operación y mantenimiento del producto (Figura 3). En el desarrollo de nuevos productos de software se toman en cuenta los factores asociados a la operación del producto (por ejemplo, corrección, confiabilidad, eficiencia, integridad, facilidad de uso). Cuando se introducía un cambio en el software, entonces se consideraban los factores de la revisión del producto. Finalmente, si el desarrollo era hacer portable la aplicación a otras plataformas de hardware (o software) se deberían considerar los factores de transición del producto.

Factores de calidad del software, según McCall
Figura 3. Modelos de Calidad del software, según McCall. (Adaptado de Pressman, 2005).

El modelo de McCall ha influido fuertemente la investigación en modelos de calidad del producto, elementos estructurales del modelo así como la identificación de los factores de calidad se han usado en otras propuestas de modelos de calidad. Actualmente, los modelos más empleados para la investigación y la práctica de la calidad del producto de software son el modelo ISO/IEC 9126 y el ISO/IEC 25010. Desde 2011, el ISO/IEC 25010 sustituye al ISO/IEC 9126.

Un modelo de calidad de producto está conformado por un conjunto de características que agrupan propiedades que podrían medirse en el software. El ISO/IEC 25010 (2010) proporciona un modelo de calidad en uso y un modelo de calidad de producto. El modelo de calidad en uso describe las características deseables que el usuario de un producto espera cuando lo está operando. Por ejemplo, es de interés en este modelo la eficiencia, la eficacia y satisfacción del usuario cuando éste último logra sus metas de uso del software en escenarios previamente establecidos.

El modelo de calidad de producto, también incluido en el ISO/IEC 25010, describe ocho características principales del software que pueden ser medidos estática y dinámicamente. Cada característica se compone de subcaracterísticas. Las características se utilizan durante el ciclo de vida del desarrollo del software con el propósito de definir con claridad los requisitos de calidad relevantes que el sistema bajo desarrollo debe satisfacer. Además, dicha definición permite medir la calidad durante las distintas etapas del ciclo de vida de desarrollo del software y evaluar la calidad del software cuando el producto está listo para entregarse al cliente.

La figura 4 presenta las características y subcaracterísticas del modelo de calidad del producto del ISO/IEC 25010. Cada una de ellas está descrita en el estándar. Por ejemplo, en el caso de la usabilidad, y dos de sus subcaracaterísticas, el estándar las define como:


  1. Usabilidad. “Grado en el cual un producto o sistema puede ser usado por los usuarios especificados para lograr las metas especificadas con efectividad, eficiencia y satisfacción en un contexto de uso especificado” (ISO25010, 2010)
  2. Reconocimiento apropiado. “Grado en el cual los usuarios pueden reconocer si el producto o sistema es apropiado para sus necesidades” (ISO25010, 2010)
  3. Facilidad de aprendizaje. “Grado en el cual un producto o sistema puede ser usado por los usuarios especificados para lograr las metas especificados de aprendizaje para utilizar el sistema con efectividad, eficiencia, libertad de riesgo y satisfacción en un contexto de uso especificado” (ISO25010, 2010).

características de calidad del software contenidas en  el ISO/IEC 25010
Figura 4. Modelo de calidad del producto ISO/IEC 25010.

Es evidente, que a partir de estas definiciones, la organización que desarrolla software debería considerar los distintos tipos de usuarios a los que está dirigido el software, conocer sus metas y las tareas que realizan para que el software contribuya a satisfacer sus necesidades con eficiencia, efectividad y satisfacción.