lunes, 4 de febrero de 2019

Métricas de software


¿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.
¿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.
¿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.


No hay comentarios.:

Publicar un comentario

Integradora I

Viabilidad de los proyectos Estudiar la viabilidad de un proyecto permite saber si este realmente aportará los beneficios que se esperan de ...