Factores de calidad del software

Los diversos factores que influyen en el software se denominan factores de software. Se pueden dividir ampliamente en dos categorías. La primera categoría de los factores es de aquellos que pueden medirse directamente, como el número de errores lógicos, y la segunda categoría de clubes, aquellos factores que solo pueden medirse indirectamente. Por ejemplo, mantenibilidad, pero cada uno de los factores debe medirse para verificar el contenido y el control de calidad.

A lo largo de los años se han sugerido varios modelos de factores de calidad del software y su categorización. El modelo clásico de factores de calidad del software, sugerido por McCall, consta de 11 factores (McCall et al., 1977). De manera similar, Deutsch y Willis (1988) y Evans y Marciniak (1987) sugirieron modelos que constan de 12 a 15 factores.

Todos estos modelos no difieren sustancialmente del modelo de McCall. El modelo de factor de McCall proporciona un método práctico y actualizado para clasificar los requisitos de software (Pressman, 2000).

Modelo factorial de McCall

Este modelo clasifica todos los requisitos de software en 11 factores de calidad del software. Los 11 factores se agrupan en tres categorías: operación del producto, revisión del producto y factores de transición del producto.

  • Product operation factors - Corrección, Fiabilidad, Eficiencia, Integridad, Usabilidad.

  • Product revision factors - Mantenibilidad, Flexibilidad, Testabilidad.

  • Product transition factors - Portabilidad, reutilización, interoperabilidad.

Factores de calidad del software de operación del producto

Según el modelo de McCall, la categoría de operación del producto incluye cinco factores de calidad del software, que se ocupan de los requisitos que afectan directamente la operación diaria del software. Son los siguientes:

Exactitud

Estos requisitos se refieren a la exactitud de la salida del sistema de software. Incluyen:

  • Misión de salida

  • La precisión requerida de la salida que puede verse afectada negativamente por datos inexactos o cálculos inexactos.

  • La integridad de la información de salida, que puede verse afectada por datos incompletos.

  • La actualidad de la información definida como el tiempo entre el evento y la respuesta del sistema de software.

  • La disponibilidad de la información.

  • Los estándares para codificar y documentar el sistema de software.

Fiabilidad

Los requisitos de confiabilidad tratan con fallas en el servicio. Determinan la tasa máxima de fallas permitida del sistema de software y pueden referirse a todo el sistema oa una o más de sus funciones separadas.

Eficiencia

Se ocupa de los recursos de hardware necesarios para realizar las diferentes funciones del sistema de software. Incluye las capacidades de procesamiento (expresadas en MHz), su capacidad de almacenamiento (expresada en MB o GB) y la capacidad de comunicación de datos (expresada en MBPS o GBPS).

También se ocupa del tiempo entre recargas de las unidades portátiles del sistema, como unidades del sistema de información ubicadas en computadoras portátiles o unidades meteorológicas ubicadas al aire libre.

Integridad

Este factor se ocupa de la seguridad del sistema de software, es decir, para evitar el acceso a personas no autorizadas, y también para distinguir entre el grupo de personas a las que se les dará permiso de lectura y escritura.

Usabilidad

Los requisitos de usabilidad se refieren a los recursos de personal necesarios para capacitar a un nuevo empleado y operar el sistema de software.

Factores de calidad de la revisión del producto

Según el modelo de McCall, se incluyen tres factores de calidad del software en la categoría de revisión del producto. Estos factores son los siguientes:

Mantenibilidad

Este factor considera los esfuerzos que necesitarán los usuarios y el personal de mantenimiento para identificar las razones de las fallas del software, corregir las fallas y verificar el éxito de las correcciones.

Flexibilidad

Este factor se ocupa de las capacidades y los esfuerzos necesarios para respaldar las actividades de mantenimiento adaptativo del software. Estos incluyen adaptar el software actual a circunstancias y clientes adicionales sin cambiar el software. Los requerimientos de este factor también soportan actividades de mantenimiento perfectivo, como cambios y adiciones al software para mejorar su servicio y adaptarlo a cambios en el entorno técnico o comercial de la firma.

Probabilidad

Los requisitos de testabilidad se refieren a la prueba del sistema de software, así como a su funcionamiento. Incluye resultados intermedios predefinidos, archivos de registro y también los diagnósticos automáticos realizados por el sistema de software antes de iniciar el sistema, para saber si todos los componentes del sistema están en funcionamiento y obtener un informe sobre las fallas detectadas. Otro tipo de estos requisitos se refiere a las comprobaciones de diagnóstico automáticas aplicadas por los técnicos de mantenimiento para detectar las causas de las fallas del software.

Factor de calidad del software de transición del producto

Según el modelo de McCall, se incluyen tres factores de calidad del software en la categoría de transición del producto que se ocupa de la adaptación del software a otros entornos y su interacción con otros sistemas de software. Estos factores son los siguientes:

Portabilidad

Los requisitos de portabilidad tienden a la adaptación de un sistema de software a otros entornos que constan de hardware diferente, sistemas operativos diferentes, etc. El software debería poder seguir utilizando el mismo software básico en diversas situaciones.

Reutilización

Este factor se refiere al uso de módulos de software originalmente diseñados para un proyecto en un nuevo proyecto de software que se está desarrollando actualmente. También pueden permitir que los proyectos futuros hagan uso de un módulo determinado o un grupo de módulos del software actualmente desarrollado. Se espera que la reutilización de software ahorre recursos de desarrollo, acorte el período de desarrollo y proporcione módulos de mayor calidad.

Interoperabilidad

Los requisitos de interoperabilidad se centran en crear interfaces con otros sistemas de software o con el firmware de otros equipos. Por ejemplo, el firmware de la maquinaria de producción y el equipo de prueba interactúan con el software de control de producción.