Está en la página 1de 68

Puntos de Función

Métrica de los Puntos de


Función
• Es una métrica aceptada como estándar
en el mercado.
– IFPUG (International Function Point Users
Group).
– CPM 4.0 de 2004 (Counting Practice Manual)
• Inicialmente Albrecht en IBM. (2009)
• ¿Como medir el software?

Puntos de Función 1
Métrica de los Puntos de
Función
• Es una métrica que se puede aplicar en
las primeras fases de desarrollo.
• Se basa en características
fundamentalmente “Externas” de la
aplicación a desarrollar.
• Mide dos tipos de características:
– Los elementos de función (entradas, salidas,
ficheros, etc.)
– Los factores de Complejidad.

Puntos de Función 2
Elementos de Función
• Son elementos fácilmente identificables
en los diagramas de especificación del
sistema. (DFD, Entidad-Relación, DD)
• Los usuarios los entienden
perfectamente.
• Observamos la aplicación como una caja
negra.

Puntos de Función 3
Visión de caja negra
• Nos centramos en característica visibles
del objeto en estudio.
• Ejemplo:
– Equipo de música.
– Coche
– Animales

Puntos de Función 4
Elementos de función
• Entradas
• Salidas
• Consultas
• Ficheros Lógicos o Internos
• Ficheros de Interfaz

Puntos de Función 5
Algunas Definiciones
• Proceso elemental
• Datos e información de control
• Lógica de proceso
– Ediciones, algoritmos o cálculos
– Accesos a ficheros para consulta o
actualización

Puntos de Función 6
Proceso elemental:
• Menor unidad de actividad que tiene
sentido para el usuario, conocedor del
sistema en estudio.

Puntos de Función 7
Datos e informaciones de
control:
• Datos elementales con los que trabaja la
aplicación en estudio. Nos referimos a
ellos siempre como datos aunque se
componen de los datos propios del
sistema en estudio, más las
informaciones de control que solicita el
usuario: mensajes de error, claves de
seguridad... etc.

Puntos de Función 8
Lógica de proceso:
• Procesos que se producen como
consecuencia de un proceso elemental.
Pueden ser de dos tipos:
– Ediciones, algoritmos o cálculos
– Accesos a un fichero para consulta o
actualización.

Puntos de Función 9
Ficheros Lógicos o Internos
• Agrupaciones de datos, tal y
como los percibe el usuario
• Es diferente de:
– Entidades y Relaciones
– Tablas o archivos resultantes
del diseño físico
• Los grupos de datos serán
accedidos y actualizados por
la aplicación

Puntos de Función 10
FICHEROS LÓGICOS
INTERNOS
Cuestión: Respuesta,
debe ser
Se trata de una agrupación de datos lógica o identificable desde el
punto de vista del usuario y satisface un requerimiento especifico Si
del usuario
La agrupación de datos es mantenida por procesos de la aplicación
en estudio Si
La agrupación de datos es mantenida mediante un proceso
elemental de la aplicación Si
La agrupación de datos no ha sido contada como un fichero de
interfaz externo Si

Puntos de Función 11
Clasificación de los Ficheros
Lógicos o Internos
DIFICULTAD Número de Campos o Atributos
FICHEROS
LÓGICOS 1-19 Atributos 20-50Atributos 51 + Atributos

1 Registro
BAJA BAJA MEDIA
Lógico

2 a 5 Registros
BAJA MEDIA ALTA
Lógicos

6 o más
MEDIA ALTA ALTA
Registros Lógic.

Puntos de Función 12
Ficheros de Interfaz
• Ficheros a los que
accede la aplicación DIAGRAMA DE CONTEXTO
con el único objetivo
de obtener
información.
• Son mantenidos por
otras aplicaciones
• Nunca los actualiza
la aplicación.

Puntos de Función 13
FICHEROS DE INTERFAZ
EXTERNOS
Cuestión: Respuesta,
debe ser
Se trata de una agrupación de datos lógica o identificable desde el punto
de vista del usuario y satisface un requerimiento especifico del usuario Si
La agrupación de datos es referenciada, y externa, a la aplicación en
estudio Si
La agrupación de datos no es mantenida mediante la aplicación en
estudio Si
La agrupación de datos ha sido contada como un fichero lógico Interno
en otra aplicación Si
La agrupación de datos no ha sido contada como un fichero lógico
Interno de la aplicación en estudio Si

Puntos de Función 14
Clasificación de los Ficheros
de Interfaz
DIFICULTAD Núm ero de Cam pos o Atributos
FICHEROS
DE INTERFAZ 1-19 Atributos 20-50Atributos 51 + Atributos

1 Entidad o
BAJA BAJA MEDIA
Registro Lógico

2 a 5 Registros
BAJA MEDIA ALTA
Lógico

6 o m ás
MEDIA ALTA ALTA
Registros Lógic.

Puntos de Función 15
Entradas
• Informaciones que
llegan a la aplicación
desde el exterior.
• Tienen una sola
dirección
(Exterior à
Interior)
• Siempre actualizan
algún fichero
interno.

Puntos de Función 16
Entradas
Cuestión: Respuesta,
debe ser
Entran datos desde exterior de la aplicación Si
Existen datos en algún fichero lógico interno que son actualizados Si
El proceso es la unidad mínima de actividad que tiene sentido
para el usuario Si
El proceso es completo y deja al sistema en un estado
consistente SI
Para el proceso subyacente se debe de cumplir alguna de las
siguientes reglas AoB
A La lógica del proceso es exclusiva de esta entrada, o la
primera vez que la contamos
B Los datos elementales son diferentes de otras entradas

Puntos de Función 17
Clasificación de las entradas
DIFICULTAD Número de Campos o Atributos de la Entrada
ENTRADAS
1-4 Atributos 5-15 Atributos 16 + Atributos

0 ó 1 ficheros
BAJA BAJA MEDIA
accedidos

2 ficheros
BAJA MEDIA ALTA
accedidos

3 + ficheros
MEDIA ALTA ALTA
accedidos

Puntos de Función 18
Salidas
• Informaciones
elaboradas por la
aplicación que son
transmitidas al
usuario.
• Tienen una sola
dirección
(Interior a
Exterior)

Puntos de Función 19
Salidas
Cuestión: Respuesta
El proceso envía datos o información al exterior de la aplicación Si
El proceso es la unidad mínima de actividad que tiene sentido Si
para el usuario
El proceso es completo y deja al sistema en un estado
consistente SI
Para el proceso subyacente se debe de cumplir alguna de las
siguientes reglas AoB
A La lógica del proceso es exclusiva de esta salida (o la
primera vez)
B Los datos elementales son diferentes de otras salidas

Puntos de Función 20
Clasificación de las salidas
DIFICULTAD Núm ero de Cam pos o Atributos de la Salida
SALIDAS
1-5 Atributos 6-19 Atributos 20 + Atributos

0 ó 1 ficheros
BAJA BAJA M EDIA
accedidos

2 ó 3 ficheros
BAJA MEDIA ALTA
accedidos

4 + ficheros
MEDIA ALTA ALTA
accedidos

Puntos de Función 21
Consultas
• Entradas que
producen
inmediatamente una
salida
• No modifica los
datos del sistema

Puntos de Función 22
Consultas
Cuestión: Respuesta,
Una petición atraviesa la frontera del sistem a Sí
El proceso envía datos o inform ación al exterior de la aplicación Sí
Se recuperan datos Sí
No se calculan datos derivados para enviar al exterior Sí
El proceso (entrada/salida) es la unidad m ínim a de actividad que tiene
sentido para el usuario Sí
El proceso es com pleto y deja al sistem a en un estado consistente Sí
El proceso no actualiza ningún Fichero Lógico Interno Sí
Para el proceso subyacente se debe de cum plir alguna de las siguientes
reglas AoB
A La lógica del proceso en su parte de entrada o salida, es distinta del
de otras consulta del sistem a (o la prim era vez)
B Los datos elem entales de la entrada o salida son diferentes de otras
consultas

Puntos de Función 23
Clasificación de las consultas
• Calculamos la complejidad de la parte de
entrada
• Calculamos la complejidad de la parte de
salida
• Nos quedamos sólo con la complejidad
mayor de las dos.

Puntos de Función 24
Hoja para calcular los Puntos
de función sin ajustar (PFSA)
Simple Media Compleja Total
Cantidad * Peso Cantidad * Peso Cantidad * Peso

Entradas *3 *4 *6
Salidas *4 *5 *7
Consultas *3 *4 *6
Fic. Lógicos *7 * 10 * 15
Fic. Interfaz *5 *7 * 10
Total puntos de función sin ajustar (PFSA)

Puntos de Función 25
FACTORES DE
COMPLEJIDAD
• Son catorce factores que completan la
visión externa de la aplicación.
• No están recogidos en la funcionalidad
de la aplicación.
• Toman un valor entre 0 y 5

Puntos de Función 26
SIGNIFICADO DEL VALOR
DE CADA F.C.
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

Puntos de Función 27
1) Comunicación de Datos.
• Los datos usados en el sistema se envían
o reciben por líneas de comunicaciones.

Puntos de Función 28
FC1: Comunicación de datos
0: Sistema aislado del exterior
1: Batch, usa periféricos E o S remotos
2: Batch, usa periféricos E y S remotos
3: Captura de datos en línea o teleproceso que
pasa los datos o sistema de consulta
4: Varios teleprocesos con mismo protocolo
5: Varios protocolos. Sistema Abierto y con
interfaces de todo tipo al exterior.

Puntos de Función 29
2) Proceso Distribuido.
• Existen Procesos o Datos distribuidos, y
el control de estos forma parte del
sistema.

Puntos de Función 30
FC2: Proceso distribuido
0: Sistema totalmente centralizado
1: Sistema realiza procesos en un equipo, salidas
usadas vía Sw por otros equipos
2: Sistema captura, los trata en otro
3: Proceso distribuido, trans. una sola direc.
4: idem, transferencia en ambas direcciones.
5: procesos cooperantes ejecutándose en
distintos equipos.

Puntos de Función 31
3) Objetivos de Rendimiento.
• Si el rendimiento es un
requisito del sistema. Es
decir es crítico algún factor
como tiempo de respuesta o
cantidad de operaciones por
hora. Se tendrá que hacer
consideraciones especiales
durante el diseño,
codificación y mantenimiento.

Puntos de Función 32
FC3: Objetivos de rendimiento
0: Rendimiento normal ( no se da énfasis )
1: Se indican requisitos, no medida especial.
2: Crítico en algunos momentos. Procesos
acabados antes de prox. sesión de trabajo.
3: Tiempo de respuesta es crítico.
4: ... en diseño hacer análisis de rendimiento
en tiempo respuesta o cantidad oper./hora
5: .. uso herramientas para alcanzar el
rendimiento demandado por el usuario

Puntos de Función 33
4) Configuración de
Explotación Usada por Otros
Sistemas.
• El sistema tendrá
que ejecutarse en un
equipo en el que
coexistirá con otros,
compitiendo por los
recursos, teniendo
que tenerse en
cuenta en las fase de
diseño.

Puntos de Función 34
FC4: Conf. explotación usada
intensamente por otros
sistemas
0: No se indican restricciones
1: Existen las restricciones usuales
2: Características de seguridad o tiempos.
3: Restricciones en algún procesador
4: El Sw deberá funcionar con restricciones de
uso en algún procesador.
5: Restricciones especiales para aplicación en los
componentes distribuidos del sistema

Puntos de Función 35
5) Tasa de Transacciones.
• La tasa de
transacciones será
elevada. Se tendrá
que hacer
consideraciones
especiales durante el
diseño, codificación e
instalación.

Puntos de Función 36
FC5: Tasa de transacciones
0: No se prevén picos
1: Se prevén picos poco frecuentes (mensual)
2: Se prevén picos semanales
3: Se prevén horas punta, diarias
4: Tasa de trans. tan elevada que en diseño se
hace análisis de rendimiento
5: Análisis de rendimiento en diseño,
implementación e instalación.

Puntos de Función 37
6) Entrada de Datos EN-
LÍNEA.
• La entrada de datos
será directa desde el
usuario a la
aplicación, de forma
interactiva.
– 0: Todo es Batch
– 5: Más del 30% de las
entradas son en línea

Puntos de Función 38
FC6: Entrada de datos en línea
0: Todo es Batch
1: 1%<entradas interactivas <7%
2: 8%<entradas interactivas <15%
3: 16%<entradas interactivas <23%
4: 24%<entradas interactivas <30%
5: Entradas interactivas >30%

Puntos de Función 39
7) Eficiencia con el Usuario
Final.
• Se demanda eficiencia
para el usuario en su
trabajo, es decir se
tiene que diseñar e
implementar la
aplicación con
interfaces fáciles de
usar y con ayudas
integradas.

Puntos de Función 40
Eficiencia del usuario con:
• Menús.
• Uso de ratón.
• Ayudas "en_línea".
• Movimiento automático del cursor;
• Efectos de Scroll (papiro);
• Teclas de función predefinidas
• Lanzamiento de procesos Batch desde las
transacciones "en_línea";

Puntos de Función 41
Eficiencia del usuario con
(cont.):
• Selección mediante cursor de datos de la
pantalla;
• Pantallas con muchos colores y efectos;
• Posibilidad de "hard-copy".
• Ventanas de "pop-up";
• Aplicación bilingüe (cuenta por cuatro).
• Aplicación Multilingüe (mas de dos, cuenta
por seis).

Puntos de Función 42
FC7: Eficiencia con el usuario
final
0: No se da énfasis al tema
1: 1 a 3 de los factores
2: 4 a 5 de los factores
3: 6 o más factores, sin requerir eficiencia
4: ... con requerimientos que implican estudio de
los factores humanos en el diseño
5: … se demandan prototipos y herramientas
para verificar que se alcanzaran los objetivos

Puntos de Función 43
8) Actualizaciones EN-LÍNEA.
• Los ficheros
maestros y las
Bases de Datos
son modificadas
directamente de
forma interactiva.

Puntos de Función 44
FC8: Actualizaciones en línea
0: No hay
1: De 1 a 3 ficheros con información de control.
Cantidad baja y ficheros recuperables
2: ... pero con 4 o más ficheros de control
3: Actualización de ficheros importantes
4: ... esencial la protección ante pérdidas
5: Gran cantidad de actualizaciones
interactivas. Sistemas de recuperación muy
automatizados

Puntos de Función 45
9) Lógica de Proceso Interno
Compleja.
• La complejidad interna en un proceso esta en
función de las siguientes características:
– Especificados algoritmos matemáticos complejos.
– Proceso con lógica compleja.
– Especificado muchas excepciones, consecuencia de
transacciones incompletas, que deberán tratarse.
– Manejar múltiples dispositivos de entrada/salida.
– Se incorporaran sistemas de seguridad y control.

Puntos de Función 46
FC9: Lógica de proceso interno
compleja
0: Ninguna de las características
1: 1 Característica
2: 2 Características
...
5: Las 5 características

Puntos de Función 47
10) Reutilización del Código.
• Se tendrá que hacer consideraciones
especiales durante el diseño,
codificación y mantenimiento para que el
código se reutilice en otras aplicaciones
o lugares.
• Hablaremos de reutilización:
– Dentro de la propia aplicación,
– Por varios sistemas,
– Parametrizable.

Puntos de Función 48
FC10: Reusabilidad del código
0: No se prevé
1: Reutilizar código en la misma aplicación
2: Menos de un 10% de la aplicación tiene en
cuenta las necesidades de + de 1 usuario
3: El 10 % o más ...
4: Aplicación preparada para ser reutilizable.
Nivel de código
5: Aplicación preparada para ser reutilizable.
Por medio de parámetros

Puntos de Función 49
11) Contempla la Conversión e
Instalación.
• Se proveerán facilidades de
conversión en el sistema, se tendrá que
hacer consideraciones especiales
durante el diseño, codificación y
pruebas para que la conversión del
sistema antiguo sean fáciles de
realizar durante la puesta en marcha
del sistema nuevo.
Antiguo Nuevo

Puntos de Función 50
FC11: Contempla conversión e
instalación
0: No se requiere conversión.
1: Se solicita facilidad de instalación
2: Se solicitan procesos de conversión e
instalación, no importantes para el proyecto
3: ... si son importantes
4: 2, y herramientas conversión e instalación
5: 3, y herramientas conversión e instalación.
Sistema crítico para la empresa

Puntos de Función 51
12) Facilidad de Operación.
• Operación del sistema: los trabajos asignados
al centro de proceso de datos.
– arranque, parada, recuperación ante fallos, copias
de seguridad o minimización de las actividades
manuales en el CPD.
• Se valora cuando ha sido descrita desde las
primeras fases dedicandose especial atención
durante el diseño, codificación y pruebas.

Puntos de Función 52
FC12: Facilidad de operación
0: Nada, en todo caso, back-up
1 a 4: Suma de ítems
Arranque, back-up y recuperación
Idem, sin intervención operador ( X2 )
Minimizar necesidad de disp. externos almac.
Minimiza necesidad de manejar papel
5: Sistema automático sin intervención
humana

Puntos de Función 53
13) Instalaciones Múltiples
• El sistema ha de incluir los requerimientos
de diversas empresas o departamentos en
donde se ejecutara (incluso plataformas).
Estas características se estarán presentes
durante el diseño, codificación y pruebas.

Puntos de Función 54
FC13: Instalaciones múltiples
0: 1 solo lugar
1: Múltiples lugares, mismo Hw y Sw
2: En diseño se tiene en cuenta el caso (1)
3: En diseño se tiene en cuenta múltiples
entornos Hw y Sw
4: Se documenta y planea para (1) y (2)
5: Idem, para (3)

Puntos de Función 55
14) Facilidad de Cambios
• Se tendrá que hacer
consideraciones
especiales durante el
diseño, codificación y
mantenimiento para
que en el sistema sea
fácil de introducir
cambios y fácil de
adaptar al usuario.

Puntos de Función 56
FC14: Facilidad de cambios
• Items a tener en cuenta:
– Consultas flexibles del usuario:
• Simples con condiciones. lógicas And/Or que implican un
único fichero lógico
• Medias con cond. lógicas sobre más de 1 F.L. (X2)
• Complejas con condiciones lógicas complejas que afectan
a varios F.L. (X3)
– Parámetros de la aplic. con tablas ajenas al código:
• El cambio se hace efectivo al arrancar el sistema
• El cambio es interactivo (X2)

Puntos de Función 57
FC14: Facilidad de cambios
0: No se especifica nada
1: Un ítem de valor 1
2: Items por valor 2
3: ...
5: Items por valor 5

Puntos de Función 58
Tabla para el calculo de los FC.
# Factor de Complejidad Valor
(0..5)
1 Comunicación de Datos.
2 Proceso Distribuido.
3 Rendimiento
4 Configuración Operacional compartida
5 Ratio de Transacciones
6 Entrada de Datos EN-LÍNEA
7 Eficiencia con el Usuario Final
8 Actualizaciones EN-LÍNEA
9 Complejidad del Proceso Interno
10 Reusabilidad del Código
11 Contempla la Conversión e Instalación
12 Facilidad de Operación (back up, etc.)
13 Instalaciones Múltiples
14 Facilidad de Cambios
Factor de Complejidad Total (FCT)  Valori

Puntos de Función 59
Calculo de los puntos de
función ajustados
• PFA = PFSA * (0,65 + (0.01 * FC))
• Cada factor de complejidad afecta en
+/- 2,5% en los PFSA
• PFSA * 65% <= PFA <= PFSA * 135%
140
120
100
80
60
40
20
0
0 35 70

Puntos de Función 60
Estimación del Esfuerzo
Requerido
• Partimos de los datos históricos de la
Organización
• Esfuerzo =
PFA * Promedio_Organización( Lenguaje)

Puntos de Función 61
Estimación del Esfuerzo
Requerido (Datos históricos)

Puntos de Función 62
Estimación del Esfuerzo
Requerido (Datos históricos)

Puntos de Función 63
Estimación del Esfuerzo
Con la secuencia de tareas de la EDT para la actividad 1.1.1. Toma de
datos, obtenemos es esfuerzo en horas de cada tarea y del conjunto de la
actividad, cruzando en una hoja de cálculo los siguientes datos:
•Unidades: este concepto responde a las unidades de proceso de cada tarea. Por
ejemplo, en la tarea 1.1.1.1. Diseño de guión de toma de datos, se han considerado
dos guiones, uno para la entrevista de responsable de departamento y otra para
los gestores de cada departamento, es decir, 2 unidades.

•Hora unidad: la estimación de esfuerzo para cada unidad. He estimado que cada
entrevista puede suponer un esfuerzo de 49,1 minutos que equivale a 0,81 horas
por entrevista. Recordemos el método de estimación que hemos empleado.
•Subtotal horas: es el resultado de multiplicar las unidades x la estimación de
hora unidad
La suma parcial de cada tarea nos da el esfuerzo total en horas de trabajo de la
actividad, en este caso 53,3 horas, que equivale a 6,6 jornadas de trabajo de 8
horas.
Todavía no hemos acabado, ya que debemos averiguar el coste de este esfuerzo.
Recuerda que a tu Jefe le preocupa especialmente el plazo y el coste, no la
problemática técnica.
Puntos de Función 64
Estimación del Esfuerzo
Con la información que disponemos de nuestra organización, sabemos que
existen cuatro grandes departamentos:
1.Un departamento con funciones de carácter horizontal (servicios
generales, rrhh, jurídico, administración, informática, gestión
documental…)
2.Tres departamentos con funciones verticales relacionados con el
análisis, diseño, producción, comercialización e I+D de productos y
servicios.
Estimamos que debemos realizar hasta 20 tomas de datos con la siguiente
distribución:
 Entrevistas de toma de datos a los responsables de cada área, para obtener una visión
general de cada departamento (4 entrevistas)
 Entrevistas de toma de datos en cada unidad organizativa para descender al detalle de su
contexto documental (16 entrevistas)
 Ya disponemos de un dato de gran interés, debemos hacer aproximadamente 20
entrevistas.
Pero ¿qué esfuerzo supone hacer 20 entrevistas?.

Puntos de Función 65
Estimación del Esfuerzo
La fórmula de estimación se basa en realizar un sencillo cálculo con los
siguientes parámetros:
•TE = Tiempo estimado TO= Tiempo óptimo
•TM= Tiempo medio TP= Tiempo pésimo
Estos valores se procesan en la siguiente fórmula:
•El TIEMPO ESTIMADO = (TO+4x(TM)+TP)/6
Para estimar el tiempo que deberé emplear para hacer cada entrevista
de toma de datos a los responsables de área. Con el formulario en la
mano, viendo todas las preguntas y datos que voy a recabar, estimaré:
•TO= tiempo óptimo, en el caso de que la toma de datos sea rápida y
sin interrupciones = 30 minutos
•TM= Tiempo medio, lo normal, con alguna interrupción y aclaraciones
que solicite el entrevistado para entender bien la pregunta = 45
minutos
•TP= Tiempo pésimo, en el caso de interrupciones frecuentes y mala
disposición del entrevistado para facilitar informaciones = 85 minutos
El tiempo estimado para la ejecución de esta tarea es de =
•El TIEMPO ESTIMADO = (30+4x(45)+85)/6 = 49,1 minutos.
Puntos de Función 66
OTRAS UTILIDADES DE LOS
PUNTOS DE FUNCIÓN.
• Comparar lo que solicitó el cliente con lo
que recibió.
• Comparar la productividad de los
diferentes entornos de desarrollo.
• Comparar la calidad que se obtiene
mediante las diferentes técnicas de
desarrollo.

Puntos de Función 67

También podría gustarte