Métricas de medición de software

La métrica de software es un estándar de medida que contiene muchas actividades que involucran algún grado de medición. Se puede clasificar en tres categorías: métricas de productos, métricas de procesos y métricas de proyectos.

  • Product metrics describir las características del producto, como el tamaño, la complejidad, las características de diseño, el rendimiento y el nivel de calidad.

  • Process metricsse puede utilizar para mejorar el desarrollo y el mantenimiento de software. Los ejemplos incluyen la efectividad de la eliminación de defectos durante el desarrollo, el patrón de prueba de la llegada del defecto y el tiempo de respuesta del proceso de reparación.

  • Project metricsdescribir las características y ejecución del proyecto. Los ejemplos incluyen la cantidad de desarrolladores de software, el patrón de personal durante el ciclo de vida del software, el costo, el cronograma y la productividad.

Algunas métricas pertenecen a varias categorías. Por ejemplo, las métricas de calidad en proceso de un proyecto son métricas de proceso y métricas de proyecto.

Alcance de las métricas de software

Las métricas de software contienen muchas actividades que incluyen lo siguiente:

  • Estimación de costes y esfuerzos
  • Medidas y modelo de productividad
  • Recopilación de datos
  • Modelos y medidas cuantitativas
  • Modelos de confiabilidad
  • Modelos de desempeño y evaluación
  • Métricas estructurales y de complejidad
  • Capacidad: evaluación de madurez
  • Gestión por métricas
  • Evaluación de métodos y herramientas

La medición de software es una colección diversa de estas actividades que van desde modelos que predicen los costos del proyecto de software en una etapa específica hasta medidas de la estructura del programa.

Estimación de costos y esfuerzos

El esfuerzo se expresa en función de una o más variables como el tamaño del programa, la capacidad de los desarrolladores y el nivel de reutilización. Se han propuesto modelos de estimación de costos y esfuerzos para predecir el costo del proyecto durante las primeras fases del ciclo de vida del software. Los diferentes modelos propuestos son:

  • Modelo COCOMO de Boehm
  • Modelo delgado de Putnam
  • Modelo de punto de función de Albrecht

Modelo y medidas de productividad

La productividad se puede considerar en función del valor y el costo. Cada uno puede descomponerse en diferentes tamaños medibles, funcionalidad, tiempo, dinero, etc. Los diferentes componentes posibles de un modelo de productividad se pueden expresar en el siguiente diagrama.

Recopilación de datos

La calidad de cualquier programa de medición depende claramente de una recopilación cuidadosa de datos. Los datos recopilados se pueden destilar en cuadros y gráficos simples para que los gerentes puedan comprender el progreso y el problema del desarrollo. La recopilación de datos también es esencial para la investigación científica de relaciones y tendencias.

Modelos y medidas de calidad

Se han desarrollado modelos de calidad para medir la calidad del producto sin los cuales la productividad no tiene sentido. Estos modelos de calidad se pueden combinar con el modelo de productividad para medir la productividad correcta. Estos modelos generalmente se construyen en forma de árbol. Las ramas superiores contienen importantes factores de calidad de alto nivel, como la fiabilidad y la facilidad de uso.

La noción del enfoque de divide y vencerás se ha implementado como un enfoque estándar para medir la calidad del software.

Modelos de confiabilidad

La mayoría de los modelos de calidad incluyen la confiabilidad como un factor componente, sin embargo, la necesidad de predecir y medir la confiabilidad ha llevado a una especialización separada en el modelado y la predicción de confiabilidad. El problema básico en la teoría de la confiabilidad es predecir cuándo fallará un sistema.

Evaluación y modelos de desempeño

Incluye características de rendimiento del sistema observables externamente, como los tiempos de respuesta y las tasas de finalización, y el funcionamiento interno del sistema, como la eficiencia de los algoritmos. Es otro aspecto de la calidad.

Métricas estructurales y de complejidad

Aquí medimos los atributos estructurales de las representaciones del software, que están disponibles antes de la ejecución. Luego, intentamos establecer teorías predictivas empíricas para respaldar la garantía de calidad, el control de calidad y la predicción de la calidad.

Evaluación de madurez de la capacidad

Este modelo puede evaluar muchos atributos diferentes de desarrollo, incluido el uso de herramientas, prácticas estándar y más. Se basa en las prácticas clave que todo buen contratista debería utilizar.

Gestión por métricas

Para gestionar el proyecto de software, la medición tiene un papel vital. Para comprobar si el proyecto va por buen camino, los usuarios y desarrolladores pueden confiar en el cuadro y el gráfico basados ​​en mediciones. El conjunto estándar de métodos de medición y generación de informes es especialmente importante cuando el software está integrado en un producto donde los clientes no suelen estar bien versados ​​en terminología de software.

Evaluación de métodos y herramientas

Esto depende del diseño experimental, la identificación adecuada de los factores que pueden afectar el resultado y la medición adecuada de los atributos de los factores.