Calidad en Ingeniería de Software: Atributos, Aspectos y el Modelo de McCall

Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 5,33 KB

Calidad 2

Este documento profundiza en los conceptos de calidad de software, abordando la clasificación de los atributos de calidad, los diferentes aspectos de la calidad en el desarrollo de productos y procesos, y el influyente Modelo de McCall.

Atributos de Calidad

Los atributos de calidad son propiedades o características del sistema que pueden afectar el grado de satisfacción de los interesados. Es decir, representan el grado de concordancia entre las necesidades y el producto final. Se clasifican en dos categorías principales:

Atributos Observables vía Ejecución (Externos)

Aquellos atributos que se determinan del comportamiento del sistema en tiempo de ejecución. Aquí se encuentran: Disponibilidad, Confidencialidad, Funcionalidad, Desempeño, Confiabilidad, Seguridad Externa (Safety) y Seguridad Interna (Security).

Atributos No Observables vía Ejecución (Internos)

Aquellos atributos que se establecen durante el desarrollo del sistema. Aquí se encuentran: Configurabilidad, Integralidad, Integridad, Interoperabilidad, Modificabilidad, Mantenibilidad, Portabilidad, Reusabilidad, Escalabilidad y Capacidad de Prueba (Testability).

Aspectos de la Calidad

Existen diferentes aspectos de la calidad que deben considerarse:

  • Interna: Medible a partir de las características intrínsecas, como el código fuente.
  • Externa: Medible en el comportamiento del producto, como en una prueba.
  • En Uso: Durante la utilización efectiva por parte del usuario.
  • Calidad del Producto: Incluye aspectos como Correctitud, Usabilidad, Mantenibilidad, Confiabilidad, Rendimiento, Disponibilidad, Robustez, Performance, Amigabilidad, Reusabilidad, Portabilidad, entre otros.
  • Calidad del Proceso: El proceso debe estar definido, documentado, practicado y medido.
  • Criterios de Calidad: Es necesario establecer criterios para medir y evaluar la calidad del producto y del proceso.

El Modelo de Calidad de McCall

El Modelo de McCall, el primero en ser presentado en 1977, se originó motivado por la US Air Force y el DoD. Este se focaliza en el producto final, identificando atributos clave desde el punto de vista del usuario.

Estos atributos se denominan factores de calidad y son, normalmente, atributos externos, aunque también pueden incluir algunos atributos internos. Los factores de calidad son demasiado abstractos para ser medidos directamente, por lo que, para cada uno de ellos, se introducen atributos de bajo nivel denominados criterios de calidad.

Aspectos Clave del Modelo de McCall

El modelo se centra en tres aspectos importantes de un producto de software:

  1. Revisión del Producto: Habilidad para ser modificado.
  2. Transición del Producto: Adaptabilidad a nuevos entornos.
  3. Operación del Producto: Características de operación.

Factores de Calidad Detallados según McCall

A continuación, se detallan los factores de calidad, agrupados por los aspectos mencionados:

a) Características Operativas

  • Corrección: ¿Hace lo que quiero?
  • Confiabilidad: ¿Lo hace de forma fiable todo el tiempo?
  • Eficiencia: ¿Se ejecutará en mi hardware de la mejor manera posible?
  • Seguridad (Integridad): ¿Es seguro?
  • Usabilidad: ¿Está diseñado para ser usado?

b) Capacidad de Soportar Cambios

  • Mantenibilidad: ¿Puedo corregirlo?
  • Flexibilidad: ¿Puedo cambiarlo?
  • Testeabilidad: ¿Puedo probarlo?

c) Adaptabilidad a Nuevos Entornos

  • Portabilidad: ¿Podré usarlo en otra máquina?
  • Reusabilidad: ¿Podré reutilizar alguna parte del software?
  • Interoperabilidad: ¿Podré hacerlo interactuar con otro sistema?

Factores de Calidad en la Revisión del Producto

La revisión del producto incluye los siguientes factores de calidad:

1) Mantenibilidad

Es el esfuerzo requerido para localizar y corregir errores. El factor Mantenibilidad incluye los siguientes criterios: consistencia, simplicidad, concisión, autodescripción y modularidad.

Categorías de Mantenibilidad según Ghezzi:

  • Correctiva: Se refiere a la eliminación de pequeñas fallas remanentes después de las pruebas.
  • Adaptativa: Se refiere al cambio del producto necesario debido a la evolución de sus requerimientos.
  • Perfectiva: Busca mejorar los algoritmos utilizados para hacerlos más eficientes.

2) Flexibilidad

Es la facilidad de realizar cambios y el esfuerzo necesario para modificar un programa que ya está en operación.

3) Testeabilidad

Es la facilidad para realizar pruebas, asegurando que el producto no tiene errores y cumple con las especificaciones. Representa el esfuerzo requerido para probar un programa y garantizar que realiza la función prevista.

Entradas relacionadas: