Capítulo 2. Estado del Arte
2.2.1. Estandarización del proceso de evaluación del software: ISO/IEC 1
Como se explica más en detalle en la sección 2.3.1, los primeros pasos hacia la
evaluación del software fueron dados por McCall [McCall, Richards, et al. 1977] y Boehm
[Boehm, Brown, et al. 1978] a través de la definición de sus respectivos modelos de calidad. Posteriormente y con ánimo de obtener un modelo de calidad estandarizado, surgió la norma ISO/IEC 9126-1 [ISO 2001a] que describe un modelo de calidad consensuado e internacionalmente aceptado.
Por otra parte, como ya se mencionó en la sección anterior, la serie de normas ISO/IEC 14598 proporcionan métodos para valoración y evaluación del producto software. Las
mismas normas se pueden se puede usar para: 1) evaluar productos existentes, o 2) para evaluar productos en desarrollo (en este caso, el proceso de evaluación debe sincronizarse con el proceso de desarrollo).
La serie de normas ISO/IEC 14598 consta de seis partes. Las normas ISO/IEC 14598-2 [ISO 2000a] y 14598-6 [ISO 2001b] hacen referencia a la gestión y soporte de la evaluación mientras que las normas ISO/IEC 14598-3 [ISO 2000b], ISO/IEC 14598-4[ISO 1999b], ISO/IEC 14598-5[ISO 1998b] proporcionan requisitos y directrices para la evaluación desde el punto de vista del desarrollador, comprador y evaluador independiente respectivamente.
En la Figura 2 pueden verse las partes de las que consta esta serie y su relación con el proceso de evaluación.
Figura 2. Relación entre las normas del ISO/IEC 14598 [ISO 1999a]
De esta forma, queda establecida la base para la definición de los requisitos de calidad para el desarrollo del software en la norma ISO/IEC 9126 a la que completa la serie ISO/IEC 14598 centrada en la evaluación de los productos software. En resumen, podemos decir que la serie de normas ISO/IEC 9126 [ISO 2001c] define un modelo de calidad
ISO/IEC 14598-2: 2000 Planificación y Gestión ISO/IEC 14598-6: 2001 Documentación y módulos de evaluación Apoyo a la evaluación ISO/IEC 14598-3: 2000 Proceso para desarrolladores
ISO/IEC 14598-4: 1999 Proceso para compradores
ISO/IEC 14598-5: 1998 Proceso para evaluadores
Proceso de evaluación ISO/IEC 14598-2: 2000 Planificación y Gestión ISO/IEC 14598-6: 2001 Documentación y módulos de evaluación Apoyo a la evaluación ISO/IEC 14598-3: 2000 Proceso para desarrolladores
ISO/IEC 14598-4: 1999 Proceso para compradores
ISO/IEC 14598-5: 1998 Proceso para evaluadores
ISO/IEC 14598 presentan una visión general de los procesos de evaluación del producto software y proporcionan directrices y requisitos para la evaluación.
La norma ISO/IEC 14598-5 [ISO 1998b] describe el proceso a seguir para la obtención de un informe de evaluación por parte de evaluadores que lleven a cabo evaluaciones independientes. Además, puede usarse para verificar que se cumplen los requisitos de calidad para productos COTS enunciados en la norma ISO/IEC 25051 [ISO 2005g].
El proceso de evaluación definido en esta norma puede usarse para evaluar tanto productos en desarrollo como productos finales, de ahí que sea demasiado general para servir de forma práctica a nuestro propósito.
Según la norma, la evaluación comienza cuando el solicitante de la evaluación pide al evaluador la realización de una evaluación de un producto software. El solicitante debe expresar al evaluador los requisitos de la evaluación y ambos deben acordar a partir de éstos la especificación de la evaluación. Como datos de entrada al proceso de evaluación el evaluador dispone de la descripción y los componentes del producto. Tras el proceso de evaluación, el solicitante de la evaluación obtendrá junto con el informe de evaluación, los registros de evaluación incluyendo planificación y registros de las acciones de evaluación realizadas. En la Figura 3 puede observarse un resumen del proceso de evaluación definido en el estándar en el que además se identifica la información de flujo entre las distintas actividades. Como muestra figura, el proceso se divide en 5 fases que van desde la definición de los requisitos y objetivos de la evaluación, la especificación de las medidas que se realizarán o el diseño de la evaluación para documentar y planificar las acciones a llevar a cabo para la evaluación, hasta la ejecución de la misma y obtención de las conclusiones asociadas. En cuanto a las salidas al proceso, como se observa en la Figura 3, hay productos intermedios y productos finales. Entre los primeros se encuentran los documentos de requisitos, especificación y plan de la evaluación; entre los segundos los registros e informes de evaluación.
Figura 3. El proceso de evaluación para evaluadores [ISO 1998b]
El principal problema del ISO 14598-5 es la falta de soporte necesario para su aplicación práctica. Sin duda la norma es una valiosa base teórica para la definición de un proceso de evaluación de la calidad del software pero, como todo estándar, su necesaria abstracción y generalidad para poder ser aplicado en cualquier situación, hace que haya que adaptarlo al objetivo particular para obtener un proceso operativo. Este marco genérico permite la integración de modelos de calidad predefinidos (en la fase de establecimiento de los requisitos de evaluación). Sin embargo, no prescriben ni recomiendan metodologías, métodos ni procedimientos específicos para realizar las actividades sino que representan un marco conceptual (y normativo) genérico, esto es, un modelo en donde distintos métodos, técnicas, procedimientos y herramientas se puedan aplicar. Por ejemplo, el estándar está definido para cualquier tipo de evaluación tanto de productos en desarrollo como de productos finales. Por tanto, será necesario personalizarlo para cada caso concreto de evaluación.
1. El estándar no relaciona adecuadamente las fases de establecimiento de requisitos y especificación de la evaluación. Más concretamente, el solicitante de la evaluación define durante el establecimiento de los requisitos de evaluación el grado de cobertura o rigor de la evaluación. De éste dependerá directamente la técnica de medición que se defina durante la especificación de la evaluación. Sin embargo, el estándar ni siquiera menciona esta relación y mucho menos la necesidad de revisar los requisitos de evaluación si el solicitante no aprobase las técnicas de medición definidas en relación al grado de cobertura de los requisitos.
2. Cada fase requiere la aprobación por parte del solicitante lo que ralentiza el proceso.
3. Aunque establece que los requisitos definidos en ISO/IEC 25051 [ISO 2005g] pueden verificarse utilizando el proceso de evaluación definido en la norma, no especifica cómo integrar la información de ambas normas en un mismo proceso. Es decir, si además de querer verificar la adecuación del sistema a los requisitos y/o evaluar la calidad de la documentación del producto, se pretende evaluar la calidad del producto con respecto a las características del modelo de calidad establecido, en la norma no se especifica cómo integrar todo el proceso en uno único.
4. El acuerdo entre solicitante de la evaluación y el evaluador se lleva a cabo en la
primera fase. Por tanto, aún no se ha analizado si se dispone de toda la documentación necesaria. Esto implica que podría ser necesario tener que modificar los requisitos de la evaluación, por ejemplo el nivel de profundidad requerido por el solicitante, por falta de la documentación necesaria para llevar a cabo la evaluación acordada anteriormente. Tampoco se han especificado ni aprobado las medidas que se van a llevar a cabo sobre el producto, por lo que en el acuerdo con el cliente no se podrían especificar éstas. Por tanto, puede ocurrir que al definir dichas medidas sea necesario modificar el acuerdo o, en el peor de los casos, surja un conflicto a la entrega de la evaluación por falta de acuerdo entre lo solicitado y lo entregado.
5. La norma hace referencia al nivel de profundidad en la evaluación pero sólo define en el anexo B a nivel informativo cuatro niveles por orden de exhaustividad y rigor en la evaluación. A mayor nivel de profundidad mayor será el rigor de las técnicas de evaluación utilizadas teniendo en cuenta el tiempo y esfuerzo requerido para aplicarlas. Estos niveles de profundidad sólo se asocian al riesgo (económico, de seguridad, daño físico, etc.) del producto software objeto de evaluación. Sin embargo, aunque sin duda el riesgo del producto es una importante razón para realizar una evaluación más exhaustiva, ésta no es la única. Esta definición de nivel de evaluación según el nivel de riesgo al que va dirigido el producto, está muy enfocada a la selección de un producto para un entorno concreto. Sin embargo, existen evaluaciones de productos en las que el entorno de destino es desconocido. Por ejemplo, las evaluaciones que se realizan en revistas técnicas especializadas, las que solicita un fabricante para verificar su nuevo producto antes de que éste salga al mercado o para mejorar uno existente o las evaluaciones independientes que solicita con motivos de marketing.