miércoles, 10 de junio de 2015

Estimación de proyectos de software: Cálculo de los puntos de función no ajustados

Este articulo esta basado en el contenido del Curso de Análisis de Puntos de Función: Medición y Estimación de Software suministrado por FATTO. Los puntos de función son una herramienta útil para realizar estimaciones de esfuerzo exactas. Para mayor información visita la pagina del curso.


Aquí les presentamos la tercera parte de nuestra serie sobre elaboración de estimaciones de proyectos y servicios de software con el método de los puntos de función.

Una vez que has determinado tipo de estimación que realizarás y has obtenido de la ingeniería del software las funciones estimables, el siguiente paso es asignar a cada función los puntos para así obtener los puntos de función no ajustados.

Para ello, primero debes evaluar cada función y asignar su nivel de dificultad. Los criterios de evaluación están basados número de datos que maneja, cuantos archivos se acceden, entre otros aspectos.

Una vez asignado el nivel de dificultad, siguiendo una serie de ponderaciones predefinidas asignarás los puntos de función a cada transacción o archivo de datos. Los puntos de función a asignar dependerán de la correlación entre el tipo de función y su nivel de dificultad.

Los detalles de cómo hacer esto te los explicamos en el cuerpo del artículo a continuación.

Antes de calcular los puntos de función

Como te explicamos en la parte anterior de esta serie, antes de realizar el cálculo de los puntos de función debes elegir el tipo de conteo y luego revisar la ingeniería del software para obtener las funciones. Aquí el enlace al artículo:

Estimación de proyectos de software con puntos de función: Determinar tipo de conteo y componentes funcionales

Las funciones estimables, son las transacciones de entrada, salida y consulta, así como los archivos internos y archivos de interfaz externa.

Las funciones las puedes obtener de la documentación de desarrollo de sistemas a implementar. Por lo tanto, es requisito haber avanzado sustancialmente en las fases de análisis y diseño de software.

Una vez cuentas con una lista de estas funciones, puedes proceder a calculas los puntos de función.

Formación en Puntos de función



Una de las actividades fundamentales en los proyectos de ingeniería de software, es el poder estimar el esfuerzo, medido en horas o jornadas que tomara el proyecto.

La técnica del análisis de Puntos de Función (FPA) es considerada la principal herramienta para la medición funcional de productos de software y de los procesos involucrados en su desarrollo.

Este curso esta dirigido a profesionales involucrados en proyectos y servicios de ingeniería de software, tales como Arquitectos de software, Líderes técnicos, Gerentes de proyectos, Analistas de requerimientos, Desarrolladores, Coordinadores y Analistas de pruebas.

Calculo de los puntos de función no ajustados

Un listado de las funciones a estimar puede representarse de la siguiente forma:


En este ejemplo tenemos 3 transacciones y 2 archivos lógicos.

Asignar los niveles de dificultad a las funciones

Las funciones son ponderadas en base a su complejidad, que por lo general puede clasificarse en baja, moderada y alta.

Es conveniente definir criterios objetivos para esa complejidad, por ejemplo número de campos (columnas) de información reconocibles por el usuario, número de archivos referenciados, leídos, creados o actualizados, entre otros aspectos.

Según el número de columnas o archivos con que tengas que trabajar definirás la complejidad de cada función.

Complejidad de funciones de tipo transacción

Para funciones de tipo de transacción, es decir Entradas externas, Salidas externas o consultas externas, puedes basarte en:

  • Número de campos (columnas) reconocibles por el usuario (sin contemplar las internas del sistema) evitando repeticiones.
  • Número de archivos que son referenciados, leídos, creados o actualizados.

Para cada tipo de transacción definirás una tabla de correlación entre el número de campos y los archivos referenciados. Por ejemplo para el caso de transacciones de Entrada externa podríamos tener la siguiente tabla:


Complejidad de funciones de datos

Para funciones de datos, es decir Archivos lógicos internos y Archivos de interfaz, puedes basarte en:

  • Número de campos (columnas) reconocibles por el usuario (sin contemplar las internas del sistema) evitando repeticiones.
  • Número de subagrupaciones de datos o formatos de registro únicos.

Para cada tipo de archivo (interno o de interfaz) definirás una tabla de correlación entre el número de campos y el número de subagrupaciones. Por ejemplo para el caso de archivos lógicos internos podríamos tener la siguiente tabla:


Asignar los niveles de dificultad

Tomando como referencia las tablas de complejidad de funciones de tipo transacción y funciones de datos, asignamos un nivel de complejidad a cada función.

Para ello es necesario conocer el número de campos, archivos referenciados y subagrupaciones de cada transacción o archivo de datos, esto también se obtiene de la ingeniería del software.

Tomando el ejemplo podemos tener los siguientes datos:


Y asignando niveles de complejidad quedarían de esta forma:


Puntos a asignar a cada función según su nivel de dificultad

Una vez determinados los niveles de complejidad de cada función, el siguiente paso es asignarle los puntos de función según la ponderación.

Para ello utilizamos la siguiente tabla de correlación:


Luego de asignar los puntos de función según el nivel de complejidad, tenemos:


De esta manera, hemos determinado la cantidad de puntos de función para cada componente del software, y también el total de puntos de función del desarrollo de software.

Este articulo esta basado en el contenido del Curso de Análisis de Puntos de Función: Medición y Estimación de Software suministrado por FATTO. Los puntos de función son una herramienta útil para realizar estimaciones de esfuerzo exactas. Para mayor información visita la pagina del curso.

¿Y qué opinas tú?

¿Has realizado estimaciones de software con el método de análisis de puntos de función?, cuéntanos tu experiencia, dificultades enfrentadas y como las superaste. ¿Has usado otro método de puntos de función?, cuéntanos sobre ello.

<< Artículo anterior: Determinar tipo de conteo y componentes funcionales

¿Buscas más información de gerencia informática?

¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de gerencia informática?, entonces presiona "suscríbete" a continuación.

Suscríbete a la lista de correo electrónico:


Vía FeedBurner, se abrirá una nueva ventana

También puedes seguirnos vía Twitter, Facebook o Linkedin:

  

Artículos similares

Medición y estimación: Método COSMIC

Estimación de proyectos de software por puntos de función: Introducción

Referencias

Aguiar, M. Introduction to function points

Osuna, E; Sánchez, L. Estimación por puntos de función

No hay comentarios :

Publicar un comentario

Pmoinformatica.com," La Oficina de Proyectos de Informática ", es un participante en el Programa de Servicios de Amazon Associates LLC, un programa de publicidad de afiliación diseñado para proporcionar un medio para que sitios web puedan ganar honorarios por la publicidad y enlaces a amazon.com y amazon.es.