21 January 2007

Visión General acerca de ISO 9126

ISO/IEC 9126 plantea un conjunto de atributos que tienen impacto en la capacidad del software de mantener su nivel de desempeño dentro de las condiciones establecidas por un período de tiempo.

Esta Norma tiene 4 partes:

(a) Modelo de Calidad – ISO 9126-1:2001

(b) Métricas Externas, las cuales miden el software en sí mismo (Calidad Externa – Ambiente de Prueba) – ISO 9126-2:2003

(c) Métricas Internas, las cuales miden el comportamiento del sistema (Calidad Interna – Ambiente de Desarrollo) – ISO 9126-3: 2003

(d) Calidad en Uso, el cual mide el efecto de usar el software en un contexto específico (Ambiente de Producción) – ISO 9126-4: 2004

ISO 9126-1 describe el modelo de calidad del producto de software. La primera parte del modelo especifica 6 características de calidad interna y externa, las cuales están divididas en subcaracterísticas, son manifestadas externamente cuando el software es utilizado como parte de un sistema, y son un resultado de atributos internos del software.

La calidad externa evalúa que el software satisfaga las necesidades del usuario teniendo en cuenta las condiciones especificadas. Esta calidad es medible en el comportamiento del producto. La calidad interna evalúa el total de atributos que un software debe satisfacer teniendo en cuenta condiciones especificadas. Esta calidad es medible a partir de las características intrínsecas.

Las características definidas son aplicables a todo tipo de software. Las características y subcaracterísticas proveen una terminología consistente respecto de la calidad del producto del software.

Esta Norma permite especificar y evaluar la calidad del software desde distintas perspectivas, las cuales están asociadas a la adquisición, requerimientos, desarrollo, uso, evaluación, soporte, mantenimiento, aseguramiento de la calidad, y auditoria del software. Puede ser usada por desarrolladores, evaluadores independientes y grupos de aseguramiento de la calidad responsables de especificar y evaluar la calidad del software.

La evaluación de los productos de software que satisfacen las necesidades de calidad del software es uno de los procesos del ciclo de vida de desarrollo del software. La calidad del producto de software puede ser evaluada por medio de la medición de atributos internos, externos o a través de la calidad en uso. El objetivo es que el producto tenga el efecto requerido en un contexto particular de uso.

La calidad del proceso contribuye a mejorar la calidad del producto, y la calidad del producto contribuye a mejorar la calidad en uso. Evaluar y mejorar la calidad de un proceso contribuye a mejorar la calidad del producto; y esto contribuye a mejorar la calidad en uso. De manera similar, evaluar la calidad en uso puede mejorar la calidad del producto, y evaluar un producto puede mejorar un proceso.

Las necesidades de calidad del usuario contribuyen a especificar los “requisitos de calidad externa”, los cuales contribuyen a especificar los “requisitos de calidad interna”. La “calidad interna” indica la existencia de “calidad externa” y ésta indica la existencia de “calidad en uso”.

Existen métricas internas y externas. Las métricas internas pueden ser aplicadas a un software no ejecutable durante el diseño y la codificación. Las métricas externas se utilizan en el software ejecutable.

Para realizar la evaluación de la Calidad del Software se puede, entre otros, considerar la Norma ISO 9126-1:2001. Esta Norma define las características de calidad como un conjunto de atributos del producto de software a través de los cuales la calidad es descripta y evaluada. Estas características de calidad del software pueden ser precisadas a través de múltiples niveles de subcaracterísticas.

El modelo de calidad de ISO 9126-1 establece 3 niveles: (1) Característica, (2) Subcaracterística y (3) Métricas.

ISO 9126-1:2001 plantea las siguientes características de calidad: (1) Funcionalidad, (2) Confiabilidad, (3) Facilidad de Uso, (4) Eficiencia, (5) Facilidad de Mantenimiento y (6) Portabilidad.

La Funcionalidad (1) es el conjunto de atributos que se refieren a la existencia de un conjunto de funciones y sus propiedades específicas. Las funciones cumplen unos requerimientos o satisfacen unas necesidades implícitas. Las subcaracterísticas de la Funcionalidad son: Aptitud, Precisión, Interoperatividad, Conformidad, Seguridad y Trazabilidad.

La Confiabilidad (2) es el conjunto de atributos que se refieren a la capacidad del software de mantener su nivel de rendimiento bajo unas condiciones especificadas durante un período definido. Las subcaracterísticas de la Confiabilidad son: Madurez, Tolerancia a fallas, Facilidad de Recuperación, Disponibilidad y Degradabilidad.

La Facilidad de Uso (3) es el conjunto de atributos que se refieren al esfuerzo necesario para usarlo, y sobre la valoración individual de tal uso, por un conjunto de usuarios definidos e implícitos. Las subcaracterísticas de la Facilidad de Uso son: Comprensibilidad, Facilidad de aprendizaje, Operatividad, Explicitud, Adaptabilidad al usuario, Atractivo, Claridad, Facilidad de ayudas y Amistoso al usuario.

La Eficiencia (4) es el conjunto de atributos que se refieren a las relaciones entre el nivel de rendimiento del software y la cantidad de recursos utilizados bajo unas condiciones predefinidas. Las subcaracterísticas de la Eficiencia son: Respecto al tiempo y Respecto a los recursos.

La Facilidad de Mantenimiento (5) es el conjunto de atributos que se refieren al esfuerzo necesario para hacer modificaciones especificadas. .Las subcaracterísticas de la Facilidad de Mantenimiento son: Facilidad de análisis, Facilidad de cambio, Estabilidad y Facilidad de prueba.

La Portabilidad (6) es el conjunto de atributos que se refieren a la habilidad del software para ser transferido desde un entorno a otro. Las subcaracterísticas de la Portabilidad son: Adaptabilidad, Facilidad de instalación, Conformidad y Facilidad de Reemplazo.

ISO 9126-2, ISO 9126-3 e ISO 9126-4 se utilizan en los ambientes de Prueba, Desarrollo y Producción respectivamente y tienen las mismas métricas asociadas por cada Subcaracterística definida. Una vez calculada cada métrica se realizará una comparación respecto del valor especificado por el cliente. De esta forma, se podrá determinar su cumplimiento. También se calculará un promedio ponderado por Subcaracterística y por Característica.

La valoración de estas características es útil para que el usuario pueda definir los requerimientos del producto utilizando solamente las características que emplee en la práctica. Para algunos tipos de productos de software, hay determinadas características que no son significativas y las restantes no garantizan que con ellas comprendan todos los requerimientos de los productos de software, por lo que en cada caso habrá que completarlas con otras definiciones más específicas para esos productos o situaciones. No obstante el modelo tiene el nivel de abstracción suficiente como para que sea adaptable en la mayoría de las situaciones, siendo además, independiente de la tecnología.

El punto 8.2.4 “Seguimiento y medición del producto”, el cual está presente en las Norma ISO 9001:2000 e ISO 90003:2004 (ISO 9001:2000 aplicada al Software), permite evaluar las características del software planteadas en la Norma ISO 9126. El área de procesos PPQA (Process and Product Quality Assurance) de CMMi V1.2 guarda relación con el punto 8.2.4.

Por último, se puede decir que la auditoria de la calidad del software puede traer aparejado la certificación del software, lo cual permite mejorar el nivel de competitividad de la empresa con sus respectivas consecuencias.