¿Qué son las métricas
de software?
Las métricas son la maduración de una
disciplina, que, según Pressman van a ayudar a la (1) evaluación de los modelos
de análisis y de diseño, (2) en donde proporcionarán una indicación de la
complejidad de diseños procedimentales y de código fuente, y (3) ayudaran en el
diseño de pruebas más efectivas; Es por eso que propone un proceso de medición,
el cual se puede caracterizar por cinco actividades:
(1) Formulación: La obtención de medidas y métricas del software apropiadas para la representación de software en cuestión.
(2) Colección: El mecanismo empleado para acumular datos necesarios para obtener las métricas formuladas.
(3) Análisis: El cálculo de las métricas y la aplicación de herramientas matemáticas.
(4) Interpretación: La evaluación de los resultados de las métricas en un esfuerzo por conseguir una visión interna de la calidad de la representación.
(5) Realimentación: Recomendaciones obtenidas de la interpretación de métricas técnicas trasmitidas al equipo de software.
(1) Formulación: La obtención de medidas y métricas del software apropiadas para la representación de software en cuestión.
(2) Colección: El mecanismo empleado para acumular datos necesarios para obtener las métricas formuladas.
(3) Análisis: El cálculo de las métricas y la aplicación de herramientas matemáticas.
(4) Interpretación: La evaluación de los resultados de las métricas en un esfuerzo por conseguir una visión interna de la calidad de la representación.
(5) Realimentación: Recomendaciones obtenidas de la interpretación de métricas técnicas trasmitidas al equipo de software.
¿Para qué se utilizan
las métricas del software?
De la misma forma que en ingeniería de construcción
necesitaríamos definir la altura y ancho de una estructura y sus componentes
expresados en metros o centímetros, en desarrollo de software podemos valernos
de una unidad de medida que nos permitiera conocer el tamaño del reto al que
como desarrolladores de software nos enfrentamos.
Una vez conocido el tamaño en unidad de medida, podríamos utilizarla para determinar con precisión cuál es la estimación de tiempo y presupuesto de un proyecto de software, si nuestras especificaciones de requerimientos son ambiguas o falta información, impacto de un cambio de alcance propuesto, medir unidades planificadas vs. Producidas, graficar la cantidad de unidades de medica producidas en el tiempo (para medir la productividad), entre otros usos.
Una vez conocido el tamaño en unidad de medida, podríamos utilizarla para determinar con precisión cuál es la estimación de tiempo y presupuesto de un proyecto de software, si nuestras especificaciones de requerimientos son ambiguas o falta información, impacto de un cambio de alcance propuesto, medir unidades planificadas vs. Producidas, graficar la cantidad de unidades de medica producidas en el tiempo (para medir la productividad), entre otros usos.
¿Cuáles son los
métodos más utilizados para determinar métricas del software?
Existen diversas técnicas de estimación de esfuerzo y costo en proyectos de software. Un ejemplo ampliamente usado para realizar mediciones del tamaño de un software es la métrica del punto de función.
Desarrollada originalmente en los años 70, la técnica del análisis de puntos de función permite asignar un tamaño a los requerimientos de software (sus funcionalidades) expresadas en una métrica que se conoce como el punto de función.
Para medir el software utilizando los puntos de función, primero se toman los requerimientos del software (que pueden estar documentados en la especificación de requerimientos o historias de usuario) y se realiza una descomposición funcional en sus componentes.
Realizada la descomposición funcional, se le asigna a cada componente una cantidad de puntos de función que vienen dados por su complejidad, si son movimientos de entrada o salida, solo consulta o transferencia de datos.
El método de más tiempo de uso es el del International Function Points User Group (IFPUG). En la siguiente serie de artículos, te presentamos un ejemplo de cómo medir software utilizando el método IFPUG.
> Estimación de proyectos de software por puntos de función: Introducción
> Estimación de proyectos de software con puntos de función: Determinar tipo de conteo y componentes funcionales
> Estimación de proyectos de software: Cálculo de
los puntos de función no ajustados
El IFPUG ofrece un esquema de certificación, que le
brinda la oportunidad a profesionales de demostrar sus conocimientos en el
método y certificarse para presentarlo ante posibles empleadores y prospectos de
cliente.
Desde su introducción inicial, se han desarrollado otros métodos de análisis de puntos de función, como por ejemplo NESMA, MkII, COSMIC y FiSMA.
Por ejemplo, el método COSMIC fue desarrolado para modernizar la técnica de puntos de función y alinearse con el proceso de ingeniería del software. A diferencia del método IFPUG en el cual se asignan los puntos de función según la clasificación y complejidad de las funcionalidades, bajo COSMIC el número de función se asigna en función del número de entradas y salidas que tengan los componentes del software.
Desde su introducción inicial, se han desarrollado otros métodos de análisis de puntos de función, como por ejemplo NESMA, MkII, COSMIC y FiSMA.
Por ejemplo, el método COSMIC fue desarrolado para modernizar la técnica de puntos de función y alinearse con el proceso de ingeniería del software. A diferencia del método IFPUG en el cual se asignan los puntos de función según la clasificación y complejidad de las funcionalidades, bajo COSMIC el número de función se asigna en función del número de entradas y salidas que tengan los componentes del software.
No hay comentarios.:
Publicar un comentario