Está en la página 1de 24

Ejercicio resuelto de Puntos de Función

Descripción

El sistema de clientes será diseñado para apoyar algunas áreas de una
empresa, específicamente al departamento de ventas y al departamento
de marketing. El sistema de clientes será diseñado en un lenguaje de
cuarta generación utilizando una ase de datos y será implementado en un
e!uipamiento Unix o en un entorno de redes. El sistema será utilizado por
cerca de "# usuarios en un amiente on-line a trav$s de terminales. %os
usuarios conocen poco de informática, como consecuencia, las pantallas
deen ser de fácil utilización y deen estar siempre presentes pantallas de
ayuda. El volumen de transacciones no será alto, pero se espera !ue cada
fin de año sea un periodo crítico.

Principales funciones del sistema
&lta de clientes
'odificación de los datos de clientes
(onsulta de datos de clientes
&lta de productos
'odificación de datos de productos
)eguridad para acceso al sistema
Pedidos de clientes
Ejercicio resuelto de Puntos de Función
Archivos
Registro de Clientes
Ítem Tamaño Tipo
(ódigo*cliente " +um$rico
+omre*cliente ,- &lfanum$rico
.azón*social /# &lfanum$rico
0ipo*cliente - +um$rico
0erritorio / &lfanum$rico
1irección /# &lfanum$rico
2arrio ,- &lfanum$rico
3ona*postal 4 +um$rico
(iudad ,- &lfanum$rico
.5( ,- +um$rico
.egistro*contriuyente ,- +um$rico
(ontacto, -# &lfanum$rico
0elefonon, ,# +um$rico
(ontacto- -# &lfanum$rico
0elefono- ,# +um$rico
Histórico de Clientes
Ejercicio resuelto de Puntos de Función
Ítem Tamaño Tipo
(ódigo*cliente " +um$rico
Producto,*mas*comprado ,- +um$rico
6alor*compra*producto, ,- +um$rico
Precio*medio*prod, ,- +um$rico
Producto-*mas*comprado ,- +um$rico
6alor*compra*producto- ,- +um$rico
Precio*medio*prod- ,- +um$rico
Producto/*mas*comprado ,- +um$rico
6alor*compra*producto/ ,- +um$rico
Precio*medio*prod/ ,- +um$rico
0otal*compra*año*anterior ,- +um$rico
0otal*compra*año ,- +um$rico
0otal*compra*mes*actual ,- +um$rico
0otal*compra*mes*año ,- +um$rico

Registro de Productos
Ítem Tamaño Tipo
(ódigo*producto ,- +um$rico
+omre*producto ,- &lfanum$rico
1escripción*producto /# &lfanum$rico
0ipo*producto - +um$rico
Ejercicio resuelto de Puntos de Función
5nidad*producto / &lfanum$rico
(osto*medio*unitario ,- +um$rico
Precio*medio*unitario ,- +um$rico
Principal*proveedor ,- &lfanum$rico
Precio*ultima*compra ,- +um$rico
Principal*cliente ,- &lfanum$rico
Fec7a*ultimo*pedido 4 +um$rico
(antidad*ultimo*pedido 4 +um$rico
Precio*unit*ultimo*pedido ,- +um$rico

Registro de pedidos
Ítem Tamaño Tipo
+umero*pedido ,# +um$rico
(ódigo*producto ,- +um$rico
(ódigo*cliente " +um$rico
(antidad ,- +um$rico
Precio*unitario ,- +um$rico
Fec7a*pedido 4 +um$rico

Registro de contraseñas
Ítem Tamaño Tipo
Ejercicio resuelto de Puntos de Función
(ódigo*usuario " +um$rico
(ontraseña " &lfanum$rico
Fec7a*validez 4 +um$rico
Fec7a*ultimo*acceso 4 +um$rico
8ora*ultimo*acceso 4 +um$rico

Pantallas del sistema
& cada pantalla del sistema se dee asociar una pantalla de ayuda,
agilizando la utilización del sistema para nuevos usuarios y aumentando la
productividad en la utilización.

Pantalla de registro de cliente (Alta de cliente)
.egistro de (lientes
(ódigo 9::::::; +omre 9::::::::::::; .azón )ocial
9::::::::::::::::;
0ipo 9::; 0erritorio 9::::::; .5( 9::::; .egistro de contriuyente
9::::::::;
1irección 9::::::::::::::::::::::::::::; 2arrio 9:::::::::::::::;
3ona Postal 9::::::; (iudad 9:::::::::::::;
(ontacto , 9::::::::::::::::::::; 0el$fono 9::::::::::::;
(ontacto - 9::::::::::::::::::::; 0el$fono 9::::::::::::;

&rc7ivos referenciados< (lientes
1atos< 0odos los del arc7ivo
.eglas< Emitir un mensaje de error en caso de !ue el .5( no sea válido
Emitir un mensaje de error en caso de !ue el cliente ya e=ista
Ejercicio resuelto de Puntos de Función


Pantalla de Modificación de datos de cliente
'odificación de datos de (lientes
(ódigo 9::::::; +omre 9::::::::::::; .azón )ocial
9::::::::::::::::;
0ipo 9::; 0erritorio 9:::::; .5( 9::::; .egistro de contriuyente
9:::::::;
1irección 9::::::::::::::::::::::::::::; 2arrio 9:::::::::::::::;
3ona Postal 9::::::; (iudad 9:::::::::::::;
(ontacto , 9::::::::::::::::::::; 0el$fono 9::::::::::::;
(ontacto - 9::::::::::::::::::::; 0el$fono 9::::::::::::;

&rc7ivos referenciados< (lientes
1atos< 0odos pueden ser modificados, e=cepto el código de cliente
.eglas< Emitir un mensaje de error en caso de !ue el

Pantalla Consulta de clientes
(onsulta de (lientes
(ódigo 9::::::; +omre 9::::::::::::; .azón )ocial
9::::::::::::::::;
0ipo 9::; 0erritorio 9:::::; .5( 9::::; .egistro de contriuyente
9::::::::;
1irección 9::::::::::::::::::::::::::::; 2arrio 9:::::::::::::::;
3ona Postal 9::::::; (iudad 9:::::::::::::;
(ontacto , 9::::::::::::::::::::; 0el$fono 9::::::::::::;
0otal (ompra &ño 9:::::::::::::; 0otal (ompra mes actual
Ejercicio resuelto de Puntos de Función
9::::::::::::;

&rc7ivos referenciados< (lientes * 8istórico de clientes
1atos< ,- de arc7ivos de clientes y dos de 7istórico de clientes
.eglas< )e dee ingresar el código de cliente
6erificar si el cliente e=iste, en caso contrario emitir mensaje de error
El arc7ivo 7istórico de clientes pertenece a otra aplicación

Pantalla de eliminación de cliente
Eliminación de datos de (liente
(ódigo 9::::::;

&rc7ivos referenciados< (lientes
1atos< )ólo es necesario ingresar el código de cliente
.eglas< 6erificar si el cliente e=iste, en caso contrario emitir mensaje de error
Pantalla de registro de productos
.egistro de Productos
(ódigo 9::::::; +omre 9::::::::::::; 1escripción
9::::::::::::::::;
0ipo 9::; 5nidad 9::::::; (osto medio 9::::; Precio medio
9::::::::;
Principal proveedor 9::::::::::::::::::::; Precio medio
9::::::::::;
Principal cliente 9::::::::::::::::::::::;
Fec7a de >ltima compra (antidad >ltima compra
Ejercicio resuelto de Puntos de Función
Precio unitario
9:::;
9:::; 9:::;

&rc7ivos referenciados< Productos
1atos< 0odos los del arc7ivo
.eglas<
Pantalla de modificación de datos de productos
'odificación de datos de Productos
(ódigo 9::::::; +omre 9::::::::::::; 1escripción
9::::::::::::::::;
0ipo 9::; 5nidad 9::::::; (osto medio 9::::; Precio medio
9::::::::;
Principal proveedor 9:::::::::::::::::; Precio medio
9:::::::::::::::;
Principal cliente 9::::::::::::::::::::::;
Fec7a de >ltima compra (antidad >ltima compra
Precio unitario
9:::;
9:::; 9:::;

&rc7ivos referenciados< Productos
1atos< 0odos pueden ser modificados, e=cepto el código de
.eglas<
Pantalla de consulta de productos
(onsulta de datos de Productos
(ódigo 9::::::; +omre 9::::::::::::; 1escripción
Ejercicio resuelto de Puntos de Función
9::::::::::::::::;
0ipo 9::; 5nidad 9::::::; (osto medio 9::::; Precio medio
9::::::::;
Principal proveedor 9:::::::::::::::::; Precio medio
9:::::::::::::::;
Principal cliente 9::::::::::::::::::::::;
Fec7a de >ltima compra (antidad >ltima compra
Precio unitario
9:::;
9:::; 9:::;

&rc7ivos referenciados< Productos
1atos<
.eglas<


Pantalla de eliminación de productos
Eliminación de datos de Productos
(ódigo 9::::::;

&rc7ivos referenciados< Productos
1atos< )ólo es necesario ingresar el código de producto
.eglas< 6erificar si el producto e=iste, en caso contrario emitir mensaje de error


Pantalla de pedidos de clientes
Ejercicio resuelto de Puntos de Función
Pedidos de (lientes
+>mero de pedido 9::::::; Fec7a de pedido
9::::::::::::;
(ódigo de cliente 9:::::::;
(ódigo producto (antidad Precio
unitario
9:::;
9:::; 9:::;

&rc7ivos referenciados< (lientes, Productos y Pedidos
1atos<
.eglas< 6erificar si el pedido e=iste. 6erificar si el producto e=iste. 6erificar si el cliente
e=iste. &ctualizar las informaciones sore el pedido en el registro de productos


Pantalla de acceso al sistema
Pantalla de ?dentificación
(ódigo del usuario 9::::::;
(ontraseña 9::::::;

&rc7ivos referenciados< (ontraseñas
1atos<
.eglas< El usuario y la contraseña deerán ser válidos para acceder al sistema. Emitir un
mensaje de error cuando sea necesario. El arc7ivo de contraseñas no es mantenido por la
aplicación.


Men del sistema
Ejercicio resuelto de Puntos de Función

'en> &yuda
9:::;
,* ?nclusión de clientes
-* 'odificación de datos de clientes
/* (onsulta de datos de clientes
@* E=clusión de clientes
A* ?nclusión de productos
"* 'odificación de datos de productos
B* (onsulta de datos de productos
4 * E=clusión de productos
C* Pedidos de clientes
,#* %ista de clientes inactivos Fec7a 9::::::;

Dpción deseada 9:;

&rc7ivos referenciados< +inguno
1atos< )e dee ingresar el n>mero de la opción deseada
.eglas< En el caso !ue el usuario selecciones la opción de lista de clientes inactivos,
deerá ingresar, además, una fec7a y serán considerados todos los clientes !ue tuvieran
su >ltimo pedido realizado antes de la fec7a especificada. )i ning>n registro cumple con la
condición, se mostrará el informe en lanco.


Pantalla de a!uda
&yuda * 'en> de opciones
Esta pantalla permite !ue el usuario seleccione la función !ue desea
Ejercicio resuelto de Puntos de Función
utilizar<
?nclusión de clientes< Permite el alta de un nuevo cliente.
'odificación de datos de clientes< Permite modificar los datos de un cliente
(onsulta de datos de clientes< (onsulta la información de un cliente
E=clusión de clientes< Permite eliminar los datos de un cliente
?nclusión de productos< Dpción !ue permite el alta de un nuevo producto
'odificación de datos de productos< Permite modificar los datos de un
producto
(onsulta de datos de productos< (onsulta la información de un producto
E=clusión de productos< Permite eliminar los datos de un producto
6olver a la pantalla anterior 9:;

&rc7ivos referenciados< +inguno
1atos<
.eglas< %a pantalla dee ser presentada cuando el usuario la solicite mediante el campo
de &yuda

"nformes
#$ %ista de clientes

Fec7a< ==E==E== %ista de clientes
Página< F
(ódigo +omre .azón )ocial 0ipo 0erritorio .5( .eg. (ont.
(ontacto 0el$fono
.......... ............ ................... ....... ............. ....... ...........
.... ............. .........
.......... ............ ................... ....... ............. ....... ...........
.... ............. .........
Ejercicio resuelto de Puntos de Función
.......... ............ ................... ....... ............. ....... ...........
.... ............. .........
.......... ............ ................... ....... ............. ....... ...........
.... ............. .........
0otal de (lientes< FFFF


&$ Clientes "nactivos

Fec7a< ==E==E== (lientes
?nactivos Página< F
(ódigo .azón )ocial 0ipo 1irección 2arrio .5( (iudad
5ltimo Pedido
........... .................... ...... ................ .......... ....... ...
...... ...................
........... .................... ...... ................ .......... ....... ...
...... ...................
........... .................... ...... ................ .......... ....... ...
...... ...................
........... .................... ...... ................ .......... ....... ...
...... ...................


'$ %ista de Productos
Fec7a< ==E==E== %ista de Productos
Página< F
(ódigo +omre 1escripción 5nidad (osto medio Precio medio Precio
Promedio
........... .............. ................. ......... ................... .................
. .....................
........... .............. ................. ......... ................... .................
. .....................
........... .............. ................. ......... ................... .................
Ejercicio resuelto de Puntos de Función
. .....................
........... .............. ................. ......... ................... .................
. .....................


Proceso de Conteo
5na vez !ue tenemos la descripción del sistema y sus componentes,
iniciamos el proceso de conteo para determinar los puntos de función del
proyecto.
%os pasos !ue vamos a seguir son<
,. ?dentificar las funciones G&rc7ivos lógicos internos, arc7ivos lógicos
e=ternos, entradas e=ternas, salidas e=ternas, consultas e=ternasH
-. (lasificar las funciones Gdeterminar el grado de complejidad para
cada funciónH
/. (alcular puntos de función no ajustados
@. (alcular el factor de ajuste Gen ase a las ,@ características
generalesH
A. (alculo de los Puntos de función ajustados. GEl resultado es el
tamaño del sistema en Puntos de FunciónH

"dentificación de funciones
&rc7ivos %ógicos ?nternos
.egistro de (lientes
.egistro de Productos
.egistro de Pedidos

&rc7ivos de ?nterfase E=terna
Ejercicio resuelto de Puntos de Función
8istórico de clientes
(ontraseñas

Entradas E=ternas
?nclusión de clientes
'odificación de clientes
E=clusión de clientes
?nclusión de productos
'odificación de productos
E=clusión de productos
Pedidos de clientes

)alidas E=ternas
%istado de (lientes
%istado de productos

(onsultas E=ternas
(onsulta de clientes
(onsulta de productos
Pantalla de ayuda
%ista de clientes inactivos

+otas< %a pantalla de login no es contada ya !ue sólo provee seguridad
para el acceso.
%a pantalla de men> del sistema, como sólo provee selección, no es
considerada como una función. Es considerada, sin emargo, como la parte
de entrada para la consulta de clientes inactivos.
Ejercicio resuelto de Puntos de Función
(lientes inactivos, a pesar de 7aer sido considerada como un informe
durante el planteamiento inicial, no es una salida e=terna, sino una
consulta e=terna ya !ue posee datos derivados y su ejecución se realiza por
medo de la pantalla de men>.

Clasificación de las funciones
Archivos %ógicos internos
.egistro de (lientes
1atos elementales referenciados< ,A
.egistros lógicos referenciados< ,
Irado de la función< )?'P%E

.egistro de Productos
1atos elementales referenciados< ,/
.egistros lógicos referenciados< ,
Irado de la función< )?'P%E

.egistro de Pedidos
1atos elementales referenciados< "
.egistros lógicos referenciados< ,
Irado de la función< )?'P%E
Archivos de interfase e(terna
8istórico de (lientes
1atos elementales referenciados< / G)e cuentan solamente los campos
utilizados< (ódigo de cliente, 0otal*compra*año, 0otal*compra*mes*
actualH
.egistros lógicos referenciados< ,
Ejercicio resuelto de Puntos de Función
Irado de la función< )?'P%E

(ontraseñas
1atos elementales referenciados< / G(ódigo*usuario, contraseña y
fec7a* validezH
.egistros lógicos referenciados< ,
Irado de la función< )?'P%E
)ntradas )(ternas
&lta de clientes
1atos elementales referenciados< ," G,A campos y mensajes de errorH
&rc7ivos lógicos referenciados< ,
Irado de la función< 'E1?&

'odificación de (lientes
1atos elementales referenciados< ," G,A campos y mensajes de errorH
&rc7ivos lógicos referenciados< ,
Irado de la función< 'E1?&

E=clusión de clientes
1atos elementales referenciados< - G(ódigo*(liente y mensajes de
errorH
&rc7ivos lógicos referenciados< ,
Irado de la función< )?'P%E

&lta de productos
1atos elementales referenciados< ,@ G,/ campos y mensajes de errorH
Ejercicio resuelto de Puntos de Función
&rc7ivos lógicos referenciados< ,
Irado de la función< )?'P%E

'odificación de productos
1atos elementales referenciados< ,@ G,/ campos y mensajes de errorH
&rc7ivos lógicos referenciados< ,
Irado de la función< )?'P%E

E=clusión de productos
1atos elementales referenciados< - G(ódigo*producto y mensajes de
errorH
&rc7ivos lógicos referenciados< ,
Irado de la función< )?'P%E

Pedidos de clientes
1atos elementales referenciados< B G" campos y mensajes de errorH
&rc7ivos lógicos referenciados< / G(lientes, productos y pedidosH
Irado de la función< (D'P%EJ&

*alidas )(ternas
%istado de clientes
1atos elementales referenciados< ,# GC campos y total de clientesH
&rc7ivos lógicos referenciados< ,
Irado de la función< )?'P%E

%istado de productos
Ejercicio resuelto de Puntos de Función
1atos elementales referenciados< B
&rc7ivos lógicos referenciados< ,
Irado de la función< )?'P%E
+ota< %a función listado de clientes es una salida e=terna pues posee datos
derivados Gcampo total de clientesH.

Consultas )(ternas
(onsulta de clientes

Parte de )ntrada Parte de *alida
1atos elementales
referenciados
- G(ódigo*cliente y
mensajes de errorH
,@ G,- de clientes y - de
7istórico clientesH
&rc7ivos lógicos
referenciados
- G(lientes e 7istórico
de clientesH
-
Irado de la función )?'P%E 'E1?&
Irado de la función< 'E1?&


(onsulta de Productos

Parte de )ntrada Parte de *alida
1atos elementales
referenciados
- G(ódigo*producto y
mensajes de errorH
,- Gcódigo de producto
no es consideradoH
Ejercicio resuelto de Puntos de Función
&rc7ivos lógicos
referenciados
, , Gregistro de productosH
Irado de la función )?'P%E )?'P%E
Irado de la función< )?'P%E


%ista de (lientes inactivos

Parte de )ntrada Parte de *alida
1atos elementales
referenciados
/ GFec7a, Dpción y
mensajes de errorH
4
&rc7ivos lógicos
referenciados
#
- G(lientes y
productosH
Irado de la función )?'P%E 'E1?&
Irado de la función< 'E1?&

Pantallas de &yuda
%as pantallas de ayuda se consideran por definición como consultas
e=ternas de grado )?'P%E, independientemente de su cantidad.


C+lculo de los puntos de función no a,ustados
Ejercicio resuelto de Puntos de Función
0ipo de función (omplejidad
0otal
(omplejidad
0otal tipo de
función
&rc7ivos
/ )?'P%E) K B
# 'E1?&) K ,#
# (D'P%EJ&) K
,A
-,
#
#
-,
?nterfase
- )?'P%E) K A
# 'E1?&) K B
# (D'P%EJ&) K
,#
,#
#
#

,#
Entrada
@ )?'P%E) K /
- 'E1?&) K @
, (D'P%EJ&) K
"
,-
4
"

-"
)alidas
- )?'P%E) K @
# 'E1?&) K A
# (D'P%EJ&) K
B
4
#
#

4
(onsultas
- )?'P%E) K /
- 'E1?&) K @
# (D'P%EJ&) K
"
"
4
#

,@
0otal puntos de
función no ajustados
-.
C+lculo del factor de a,uste
&nalizaremos las ,@ características generales del sistema en ase a la
descripción del proyecto. 8ay !ue evitar adivinar características, siempre
!ue sea necesario, 7ay !ue conversar con el usuario principal del proyecto
o del área en la cual la duda se relacione.
Ejercicio resuelto de Puntos de Función
#$ Comunicación de datos
%a aplicación no es batchL incluye entrada de datos on-line. +ada se 7a
mencionado sore la cantidad de protocolos de comunicación. 6amos a
considerar , protocolo. Por lo e=puesto, el grado de este factor es /0
&$ Procesamiento distri1uido
+ada se 7a mencionado en cuanto a la ejecución en otros procesadores. %a
aplicación puede ser ejecutada en un amiente Unix o en entornos de
redes. no 7ay preocupación en cuanto a la distriución de funciones. El
grado del factor es 2.
'$ Rendimiento
)eg>n lo manifestado en la descripción, el volumen de transacciones no
dee ser alto. El periodo crítico será a fin del año. +o se puede estalecer
!ue no 7ay ning>n re!uerimiento de rendimiento. El grado del factor es #.
/$ Configuración del e3uipamiento
+o se 7a 7ec7o ninguna consideración en cuanto a la configuración del
e!uipamiento. El grado del factor es #.
4$ 5olumen de transacciones
Están previstos picos de transacciones anualmente. El grado del factor es
#.
6$ )ntrada de datos on-line
1e acuerdo con los descrito, las transacciones son procesadas solamente
on-line. El grado del factor es 4.
-$ "nterfase con el usuario
)e 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 #.
7$ Actuali8ación on-line
&ctualización on-line de todos los arc7ivos 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 '.
.$ Procesamiento comple,o
%a aplicación no realiza procesamiento complejo. El grado del factor es 2.
#2$ Reusa1ilidad
Ejercicio resuelto de Puntos de Función
+o 7ay preocupación en cuanto a la .eusailidad del código. El grado del
factor es 2.
##$ 9acilidad de implementación
+o se 7ec7o ninguna consideración con vistas a facilitar la implementación
o instalación de la aplicación. El grado del factor es 2.
#&$ 9acilidad de operación
+o se 7a 7ec7o ninguna consideración específica. el grado del factor es 2.
#'$ Mltiples locales
%os re!uerimientos no consideran la necesidad de instalación en más de un
local. El grado del factor es 2.
#/$ 9acilidad de cam1ios
+o se 7ec7o ninguna consideración específica para la facilidad de camios
en el sistema. El grado del factor es 2.

Resumen de las caracter:sticas generales del sistema
Caracter:stica "nfluencia
(omunicación de datos @
Procesamiento distriuido #
.endimiento ,
(onfiguración del e!uipamiento ,
6olumen de transacciones ,
Entrada de datos on*line A
?nterfase con el usuario ,
&ctualización on*line /
Procesamiento complejo #
.eusailidad #
Ejercicio resuelto de Puntos de Función
Facilidad de implementación #
Facilidad de operación #
'>ltiples locales #
Facilidad de camios #
;ivel de influencia #6
Factor de &juste M G+ivel de influencia K #,#,H N #,"A
Factor de &juste M G," K #,#,H N #,"A
Factor de &juste M #,4,

C+lculo de Puntos de 9unción
El cálculo de los puntos por función se 7ace con la fórmula<
PF M PF 2rutos K Factor de ajuste
PF M BC K #,4,
PF M "@

Por lo tanto, el tamaño de la aplicación es de 6/ Puntos de función.