Resumen de las Normas de Calidad: ISO/IEC 9126 y ISO/IEC 14598

Resumen de las normas ISO 9126 y ISO 14598

 

En el desarrollo de software, la calidad del producto final junto con la calidad del proceso de elaboración son aspectos muy importantes que han cobrado mucha fuerza en la actualidad. Es por ello que internacionalmente desde hace algún tiempo se han creado y acordado  estándares que proporcionan métricas que permiten validar si un producto de software cumple con dichos enfoques de calidad. Entre estos estándares destacan el ISO 9126 y el ISO 14598, los cuales se completaron alrededor del año 2004 y en la actualidad están siendo supervisados por el proyecto SQuaRE (Security Quality Requirements Engineering) ISO 25000:2005, en el cual se planea reemplazarlos pero conservar sus mismos conceptos. A continuación describiremos sus principales características:

 

1.    Norma  ISO/IEC 9126

 

Es un estándar internacional para la evaluación de la calidad del software como producto final. Este provee un framework para la evaluación de la calidad del producto de software, el mismo se divide en cuatro partes que tratan los temas siguientes: modelo de la calidad (9126-1),  métricas externas (9126-2),  métricas internas (9126-3) y métricas de calidad en uso (9126-4). Estas partes de la norma incluyen características (con sub-características), con métricas que permiten establecer la calidad del producto final desde sus diferentes perspectivas, así de manera general tenemos las siguientes:

 

1.1.    Funcionalidad

 

Comprueba la existencia de un conjunto de funciones que satisfacen necesidades establecidas ó implícitas y sus propiedades específicas. Sus sub-características son:

·         Adecuación: conjunto de funciones para realizar tareas específicas.

·         Correctitud: devuelve resultados exactos de acuerdo a lo esperado.

·         Interoperabilidad: habilidad para interactuar con otros sistemas.

·         Conformidad: es conforme a estándares convenciones o regulaciones.

·         Seguridad: habilidad de prevenir accesos no autorizados.

 

1.2.    Confiabilidad

 

Verifica la capacidad de un software de mantenerse operativo bajo condiciones establecidas extremas ó imprevisibles por un periodo de tiempo. Abarca las siguientes sub-características:

·         Madurez: relacionada con la frecuencia de fallas de software.

·         Tolerancia a fallas: habilidad de mantener un nivel adecuado de funcionamiento en caso de fallas de software o infracción de interfaz especificada.

·         Recuperabilidad: capacidad de restablecer un nivel de rendimiento y recuperar data afectada en caso de falla y el tiempo/esfuerzo necesario.

 

1.3.    Usabilidad

 

Mide el esfuerzo necesario para el uso y la homologación del uso para un conjunto de usuarios establecido o subentendido. Sus sub-características son:

·         Comprensibilidad: esfuerzo necesario para reconocer el concepto lógico y su aplicabilidad.

·         Aprendizaje: capacidad de que los diferentes grupos de usuarios puedan aprender su uso.

·         Operabilidad: esfuerzo que deben emplear los usuarios en operar y controlar la mayoría de sus distintas funcionalidades.

·         Atractividad: capacidad de ser agradable a la vista de los usuarios.

 

1.4.    Eficiencia

 

Verifica la relación entre una medida de tamaño del software y la cantidad de recursos utilizados. Comprende:

·         Comportamiento temporal: relativo a tiempos de respuesta y de proceso así como tasas de rendimiento de su función.

·         Utilización de recursos: cantidad de recursos computacionales utilizados y duración de uso en la realización de su función.

 

1.5.    Mantenibilidad

 

Mide el esfuerzo necesario para realizar modificaciones específicas al software con la intención de reparar, adaptar, mejorar ó corregir su estructura. Comprende:

·         Analizabilidad: esfuerzo requerido para el diagnóstico de deficiencias o causas de fallas ó identificación de partes a modificar en el software.

·         Cambiabilidad: esfuerzo requerido en modificar, corregir la estructura del software ó cambiarlo de ambiente.

·         Estabilidad: riesgo de efectos no esperados después de realizar modificaciones.

·         Facilidad de prueba: esfuerzo requerido en validar modificaciones al software.

 

1.6.    Portabilidad

 

Verifica la capacidad del software de poder operar en distintas plataformas o ambientes. Comprende:

·         Adaptabilidad: oportunidad de adaptación a diferentes ambientes específicos aplicando sólo acciones o medios provistos para este propósito.

·         Instalabilidad: esfuerzo necesario para instalar el software en un ambiente específico.

·         Coexistencia: capacidad de trabajar y colaborar con otros software en distintos ambientes.

·         Reemplazabilidad: oportunidad y esfuerzo de usar el software en lugar de otro software en el ambiente de éste.

·         Conformidad: adherencia a estándares o convenciones relacionadas con portabilidad.

 

2.    Norma ISO/IEC 14598

 

Este estándar nos permite tener un conjunto de elementos de evaluación y métricas que sirven para saber a través de un proceso específico de desarrollo de software, como se ha elaborado.

Este estándar está conformado por las siguientes partes:

 

1)      14158-1 Visión general: provee una vista general de las otras partes y su relación con la norma ISO/IEC 9126.

2)      14158-2 Planeamiento y gestión: consta de requisitos y guías para las funciones de planificación y gestión de la evaluación del producto de software.

3)      14158-3 Proceso para desarrolladores: propone requisitos para la evaluación del producto, cuando la misma es llevada en paralelo con el desarrollo por parte del desarrollador.

4)      14158-4 Proceso para adquirientes: consta de procesos y guías para la evaluación del producto de software, para que esta sea llevada a cabo en función de los compradores o clientes que desean adquirir o reutilizar un producto de software existente o pre-desarrollado.

5)      14158-5 Proceso para evaluadores: consta de requisitos ó guías para la evaluación del software, cuando la misma es llevada a cabo por evaluadores independientes.

6)      14158-6 Documentación de módulos:  provee guías para la documentación del módulo evaluación.

 

Además en sus diferentes etapas, establece un marco de trabajo para evaluar la calidad de los productos de software proporcionando, además características con métricas y requisitos para los procesos de evaluación de los mismos, por lo que podríamos saber sí:

 

1)      ¿Se ha mantenido un orden específico en el desarrollo?

2)      ¿Se ha realizado satisfactoriamente cada etapa del desarrollo?

3)      ¿El usuario sabe lo que quiere y se pudo modelar?

 

Entre las características del proceso de evaluación encontramos las siguientes: repetitividad,  reproducibilidad, imparcialidad y objetividad. Para estas características, este estándar provee un proceso de evaluación que consta de los siguientes pasos:

 

1)      Establecer requisitos de evaluación, el cual consiste en:

a.       Establecer propósitos de la evaluación.

b.       Identificar los tipos de productos.

c.        Especificar el modelo de calidad.

2)      Especificar evaluación, donde se debe:

a.       Seleccionar métricas.

b.       Establecer niveles para las métricas.

c.        Establecer criterios para la evaluación.

3)      Diseñar una evaluación, la cual implica producir un plan de evaluación.

4)      Ejecutar una evaluación mientras se desarrolla el software, esto conlleva:

a.       Tomar medidas.

b.       Comparar con criterios.

c.        Valorar resultados.

 

 

 

Redes Sociales

Funciona con Drupal