Este documento presenta una introducción y revisión básica sobre los puntos de función. Explica brevemente qué son los puntos de función, su historia, por qué se usan y cómo se cuentan de manera concisa. También incluye una agenda con los temas a tratar, como funciones de datos y transacciones, clasificación de complejidad y cálculo del factor de ajuste.
2. Antonio Alejandro Fernández Armas:
Licenciado en Computación, con más de 30 años en el sector de TI, con experiencia en Consultoría de Sistemas en empresas
lideres en Perú, Sudamérica y Europa, Jefatura de Proyectos de TI en empresas de mediana y gran envergadura, tanto del
ámbito local como regional, amplia experiencia en negociación, definición y evaluación de requerimientos en proyectos
relacionados con las siguientes industrias:
Hidrocarburos (15 años), Ingeniería Civil y Geológica, Telecomunicaciones, Minero, Banca, Entidades Gubernamentales,
Automotriz, Agroindustrial, Metal-mecánicos, entre otros.
Jefe de Proyecto Regional para proyectos en Perú, Venezuela, Argentina y México.
Consultoría y Análisis de Procesos de (Telefónica-España, Financiera Sudamericana-Colombia, Banco de Pichincha-Ecuador,
Banco de Crédito, Banco Wiese Sudameris, Grupo Romero e IBM Worldwide entre otras).
Participación activa en el Proyecto Piloto de Migración de Plataforma Mainframe/AIX en el Banco Central de Reserva del
Perú; de Base de datos DATACOM/DB a DB2 en el Banco de la Nación (Proyecto Piloto), Migración de Aplicaciones de VM a
MVS para IBM LA, entre otros
Miembro del Equipo de Certificación CMM- 2 y CMM 3 y CMMI – 4.
Participación en proyectos de mantenimiento y desarrollo de aplicaciones, en diferentes líneas de negocio de compañías
internacionales y nacionales de prestigio.
Participación como Business Analyst en Proyectos de Testing y Automatización de Testing en Empresas de Banca, Telco y
Proyectos Internos de IBM Worldwide.
Dominio de herramientas y lenguajes de desarrollo de software en Plataforma mainframe y relacionados.
3. Qué son Puntos de Función
Breve historia del Análisis de Puntos de Funcion
Qué necesitamos y porqué usamos Puntos de Función
“Cómo contar” Puntos de Función – Revisión Básica
Beneficios de contar Puntos de Función – Pros y Contras
Recomendaciones
Ejemplo de conteo de Puntos de Función
Referencias
Agenda
4. • Punto de Función es una unidad de medida para expresar el monto de funcionalidad
del negocio que un Sistema de información provee a un Usuario
• El número de puntos de función esta determinada por la identificación de los
componentes del Sistema desde el punto de vista del Usuario:
o Las entradas
o Las salidas
o Las consultas
o Las interfases con otros sistemas, y
o Los archivos lógicos internos
• Los componentes son clasificados como simple, promedio o complejo
• Los valores son asignados para conseguir un total de puntos de función no ajustados
• Un factor de peso (valor de ajuste) de +/- el 35% es aplicado de acuerdo a 14 factores
de complejidad para producir la cuenta de puntos de función ajustados
• Existen algunos procesos ISO que cubren los puntos de función. El más común es
IFPUG
Qué son Puntos de Función
5. • Solo aplica para projectos de AD que entregan funciones de negocio – de tal manera que no aplica a
todos los projectos AD como los de manejo de imágenes
• Preponderantemente mide datos en movimientos (transacciones) y datos estáticos (files).
Por lo tanto por definición, los puntos de función no son adecuados para medir el tamaño de algunos
tipos de proyectos como:
o Sistemas con procesos con mucha información, pero pobres en datos
o Sistemas que muestran complejidad en algoritmos/cálculos – por ejm. Aplicaciones de modelos
económicos
o Aplicaciones científicas – por ejm. aplicaciones de modelos climáticos
o Tiempo real, sistemas de control de procesos – sistemas de alarmas, sistemas que controlan
equipos
• Requiere entrenamiento y esfuerzo.
• Puede requerir interpretación para algunos escenarios
• Puede estimar pobremente aplicaciones con pesado esfuerzo de modificación, o aplicaciones
“spaghetti code”
• Puede ser percibido como una solución muy pesada
Desafios de los Puntos de Función
6. Funciones de datos
ILF - Internal Logical File
Es un grupo de datos lógicamente relacionado o control de información reconocible por el Usuario que es mantenido
dentro de los límites de la aplicación a ser medida
EIF – External Interfase File
Es un grupo de datos lógicamente relacionado o control de información reconocible por el Usuario, que es referenciada
por la aplicación a ser medida pero que es mantenido dentro de los límites de otra aplicación
El EIF contado debe ser un ILF de otra aplicación
Medición de las Funciones de datos
RET – Record Element Type
Son tipo de subgrupos de datos lógicamente relacionados, reconocible por el Usuario, dentro de una función de datos
(ILF o EIF)
Un RET esta compuesto por 2 o más DETs
Por ejemplo una dirección esta compuesta por el nro. de la casa, el nombre de la calle, ciudad, código postal.
DET – Data Element Type
Un tipo de dato elemental es un único, reconocible por el Usuario, atributo no repetitivo
DET es un campo dentro de un ILF o EIF
Ejemplo de DET es primer nombre, segundo nombre, ciudad, etc.
Acrónimos en Puntos de Función – Datos
7. Funciones de transacción – provee funcionalidad a un Usuario o Aplicación externa
EI – External Input
Procesa información, de datos o de control, que es enviado desde afuera de la frontera
Por ejem. Agregar un nuevo cliente, cambiar la dirección de un cliente o eliminar un cliente
EO – External Output
Envia información, de datos o control, fuera de los límites de la aplicación
Tipicamente presenta información procesada a un Usuario
Por ejm. muestra un reporte de ventas en pantalla, imprime una carta o produce un archivo
EQ – External Inquiry
Envia información, de datos o control, fuera de los límites de la aplicación
Tipicamente presenta información no procesada a un Usuario
Por ejm. Simples queries para ver o listar información
Medición de las Funciones de transacción
FTR – File Type Referenced
Funciones de datos leidas y/o mantenidas por una función transacción
Es un ILF o EIF
DET – Data Element Type
Un tipo de dato elemental es un único atributo no repetitivo, reconocible por el Usuario
DET es un campo dentro de un ILF o EIF
Ejemplo de DET es primer nombre, segundo nombre, ciudad, etc.
Acrónimos de Puntos de Función – Transacciones
8. Qué son Puntos de Función
Breve historia del Análisis de Puntos de Funcion
Qué necesitamos y porqué usamos Puntos de Función
“Cómo contar” Puntos de Función – Revisión Básica
Beneficios de contar Puntos de Función – Pros y Contras
Recomendaciones
Ejemplo de conteo de Puntos de Función
Referencias
Agenda
9. • Allan Albrecht, de IBM, desarrolló en 1979 un método de conteo de funciones desde el
punto de vista del Usuario.
• En 1984 la técnica fue refinada para mejorar el método de medición de funciones de
usuario y las características generales de una Aplicación y fue liberada por IBM como
Albrecht 84.
• Debido al interés de contar con un standard en la industria de IT para la medición del
desarrollo de software, en 1986 se formó la International Function Point Users Group
(IFPUG) del cual IBM es participante.
• Desde 1986 la IFPUG ha publicado varias versiones del Manual de Conteo de Puntos de
Función. Sin embargo, una nueva version es publicada solo después de un sólido
proceso salvaguardando los estandares de modificaciones. La version actual es la 4.3.1.
que fue publicada en junio de 2010.
• IFPUG: http://www.ifpug.org/ . Online.
Breve historia del Análisis de Puntos de Función
10. Qué son Puntos de Función
Breve historia del Análisis de Puntos de Funcion
Qué necesitamos y porqué usamos Puntos de Función
“Cómo contar” Puntos de Función – Revisión Básica
Beneficios de contar Puntos de Función – Pros y Contras
Recomendaciones
Ejemplo de conteo de Puntos de Función
Referencias
Agenda
11. • Los recursos adecuados:
o Los usuarios principales de la Aplicación.
o Los desarrolladores de programas / Personas que estan familiarizados con el
programa (lógica).
o Los clientes o propietarios de la aplicación.
o Analistas de Sistemas
o Gerente de Proyecto
o Especialistas de Puntos de función
o Analistas de Medición
Qué necesitamos
12. • La documentación adecuada:
o Ayudas que proporcionen una visión de las funcionalidades que estan siendo
contadas
Una arquitectura de alto nivel de la aplicación
Un modelo lógico de datos
Especificaciones detalladas del diseño y de los requerimientos, incluyendo
requerimientos funcionales
Los modelos del negocio por función / proceso
Manuales del usuario
Pantallas impresas
Diseño de los reportes impresos
El manual de Function Point Counting Practices
Qué más necesitamos
13. • No se puede controlar lo que no se puede medir
• El conteo de Software puede ser:
o Semántico
El conteo de lineas de código solo se puede hacer al final del desarrollo
No es comprensible por el Usuario
o Funcional
Se puede realizar desde las fases más tempranas de desarrollo de software.
Es entendible por el Usuario.
Es independiente de la tecnología y de la implementación
• El conteo de Puntos de Función esta alineado con las procesos de CMMI.
• Alineado con las prácticas ISO (ISO / IEC 14143)
• Esta soportado por organizaciones que garantizan la metodología del conteo como la IFPUG, NESMA, etc. con más de 25
años de experiencia
• El proceso de conteo tiene una validación rigurosa y los analistas de conteo deben ser especialistas entrenados. Existe el
programa de certificación CFPS — Certified Function Point Specialist — que reconoce a los profesionales con la
capacidad de realizar conteos de puntos de función de una manera adecuada y consistente y que conocen las últimas
prácticas de conteo del IFPUG.
• Existen centros de desarrollo en diversos países (México, India, entre otros) que pueden realizar y validar los conteos
realizados. Además de absolver consultas al respecto.
Porqué usamos Puntos de Función
14. 14 27 May 2016
Agenda
Qué son Puntos de Función
Breve historia del Análisis de Puntos de Funcion
Qué necesitamos y porqué usamos Puntos de Función
“Cómo contar” Puntos de Función – Revisión Básica
Beneficios de contar Puntos de Función – Pros y Contras
Recomendaciones
Ejemplo de conteo de Puntos de Función
Referencias
16. Cómo contar Puntos de Función – Determinar Tipo de Conteo
Nuevo Desarrollo: Primera instalación de un sistema. Incluye conversión de datos
Mejora: Cambios sobre un sistema ya instalado. Incluye conversión de datos
Aplicación: Análisis de un sistema en Producción que no se va a cambiar. Sirve
para establecer la línea Base
17. Cómo contar Puntos de Función – Identificación del Alcance y Límites
El Alcance define el conjunto de funcionalidades que se van a contar.
Los límites separa la aplicación del mundo externo del Usuario y otras
aplicaciones:
Identificar los datos del negocio manejados y la data del negocio que es solo
referenciada
Considerar las vistas o lista de interrelaciones del negocio
18.
19. Cómo contar Puntos de Función – Conteo de las funciones de datos
Representan la funcionalidad que se proporciona al Usuario para satisfacer los
requerimientos de datos internos y externos:
Internal Logical Files (ILFs) – medido mediante Record Element Types (RETs) y
Data Element Types (DETs)
External Interface Files (EIFs) – medido mediante Record Element Types y
Data Element Types
Definición de DET: Es un tipo de elemento de datos único, reconocible por el
Usuario y no repetitible
Definición de RET: Es un subgrupo de elementos de datos reconocible por el
Usuario
20. Cómo contar Puntos de Función – Conteo de las funciones de transacciones
Representan la funcionalidad que se proporciona al Usuario para el
procesamiento de los datos por la aplicación:
External Input (EIs) – medido mediante Data Element Types y Files Types
Referenced (FTR)
External Outputs (EOs) – medido mediante Data Element Types y Files Types
Referenced (FTR)
External Inquiries (EQs) - medido mediante Data Element Types y Files Types
Referenced (FTR)
Definición de DET: Es un tipo de elemento de datos único, reconocible por el
Usuario y no repetitible
Definición de FTR: Un tipo de file referenciado es:
Es un file interno lógico leído o mantenido por una Función transaccional, o
Un file externo de interfase leído por una Función transaccional.
21. Funciones de Datos:
A cada ILF y a cada EIF se le da una rango de complejidad basado en el número de DETs y
RETs contenidos en el ILF
Funciones de Transacción:
A cada EI se le da una rango de complejidad basado
en el número de FTRs y DETs contenidos en el EI
A cada EO y a cada EQ se le da una rango de
complejidad basado en el número de FTRs y DETs
contenidos en el EO / EQ
Matriz de Clasificación
22. Determinación de la complejidad/tamaño de los Puntos de Función
La complejidad/tamaño de Puntos de Función (FPs) de una función transaccional esta basada en el número de File
Types Referenced (FTRs) y Data Element Types (DETs) usados:
EI – 3 a 6 FPs
EO – 4 a 7 FPs
EQ – 3 a 6 FPs
La complejidad/tamaño de Puntos de Función (FPs) de una función de datos esta basada en el número de Record
Element Types (RETs) y Data Element Types (DETs) usados:
ILF – 7 a 15 FPs
EIF – 5 a 10 FPs
Tipo de Función Bajo Promedio Alto
EI x 3 x 4 x 6
EO x 4 x 5
EQ x 3 x 4 x 6
ILF x 7 x 10 x 15
EIF x 5 x 7 x 10
23. Cómo contar Puntos de Función – Determinar el Valor del factor de
Ajuste (VAF)
En paralelo con el cálculo de los UFPs podemos calcular el valor del factor de
ajuste (Value Adjustment Factor o VAF)
Representa la funcionalidad general que se le da al Usuario de la aplicación
Está compuesto por las 14 características generales del sistema (General System
Characteristics o GSCs)
Cada una tiene una descripción para determinar el grado de influencia sobre la
aplicación que estamos contando. Se valora el grado de influencia de 0 a 5
24. Las 14 GSCs
Comunicaciones de datos, grado por el cual la aplicación se comunica directamente con el procesador
Proceso de datos distribuidos, grado por el cual la aplicación transfiere data a través de los componentes físicos de la aplicación
Rendimiento, grado por el cual el tiempo de respuesta y las consideraciones de performance influencian el desarrollo de la aplicación
Uso de la configuración, grado por el cual las restricciones de recursos de cómputo influencian el desarrollo de la aplicación. Configuraciones
operacionales usados fuertemente pueden requerir especiales consideraciones cuando se diseña la aplicación
Ratio de transacciones, cómo la frecuencia de transacciones del negocio influencian el desarrollo de la aplicación
Entrada de datos on-line, grado por el cual la data es ingresada o recuperada a través de las transacciones interactivas. Entradas de datos,
funciones de control, reportes y consultas son provistas en la aplicación
Eficiencia del usuario final, grado de consideración para los factores humanos y la facilidad de uso para el Usuario de la aplicación medida.
Las funciones on-line proveen énfasis en un diseño para la eficiencia del usuario
Actualización on-line, grado por el cual los Internal logical files (ILFs) son actualizados on-line. La aplicación provee actualizaciones on-line
para los ILFs
Complejidad del proceso, grado por el cual el procesamiento lógico influencia el desarrollo de la aplicación
Reutilización, grado por el cual la aplicación y el código en la aplicación han sido específicamente diseñados, desarrollados y soportados para
ser reusables en otras aplicaciones
Facilidad de instalación, grado por el cual conversiones de ambientes previos influencian el desarrollo de la aplicación. Un plan de conversión
/ instalación o herramientas serán provistas
Facilidad de Operación, grado por el cual la aplicación contempla los aspectos operacionales, tales como arranque, back-up, y procesos de
recuperación
Sitios Múltiples, cuando la aplicación ha sido desarrollada para diferentes ambientes de hardware y software
Facilidad de cambios, grado por el cual la aplicación ha sido desarrollada facilitando la modificación del procesamiento lógico o estructura de
datos. Realizado hasta en dos parte: consultas flexibles y datos de control de datos del negocio
25. Hallando el VAF
Sumando los Grados de Influencia (DI) de cada una de las 14 GSCs calculamos el
Grado Total de Influencia (TDI)
Aplicamos la siguiente fórmula:
• VAF = (TDI * 0.01) + 0.65
El VAF puede ajustar los UFPs en +/- 35%
26. Cómo contar Puntos de Función – Cálculo de los Puntos de Función
Ajustados
Conteo de la Aplicación:
• AFP = UFP x VAF
27. Ejemplo – Escenario
Una aplicación que mantiene los datos del Cliente y los datos de Productos, y
referencia la información de stock del producto del sistema externo de Proveedores
Datos del Cliente
Agrega, Cambia, Elimina datos del Cliente
Consulta de Clientes
1 reporte sobre Clientes
Datos del Producto
Agrega, Cambia, Elimina datos del Producto
Consulta de Productos
1 reporte sobre Productos
Proveedores
Información de referencia del stock de producto
28.
29.
30.
31. Qué son Puntos de Función
Breve historia del Análisis de Puntos de Funcion
Qué necesitamos y porqué usamos Puntos de Función
“Cómo contar” Puntos de Función – Revisión Básica
Beneficios de contar Puntos de Función – Pros y Contras
Recomendaciones
Ejemplo de conteo de Puntos de Función
Referencias
Agenda
32. Beneficios de usar Puntos de Función – Pros y Contras
Beneficios generales:
Independiente de la tecnologia
Independiente de los Lenguajes de Programación
Se puede medir desde una fase temprana
Lo único que se necesita para el conteo de Puntos de Función son los requerimientos
Provee un método que facilita la comunicación con los grupos de negocio.
Otorga un vision clara del tamaño, costo y productividad
Mantiene a todas las partes involucradas en la estimación
Provee de manera natural una sólida base de la documentación
33. Beneficios de usar Puntos de Función – Pros y Contras
Contras:
Puede consumir mucho tiempo
Para comparar un proyecto con otro los conteos deben estar supervisados por
una persona certificada
Requiere una buena base de data histórica y de conteo de puntos de función
pasados
Requiere un Contador de puntos de función entrenado
Las técnicas de conteo pueden variar de un Contador a otro
Implantarlos cuesta tiempo y dinero, ya que hay que vencer la resistencia al
cambio, formación, etc.
34. Qué son Puntos de Función
Breve historia del Análisis de Puntos de Funcion
Qué necesitamos y porqué usamos Puntos de Función
“Cómo contar” Puntos de Función – Revisión Básica
Beneficios de contar Puntos de Función – Pros y Contras
Recomendaciones
Ejemplo de conteo de Puntos de Función
Referencias
Agenda
35. Recomendaciones para su uso
La planificación para el uso del Análisis de Puntos de Función debe considerar entre
otros puntos, los siguientes:
Todos los integrantes del Proyecto y relacionados con él deben seguir un curso de
Puntos de Función y el Laboratorio
Se debe realizar el conteo de la Aplicación o aplicaciones con el objeto de establecer
la linea base
Se deben seguir los lineamientos establecidos en la organización para la Gestión del
Uso de los Puntos de Función
Se debe designar Analistas especializados en conteo quienes serán los encargados de
realizar el conteo y seguir el procedimiento definido
Se deben validar todos los conteos realizados con la finalidad de establecer un criterio
común en el conteo de los Puntos de Función
Debe crearse una base histórica de conteo con la finalidad de ir afinando esta
estimación y de crear las respectivas métricas de tiempo y costo.
36. Qué son Puntos de Función
Breve historia del Análisis de Puntos de Funcion
Qué necesitamos y porqué usamos Puntos de Función
“Cómo contar” Puntos de Función – Revisión Básica
Beneficios de contar Puntos de Función – Pros y Contras
Recomendaciones
Ejemplo de conteo de Puntos de Función
Referencias
Agenda
37. Caso Web
La Agencia de Viajes ACME Business Travel ha decidido agregar funcionalidad a su suite BT Express
System de aplicaciones mediante la creación de una versión Web.
Los Usuarios de BT Express ahora podrán agregar, actualizar, consultar y eliminar registros de Clientes y
registros de Itinerarios de los clientes y del archivo de Itinerarios, via Internet.
BT Express aún lee el archivo de Agentes que es aún mantenido por el ACME BT Agent System, y el
archivo de Reservaciones de Aerolineas que es aún mantenido por el Direct Order Reservation System.
La funcionalidad de ayuda es accesada por el botón “Help” de cada página. El Help es mantenido por el
administrador de BT Express. BT Express provee un medio para el administrador para actualizar el texto
de help (esto no está mostrado)
Los mensaje de errores son hardcode dentro de los programas (los desarrolladores agregan, cambian y
eliminan éstos).
Los Clientes pueden obtener una copia de sus itinerarios por medio de la Web site de BT Express y ver o
imprimir éstos por ellos mismos. La capacidad de Imprimir es provista por el proveedor de Internet y no
por el BT Express.
Se provee la siguiente documentación:
Arreglo jerárquico de las pantallas de BT Express
El Diagrama de Flujo de datos de BT Express
Documentación de los layouts de las pantallas y funciones.
Documentación de las General System Characteristics (GSC)
77. Qué son Puntos de Función
Breve historia del Análisis de Puntos de Funcion
Qué necesitamos y porqué usamos Puntos de Función
“Cómo contar” Puntos de Función – Revisión Básica
Beneficios de contar Puntos de Función – Pros y Contras
Recomendaciones
Ejemplo de conteo de Puntos de Función
Referencias
Agenda