métrica
La medición es común en el mundo de la ingeniería. Sin embargo, la ingeniería de software está lejos de desarrollar un estándar de medición ampliamente aceptado con resultados libres de factores subjetivos. Existen desacuerdos sobre qué medir y cómo evaluar los resultados obtenidos. Las métricas de software permiten una de las actividades más fundamentales en la gestión de proyectos: la planificación. A partir de ella, es posible identificar el esfuerzo, el costo y las actividades necesarias para llevar a cabo el proyecto. Desde la perspectiva de la medición, las métricas de software se dividen en dos categorías: medidas directas e indirectas. Como medidas directas del proceso de ingeniería de software, podemos considerar el costo y el esfuerzo dedicados al desarrollo y mantenimiento del software y el producto, el número de líneas de código producidas y el número total de defectos registrados durante un período determinado. Sin embargo, la calidad y la funcionalidad del software, o su mantenibilidad, son más difíciles de evaluar y solo pueden medirse indirectamente. Desde la perspectiva de la aplicación, también podemos dividir las métricas de software en dos categorías: métricas de productividad y métricas de calidad. Las métricas de productividad se centran en el resultado del proceso de ingeniería de software. Las métricas de calidad indican en qué medida el software cumple con los requisitos definidos por el usuario. Medidas directas: Costo, Esfuerzo, Líneas de código, Velocidad de ejecución, Memoria, Número de errores, Complejidad ciclomática. Medidas indirectas: Funcionalidad, Calidad, Complejidad, Eficiencia, Fiabilidad, Mantenibilidad. Para comprender mejor las métricas de software, es necesario entender lo siguiente: Medida: una indicación cuantitativa de la extensión, cantidad, dimensión, capacidad o tamaño del producto o proceso. Medición: el acto de determinar una medida. Indicador: una métrica o combinación de métricas que permite comprender el proceso de software, un proyecto o el producto. Las mediciones de software se pueden organizar en otras clases, que se definirán a continuación: Métricas de productividad, basadas en el resultado del proceso de desarrollo de software con el objetivo de evaluar el proceso en sí; Métricas de calidad, que permiten indicar el nivel de respuesta del software a los requisitos explícitos e implícitos del cliente, en relación con lo definido por la gestión de la calidad. Las métricas técnicas incluyen aspectos como la funcionalidad, la modularidad y la mantenibilidad. Desde otra perspectiva, es posible definir una nueva clasificación de mediciones: métricas orientadas al tamaño, basadas en mediciones directas de la ingeniería de software; métricas orientadas a la función, que ofrecen medidas indirectas; y métricas orientadas a las personas, que indican cómo se desarrollan los programas informáticos. Métricas orientadas al tamaño: La métrica de software más conocida es el recuento de líneas. Esta métrica puede parecer simple, pero existe desacuerdo sobre qué constituye una línea de código. El recuento de líneas no debe incluir líneas de comentarios ni líneas en blanco, ya que esto no afecta a su funcionalidad. Está fuertemente ligado al lenguaje de programación utilizado, lo que imposibilita el uso de datos históricos para proyectos que no utilizan el mismo lenguaje. Con esta técnica se puede desarrollar un conjunto de métricas de calidad y productividad. Métricas orientadas a la función: En lugar de contar líneas de código, la métrica orientada a la función se centra en la funcionalidad del software. En 1979, Allan Albrecht introdujo una técnica de evaluación conocida como Punto de Función. Desde la perspectiva del usuario, es independiente del lenguaje de programación y de la tecnología empleada. No permite calcular el esfuerzo de desarrollo, pero genera una variable que sí lo permite. Ayuda al usuario final a mejorar el análisis y la evaluación de proyectos. Sus objetivos son: medir lo solicitado y recibido por el usuario; proporcionar una métrica para el análisis de productividad y calidad; estimar el tamaño del software; y proporcionar un factor de normalización para la comparación de software. Razones para medir el software: indicar la calidad del producto; evaluar la productividad de los desarrolladores; determinar los beneficios de las nuevas metodologías y herramientas de ingeniería de software; fundamentar las estimaciones; identificar oportunidades de refactorización; y justificar la adquisición de nuevas herramientas o la formación adicional. La medición es común en el mundo de la ingeniería. Sin embargo, en la ingeniería de software, aún queda mucho camino por recorrer hasta que exista un estándar de medición ampliamente aceptado con resultados libres de subjetividad. Sin duda, el aumento más significativo de la productividad se logrará cuando consigamos establecer un sistema de métricas significativo para los resultados del desarrollo de software y lo utilicemos eficazmente.



Publicar comentario