ISO 9126-3: Métricas Internas de la Calidad del Producto de Software

Gonzalo Mena Mendoza

Estándares de Calidad

Maestría en Ingeniería de Software Distribuido

Facultad de Informática

Universidad Autónoma de Querétaro

ISO/IEC TR 9126-3:2003

Software engineering - Product quality

Part 3: Internal metrics

Contenido

Este reporte técnico contiene:

  1. Una explicación de cómo aplicar las métricas de calidad de sofware.
  2. Un conjunto básico de métricas para cada subcaracterística.
  3. Un ejemplo de cómo aplicar las métricas durante el ciclo de desarrollo del producto de software.

Audiencia

Este reporte técnico está dirigido a:

Métricas Internas

Tablas de Métricas

Organizadas por característica y subcaracterística, cada métrica contiene:
  1. Nombre
  2. Propósito
  3. Método de aplicación
  4. Medidad, fórmula y cómputo de datos
  5. Interpretación del valor medido
  1. Tipo de escala
  2. Tipo de medida
  3. Fuente de medición
  4. Referencia a ISO/IEC 12207 SLCP
  5. Audiencia

1. Métricas de Funcionalidad

  1. Adecuidad
  2. Exactidud
  3. Interoperabilidad
  4. Seguridad
  5. Conformidad de la funcionalidad

1.1. Ejemplo de Métrica de Adecuidad

Nombre: Completitud de implementación funcional
Propósito: Qué tan completa está la implementación funcional.
Método de aplicación: Contar las funciones faltantes detectadas en la evaluación y comparar con el número de funciones descritas en la especificación de requisitos.
Medición, fórmula: X = 1 - A/B
A = número de funciones faltantes
B = número de funciones descritas en la especificación de requisitos
Interpretación: 0 <= X <= 1
Entre más cercano a 1, más completa.
Tipo de escala: absoluta
Tipo de medida: X = count/count
A = count
B = count
Fuente de medición: Especificación de requisitos
Diseño
Código fuente
Informe de revisión
ISO/IEC 12207 SLCP: 6.6 Validación
6.6 Revisión conjunta
Audiencia: Requeridores
Desarrolladores

2. Métricas de Fiabilidad

  1. Madurez
  2. Tolerancia a fallos
  3. Recuperabilidad
  4. Conformidad de la fiabilidad

2.1. Ejemplo de Métrica de Madurez

Nombre: Suficiencia de las pruebas
Propósito: Cuántas de los casos de prueba necesarios están cubiertos por el plan de pruebas.
Método de aplicación: Contar las pruebas planeadas y comparar con el número de pruebas requeridas para obtener una cobertura adecuada.
Medición, fórmula: X = A/B
A = número de casos de prueba en el plan
B = número de casos de prueba requeridos
Interpretación: 0 <= X
Entre X se mayor, mejor la suficiencia.
Tipo de escala: absoluta
Tipo de medida: X = count/count
A = count
B = count
Fuente de medición: A proviene del plan de pruebas
B proviene de la especificación de requisitos
ISO/IEC 12207 SLCP: Aseguramiento de Calidad
Resolución de problemas
Verificación
Audiencia: Desarrolladores
Mantenedores

3. Métricas de Usabilidad

  1. Entendibilidad
  2. Aprendibilidad
  3. Operatibilidad
  4. Atractivo
  5. Conformidad de la usabilidad

3.1. Ejemplo de Métrica de Entendibilidad

Nombre: Funciones evidentes
Propósito: Qué proporción de las funciones del sistemas son evidentes al usuario.
Método de aplicación: Contar las funciones evidentes al usuario y comparar con el número total de funciones.
Medición, fórmula: X = A/B
A = número de funciones (o tipos de funciones) evidentes al usuario
B = total de funciones (o tipos de funciones)
Interpretación: 0 <= X <= 1
Entre más cercano a 1, mejor.
Tipo de escala: absoluta
Tipo de medida: X = count/count
A = count
B = count
Fuente de medición: Especificación de requisitos
Diseño
Informe de revisión
ISO/IEC 12207 SLCP: Verificación
Revisión conjunta
Audiencia: Requeridores
Desarrolladores

4. Métricas de Eficiencia

  1. Comportamiento en el tiempo
  2. Utilización de recursos
  3. Conformidad de la eficiencia

4.1. Ejemplo de Métrica de Comportamiento en el Tiempo

Nombre: Tiempo de respuesta
Propósito: Cuál es el tiempo estimado para completar una tarea.
Método de aplicación: Evaluar la eficiencia de las llamadas al SO y a la aplicación.
Estimar el tiempo de respuesta basado en ello. Puede medirse:
  • Todo o partes de las especificaciones de diseño.
  • Probar la ruta completa de una transacción.
  • Probar módulos o partes completas del producto.
  • Producto completo durante la fase de pruebas.
Medición, fórmula: X = tiempo (calculado o simulado)
Interpretación: Entre más corto, mejor.
Tipo de escala: proporción
Tipo de medida: X = time
Fuente de medición: Sistema operativo conocido
Tiempo estimado en llamadas al sistema
ISO/IEC 12207 SLCP: Verificación
Revisión conjunta
Audiencia: Desarrolladores
Requeridores

5. Métricas de Mantenibilidad

  1. Analizabilidad
  2. Cambiabilidad
  3. Estabilidad
  4. Examinabilidad
  5. Conformidad de la mantenibilidad

5.2. Ejemplo de Métrica de Cambiabilidad

Nombre: Registrabilidad de cambios
Propósito: ¿Se registran adecuadamente los cambios a la especificación y a los módulos con comentarios en el código?
Método de aplicación: Registrar la proporción de información sobre cambios a los módulos
Medición, fórmula: X = A/B
A = número de cambios a funciones o módulos que tienen comentarios confirmados
B = total de funciones o módulos modificados
Interpretación: 0 <= X <= 1
Entre más cercano a 1, más registrable.
0 indica un control de cambios deficiente o pocos cambios y alta estabilidad.
Tipo de escala: absoluta
Tipo de medida: X = count/count
A = count
B = count
Fuente de medición: Sistema de control de configuraciones
Bitácora de versiones
Especificaciones
ISO/IEC 12207 SLCP: Verificación
Revisión conjunta
Audiencia: Desarrolladores
Mantenedores
Requeridores

6. Métricas de Transportabilidad

  1. Adaptabilidad
  2. Instalabilidad
  3. Coexistencia
  4. Remplazabilidad
  5. Conformidad de la transportabilidad

6.5. Ejemplo de Conformidad de la Transportabilidad

Nombre: Conformidad de transportabilidad
Propósito: Qué tan conforme es la transportabilidad del producto con regulaciones, estándares y convenciones aplicables.
Método de aplicación: Contar los artículos encontrados que requieren conformidad y comparar con el número de artículos en la especificación que requieren conformidad.
Medición, fórmula: X = A/B
A = número de artículos implementados de conformidad
B = total de artículos que requieren conformidad
Interpretación: 0 <= X <= 1
Entre más cercano a 1, más completa.
Tipo de escala: absoluta
Tipo de medida: X = count/count
A = count
B = count
Fuente de medición: Especificación de conformidad y estándares, convenciones y regulaciones relacionados.
Diseño
Código fuente
Informe de revisión
ISO/IEC 12207 SLCP: Verificación
Revisión conjunta
Audiencia: Requeridores
Desarrolladores

Consideraciones al Utilizar las Métricas

  1. Interpretación de las mediciones
    • Diferencia entre conextos de pruebas y de uso.
    • Validez de resultados: procedimientos, fuentes de evaluación, validación de datos.
    • Equilibrio de recursos de medición.
    • Especificación correcta.
  2. Validación de las métricas
    • Propiedades deseables: confiable, repetible, reproducible, disponible, indicable, correcta, con significado.
    • Demostración de validez: correlación, rastreo, consistencia, predictibilidad, discriminación.
    • 7 propiedades deseables en las métricas
    • 7 propiedades deseables en las métricas
  3. Uso de métricas para estimación y predicción
  4. Detección de desviaciones y anomalías
  5. Presentación de resultados de medición
    • Gráficas de barras, matriz de desempeño, gráficas de Pareto, gráficas de correlación, etc.

Modelo de Medición de la Calidad

Actividad 1 Actividad 2 Actividad 3 Actividad 4 Actividad 5 Actividad 6 Actividad 7 Actividad 8
Fase Análisis de requisitos Diseño de arquitectura Diseño detallado de software Codificación y pruebas de software Integración y pruebas de software Integración y pruebas de sistema Instalación Aceptación y apoyo
Referencia modelo 9126 Calidad requerida por el usuario
Calidad interna requerida
Calidad externa requerida
Calidad en uso predicha
Calidad externa predicha
Calidad interna medida
Calidad en uso predicha
Calidad externa predicha
Calidad interna medida
Calidad en uso predicha
Calidad externa medida
Calidad externa predicha
Calidad interna medida
Calidad en uso predicha
Calidad externa medida
Calidad externa predicha
Calidad interna medida
Calidad en uso predicha
Calidad externa medida
Calidad interna medida
Calidad en uso predicha
Calidad externa medida
Calidad interna medida
Calidad en uso medida
Calidad externa medida
Calidad interna medida
Entregables clave Requisitos de calidad del usuario
Requisitos de calidad externa
Requisitos de calidad interna
Diseño de arquitectura Diseño detallado de software Código y resultados de pruebas Producto y resultados de pruebas Sistema intgrado y resultados de pruebas Sistema instalado Producto entregado
Métricas utilizadas Internas (externas pueden validar especificaciones) Internas Internas Internas y externas Internas y externas Internas y externas Internas y externas Calidad en el uso, internas y externas

Pasos Sugeridos

  1. Identificación de requisitos de calidad
  2. Especificación de la evaluación
  3. Diseño de la evaluación
  4. Ejecución de la evaluación
  5. Retroalimentación a la organización

Identificación de requisitos de calidad

Característica Subcaracterística Peso
Funcionalidad Adecuidad A
Exactidud A
Interoperabilidad B
Seguridad B
Conformidad M
Fiabilidad Madurez B
Tolerancia a fallos M
Recuperabilidad A
Tolerancia a fallos M
... ... ...

Especificación de la evaluación

Característica Subcaracterística Métrica Nivel Requerido Nivel Obtenido
Funcionalidad Adecuidad      
Exactidud      
Interoperabilidad      
Seguridad      
Conformidad      
Fiabilidad Madurez      
Tolerancia a fallos      
Recuperabilidad      
Tolerancia a fallos      
... ...      

Diseño de la evaluación

Característica Subcaracterística Entregables a Evaluar Métricas Internas a Aplicar Métricas Externas a Aplicar Métricas de Calidad en el Uso
Funcionalidad Adecuidad
(no aplica)
Exactidud
(no aplica) (no aplica)
Interoperabilidad ... ... ... ...

Métricas Internas Puras

  • Trazabilidad
  • Número ciclomático
  • Complejidad del flujo de información
  • Modularidad
  • Tamaño del programa
  • Enunciados condicionales
  • Referencia unificada de datos
  • Adecuidad de nombre de variables
  • Proporción de acomplamiento entre módulos por datos
  • Enunciados del programa
  • Tamaño promedio de módulo
  • Proporción de acomplamiento entre módulos por funciones

Comentarios