Metricas para la calidad del software

Metricas para la calidad del software
Información sobre la plantilla
Metricas-300x190.jpg

Las Métricas de Calidad proporcionan una indicación de cómo se ajusta el software, a los requerimientos implícitos y explícitos del cliente.

El objetivo principal de la ingeniería del software es producir un producto de alta calidad. Para lograr este objetivo, los ingenieros del software deben utilizar mediciones que evalúen la calidad del análisis y los modelos de desafío, el código fuente, y los casos de prueba que se han creado al aplicar la ingeniería del software. Para lograr esta evaluación de la calidad en tiempo real, el ingeniero debe utilizar medidas técnicas que evalúan la calidad con objetividad, no con subjetividad.

El primer objetivo del equipo de proyecto es medir errores y defectos. Las métricas que provienen de estas medidas proporcionan una indicación de la efectividad de las actividades de control y de la garantía de calidad.

Importancia de las métricas

Las métricas de software se utilizan para propósitos estratégicos y son utilizadas en el proyecto para minimizar la planificación de desarrollo haciendo los ajustes necesarios que eviten retrasos y reduzcan problemas y riesgos potenciales, son utilizadas también para evaluar la calidad de los productos en el momento actual y cuando sea necesario, modificando el enfoque técnico que mejore la calidad. Para establecer objetivos de mejora durante el proceso de desarrollo de software, se debe comprender el estado actual del desarrollo del software. Si no se mide, no hay una forma real de determinar si se está mejorando y si no se está mejorando, se está perdido.

Resumen de Métricas

Las métricas orientadas al tamaño hacen uso de la línea de código como factor de normalización para otras medidas, como persona-mes o defectos.

Las métricas orientadas a la función provienen de las medidas del dominio de información y de una evaluación subjetiva de la complejidad del problema.

Las métricas de la calidad del software, como métricas de productividad, se centran en el proceso,en el proyecto y en el producto.

Métricas para la calidad del Software

Desarrollando y analizando una linea base de métricas de calidad, una organización puede actuar con objeto de corregir esas áreas de proceso del software que son la causa de los defectos del software. Con la creación de estas métricas los ingenieros del software pueden obtener una visidn más profunda del trabajo que realizan y del producto que elaboran.

Visión general de los factores que afectan a la calidad

Se han definido un conjunto de factores de calidad, estos factores evalúan el software desde tres puntos de vista distintos:

•Operación del producto (utilizándolo).

•Revisión del producto (cambiándolo).

•Transición del producto (modificándolo para que funcione en un entorno diferente).

Proporciona un mecanismo para que el gestor del proyecto identifique lo que considera importante y un medio de evaluar cuantitativamente lo bien que va progresando el desarrollo en relación con los objetivos de calidad establecidos

Medida de la calidad

La corrección, facilidad de mantenimiento, integridad, y facilidad de uso son medidas de calidad que proporcionan indicadores útiles para el equipo del proyecto.

•Corrección: La corrección es el grado en el que el software lleva a cabo su función requerida.

•Facilidad de mantenimiento: Es la facilidad con la que se puede corregir un programa si se encuentra un error, se puede adaptar si su entono cambia, o mejorar si el cliente desea un carnio de requisitos. Esta actividad cuenta con más esfuerzo que cualquier otra actividad de ingeniería del software.

•Integridad: Mide la capacidad de un sistema para resistir ataques (tanto accidentales como intencionados) contra su seguridad. El ataque se puede realizar en cualquiera de los tres componentes del software:programas, datos y documentos.

Para medir la integridad, se tienen que definir dos atributos adicionales: amenaza y seguridad. Amenaza es la probabilidad de que un ataque de un tipo determinado ocurra en un tiempo determinado. La seguridad es la probabilidad de que se pueda repeler el ataque de un tipo determinado. La integridad del sistema se puede definir corno: Integridad = C [(l - amenaza) x (1 - seguridad)] Donde se suman la amenaza y la seguridad para cada tipo de ataque.

•Facilidad de uso: La facilidad de uso es un intento de cuantificar lo amigable que puede ser el programa con el usuario. Se puede medir en función de cuatro características: Habilidad intelectual y/o fisica requerida para aprender el sistema. El tiempo requerido para llegar a ser moderadamente eficiente en el uso del sistema. Aumento neto en productividad, medida cuando alguien utiliza el sistema moderadamente y eficientemente. Valoración subjetiva de la disposición de 1os usuarios hacia el sistema, a veces obtenida mediante un cuestionario.

Eficacia de la Eliminación de Defectos

Proporciona beneficios tanto a nivel del proyecto como del proceso, es una medida para filtrar las actividades de la garantía de calidad y de control al aplicarse a todas las actividades del marco de trabajo del proceso.

La Eficacia de la Eliminación de Defectos (EED) se define de la forma siguiente: EED=E / (E+D) Donde E es el número de errores encontrados antes de la entrega del software al usuario final y D es el número de defectos encontrados después de la entrega. Cuando el valor de EED es 1 significa que no se han encontrado defectos en el software, D será mayor que cero. Cuando E aumenta (para un valor de D dado), el valor total de EED empieza a aproximarse a 1. De hecho, a medida que E aumenta, es probable que el valor final de D disminuya (los errores se filtran antes de que se conviertan en defectos). Si se utilizan como una métrica que proporciona un indicador de la habilidad de filtrar las actividades de la garantía de la calidad y del control, EED anima a que el equipo del proyecto de software instituya técnicas para encontrar todos los errores posibles antes de su entrega.

EED también se puede utilizar dentro del proyecto para evaluar la habilidad de un equipo en encontrar errores antes de que pasen a la siguiente tarea de ingeniería del software. Se vuelve a definir como:

EEDi = Ei / (Ei + Ei +1)

Donde Ei es el número de errores encontrado durante la actividad de ingeniería del software i y Ei+1, es el número de errores encontrado durante la actividad de ingeniería del software i + 1 que se puede seguir para llegar a errores que no se detectaron en la actividad de la ingeniería del software i.

Fuentes

  • S.Pressman, Rogger. (s.f.). Ingenieria de Softaware. Un enfoque práctico (5ta ed.).
  • [1]
  • [2]