Métricas del desarrollo de software

De Wikiversidad
Ir a la navegación Ir a la búsqueda
Este recurso de aprendizaje es una lección creada originalmente como material didáctico del proyecto de aprendizaje Dirección y gestión de proyectos y sistemas informáticos.

Una métrica es la manera con la que, combinando una o varias medidas, obtenemos una aproximación a un atributo de un proceso o proyecto. En la siguiente página vamos a tratar de mostrar diversos ejemplos de métricas y su uso.

Introducción[editar]

El objetivo primordial de la Ingeniería del Software es producir un sistema, una aplicación o un producto de alta calidad. Para llegar a este objetivo, los ingenieros de software emplean métodos efectivos junto con herramientas modernas. Un buen ingeniero del software debe medir si se va a conseguir que dicho sistema sea de una calidad alta.

Para aclarar lo que es una métrica, estos son unos sencillos ejemplos:

  • Ejemplo 1: En un producto software-> El número de errores corregidos/número de errores encontrados.
  • Ejemplo 2: En un producto software-> El tiempo que tarda en ejecutarse el programa.
  • Ejemplo 3: En un producto software-> El número de lineas de código que tiene el programa.

Uso[editar]

La finalidad de las métricas es comparar procesos o productos entre sí.

  • En gestión de proyectos sirven para llevar la productividad del personal,evaluar la calidad del producto, mejorar el proceso de desarrollo, servir de base de estimación, controlar los riesgos potenciales, etc...
  • En desarrollo de software pueden usarse para controlar la calidad del producto y la productividad. Pueden ser clasificadas según el tamaño, la funcionalidad y otras medidas.

También permitirán

  • Ayudar a la evaluación de los modelos de análisis y de diseño, en donde proporcionarán una indicación de la complejidad de diseños procedimentales y de código fuente, y ayudaran en el diseño de pruebas más efectivas.

Medidas habituales[editar]

Existen dos importantes medidas que se utilizan como base para crear métricas, y también para ser usadas en modelos paramétricos de estimación:

Líneas de código[editar]

Las líneas de código (LCD, o LOC en inglés) ayudan, por ejemplo, a realizar el cálculo final del esfuerzo total que ha costado programar un producto. Suponemos para ello que la media de productividad del grupo está en lineas de código / personas * mes.

Puntos de Función[editar]

Los puntos de función (PF, o FP en inglés) se basan en una técnica que permite medir el 'tamaño' de un desarrollo en términos de la funcionalidad proporcionada al usuario final.
Su objetivo es proporcionar una medida del tamaño de un sistema de manera que otras métricas puedan ser expresadas en términos de ratios.

Es una técnica independiente de la tecnología, los resultados son consistentes para proyectos de mismo tamaño y es lo suficientemente simple para minimizar la carga de trabajo de los procesos de medida.

La formula que permite calcular los Puntos de Función de un nuevo desarrollo es la siguiente:
FPA = FP X AF
donde:
FP: número de Puntos de Función sin ajustar de la aplicación
AF : Factor de Ajuste de la aplicación

El cálculo de los Puntos de Función de un proyecto de mejora se puede obtener mediante la formula:
(ADD+CHGA) * VAFA + (DEL * VAFB) = EFP
donde:
EFP: número de Puntos de Función del Proyecto de Mejora.
VAFB: Factor de Ajuste de la aplicación antes del proyecto de mejora.
ADD: número de Puntos de Función de aquellas funciones que se añadirán al proyecto como consecuencia de la mejora.
CHGA: número de Puntos de Función sin ajustar de aquellas funciones que serán modificadas por el proyecto de mejora. Este número refleja las funciones después de la modificación.
DEL: número de Puntos de Función sin aquellas funciones que serán eliminadas en el proceso de mejora.
VAFA: Factor de Ajuste de la aplicación después del proyecto de mejora.

Conclusiones[editar]

Las medidas y las métricas que podemos construir con ellas son fundamentales para tener datos palpables con los que hacer estimaciones, ya sean de recursos o de costes, en Ingeniería del Software.

Referencias[editar]

Participantes activos[editar]