1. Introducción

La implantación de un sistema de calidad en una organización ayuda a mejorar la gestión del desarrollo de software, y esto traerá como consecuencia una disminución de los problemas y errores, favoreciendo las relaciones y comunicación entre las personas y grupos de organización, y de éstos con los clientes.

Utilizar un sistema de calidad para la gestión de proyectos aumenta inicialmente los costes de desarrollo del proyecto, pero debe disminuir en mucha mayor medida los costes de su mantenimiento.

La gestión de la calidad dentro de la ingeniería del software va encaminada al aseguramiento de la calidad del software a lo largo del proceso de desarrollo.

La garantía de calidad del software, aplicada a lo largo de topo el proceso de ingeniería del software, engloba a los métodos y herramientas de análisis, diseño, codificación y prueba, al control de la documentación y de los cambios, a los proce-dimientos para asegurar el ajuste a los estándares, y a los mecanismos de medida (métricas) e informes.

Para aplicar el sistema de calidad al ciclo de vida es necesario la utilización de métricas adecuadas que permitan medir la ca-lidad del proyecto (en realidad, comparamos los parámetros de calidad de éste con estimaciones realizadas mediante el uso de estándares o datos que aporta la experiencia en otros pro-yectos). En el contexto en que no encontramos, aten-deremos principalmente a las métricas de productividad y de calidad.

Las métricas se utilizan para evaluar y controlar el proceso de desarrollo del software, de forma que permitan:

- Indicar la calidad del producto.

- Evaluar la productividad de los desarrolladores.

- Evaluar los beneficios (en cuanto a calidad y productividad)

derivados del uso de nuevos métodos y herramientas de ingeniería del software.

- Establecer una línea base para la estimación.

- Justificar el uso de nuevas herramientas o de formación adicional.

Pero es necesario utilizar las métricas más adecuadas para conseguir el control, seguimiento y mejora de la calidad, y para ello es necesario determinar los factores de calidad más impor-tantes dentro del proyecto.

2. Situación actual y problemática

Para implementar el esquema de control de la calidad, vamos a utilizar la metodología del Grupo de Control de Calidad (GCC) [GRA92]. El funcionamiento del GCC se muestra en la figura 1 del artículo 'Estudio gráfico para el análisis de la calidad de software' en este mismo número.

El GCC se encarga de determina las Especificaciones de Requerimientos de Calidad del Usuario (ERCU). El GCC se compone de dos elementos, el EDPRAI (elemento de dirección del programa de revisiones y análisis de la información) y el EDPI (elemento decisor en primera instancia).

El EDPRAI se encarga de la recogida de información sobre el desarrollo del software, el tratamiento estadístico de esta información, y la aplicación de las métricas, y su objetivo es establecer el estándar de calidad de todo el proceso. El EDPI se encarga de realizar un estudio reiterativo de los impactos entre factores de calidad y errores de desarrollo.

De esta forma, el GCC utiliza los valores de las métricas como elemento objetivo para establecer la calidad del producto mediante comparaciones. El GCC utiliza como herramienta para el control de la calidad la Matriz de Relaciones Lógicas entre defectos de producción del software y factores de calidad, para intentar satisfacer al máximo los requerimientos de calidad del usuario.La utilización de esta herramienta obliga a resolver el problema de la elección de las variables a incluir dentro de la matriz de relaciones lógicas (MRL); es decir, decidir qué aspectos tienen mayor importancia dentro del proyecto de cara a satisfacer los requisitos de calidad.

Para resolver este problema, se puede establecer una línea base para las métricas. La línea base consiste en datos recogidos de proyectos de desarrollo de software anteriores, donde además de simples medidas orientadas al tamaño o a la función, se pueden añadir métricas de calidad como: corrección, facilidad de mantenimiento, integridad, facilidad de uso, etc.

Sin embargo, el establecimiento de la línea base es complicado, puesto que durante la evolución y el proceso de producción del software pueden alterarse los factores que determinan el grado de calidad del software.

3. Solución propuesta

El problema que hay que resolver consiste en establecer qué variables intervienen en cada tipo de proyecto, o en cada proyecto en concreto. Dentro del esquema metodológico, la delimitación de las variables a estudiar es responsabilidad del EDPRAI.

Al estar dentro de un entorno de calidad, lo más inmediato es establecer los factores de calidad como variables más importan-tes para el proyecto. Sin embargo, la influencia de estos facto-res en la calidad dependerá tanto del tipo de proyecto como de sus características concretas. Además, la influencia de los factores puede verse alterada durante el desarrollo del proyecto.

Los factores de calidad, entre los que debemos seleccionar los más importantes, son los enunciados por McCall [MCC77]: OPERACIONES DEL PRODUCTO (Corrección, Fiabilidad, Eficiencia, Integridad, Facilidad de uso), REVISION DEL PRODUCTO (Facilidad de mantenimiento, Flexibilidad, Facilidad del prueba), TRANSICION DEL PRODUCTO (Portabilidad, Reusabilidad, Interoperatividad). Una vez escogidas las variables de entre los factores de calidad, la matriz de relaciones lógicas entre errores y factores de calidad se utilizaría para comprobar la calidad en un momento determinado y para estudiar su evolución a lo largo del proyecto.

Para escoger las variables de entre los factores de calidad, podríamos utilizar un método que obtuviese los factores de calidad más importantes para el proyecto a través de la Especificación de Requisitos de Calidad del Usuario (ERCU). Esto está justificado puesto que aunque la ERCU no es la única especificación de calidad para el producto, sí es la más importante para el usuario y es en la que se debe hacer mayor esfuerzo. De esta forma, una vez obtenida la ERCU, se podrían obtener automáticamente cuáles de los factores de calidad son los más importantes para el proyecto.

El siguiente paso consiste en expresar la ERCU en términos de categorías de requisitos. Una forma de hacerlo es utilizar las Propiedades no Funcionales que define EuroMétodo [EUR94].

Las propiedades no funcionales caracterizan a los reque-rimientos que limitn la forma en que se realiza el sistema de información en lugar de describir la estructura y funcionalidad que debe tener el sistema (que son las propiedades funcionales). Las propiedades no funcionales se refieren a la calidad del sistema y a sus limitaciones de recursos, pudiendo aplicarse al sistema de información completo o a algunos de sus componentes. En Eurométodo se establecen las siguientes propiedades no-funcionales:

- Coste

- Beneficio

- Volumen

- Frecuencia

- Duración

- Eficiencia

- Seguridad

- Criticalidad

- Exactitud

- Facilidad de mantenimiento

- Portabilidad

- Facilidad de uso

La importancia de cada una de las propiedades no funcionales vendrá dada por las prioridades de los requisitos de la ERCU a que corresponde cada propiedad. De esta forma no solo tenemos representada la ERCU en categorías, sino también su importancia o prioridad respecto del resto de requerimientos de calidad del usuario.

Llegados a este punto, hay que establecer la relación entre las propiedades no funcionales y los factores de calidad, para obtener los factores que son más importantes para el producto. Para ello, podemos utilizar una tabla de propiedades no funcionales y factores de calidad. La relación entre algunos de ellos es inmediata, y del resto puede obtenerse fácilmente.

Utilizando esta tabla, se pueden obtener los factores de calidad que van a ser más influyentes dentro del proyecto, lo que nos permitirá escoger sólo los más importantes para llevar a cabo la gestión de la calidad.

Al utilizar sólo los factores más influyentes, podemos reducir el coste que supone la gestión de la calidad dentro del proyecto, además de obtener una idea más real de los niveles de calidad que se alcanzan en las distintas fases del proyecto. También permite observar la evolución de la calidad a lo largo del proceso, y a partir de esto estimar los niveles de calidad de futuras etapas.

Una vez que se han establecido los factores de calidad que se van a estudiar dentro del proyecto, sólo será necesario revisarlo si hay cambios que afecten a la especificación de requerimientos de calidad del usuario. En este caso, se repetirá el proceso de selección de variables.

4. Conclusiones

La gestión de la calidad va tomando cada día mayor importancia en el ámbito del desarrollo de software. De esta forma, los esfuerzos encaminados a integrar la gestión de la calidad dentro de la gestión de los proyectos deben provocar también un aumento de la productividad.

Sin embargo, lo costoso de la implementación de un sistema de calidad dentro de la empresa ha hecho que se cuestione su utilización en un gran número de casos. El uso de métodos como el presentado aquí puede provocar una simplificación del sistema de gestión de la calidad, a la vez que una expresión más objetiva de la calidad del producto.

Este esquema permitiría la evaluación de la calidad del proyecto sin que se vea afectada por los cambios, puesto que permite reconsiderar los factores de calidad a estudiar a la vez que evoluciona el proyecto.

Referencias bibliográficas

[EMA93] Emaldi, Mikel; Villate, J. M. "Calidad de software e ISO 9000". Informática y Automática Vol. 26 - 3/1993; páginas 25 a 33.

[EUR94] Euromethod Concepts Manual 2: Deliverable Model. Euromethod Proyect, 1994.

[GRA2] Granja Álvarez, Juan Carlos. "Contribución al estudio de las técnicas de garantía de calidad". Novática, Vol. XVIII, num. 99; páginas 34 a 38. [JEA92] JeanRenaud, A.; Romnazzi, P.; Scoyni, C. "Evaluation Process for Software Products Quality: A Metodology". 3rd European Conference on Software Quality. Madrid, 1992. [MCC77] McCall, J., P. Richards, and G. Walters. "Factors in Software Quality", NTIS AD-A049-014, 015, 055, Noviembre 1977. [MET92] Metodología de Planificación y Desarrollo de Sistemas de Información. Métrica Versión 2. Guía de Referencia.

[PRE93] Pressman, R. S. "Ingeniería del Software, un enfoque práctico", tercera edición. McGraw-Hill. 1993.