Factores de Calidad del Software


La calidad del software

La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software. 

Factores de calidad

Los factores de calidad sirven para descomponer el concepto genérico de “calidad” en otros más sencillos, para facilitar su control y su medición.

Dado que la división en factores es una división subjetiva, existen varias clasificaciones de los factores de calidad. Veremos la de McCall, que los agrupa en tres perspectivas: operativa, de mantenimiento y evolutiva.

Reusabilidad

La necesidad de la reutilización surge de la observación de que los sistemas software a menudo siguenpatrones similares; debería ser posible explotar esta similitud y evitar reinventar soluciones a problemas que ya han sido encontradas con anterioridad. Capturando tal patrón, un elemento de software reutilizable se podrá aplicar en muchos desarrollos diferentes. 

Reusabilidad – Tipo de factor: 

La reusabilidad es un factor de tipo externo, ya que es perceptible por los usuarios o clientes, por ejemplo al momento de utilizar partes de un software en otro diferente. También en el caso de los usuarios que son programadores, utilizar partes de códigos creadas en otros desarrollos para su propio trabajo (librerías). 

Reusabilidad – Métrica: 

La reusabilidad está dentro del contexto de las métricas de calidad. 

Las métricas de calidad son todas las métricas de software que definen de una u otra forma la calidad del software; tales como exactitud, estructuración o modularidad, pruebas, mantenimiento, reusabilidad, entre otras. Estas son los puntos críticos en el diseño, codificación, pruebas y mantenimiento. 

Legibilidad: 

La legibilidad dentro del contexto del desarrollo del software se refiere al modo en que se estructura la información con la que se trabaja, es decir, todo debe estar claramente documentado, espaciado, sin errores, y con una facilidad de uso ágil y de rápido entendimiento. Así se logra una mayor comprensión del proyecto, y las modificaciones pertinentes son más fáciles de realizar. 

Legibilidad – Tipo de factor: 

La legibilidad es un factor de tipo interno, ya que solo es perceptible por los desarrolladores o los profesionales de la computación. 

Al cliente no le importa que el sistema por debajo esté legible, solo le importa que funcione óptimamente. 

Legibilidad – Métrica: 

La Legibilidad está dentro del contexto de las métricas de Calidad. 

Seguridad: 

Hay dos tipos: 

La seguridad es un factor de calidad de uso, definido por la ISO 9126 y se refiere a la forma en que los atributos miden la habilidad para prevenir accesos no autorizados, ya sea accidentales o deliberados, tanto a programas como a datos. 

Es una actividad de calidad del software que se centra en la identificación de riesgos que pueden producir un impacto negativo en el software, se dirige un proceso de análisis, se identifican los riesgos y se clasifican por su importancia y grado de riesgo. Cuando se han identificado los riesgos, se especifican los requisitos del software relacionados con la seguridad. 

Seguridad – Tipo de factor: 

Según las dos definiciones anteriores, se puede concluir que es un factor de tipo tanto externo como interno, ya que los desarrolladores deben tener en cuenta la seguridad del software al momento de desarrollarlo, pero es a los clientes a los que a la hora de la verdad, exigen un sistema final totalmente confiable y seguro. 

Un ejemplo: 

Un ejemplo de seguridad son las validaciones que existen para la verificación de datos en el desarrollo de un software, tal como la validación de los nombres de usuario y contraseña en el ingreso al sistema, los captcha, tipos de datos, etc. 

Seguridad – Métrica: 

La seguridad está dentro del contexto de las métricas de calidad.

Factores operativos

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

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

Métricas de calidad

Las métricas del software se aplican para valorar cualitativamente algún factor relativo al mismo. No existen métricas generales y únicas, aún menos para la calidad, ya que se puede examinar el software a través de múltiples perspectivas y con diferentes objetivos.

En lo que sí que hay acuerdo es en las características que debe tener una buena métrica :

  • Simple y fácil de calcular
  • Empírica
  • Consistente y objetiva
  • Independiente del lenguaje de programación
  • Que proporcione información útil

1 comentario: