Distingue entre fallo y no conformidad. Un fallo es el incumplimiento de los requisitos previos, mientras que la no conformidad es el incumplimiento de los requisitos especificados. Una distinción similar es la que se establece entre validación y verificación.
“Es un estándar internacional para la evaluación del Software que permite darle la calidad respectiva al Producto del Software”
Se divide en Cuatro Partes de Calidad del Producto de Software que a continuación se mencionan:
- ISO/IEC 9126-1 Parte 1: Modelo de Calidad
- ISO/IEC 9126-2 Parte 2: Métricas Externas (Son aplicables al software en ejecución)
- ISO/IEC 9126-3 Parte 3: Métricas Internas (No dependen de la ejecución del software “medidas estáticas”.
- ISO/IEC 9126-4 Parte 4: Métricas de Calidad en Uso (Están disponibles cuando el producto final es usado en condiciones reales.
La calidad interna determina la calidad externa y esta a su vez la calidad en el uso.
Este estándar proviene desde el modelo establecido en 1977 por McCall y sus colegas, los cuales propusieron un modelo para especificar la calidad del software. El modelo de calidad McCall está organizado sobre tres tipos de Características de Calidad:
- Factores (especificar): Describen la visión externa del software, como es visto por los usuarios.
- Criterios (construir): Describen la visión interna del software, como es visto por el desarrollador.
- Métricas (controlar): Se definen y se usan para proveer una escala y método para la medida.
En este aporte hablaremos del Modelo de Calidad.
ISO/IEC 9126-1 Parte 1: Modelo de Calidad
Clasifica la calidad del software en un conjunto estructurado de características y subcaracterísticas que a continuación se mencionan:
• Funcionalidad
Un conjunto de atributos que se relacionan con la existencia de un conjunto de funciones y sus propiedades específicas. Las funciones son aquellas que satisfacen lo indicado o implica necesidades.
- Idoneidad
- Exactitud
- Interoperabilidad
- Seguridad
- Cumplimiento de normas
• Fiabilidad
Un conjunto de atributos relacionados con la capacidad del software de mantener su nivel de prestación bajo condiciones establecidas durante un período de tiempo establecido.
- Madurez
- Recuperabilidad
- Tolerancia a fallos
• Usabilidad
Un conjunto de atributos relacionados con el esfuerzo necesitado para el uso, y en la valoración individual de tal uso, por un establecido o implicado conjunto de usuarios.
- Aprendizaje
- Comprensión
- Operatividad
- Atractividad
• Eficiencia
Conjunto de atributos relacionados con la relación entre el nivel de desempeño del software y la cantidad de recursos necesitados bajo condiciones establecidas.
- Comportamiento en el tiempo
- Comportamiento de recursos
• Mantenibilidad
Conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en un sistema software.
- Estabilidad
- Facilidad de análisis
- Facilidad de cambio
- Facilidad de pruebas
• Portabilidad
Conjunto de atributos relacionados con la capacidad de un sistema software para ser transferido desde una plataforma a otra.
- Capacidad de instalación
- Capacidad de reemplazamiento
- Adaptabilidad
- Co-Existencia
Un producto software está definido en un sentido amplio como: los ejecutables, código fuente, descripciones de arquitectura, y así. Como resultado, la noción de usuario se amplía tanto a operadores como a programadores, los cuales son usuarios de componentes como son bibliotecas software.
El estándar provee un entorno para que las organizaciones definan un modelo de calidad para el producto software. Haciendo esto así, sin embargo, se lleva a cada organización la tarea de especificar precisamente su propio modelo. Esto podría ser hecho, por ejemplo, especificando los objetivos para las métricas de calidad las cuales evalúan el grado de presencia de los atributos de calidad.