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:
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:
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:
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.
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
> 5 pasos para elaborar estimaciones de proyectos de software
> Las Pruebas de Calidad de Software en 10 pasos
Aguiar, M. Introduction to function points
Osuna, E; Sánchez, L. Estimación por puntos de función
No hay comentarios :
Publicar un comentario