DETERMINACION DE COSTES POR PUNTOS DE FUNCION
Cristina CampilloDavid Peces
David LuisLuis Antonio González
Métrica que se basa en la funcionalidad o utilidad del programa creado. Este método fue diseñado por A.J.Albretecht para ser aplicados a sistemas de información de gestión, da importancia a la dimensión de datos, excluyendo las dimensiones funcionales y de control. Su aplicación no era del todo adecuada para sistemas de ingeniería y embebidos, pero con el correr del tiempo, se fueron subsanando estos inconvenientes. De esta metrica surgen nuevas:
TIPOS DE METRICAS DE PUNTOS DE FUNCION Feature Points (Puntos de Características): este método
fue propuesto por Caper Jones [1987] MK II FPA: propuesto por Charles R. Symons [1998] 3-D Function Point: entre los años 1989 y 1992, Scott
Whitmire [ Full Function Points (Puntos de Función Completos): esta
técnica ha sido desarrollada por un equipo de la Universidad de Québec en Montreal (Canadá) [Abran A., et al., 1998].
COSMIC FFP: a finales de 1998, un grupo de expertos en métricas de software, establecieron el Common Software Measurement International Consortium (COSMIC FFP).
Entradas: procesos que hacen llegar datos a la aplicación desde el exterior, desde un usuario u otra aplicación. Tipos de entradas: pantallas de entrada de datos, lector de códigos de barras, lector de tarjetas magnéticas y electrónicas, captura de imágenes, voz, etc.
COMO HACER UNA VALORACIÓN POR PUNTOS DE FUNCIÓN: MODELO DE ALBRETECHT
Salidas: Son todos aquellos procesos que hacen llegar datos desde la aplicación hacia el exterior, a un usuario o a otra aplicación.. Ejemplos: pantallas de salida de datos, listados, grabación de bandas magnéticas, transferencia de datos a otras aplicaciones, ya sea mediante ficheros o transmisión de datos
Consultas: Son todos aquellos procesos que están formados por una combinación de entradas y salidas, produciendo una consulta a los datos. El flujo de datos deberá tener dos direcciones.
Ficheros lógicos internos: Es un grupo de datos relacionados, tal como los percibe el usuario y que son mantenidos por la aplicación. Ejemplos: Clientes, socios, artículos …
Ficheros de Interfaz: ficheros internos de otra aplicación
Se introducen los valores de los siguientes parámetros:
Con esta tabla se calcula según la dificultad de las tareas (simple, media o compleja) los puntos de función no ajustados (PFNA). Se cuenta cada parámetro y se multiplica por el factor de ponderación, posteriormente se suma todo y obtenemos el total, PFNA. Eso sí, es muy subjetivo porque no todos tendremos los mismos criterios de valoración.
Además de esto, debemos también valorar los factores de complejidad (FC) que afectan a la complejidad de una aplicación software. Se les da un valor del 1-5. Valor Significado del valor
0 Sin influencia, factor no presente 1 Influencia insignificante, muy baja 2 Influencia moderada o baja 3 Influencia media, normal 4 Influencia alta, significativa 5 Influencia muy alta, esencial
Después todas esas puntuaciones se suman y con la siguiente ecuación se obtiene el factor de ajuste de complejidad (FA):
FA = (0.01*(∑FC))+0.65 El valor de FA puede variar de 0.65 a 1.35. Una vez calculado el FA ya calculamos los
puntos de función (PF):
PF=PFNA*FA
Este sistema fue actualizado en 1886 por Caper Jones que diseña una nueva variedad de puntos de función destinada a aplicaciones a tiempo-real de software. La llamo puntos de características.
Para calcularlos había que rellenar la siguiente tabla:
Es similar a la tabla del principio para el cálculo de los PFNA solo que además se tiene en cuenta los algoritmos. Los algoritmos se describen como problema de complejidad computacional limitada que se incluye dentro de un determinado programa de computadora. La inversión de una matriz, la decodificación de una cadena de bits o el manejo de una interrupción son todo ellos ejemplos de algoritmos.
El manual emitido por el grupo internacional de usuarios de los puntos de función (IFPUG) lo resume en los siguientes cuadros:
DIFICULTAD
ENTRADAS
Número de Campos o Atributos de la Entrada
1-4 Atributos 5-15 Atributos 16 + Atributos
0 ó 1 ficheros
accedidosBAJA BAJA MEDIA
2 ficheros
accedidosBAJA MEDIA ALTA
3 + ficheros
accedidosMEDIA ALTA ALTA
DIFICULTAD
FICHEROS
Número de Campos o Atributos
LÓGICOS 1-19 Atributos 20-50Atributos 51 + Atributos
1 Registro
LógicoBAJA BAJA MEDIA
2 a 5 Registros
LógicosBAJA MEDIA ALTA
6 o más
Registros Lógic.MEDIA ALTA ALTA
DIFICULTAD
SALIDAS
Número de Campos o Atributos de la Salida
1-5 Atributos 6-19 Atributos 20 + Atributos
0 ó 1 ficheros
accedidosBAJA BAJA MEDIA
2 ó 3 ficheros
accedidosBAJA MEDIA ALTA
4 + ficheros
accedidosMEDIA ALTA ALTA
EJEMPLO
ARCHIVOS LOGICOS INTERFAZ Registro de clientes
Datos elementales referenciados: 15 Registros lógicos referenciados: 1 Grado de la función: SIMPLE
Registro de Productos Datos elementales referenciados: 13 Registros lógicos referenciados: 1 Grado de la función: SIMPLE
Registro de Pedidos Datos elementales referenciados: 6 Registros lógicos referenciados: 1 Grado de la función: SIMPLE
ARCHIVOS DE INTERFASE EXTERNA Histórico de clientes
Datos elementales referenciados: 3 (Se cuentan solamente los campos utilizados: Código de cliente, Total-compra-año, Total-compra-mes-actual)
Registros lógicos referenciados: 1 Grado de la función: SIMPLE
Contraseñas Datos elementales referenciados: 3 (Código-
usuario, contraseña y fecha- validez) Registros lógicos referenciados: 1 Grado de la función: SIMPLE
ENTRADAS EXTERNAS Inclusión de clientes
Datos elementales referenciados: 16 (15 campos y mensajes de error)
Archivos lógicos referenciados: 1 Grado de la función: MEDIA
Modificación de clientes Datos elementales referenciados: 16 (15 campos
y mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: MEDIA
Exclusión de clientes Datos elementales referenciados: 2 (Código-
Cliente y mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: SIMPLE
Inclusión de productos Datos elementales referenciados: 14 (13 campos y
mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: SIMPLE
Modificación de productos Datos elementales referenciados: 14 (13 campos y
mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: SIMPLE
Exclusión de productos Datos elementales referenciados: 2 (Código-producto
y mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: SIMPLE
Pedidos de clientes Datos elementales referenciados: 7 (6 campos y
mensajes de error) Archivos lógicos referenciados: 3 (Clientes,
productos y pedidos) Grado de la función: COMPLEJA
SALIDAS EXTERNAS Listado de Clientes
Datos elementales referenciados: 10 (9 campos y total de clientes)
Archivos lógicos referenciados: 1 Grado de la función: SIMPLE
Listado de productos Datos elementales referenciados: 7 Archivos lógicos referenciados: 1 Grado de la función: SIMPLE
CONSULTAS EXTERNAS Consulta de clientes
Consulta de productos
Pantalla de ayuda
Lista de clientes inactivos
CÁLCULO DEL FACTOR DE AJUSTE
1- Comunicación de datosLa aplicación no es batch; incluye entrada de datos on-line. Nada se ha mencionado sobre la cantidad de protocolos de comunicación. Vamos a considerar 1 protocolo. Por lo expuesto, el grado de este factor es 4.
2- Procesamiento distribuidoNada se ha mencionado en cuanto a la ejecución en otros procesadores. La aplicación puede ser ejecutada en un ambiente Unix o en entornos de redes. no hay preocupación en cuanto a la distribución de funciones. El grado del factor es 0.
3- Perfomance (desempeño)Según lo manifestado en la descripción, el volumen de transacciones no debe ser alto. El periodo crítico será a fin del año. No se puede establecer que no hay ningún requerimiento de perfomance o desempeño. El grado del factor es 1.
4- Configuración del equipamientoNo se ha hecho ninguna consideración en cuanto a la configuración del equipamiento. El grado del factor es 1.
5- Volumen de transaccionesEstán previstos picos de transacciones anualmente. el grado del factor es 1.
6- Entrada de datos on-lineDe acuerdo con los descrito, las transacciones son procesadas solamente on-line. El grado del factor es 5.
7- Interfase con el usuarioSe especificaron menús de navegación e interfase a través de terminales. Por lo tanto, pocas características fueron especificadas. El grado del factor es 1.
8- Actualización on-lineActualización on-line de todos los archivos lógicos internos, no fue especificada una
protección especial contra la perdida de datos o procesos automáticos de recuperación. el grado del factor es 3.
9- Procesamiento complejoLa aplicación no realiza procesamiento complejo. El grado del factor es 0.
10- ReusabilidadNo hay preocupación en cuanto a la Reusabilidad del código. El grado del factor es 0.
11- Facilidad de implementaciónNo se hecho ninguna consideración con vistas a facilitar la implementación o instalación de la aplicación. El grado del factor es 0.
12- Facilidad de operaciónNo se ha hecho ninguna consideración específica. el grado del factor es 0.
13- Múltiples localesLos requerimientos no consideran la necesidad de instalación en más de un local. El grado del factor es 0.
14- Facilidad de cambiosNo se hecho ninguna consideración específica para la facilidad de cambios en el sistema. El grado del factor es 0.
CALCULO DE PFNA
FACTORES DE COMPLEJIDAD