SQUARE: Modelo actualizado de las características de calidad

Publicado en

Autor

Las características no funcionales de los sistemas de software —tales como usabilidad, desempeño, seguridad, por mencionar algunas— se vuelven cada día más importantes. Los usuarios, al percibirlas en unas aplicaciones, inconcientemente las esperan en otras. Los analistas saben que de por sí ya es difícil obtener con precisión los requerimientos funcionales, en el caso de los requerimientos no funcionales es todavía más complicado.

Hasta hace poco el estándar ISO/IEC 9126-1 Quality Model, del año 2001 fue la referencia básica de la clasificación de las características de calidad de software. Pero han pasado casi 10 años y la comunidad internacional decidió revisar este estándar para actualizarlo. De paso se cambió la numeración para abrir una nueva colección de estándares relacionados con la calidad de producto, la numeración de esta colección parte del 25000. El primer estándar de esta colección es el ISO/IEC FCD 25010: Systems and software engineering – System and software product Quality Requirements and Evaluation (SQuaRE) – System and software quality models. A continuación se resumen elementos más importantes de este estándar.

Definiendo la calidad

Con calidad de software nos referimos al grado en que un producto de software satisface las necesidades expresas e implícitas cuando se usa bajo condiciones específicas. Estas necesidades expresas e implícitas están representadas por el modelo de calidad que categoriza las características de calidad.

El modelo de características de calidad se subdivide en dos vistas: calidad en uso y calidad de producto. La primera, identifica las características de calidad esperadas por un usuario del sistema y la segunda, las que debe cuidar el constructor del sistema.

1. Calidad en uso. Definida como grado en que un producto, utilizado por usuarios específicos, cumple con sus necesidades de lograr objetivos particulares con efectividad, eficiencia, seguridad y satisfacción en un contexto específico de uso. La tabla 1 describe las características de calidad de uso.


Tabla 1. Características de calidad en uso.

2. Calidad de producto. Se define como grado en que un producto (sistema/software) cumple con las siguientes características: funcionalidad apropiada, fiabilidad, eficiencia en desempeño, usabilidad, seguridad, compatibilidad, mantenibilidad y portabilidad. La tabla 2 detalla dichas características.


Tabla 2. Características de calidad en producto.

A cada característica o sub-característica se asocian uno o más atributos de calidad que deben ser medibles. La definición de estos atributos y sus mediciones es actualmente el objeto de trabajo en la parte ISO/IEC 25021 de la colección SQuaRE.

Relevancia

Hasta hace poco la característica más importante de calidad de software fue la de funcionalidad apropiada. Para lograrla se han definido técnicas de captura y documentación de requerimientos funcionales, de las cuales los casos de uso son el mejor ejemplo. Sin embargo, las demás características, antes conocidas como no funcionales, han adquirido cada vez mayor importancia y son las que de manera implícita esperan los usuarios. Es por eso muy importante que los desarrolladores de software las conozcan y aprendan a identificarlas junto con sus clientes, plasmarlas en los diseños y probarlas antes de que el usuario sufra su ausencia.

Afortunadamente no todos los sistemas requieren cumplir con todas las características mencionadas o cubrirlas con el mismo grado de profundidad. Esta es otra tarea muy importante para los analistas y los diseñadores. Saber identificar el grado real requerido por el cliente del cumplimiento de las características de calidad puede ahorrarles el disgusto del cliente y mucho re-trabajo o, cuando el desarrollador es “más papista que el papa”, recurrir en una inversión de esfuerzo que no es realmente requerida.

A todos los interesados de tener acceso a éste y otros estándares, que están en preparación, y tener oportunidad de emitir comentarios, les invito a que se incorporen en las labores del subcomité mexicano para la atención del ISO/IEC JTC1/SC7 Software and System Engineering, coordinado por el Lic. Fernando Solís de CANIETI (fsolis@canieti.com.mx). Necesitamos que nuestra industria de software conozca más los estándares y los aproveche.

Bio

La Dra. Hanna Oktaba es profesora de la UNAM, miembro del IPRC, y directora técnica del proyecto COMPETISOFT. hanna.oktaba@ciencias.unam.mx