Sie sind auf Seite 1von 100

IIMAS, UNAM

Maestra en Ciencias de la Computacin


Cecilia Prez Coln

ANLISIS
DE
PUNTOS DE FUNCIN

Maestra en Ciencias de la Computacin


IIMAS, UNAM

Alumna: Cecilia Prez Coln


Asesor: Dra. Hanna Oktaba

Pgina 1
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

NDICE

Introduccin

1 Antecedentes
1.1 Introduccin a las mtricas
1.2 Medir en la Ingeniera de software
1.3 Otras mtricas de tamao del software
1.3.1 Tiempo total invertido
1.3.2 Lneas de cdigo
1.3.3 La mtrica de Halstead
1.3.4 Puntos de funcin
1.4 Historia de los puntos de funcin
1.5 Estandarizacin de los puntos de funcin

2 Conceptos para el anlisis de puntos de funcin


2.1 Objetivos e ideas generales en cuanto al anlisis de puntos de funcin
2.2 Componentes para la aplicacin de la metodologa
2.2.1 Tipos de conteo
2.2.2 Frontera de la aplicacin
2.2.3 Funcionalidad de datos
2.2.4 Funcionalidad de transacciones
2.2.5 Elementos para medir la complejidad
2.2.5.1 Elemento de datos - DET
2.2.5.2 Elemento de registro - RET
2.2.5.3 Archivos referenciados - FTR
2.2.6 Las 14 caractersticas generales del sistema - GSC

3 La metodologa para el anlisis de puntos de funcin


3.1 Pasos para el anlisis de puntos de funcin
3.2 Conteo por mantenimiento del proyecto
3.3 Conteo actualizado del proyecto

4 Ejemplo de anlisis de puntos de funcin

5 Otros desarrollos de la metodologa del anlisis de puntos de funcin


5.1 Aplicaciones GUI - Interfaz grfica de usuario
5.2 Aplicaciones en las pginas web de internet
5.3 Puntos de funcin en casos de uso
5.4 Variantes del anlisis de puntos de funcin

Conclusiones

Anexo

Glosario

Bibliografa

Pgina 2
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

ANLISIS DE PUNTOS DE FUNCIN

INTRODUCCIN

En la industria del desarrollo de sotware, siempre ha habido la necesidad de saber


cmo conocer el tamao de un programa con respecto a su funcionalidad, independiente de la
tcnica desarrollada en su construccin y de las decisiones de implementacin. Poder medir un
sistema de esta manera significara, en trminos generales, poder calificar la calidad de un
producto de software.

Al medir un sistema se obtiene informacin, entre otras cosas, sobre la estimacin del
tiempo necesario para la construccin de un sistema; el costo dependiendo de la funcionalidad,
la productividad del equipo de trabajo o de la organizacin, comparar diferentes tcnicas y
tecnologas, etc.

Existen diversas mtricas para este fin. De las ms conocidas estn la de contar el
nmero de lneas de cdigo en un sistema, ver el nmero de bytes que ocupa un programa en
particular o determinar el tiempo necesario para el desarrollo del sistema. Al medir los
sistemas con este tipo de mtricas, en realidad no se mide la complejidad y funcionalidad del
sistema, pues dependen de factores como el lenguaje de programacin, el ambiente con el que
se est trabajando e inclusive las personas que trabajan en el sistema.

La metodologa para medir el tamao de los programas que se explicar en esta tesis,
intenta eliminar los factores de dependencia de las mtricas anteriores.

El anlisis de puntos de funcin, es otra opcin de medida de tamao de gran


significado. Esta se hizo pblica por primera vez por Allan Albrecht de IBM en 1979. Este
metodologa cuantifica las funciones contenidas dentro del software en trminos significativos
para los usuarios del mismo.
Punto de funcin es una de las mtricas ms reconocidas en la ingeniera de software y,
de hecho, es casi ya la unidad de medida estndar para conocer la complejidad de los
programas en muchos pases. Existe una asociacin internacional de usuarios denominada
IFPUG (International Function Point Users Group) encargada de unificar los criterios de
medicin con esta metodologa y promover su uso y evolucin.

Pgina 3
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

El objetivo de esta tesis es estudiar y describir en trminos sencillos, cmo medir qu


tan complejo es el software mediante esta mtrica, dar ejemplos con casos de estudio y
medirlos con puntos de funcin para clarificar este concepto. Estudiar adems cmo diversos
usuarios de esta tecnologa han adaptado esta mtrica a tecnologas ms nuevas como son las
aplicaciones en Internet y las aplicaciones con interfaz grfica de usuario que son ahora ms
comunes.

Esta tesis consta de 5 captulos, en los cuales se describe la teora y aplicacin del
anlisis de puntos de funcin.

El captulo 1 describe el por qu medir en la ingeniera de software, las mtricas ms


utilizadas en esta rea, una breve historia del Anlisis de Puntos de Funcin y el por qu de su
creacin.

El captulo 2 define los conceptos necesarios para el Anlisis de Puntos de Funcin,


indicando las reglas y estableciendo ejemplos que permiten aclarar cada uno de ellos.

El captulo 3 describe la metodologa indicando los pasos a seguir en el proceso de


medicin de puntos de funcin.

El captulo 4 ejemplifica la metodologa con una aplicacin prctica.

El captulo 5 muestra un panorama de las adaptaciones que han hecho algunos


usuarios de puntos de funcin a nuevas tecnologas de desarrollo de software.

El captulo 6 indica conclusiones y comentarios sobre el uso de esta metodologa.

Se concluye con un anexo que contiene formas sugeridas de ayuda para llevar a cabo
el anlisis, un glosario de trminos y la bibliografa.

Pgina 4
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

CAPTULO I
ANTECEDENTES

1.1 INTRODUCCIN A LAS MTRICAS

Medir es vital para el desarrollo de la ciencia. Las siguientes citas confirman su utilidad.

Cuando puedes medir y expresar en nmeros lo que estas diciendo, es porque conoces
algo acerca de eso; pero cuando no puedes medirlo ni expresarlo en nmeros, tienes un
conocimiento pobre e insatisfactorio: Este puede ser el principio del conocimiento, pero apenas
existe en tu pensamiento avances de la ciencia. (Lord Kevin, 1824-1904)

No se puede controlar lo que no se puede medir. (DeMarco, 1982)

Este punto de vista para aplicar la medicin dentro de la ciencia tambin es sustentado
por cientficos que se dedican a escribir acerca de teoras de medicin, Fred S. Roberts
expresa lo siguiente acerca de la teora de medicin:

La mayor diferencia entre una ciencia bien desarrollada como la fsica y otras ciencias
menos desarrolladas como la psicologa o la sociologa es el grado en que las cosas que las
conforman son medidas.

Sin embargo, no slo las ciencias hacen uso de las mediciones. En la vida real
utilizamos medidas para hacer los conceptos ms visibles y por lo mismo ms entendibles y
controlables. Por ejemplo, medir la distancia nos indica cunto tiempo resta para alcanzar un
destino cuando viajamos, medir la temperatura ambiente nos indica si debemos salir abrigados
o no, etc.

La siguiente seccin muestra la utilidad de medir en la ingeniera de software, pero


antes es necesario definir lo que es una mtrica de software.

Una mtrica de software es cualquier medicin que se relaciona con el producto o


proceso de software.

Pgina 5
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
1.2 MEDIR EN LA INGENIERA DE SOFTWARE

La ingeniera de software describe un conjunto de tcnicas que aplican un enfoque de


ingeniera a la construccin y soporte de productos de software. Por enfoque de ingeniera se
entiende que cada actividad es comprendida y controlada de tal forma que hay pocas
sorpresas conforme el software se especifica, disea, construye y mantiene. Sin embargo, una
gran cantidad de proyectos de ingeniera de software caen en excesos de presupuesto y
tiempos de desarrollo.

Medir el tamao del software es necesario para tomar decisiones sobre costo,
productividad, calidad y reuso del software, cambios en el proceso y en la metodologa con la
que se construy, etc.

Costo.- El costo es un tema importante para las empresas que se dedican a la


construccin de software a la medida. Muchas empresas calculan los costos de sus sistemas al
finalizar la fase de requerimientos. Este clculo lo hacen presuponiendo la duracin proyectada
y las horas hombres que supuestamente van a necesitar en el transcurso del desarrollo de la
aplicacin. Sin embargo, por lo general la duracin difiere mucho de lo que realmente se
requiere para el desarrollo completo del sistema y por lo tanto, el costo final rara vez es el justo.

Es por eso que es necesario contar con informacin precisa de qu tan complejo es el
software en las fases ms tempranas del desarrollo y poder tomar as decisiones importantes
como: el costo justo por el desarrollo, el tiempo necesario para su construccin, si es
conveniente hacer un sistema en vez de comprarlo o reemplazar un sistema en vez de
mejorarlo.

Productividad.- Saber qu tan productiva es una empresa, un grupo de trabajo, un


participante en particular, puede ayudar a alentar el trabajo desempeado. Por ejemplo, es
posible tener informacin del incremento en la productividad de la empresa en un cierto periodo
de tiempo, cul es el mejor grupo de trabajo, quin es el mejor participante en alguna de las
actividades (un analista, un programador, un ensayista, etc.)

Pgina 6
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Calidad y reusabilidad del software.- Las mtricas en estos casos se usan para
demostrar los niveles existentes de calidad y para monitorear los esfuerzos continuos de
mejoramiento en el proceso de desarrollo de software. No hay forma de decir que un proyecto
se est haciendo correctamente sin que se tenga una medida de lo correcto de un programa.
Es esencial que se midan y registren las caractersticas tanto de los buenos proyectos como de
los malos.

Una buena medida de calidad es poder determinar la proporcin de defectos o fallas


existentes en un sistema con respecto a su tamao funcional o por tiempo. Otro indicador de
calidad importante es medir las horas de mantenimiento por tamao del sistema, en la que se
de una relacin entre el esfuerzo de soporte y el tamao del sistema ya instalado. Si esta
relacin es muy grande, podra pensarse en hacer una reingeniera nueva o hasta reemplazar
el sistema.

Cambios en el proceso y metodologa.- Poder medir una tcnica ayuda a saber si


existe un buen desempeo en los productos o servicios desde el punto de vista del
desarrollador. Las mediciones tcnicas pueden ser utilizadas para lograr un anlisis ms
eficiente y por ejemplo, mejorar el desempeo en el diseo. Por otro lado, tambin es necesario
medir la funcionalidad de un programa para medir el desempeo en los productos o servicios
desde la perspectiva del usuario. Medir la funcionalidad en una aplicacin debe ser
independiente de la tcnica y de la implementacin elegida. Se pueden comparar tcnicas y
metodologas utilizadas y poder elegir la ms productiva.

En conclusin, medir nos ayuda a tomar mejores decisiones.

Jones en [11] menciona que las empresas que ms xito han tenido en tener bajo
control su software tienen las siguientes caractersticas:
1. Miden con precisin la productividad y calidad del software.
2. Planean y estiman con precisin los proyectos de software.
3. Tienen grupos de trabajo, con administradores y tcnicos capaces.
4. Tienen una buena estructura de organizacin.
5. Tienen mtodos y herramientas de software efectivos.
6. Tienen un ambiente de trabajo adecuado.
7. Son capaces de reusar grandes cantidades del software que han producido.

Pgina 7
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

1.3 OTRAS MTRICAS DE TAMAO DE SOFTWARE

Dada la importancia de tener una mtrica para poder estimar el tamao del software y
poder tener control sobre ste, se han propuesto varias, entre las que destacan el tiempo total
invertido, conteo de lneas de cdigo, la mtrica de Halstead y el anlisis de puntos de funcin.

1.3.1 Tiempo total invertido


El tiempo total invertido son las horas necesarias para completar un proyecto. Este
mtrica no mide lo que se produce sino el esfuerzo necesario para producir un proyecto. Aqu
el cliente no controla la habilidad, efectividad o eficiencia del programador. El cliente paga por
el nmero de horas necesarias para completar un proyecto, incluyendo el costo por pruebas.

1.3.2 Lneas de cdigo


Una de las tcnicas para medir software ms comnmente utilizada es contar las lneas
de cdigo que contiene un sistema. Los problemas con esta tcnica son muchos, sin embargo,
la ms importante es que no mide la funcionalidad de producto y depende mucho del lenguaje
o metodologa utilizada para su construccin. Con esta mtrica resulta que entre ms poderoso
y avanzado sea el lenguaje de programacin, parece menos productivo que los lenguajes
llamados de bajo nivel, para esta mtrica nunca hubo un estndar que diera cierto peso a los
lenguajes. Un sistema que cuente con 3 mil lneas de cdigo podra ser mucho ms rico en
funcionalidad que otro de 5 mil lneas o si dos programas tienen la misma funcionalidad pero
programados en diferente lenguaje o metodologa, pueden diferir mucho en el nmero de lneas
de cdigo escritas. Otro de sus inconvenientes es que solamente se puede medir software ya
construido y no es posible hacerlo desde las primeras fases de desarrollo.

1.3.3 La mtrica de Halstead


La mtrica del Dr. Maurice Halstead de la Universidad de Purdue fue desarrollada en
1977 para medir la complejidad de los mdulos de un programa, esta mtrica divide las lneas
de cdigo en dos unidades atmicas: la porcin ejecutable (a la que determin operadores) y
la porcin que describe los datos (que determin operandos). Esta mtrica cuenta cuatro
valores por separado:
1. El nmero total de operadores nicos.
2. El nmero total de operandos nicos.
3. La cantidad total de operadores en una aplicacin.

Pgina 8
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
4. La cantidad total de operandos en una aplicacin.
De estos cuatro resultados, se calcula lo que llam:
1. El vocabulario del programa (la suma de los operandos y operadores nicos).
2. La longitud del programa (la suma total de los operadores y los operandos).
Aunque no es tan subjetiva como la de contar lneas de cdigo, tampoco puede decirse
que mida la funcionalidad de un sistema desde el punto de vista del usuario. Otro inconveniente
es que no puede medir el sistema en las primeras fases del desarrollo.

1.3.4 Anlisis de puntos de funcin


El anlisis de puntos de funcin es un metodologa utilizada para medir la complejidad y
eficiencia del software, desde el punto de vista del usuario, es decir, cuenta solamente lo que el
usuario pide que tenga el sistema y lo que recibe a cambio. Es importante mencionar que el
usuario al que nos referiremos es el que entiende el sistema desde una perspectiva funcional a
diferencia del usuario final que es el que va a ser uso de ste sin importarle como es que
funciona.

Se basa en inspeccionar la aplicacin y determinar su funcionalidad. Entre las ventajas


que proporciona est la de ser independiente a cualquier lenguaje y tecnologa adems de
poderse aplicar en cualquier etapa del ciclo de vida del desarrollo del proyecto, desde la
definicin de requerimientos hasta el mantenimiento de la aplicacin. Es una metodologa que
cuenta con estndares bien definidos y por lo tanto el resultado es confiable, en trminos de
que se llegara al mismo resultado sin importar quin la aplique.

A grandes rasgos, esta metodologa se basa en lo siguiente: usando un conjunto bsico


de criterios, cada una de las funciones del negocio en una aplicacin se representa por un
nmero de acuerdo a su tipo y complejidad. Estos criterios se basan en el nmero de archivos
lgicos internos (ILF), archivos de interfaz externa (EIF), entradas (inputs), salidas (outputs),
consultas (inquiries), contenidos dentro de cada una de las funciones del negocio. La suma de
todos estos nmeros da una medida inicial que se ajusta despus incorporando un nmero de
factores relacionados al software como un todo. El resultado final se da en trminos de nmero
de funciones que mide el tamao y complejidad del producto de software.

Esta metodologa es la que se explicar en los captulos siguientes.


1.4 HISTORIA DE LOS PUNTOS DE FUNCIN

Pgina 9
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

El concepto de puntos de funcin fue introducido por primera vez por Allan Albrecht en
su exposicin Measuring Application Development Productivity dentro de las conferencias
publicadas en Procceding of the Joint IBM/Share/Guide Application Development en 1979. Este
primer modelo es un subconjunto del que actualmente se utiliza, pues a partir de la definicin
de la tcnica, se ha ido modificando y mejorando hasta llegar a una versin estandarizada. Es
importante mencionar que en los aos siguientes a la introduccin de Puntos de Funcin, el
tema de Mtricas del Software ha surgido con mayor intensidad y se imparten varias
conferencias en congresos dedicados a este tema.

Dado el xito de esta mtrica, en 1986 se estableci el IFPUG, que son las iniciales de
International Function Points Users Group (http://www.ifpug.org), grupo internacional creado
con el fin de promover y alentar el uso de los puntos de funcin y cuya base se encuentra en
Westerville, Ohio. Entre los principales beneficios que ha trado la conformacin de este grupo
han sido el de reglamentar y estandarizar los criterios en los que se basa el conteo de puntos
de funcin y el de reunir a varios usuarios de puntos de funcin con el fin de discutir y exponer
casos de estudio que sirvan como ejemplos a otros.

Con el paso de los aos, se ha ido modificando la descripcin inicial. En enero de 1994,
IFPUG publica la ltima versin hasta ahora del Manual de Prcticas de Conteo de Puntos de
Funcin, en su versin 4.0, y es en base a sta que se describe con detalle la metodologa en
el captulo 2.

Hasta 1996 se han publicado siete versiones diferentes sobre puntos de funcin. Las
primeras tres cambiaron un poco la estructura del anlisis de puntos de funcin, mientras que
las cuatro ltimas son versiones de IFPUG enfocadas a clarificar las reglas y dar una gua para
medir. La versin 4.1 est lista y se publicar en el transcurso de 1999.

Otra de las funciones interesantes de IFPUG es la proporcionar cursos para formar lo


que llaman Analista de Puntos de Funcin. En 1991 abre un programa de certificacin que se
basa en el entrenamiento de personas sobre esta metodologa. Este mismo ao, IFPUG abre
un programa que otorga el certificado Especialista en Puntos de Funcin.

Pgina 10
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
En IFPUG se han creado desde 1988 una serie de comits y grupos de trabajo que se
encargan de diversas tareas necesarias para su expansin, los principales son:
! Comit de prcticas de conteo - CPC (Counting Practices Committee) encargado de
publicar los estndares de cmo deben definirse y contarse los puntos de funcin.
! Comit del curriculum de educacin - ECC (Education Curriculum Committee) formado en
1992 y responsable de diversos aspectos de educacin y entrenamiento en el dominio de esta
mtrica. incluyendo conferencias, congresos y los cursos de certificacin.
! Comit de certificacin - CC (Certification Committee) formado en 1991 y encargado de
disear los exmenes de certificacin.
! Comit de reporte de administracin - MRC (Management Reporting Committee) tiene que
ver con indicar cmo deben ser utilizados los puntos de funcin para medir productividad y
calidad.
! Comit de nuevos ambientes - NEC (New Environments Committee) se encarga de estudiar
la adaptacin de puntos de funcin para nuevos ambientes de programacin.

Con lo anterior, nos damos cuenta de la importancia que ha llegado a adquirir esta
tcnica. A la fecha, IFPUG tiene 1200 miembros en ms de 30 pases y existen diversas
organizaciones en diversos pases afiliados a IFPUG, por ejemplo: en Europa existe EAFPUG,
iniciales de European Association of Function Points Users Group.

1.5 ESTANDARIZACIN DE LOS PUNTOS DE FUNCIN

La idea del grupo IFPUG es que Analysis Function Points sea la mtrica ms
reconocida de tamao funcional del software a nivel internacional que cumple con la norma de
ISO/IEC 14143.

ISO (International Organization for Standarization) e IEC (International Electrotechnical


Comission) forman un grupo especializado para hacer estndares a nivel mundial a travs de
comits tcnicos establecidos por distintas organizaciones que tienen inters en estandarizar
cierta tecnologa en particular.

Pgina 11
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
ISO/IEC 14143 que se conoce bajo el ttulo de Tecnologa de la informacin - Medicin
del Software - Medicin del tamao funcional, agrupa las caractersticas y requerimientos que
deben tener los mtodos para medir el tamao del software en trminos de funciones
requeridas por el usuario y consta de 5 partes:
Parte 1.- Definicin de conceptos.
Parte 2.- Aseguramiento de conformidad de los mtodos para medir el tamao del
software con respecto a ISO/IEC 14143-1.
Parte 3.- Verificacin de los mtodos para medir el tamao del software.
Parte 4.- Medicin del tamao funcional. Modelo de referencia.
Parte 5.- Determinacin de los dominios funcionales para utilizar con la medicin del
tamao funcional.

Entre las caractersticas ms importantes que exige esta norma est la de que la
mtrica debe basarse en los requerimientos de funcionalidad del usuario, vistos desde su
perspectiva, debe ser independiente a los mtodos, tcnicas, componentes fsicos, etc.
utilizados para el desarrollo de la aplicacin a medirse. Uno de los requerimientos principales
es el que debe estar bien definida la unidad con la cual se expresa el tamao funcional, as
como describir el tipo de informacin necesaria que permite aplicar el mtodo.

El Anlisis de Puntos de Funcin es la primera metodologa publicada que abarca el


concepto de medir el tamao funcional, sin embargo, eso no quiere decir que sea la nica que
cumple con este estndar. Existen variantes de puntos de funcin que bien cumplen con las
caractersticas y requerimientos solicitados por ISO/IEC.

Pgina 12
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
En Mxico, este estndar internacional ISO/IEC 14143 se encuentra en proyecto de
adaptarse como norma mexicana. Con esta norma se podra determinar la mtrica ms
apropiada que mida los proyectos de software desarrollados en Mxico. En nuestro mbito, los
puntos de funcin podran llegar a ser la mtrica que mida la funcionalidad y eficiencia del
software ms adecuada. Esto traera muchas ventajas para la industria mexicana, ya que los
contratos se mediran ms que por el producto en s, por la mtrica estndar. En caso que se
decidiera que los puntos de Funcin fueran esta mtrica estndar, sera necesario que todas
las empresas dedicadas a la ingeniera de software adoptran esta metodologa y prepararan
gente especializada en medir en base a puntos de funcin. Actualmente en Mxico existen
pocas personas con la certificacin de especialistas otorgada por IFPUG, de hecho, la primera
persona en Latinoamrica que cuenta con esta certificacin fue calificada como tal en 1996.1

1 1Informacin proporcionada por el Grupo Certum, empresa mexicana impulsora de este


proyecto.

Pgina 13
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

CAPTULO II
CONCEPTOS PARA EL ANLISIS DE PUNTOS DE FUNCIN

Este captulo y el siguiente describe la metodologa del anlisis de puntos de funcin.


Proporciona la definicin, objetivos e ideas generales del anlisis, y el beneficio de su uso.
Define los componentes necesarios para el clculo junto con ejemplos comunes para poder
identificarlos en una aplicacin a medir. Con los conceptos ya identificados, el captulo tres
explica los pasos necesarios para calcular el tamao de un sistema con esta metodologa.

2.1 OBJETIVOS E IDEAS GENERALES EN CUANTO AL ANLISIS DE PUNTOS DE


FUNCIN

El anlisis de puntos de funcin es un metodologa estndar para medir el desarrollo y


la productividad del software desde el punto de vista del usuario, independiente del lenguaje de
programacin, mtodo de desarrollo y tecnologa utilizada para su implementacin. Se basa en
la inspeccin de la aplicacin y mide el tamao del sistema en trminos de nmeros de
funciones. En el anlisis de puntos de funcin se divide y clasifica componentes funcionales de
un sistema a fin de entenderlo y analizarlo mejor.

Esta medida es consistente entre varios proyectos y organizaciones gracias a la


estandarizacin que ya existe. Uno de los objetivos principales al utilizar esta mtrica es que el
resultado del conteo del tamao de un cierto sistema sea el mismo sin importar quin haya
realizado la medicin.

El proceso de evaluar el tamao del software no debe representar una carga excesiva
en el proceso global de generacin del mismo, puesto que eso repercutira en el tiempo de
desarrollo del software y los costos correspondientes. Con la experiencia que vaya adquiriendo
un analista de puntos de funcin, esta carga se minimiza. Adems el clculo de puntos de
funcin puede hacerse en diferentes etapas del desarrollo de una aplicacin; desde la fase de
requerimientos hasta la fase de mantenimiento.

Entre los principales beneficios que se obtiene al hacer un anlisis de puntos de funcin
estn los siguientes:
! Una herramienta para medir paquetes de aplicacin adquiridos.

Pgina 14
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

! Una herramienta para determinar el beneficio de una aplicacin para una organizacin
contando funciones que coinciden de manera especfica con los requerimientos solicitados.
! Una herramienta para medir las unidades de un producto y obtener otras medidas de
productividad.
Un vehculo para estimar costos y recursos necesarios para el desarrollo y mantenimiento
del software (tambin se deben considerar atributos del proyecto, estructura de reparticin de
trabajo, etc.)
! Un factor de normalizacin para comparar productos de software.

2.2 COMPONENTES PARA LA APLICACIN DE LA METODOLOGA

Para poder llevar a cabo el proceso de medir con puntos de funcin, es necesario tener
toda la documentacin de la aplicacin disponible. Por ejemplo, una breve descripcin de la
aplicacin desde el punto de vista del usuario, diagramas que muestren la interaccin con otras
aplicaciones, requerimientos del usuario, diagramas de flujo, la estructura de la base de datos,
el cdigo fuente de la aplicacin, formatos de pantallas, reportes, etc. Tambin es
recomendable tener contacto frecuente con el equipo que desarrolla el sistema.

Para entender la metodologa del anlisis de puntos de funcin es necesario primero


definir los principales conceptos y componentes de una aplicacin por medir, que son los
siguientes:

! El tipo de conteo
! La frontera de la aplicacin
! La funcionalidad de datos que son:
Archivos lgicos internos - ILF (Internal Logical Files)
Archivos de interfaz externa - EIF (External Interface Files)
! La funcionalidad de transacciones que son:
Entradas externas - EI (External Inputs)
Salidas externas - EO (External Outputs)
Consultas externas - EQ (External Inquiry)
! Para cada una de las funcionalidades anteriores, identificar los elementos con los
que vamos a determinar la complejidad.
Elementos de datos - DET (Data Element Types)

Pgina 15
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Archivos referenciados - FTR (File Types Referenced)
Elementos de registro - RET (Record Element Types)
! Las 14 caractersticas generales del sistema que son:.
1. Comunicacin entre datos.
2. Procesamiento distribuido de datos.
3. Objetivos de desempeo.
4. Grado de configurabilidad.
5. Volumen de las transacciones.
6. Captura de datos en-lnea (interactiva).
7. Eficiencia para el usuario final.
8. Actualizacin de datos en-lnea.
9. Complejidad del proceso.
10. Reusabilidad.
11. Facilidad de instalacin y conversin.
12. Facilidad de operacin.
13. Posibilidad de instalacin mltiple.
14. Facilidad de modificacin (mantenible).

A continuacin se dan las definiciones y ejemplos de estos componentes. Las


definiciones y reglas son en base al manual de conteo de IFPUG [4].

2.2.1 Tipos de conteo


Existen 3 tipos de conteo de puntos de funcin con respecto al tipo de proyecto que
vamos a medir.
! Conteo de proyectos por primera vez. Mide las funciones proporcionadas a los usuarios
en una primera medicin de la aplicacin. Puede ser desde la fase de requerimientos hasta la
primera instalacin del software cuando el proyecto est concluido.
! Conteo por mantenimiento del proyecto. Mide slo las modificaciones por cambios en la
aplicacin dadas al usuario al agregar, cambiar o eliminar funcionalidad en el software ya
existente. Este tipo de medicin no nos proporciona el tamao total del sistema, solamente
refleja los cambios en las funcionalidades.
! Conteo actualizado del proyecto. Es la ltima funcionalidad proporcionada al usuario por
la aplicacin. Este conteo cambia cada vez que se hacen modificaciones en la aplicacin.

Pgina 16
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Ejemplo: La compaa SINT dedicada a la construccin de software solicit hacer un
primer conteo del proyecto X para saber el tamao del software entregado a su cliente (en
este caso se realiza un conteo de proyecto por primera vez). Sin embargo, tres meses
despus se hicieron cambios que afectaron su funcionalidad y ahora la compaa desea saber
el tamao de esos cambios efectuados (en este caso se realiza un conteo por mantenimiento
del proyecto al mismo proyecto X). Ya con esos cambios, SINT le interesa saber finalmente
qu tamao tiene el proyecto X (se realiza el conteo actualizado del proyecto).

2.2.2 Frontera de la aplicacin


Para poder identificar los componentes de los puntos de funcin. Debemos distinguir
entre la aplicacin que estamos midiendo y las aplicaciones externas o el mismo dominio del
usuario que de alguna manera interactan con nuestra aplicacin. Debemos tener clara la
diferencia entre la informacin que de alguna manera nuestro sistema est manteniendo
(donde mantener significa que podemos aadir, actualizar y/o eliminar ciertos datos) y la
informacin a la que hacemos referencia pero que otro sistema se encarga de mantener. Esta
frontera se define desde el punto de vista del usuario.

Para que se considere la frontera de la aplicacin, se deben cumplir las siguientes


reglas:
! La frontera se determina desde el punto de vista del usuario. El enfoque est en lo que el
usuario puede entender y describir.
! La frontera de las aplicaciones que se relacionan se basan en las separaciones del negocio
vistas por el usuario y no en los intereses tecnolgicos.
! Para los proyectos en mantenimiento la frontera debe coincidir con la frontera ya
establecida en el conteo de proyectos por primera vez.

Ejemplo. Suponga un sistema sencillo de conversin de moneda, que al introducir una


cierta cantidad en pesos (moneda nacional) y elegir la moneda de otro pas, regresa el
equivalente de esa cantidad en la moneda extranjera elegida. Suponga adems que la
aplicacin interacta con el banco, para proporcionar el tipo de cambio actual de las monedas
extranjeras. En este caso el sistema de conversin de moneda es la aplicacin a medir, por lo
que se encuentra dentro de la frontera de la aplicacin, y el sistema bancario encargado de
actualizar los tipos de cambio, que es un sistema que el sistema de conversin no puede
mantener, se encuentra fuera de la frontera de nuestra aplicacin.

Pgina 17
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

2.2.3 Funcionalidad de datos


Representan la funcionalidad dada al usuario por grupos de datos mantenidos dentro de
la aplicacin o ledos desde otras aplicaciones. Estas se componen de los siguientes tipos de
archivos: Archivos lgicos internos (ILF) y Archivos de interfaz externa (EIF).

Archivos lgicos internos - ILF (Internal Logical Files)


Es un grupo de datos relacionados de manera lgica o informacin de control
significativos al usuario, residen dentro de la frontera de la aplicacin y son mantenidos a travs
de procesos en el sistema que estamos midiendo.

Para que un archivo se considere lgico interno debe cumplir con las siguientes reglas:
! Ser un grupo de datos lgico o informacin de control significativos al usuario y que
cumplen requerimientos especficos del mismo.
! El grupo de datos se mantiene dentro de la frontera de la aplicacin que se est midiendo.
! El grupo de datos es mantenido a travs de un proceso elemental de la aplicacin.
! El grupo de datos identificado no ha sido contado como un archivo de interfaz externa (EIF)
en la aplicacin que se est midiendo.

El ejemplo ms comn es el de las tablas dentro de una base de datos relacional a las
que nuestra aplicacin hace referencia, archivos en un disco flexible, archivos planos en la
base de datos de una PC, etc. Lo ms importante, es que los archivos pueden mantenerse
desde la aplicacin que estamos midiendo, es decir, podemos agregar, cambiar y eliminar
datos de esos archivos.

Archivos de interfaz externa - EIF (External Logical Files)


Es un grupo de datos relacionados de manera lgica, significativo al usuario, utilizado
solamente para propsitos de referencia. Los datos residen completamente fuera de la
aplicacin que estamos midiendo y son mantenidos dentro de la frontera de otra aplicacin. Un
archivo de interfaz externa (EIF) contado en una aplicacin debe ser un archivo lgico interno
(ILF) en otra aplicacin.

Para que un archivo se considere de interfaz externa se deben cumplir las siguientes
reglas:

Pgina 18
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

! Ser un grupo de datos lgico o informacin de control significativos al usuario y que


cumplen requerimientos especficos del mismo.
! El grupo de datos es referenciado por, y externo a, la aplicacin que se est midiendo.
! El grupo de datos no es mantenido por la aplicacin que se est midiendo.
! El grupo de datos se cuenta como un ILF por al menos otra aplicacin.
! El grupo de datos identificado no ha sido contado como ILF por la aplicacin que se est
midiendo.

Por ejemplo, en un sistema de clientes en una agencia de viajes, un ILF podra ser la
tabla que contiene la informacin de los itinerarios dados a los clientes propios de la agencia.
Un EIF podra ser la informacin con los itinerarios de los vuelos, utilizados para uso de la
agencia, pero que seguramente son mantenidos por las lneas areas.

2.2.4 Funcionalidad de transacciones


Las transacciones representan la funcionalidad dada al usuario para procesar datos en
una aplicacin. Se definen como: entradas externas (EI), consultas externas (EQ) y salidas
externas (EO).

Entradas externas - EI (External Inputs)


Una entrada externa es un proceso elemental donde un grupo de datos cruzan la
frontera de la aplicacin desde afuera hacia adentro. Los datos procesados mantienen uno o
ms archivos lgicos internos (ILF). Estos datos pueden obtenerse del usuario a partir de una
pantalla de captura o desde otra aplicacin.

Para considerar una entrada externa se deben cumplir las siguientes reglas:
! Los datos se reciben desde fuera de la frontera.
! Los datos en un ILF son mantenidos a travs de un proceso elemental de la aplicacin.
! Este proceso elemental es la unidad ms pequea de actividad que es significativa
desde el punto de vista del usuario.
! El proceso elemental es autocontenido y deja autoconsistente la aplicacin que se est
midiendo.
! Los procesos identificados tienen que cumplir una de las siguientes reglas:
! El proceso lgico es nico dentro de la aplicacin que se est midiendo.
! Los datos identificados son diferentes de otras entradas dentro de la aplicacin.

Pgina 19
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Ejemplos: Las pantallas de captura para mantener datos en un cierto archivo son el
ejemplo clsico de un EI. Tambin cuentan como entradas externas datos fsicos que inician un
proceso, como en el caso de un impulso de reloj (informacin de control), que en determinado
instante hace que se active un proceso. Las entradas basadas en el manejo del ratn, entradas
tomadas desde un disco flexible, etc.

Consultas externas - EQ (External Inquiries)


Una consulta externa es un proceso elemental compuesto de una combinacin de una
entrada externa y una salida externa que da como resultado una recuperacin de datos a partir
de uno o ms archivos lgicos internos. El proceso de entrada no actualiza ningn archivo
lgico interno, el proceso de salida no contiene datos calculados y no mantiene algn archivo
lgico interno (ILF) de otra aplicacin.

Para que se considere una consulta externa (EQ) se deben cumplir las siguientes
reglas:
! La solicitud de entrada se introduce en la frontera de la aplicacin.
! Los resultados de salida surgen desde dentro de la frontera de la aplicacin.
! Los datos son recuperados.
! No contienen datos calculados.
! La solicitud de entrada y los resultados de salida muestran juntos un proceso elemental
que es la unidad ms pequea de actividad significativa desde el punto de vista del usuario.
! Este proceso elemental es autocontenido y deja autoconsistente la aplicacin que se
est midiendo.
! El proceso elemental no actualiza un archivo lgico interno.
! Los procesos identificados tienen que cumplir una de las siguientes reglas:
! El proceso lgico en el lado de entrada o de salida es nico con respecto a otras
consultas externas de la aplicacin que se est midiendo.
! Los elementos de datos identificados del lado de entrada o de salida son diferentes con
respecto a otras consultas externas dentro de la aplicacin.

Pgina 20
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Ejemplos: Funciones de usuario como vistas en una base de datos, bsquedas,
despliegue, examinador (browse), mensajes de ayuda; una pantalla de inicio, etc. Un ejemplo
muy comn es abrir una pantalla de captura con datos ya desplegados y listos para cualquier
cambio o simplemente como muestra.

Salidas externas - EO (External Outputs)


Una salida externa es un proceso elemental que genera datos o informacin de control
enviados fuera de la frontera de la aplicacin. Este proceso contiene datos calculados que se
despliegan en pantalla, crean reportes o generan archivos de salida hacia otras aplicaciones.
Estos reportes o archivos son creados a partir de uno o ms archivos lgicos internos.

Para que un conjunto de datos se considere una salida externa (EO) se deben de
cumplir las siguientes reglas:
! Los datos o informacin de control se envan fuera de la frontera.
! Los datos o informacin de control se envan a travs de un proceso elemental de la
aplicacin.
! Este proceso elemental es la unidad ms pequea de actividad que es significativa al
usuario.
! Este proceso elemental es autocontenido y deja un estado consistente la aplicacin que
se est midiendo.
! Los procesos identificados tienen que cumplir una de las siguientes reglas:
! La lgica del proceso es nica con respecto a otras salidas externas de la aplicacin.
! Los datos identificados son diferentes de otras salidas externas de la aplicacin.

Ejemplos: Los reportes con datos procesados son el ejemplo ms comn. Tambin
pueden ser mensajes de informacin, datos que de alguna manera fueron calculados en la
aplicacin y se despliegan en una pantalla, datos que son transferidos a otras aplicaciones, etc.
Lo importante es que sean tomados o calculados dentro de la aplicacin que est siendo
contada y se den a conocer fuera de la aplicacin. La figura 2.1 muestra de una manera
esquemtica los conceptos anteriores.

Pgina 21
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Figura 2.1 Componentes para calcular los puntos de funcin


2.2.5 Elementos para medir la complejidad
A los componentes anteriores se les asigna un grado de complejidad funcional basado
en el nmero de los siguientes elementos: elementos de datos (DET), necesario para calcular
la complejidad tanto en la funcionalidad de datos como en las transacciones; elementos de
registro (RET), necesario para calcular la complejidad en las funcionalidades de datos y los
archivos referenciados (FTR), necesarios para calcular la complejidad de las transacciones.

2.2.5.1 Elementos de dato - DET (Data Element Type)


La definicin de los elementos de datos depende del contexto en el que sean
considerados, sin embargo, en general se tratan de campos no recursivos, significativos al
usuario.

DET en la funcionalidad de datos

Pgina 22
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Un elemento de datos (DET) en la funcionalidad de datos es un campo nico no
recursivo y significativo al usuario en el archivo lgico interno (ILF) o de interfaz externa (EIF).

Para contar un DET en la funcionalidad de datos debe de seguir las siguientes reglas:
! Contar un DET por cada campo significativo para el usuario y que no se repita en el ILF o
EIF.
! Contar un DET por cada parte de un ILF o EIF que existe por que el usuario requiere
una relacin con otro ILF para ser mantenido. Ejemplo, llaves forneas
! Contar como un solo DET los datos que aparecen ms de una vez en un ILF o EIF por
implementacin tcnica y los campos que son idnticos en forma y existen para permitir
mltiples ocurrencias de los datos.

DET en una entrada externa


En el caso de una entrada externa es un campo mantenido en un archivo lgico interno
(ILF) mediante el proceso de entrada; ya sea introducido por el usuario o a travs de otra
aplicacin. Hay que contar como un elemento de dato (DET) la capacidad para especificar la
accin a ser tomada por la entrada externa, por ejemplo un botn de comando.

Los elementos de datos en una entrada externa tienen que cumplir las siguientes reglas:
! Contar un DET por cada campo no recursivo, significativo al usuario y mantenido en un ILF
por una entrada externa.
! Contar un DET por cada campo que aunque no sea introducido por el usuario mantiene a
un ILF a travs de una entrada externa. Ej. nmero de empleado generado por el sistema.
! Contar como un solo DET los campos lgicos que se almacenan fsicamente como
mltiples campos, pero para el usuario son una sola informacin.

DET en una salida externa


En el caso de una salida externa, un elemento de dato (DET) es un campo que aparece
en la salida externa, ya sea proporcionado desde un archivo lgico interno (ILF) o calculado en
la aplicacin.
Para que un DET sea considerado en una salida externa debe cumplir las siguientes
reglas:
! Contar un DET por cada campo no recursivo significativo al usuario que aparece en la
salida externa.

Pgina 23
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

! No contar las etiquetas y valores constantes como DET.


! No contar las variables de paginacin o elementos generados por el sistema como DET.
Ej. Fecha u hora generados por el sistema.
! Contar como un DET campos lgicos que fsicamente se almacenan en varios campos.

2.2.5.2 Elementos de registro - RET (Record Element Type)


Son un subgrupo de campos significativo al usuario en un archivo lgico interno (ILF) o
un archivo de interfaz externa (EIF). Existen dos tipos de subgrupos: opcional y obligatorio.

Los opcionales son los que el usuario tiene la opcin de utilizar durante un proceso
elemental que agrega o crea una instancia de los datos.

Los obligatorios son los que el usuario debe utilizar al menos una vez durante un
proceso elemental que agrega o crea una instancia de los datos.

El conteo de los elementos de registro (RET) debe cumplir las siguientes reglas:
! Contar un RET por cada subgrupo opcional o mandatorio de un ILF o EIF.
! Si no existen subgrupos contar el ILF o EIF como un RET

Ejemplos: El tipo de elemento de registro es un subconjunto de tipos de elementos de


datos. Por ejemplo, suponga que se desea almacenar informacin contenida en discos
compactos (CD). Un disco compacto contiene la siguiente informacin: cantante, grupo,
productor, nombre del disco, fecha y canciones. Por supuesto, existen muchas canciones en
cada CD. Por cada cancin, se tiene la siguiente informacin: nombre de la cancin, autor y
duracin. En este caso el archivo que almacena esta informacin contiene 2 RET (la
informacin del CD y la informacin de la cancin) y 8 DET (5 DET del CD y 3 DET de las
canciones).

2.2.5.3 Archivos referenciados - FTR (File Type Referenced)


Es un archivo lgico interno (ILF) o un archivo de interfaz externo (EIF) mantenido o
ledo por una transaccin. Las reglas para determinar los archivos referenciados (FTR)
dependen de la transaccin a la que se hace referencia.

FTR en una entradas externa

Pgina 24
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
En el caso de entradas externas (EI) las reglas son las siguientes:
! Contar un archivo referenciado por cada archivo lgico interno (ILF) mantenido en el
proceso de entrada externa.
! Contar un archivo referenciado por cada archivo lgico interno (ILF) o de interfaz externa
(EIF) leido durante el proceso de entrada externa.
! Contar un archivo referenciado por cada archivo lgico interno (ILF) que es mantenido y
leido durante el proceso de entrada externa.

FTR en una consulta externa


En el caso de las consultas externas (EQ) se aplican las siguientes reglas:
! Contar un archivo referenciado por cada archivo lgico interno (ILF) o de interfaz externa
(EIF) leido durante el proceso de salida externa ya sea del lado de entrada como del lado de
salida.

FTR en una salida externa


En el caso de salidas externas (EO) se aplican las siguientes reglas:
! Contar un archivo referenciado por cada archivo lgico interno (ILF) o de interfaz externa
(EIF) leido durante el proceso de salida externa.

Por ejemplo, en un sistema de recursos humanos, un archivo referenciado es la tabla o


tablas en la base de datos que almacene todo lo referente a un empleado (contado ya como
archivo lgico interno)

2.2.6 Las 14 caractersticas generales del sistema - GSC (General System


Characteristics)
Para poder medir el sistema como un todo es necesario conocer las siguientes 14
caractersticas del sistema y el propsito de cada una de ellas.

1.- Comunicacin entre datos


Saber que tanto el sistema requiere recursos de comunicacin que permitan el
intercambio de informacin, saber si las terminales conectadas de manera local a una unidad
de control utilizan algn recurso de comunicacin, o por ejemplo, saber si todos los vnculos de
comunicacin de datos requieren algn tipo de protocolo.

Pgina 25
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Por ejemplo, un programa de un banco multinacional que debe manejar transferencias
monetarias electrnicas en instituciones financieras de todo el mundo, debe tener recursos de
comunicacin muy sofisticados.

2.- Procesamiento distribuido de datos


Saber si los datos distribuidos y las funciones en proceso son una caracterstica de la
aplicacin dentro de la frontera.

Por ejemplo, un buscador web donde el proceso es realizado por ms de una docena de
servidores que trabajan en conjunto.

3.- Objetivos de desempeo


Conocer si el usuario estableci objetivos de desempeo precisos de la aplicacin que
tienen influencia en el diseo, desarrollo, instalacin y ayuda de la aplicacin.

Por ejemplo, un sistema de control de trfico areo donde se requiere proporcionar de


manera continua con precisin, la ubicacin de una aeronave, desde un radar.

4.- Grado de configurabilidad


Saber si dentro de las consideraciones de diseo est el dar a la aplicacin
caractersticas de configuracin adecuada para un sistema que va a tener un uso intenso.

Por ejemplo, un sistema en una universidad donde miles de estudiantes registran sus
cursos de manera simultnea debe ser configurado con el propsito de tener un uso intenso en
horas pico.

5.- Volumen de transacciones


Saber si existen muchas transacciones y por lo tanto se consideran en el diseo,
desarrollo, instalacin y soporte de la aplicacin.

Por ejemplo, un programa bancario que realice millones de transacciones durante la


noche para hacer un balance en todos los libros antes del siguiente da laborable.

6.- Captura de datos en-lnea (interactiva)

Pgina 26
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Conocer si la aplicacin captura datos y realiza funciones de control en lnea.

Por ejemplo, un programa de solicitud de un prstamo hipotecario, en donde los


interesados incorporan datos en un sistema informativo para llenar las formas de requisitos y
ser posibles propietarios.

7.- Eficiencia para el usuario final


Ver si la aplicacin est diseada con el propsito de facilitarle al usuario final su
manejo.

Por ejemplo, mens, manejo del ratn, pantallas de ayuda en lnea, etc.

8.- Actualizacin de datos en lnea


Saber si la aplicacin cuenta con actualizacin en lnea para los archivos lgicos
internos.

Por ejemplo, el sistema de una aerolnea donde los agentes de viajes pueden reservar
vuelos y asignar asientos. El software debe ser capaz de asegurar y modificar ciertos registros
en la base de datos que aseguren el mismo asiento no se vender dos veces.

9.- Complejidad del proceso


Determinar si una de las caractersticas de la aplicacin es contar con un proceso
complejo.

Por ejemplo, tiene un proceso matemtico y lgico muy extenso que requiri de muchas
horas de anlisis.

10.- Reusabilidad
Medir que tanto la aplicacin y su cdigo se ha diseado de manera especfica para ser
utilizado en otras aplicaciones.

Por ejemplo, un procesador de palabras diseado para que su barra de men pueda
incorporarse en otras aplicaciones, como una hoja de clculo o un generador de reportes.

Pgina 27
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
11.- Facilidad de instalacin y conversin
Conocer si la aplicacin posee caractersticas para una fcil conversin e instalacin.
Saber si el plan y/o herramientas de conversin e instalacin fueron proporcionadas y probadas
durante la fase de prueba del sistema.

Por ejemplo, una aplicacin de control de equipo que ser instalado por personas no
especializadas en un base petrolera mar dentro.

12.- Facilidad de operacin


Saber si la aplicacin puede operarse con facilidad. Si tiene procedimientos
automatizados para ser instalado, poder hacer respaldos y recuperar datos.

Por ejemplo, en un programa donde se tiene que hacer una bsqueda histrica muy
grande y procesa la informacin de tal manera que se minimice el nmero de veces que un
operador cargue y descargue cintas (u otros dispositivos donde se almacena informacin) que
contengan los datos.

13.- Posibilidad de instalacin mltiple


Saber si la aplicacin fue diseada, desarrollada y tiene el soporte especfico para ser
instalada en mltiples sitios para muchas organizaciones.

Por ejemplo, una empresa multinacional en cuyo sistema de pago a la nmina considere
las caractersticas distintas de varios pases, incluyendo diversas modalidades y reglas de
impuesto sobre la renta.

14.- Facilidad de modificacin


Conocer si la aplicacin fue diseada, desarrollada y tiene el soporte especfico para
facilitar su cambio. Adems de contar con la documentacin necesaria para darle un
mantenimiento seguro.

Por ejemplo, que exista un programa de prediccin financiera que pueda adaptarse a
las necesidades del administrador de un negocio particular, en la que necesitara la informacin
analizada por regiones geogrficas y lneas de producto distintas a las especificadas en el
programa original.

Pgina 28
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Dados estos conceptos, el siguiente captulo muestra los pasos necesarios para calcular
los puntos de funcin.

Pgina 29
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

CAPTULO III
LA METODOLOGA PARA EL
ANLISIS DE PUNTOS DE FUNCIN

Dadas las definiciones de los componentes necesarios para el clculo, este captulo
explica los pasos para calcular los puntos de funcin. El captulo describe con detalle como
llevar el conteo de un proyecto que se lleva a cabo por primera vez, que es la base para poder
hacer cualquier otro tipo de conteo. Posteriormente se menciona como es que se lleva a cabo
el conteo tanto por mantenimiento como para actualizar el tamao del proyecto.

3.1 PASOS EN EL ANLISIS DE PUNTOS DE FUNCIN

La siguiente figura muestra los pasos a seguir para determinar los puntos de funcin en
una aplicacin.

Paso 1. Determinar el tipo de conteo de puntos de funcin.


! Conteo de los proyectos por primera vez. En cuyo caso se hace el clculo de toda la
funcionalidad del sistema.

Pgina 30
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

! Conteo por mantenimiento de los proyectos. En cuyo caso solamente se cuenta las
funcionalidades agregadas, cambiadas o eliminadas del sistema.
! Conteo actualizado del proyecto. Proporciona el tamao del proyecto ya con los cambios
realizados.

Los clculos preliminares de puntos de funcin son estimados de la funcionalidad que


se entregar al cliente. Conforme se avanza en el proyecto y se desarrollan las funciones, es
normal identificar funcionalidad adicional que no estaba en los requisitos originales. Este
fenmeno se conoce como arrastre del alcance (Scope Creep). Es esencial actualizar el clculo
de puntos de funcin de la aplicacin al trmino del proyecto. Si la aplicacin cambia durante el
desarrollo, el clculo al final del ciclo de vida debe reflejar exactamente la funcionalidad
entregada al usuario.

Paso 2. Identificar la frontera de la aplicacin.


En base al lmite entre la aplicacin que est siendo medida y las aplicaciones externas
a las que hace referencia y/o el dominio del usuario.

Paso 3. Determinar la funcionalidad de datos


a. Archivos lgicos internos (ILF)
b. Archivos de interfaz externa (EIF)

El nmero de ILFs y EIFs y su complejidad funcional relativa determinan la aportacin


de la funcionalidad de datos al clculo de puntos de funcin sin ajustar. A cada uno de los ILF o
EIF se les debe asignar una complejidad funcional basada en el nmero de elementos de datos
(DET) y los elementos de registro (RET) asociados a este, mediante la tabla 3.1

Tabla 3.1 Matriz de complejidad de los archivos lgicos internos y de interfaz externa.
Nmero de Nmero de elementos de datos (DETs)
elementos de
Registro
(RETs)
1 - 19 20 - 50 51 +
<2 Baja Baja Promedio
2-5 Baja Promedio Alta
>5 Promedio Alta Alta

Paso 4. Determinar la funcionalidad de transacciones

Pgina 31
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
a. Entradas externas (EI)
El nmero de entradas externas (EI) y sus complejidades funcionales relativas
determinan la aportacin de sta transaccin al clculo de puntos de funcin sin ajustar. A cada
EI se le debe asignar una complejidad funcional basada en el nmero archivos referenciados
(FTR) y los elementos de datos (DET) asociados a este, mediante la tabla 3.2

Tabla 3.2 Matriz de complejidad de la entradas externas


Nmero de Nmero de elementos de datos (DETs)
archivos
referenciados
(FTRs)
1-4 5 - 15 16 +
<2 Baja Baja Promedio
2 Baja Promedio Alta
>2 Promedio Alta Alta

b. Salidas externas (EO)


El nmero de salidas externas (EO) y sus complejidades funcionales relativas
determinan la aportacin sta transaccin al clculo de puntos de funcin sin ajustar. A cada
EO se le debe asignar una complejidad funcional basada en el nmero archivos referenciados
(FTR) y los elementos de datos (DET) asociados a este, mediante la tabla 3.3.

Tabla 3.3 Matriz de complejidad de la salidas externas


Nmero de Nmero de elementos de datos (DETs)
archivos
referenciados
(FTRs)
1-5 6 - 19 20 +
<2 Baja Baja Promedio
23 Baja Promedio Alta
>3 Promedio Alta Alta

c. Consultas externas (EQ)


El nmero de consultas externas y sus complejidades funcionales relativas determinan
la aportacin sta transaccin al clculo de puntos de funcin sin ajustar. A cada EQ se le debe
asignar una complejidad funcional dependiendo de sus entradas y salidas. Se calculan sus
complejidades por separado, siguiendo las tablas 3.2 y 3.3 y se elige la que tenga ms alta
complejidad.

Pgina 32
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Paso 5. Determinar los puntos de funcin sin ajustar (UFP)
Por ltimo, segn el componente identificado junto con su complejidad, se le aplica el
factor de ponderacin indicado en la tabla 3.4. Y se suman para formar el valor de los puntos
de funcin sin ajustar (UFP).

Tabla 3.4 Factor de ponderacin de los componentes segn su complejidad

Funcionalidad Bajo Promedio Alto Total


Archivos lgicos internos ___x 7 ___x 10 ___x 15 = _____
Archivos de interfaz externa ___x 5 ___x 7 ___x 10 = _____
Entradas externas ___x 3 ___x 4 ___x 6 = _____
Consultas externas ___x 3 ___x 4 ___x 6 = _____
Salidas externas ___x 4 ___x 5 ___x 7 = _____

Suma de puntos de funcin sin ajustar (UFP) =________

Paso 6. Determinar el valor del factor de ajuste - 14 caractersticas generales del


sistema.
Para calcular el factor de ajuste es necesario evaluar caractersticas generales del
sistema como un todo. Estas caractersticas comprenden 14 factores que sern evaluados en
trminos de su grado de influencia en una escala de cero a cinco:

0- No presente, sin influencia alguna 3- Influencia promedio


1- Influencia incidental 4- Influencia significativa
2- Influencia moderada 5- Fuerte influencia

Esta evaluacin puede modificar los puntos de funcin no ajustados dentro del rango
!35%. A continuacin se d una gua de cada una de las 14 caractersticas generales del
sistema y en base a que asignar los valores. En caso de que ninguna de las descripciones se
adecue con exactitud a la aplicacin, se recurre al criterio para obtener el grado de influencia
que mas se aproxime a la aplicacin.

1.- Comunicacin entre datos

Pgina 33
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Cunta facilidad de comunicacin existe para poder transferir o intercambiar
informacin con la aplicacin o el sistema?
Evaluar como:
0- La aplicacin es un proceso por lotes o reside solamente en una PC.
1- La aplicacin es por un proceso por lotes pero con entrada de datos o impresin
remota.
2- La aplicacin es un proceso por lotes pero tiene entrada de datos e impresin remota.
3- Conjunto de datos en lnea o la presentacin (front-end) es un protocolo de
comunicacin hacia un proceso por lotes o a un sistema de consulta.
4- Ms de un front-end, pero la aplicacin soporta slo un tipo de protocolo de
comunicacin de datos.
5- Ms de un front-end y la aplicacin soporta ms de un tipo de protocolo de
comunicacin de datos.

2.- Procesamiento distribuido de datos


Cmo se maneja la distribucin de datos y el procesamiento de funciones?
Evaluar como:
0- La aplicacin no contempla la transferencia de datos o procesamiento de funciones
entre los componentes del sistema.
1- La aplicacin prepara datos para que el usuario final los pueda procesar en otro
componente del sistema como por ejemplo, una hoja de clculo o un sistema de base
de datos en una PC
2- La aplicacin prepara datos para transferir y procesar en otro componente del sistema
(no para que un usuario final los pueda procesar)
3- Los procesos distribuidos y la transferencia de datos son en lnea y en una sola
direccin.
4- Los procesos distribuidos y la transferencia de datos son en lnea y en ambas
direcciones.
5- Las funciones en proceso son ejecutadas en forma dinmica en los componentes del
sistema.

3.- Objetivos de desempeo


Es el tiempo de respuesta requerido por el usuario?
Evaluar como:

Pgina 34
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
0- El usuario no establece algn requerimiento especial de desempeo.
1- Se establecen y revisan requerimientos de desempeo y diseo, pero no se necesitan
acciones especiales.
2- El tiempo de respuesta es crtico en horas pico. No se requiri algn diseo especial
para el uso del CPU.
3- El tiempo de respuesta es crtico durante las horas laborables. No se requiri algn
diseo especial para el uso del CPU.
4- Los requerimientos de desempeo establecidos por el usuario son tan estrictos que
requieren de tareas de anlisis de desempeo en la fase de diseo.
5- Adems, se utilizaron herramientas de anlisis de desempeo para las fases de
diseo, desarrollo, y/o implementacin para que coincidan con los requerimientos de
desempeo establecidas por el usuario.

4.- Grado de configurabilidad


Existe un diseo de configuracin especial para que el sistema tenga un uso intenso?
Evaluar como:
0- No existen restricciones operativas explcitas o implcitas.
1- Existen restricciones operativas, pero menos que en una aplicacin tpica, por lo que
no se requiere un esfuerzo especial para cumplirlas.
2- Existen algunas consideraciones de seguridad y tiempo.
3- Existen requerimientos especficos de proceso para una parte de la aplicacin.
4- Se establecen restricciones operativas en la aplicacin que hay que tomar en cuenta
ya sea en el procesador central o en un procesador especial.
5- Adems, existen restricciones especiales en la aplicacin en componentes distribuidos
del sistema.

5.- Volumen de transacciones


Con qu frecuencia se ejecutan las transacciones, diariamente, semanalmente,
mensualmente, etc.
Evaluar como:
0- No se prev ningn periodo de transaccin pico.
1- Se prev un periodo de transaccin pico (por ejemplo, mensual, trimestral, por
temporada o anual).
2- Se prev un periodo de transaccin pico semanal.

Pgina 35
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
3- Se prev un periodo de transaccin pico diario.
4- El usuario establece volmenes de transaccin pesadas en los requerimientos.
5- Adems, existen restricciones especiales en la aplicacin en componentes distribuidos
del sistema.

6.- Captura de datos en lnea (interactiva)


Qu porcentaje de la informacin se captura en lnea?
Evaluar como:
0- Todas las transacciones son procesadas por lotes (batch mode).
1- Del 1% al 7% de las transacciones se realizan mediante captura de datos interactiva.
2- Del 8% al 15% de las transacciones se realizan mediante captura de datos interactiva.
3- Del 16% al 23% de las transacciones se realizan mediante captura de datos
interactiva.
4- Del 24% al 30% de las transacciones se realizan mediante captura de datos
interactiva.
5- Ms del 30% de las transacciones se realizan mediante captura de datos interactiva.

7.- Eficiencia para el usuario final


Se dise la aplicacin para ser eficiente al usuario final?
Caractersticas:
! Mens
! Soporte en navegacin (saltos, teclas de funcin, mens que se generan dinmicamente)
! Ayuda y documentacin en lnea
! Movimiento del cursor en forma automtica
! Uso de barras de desplazamiento (scrolling)
! Impresin remota (va transacciones en lnea)
! Teclas de funcin presasignadas
! Sometimiento de los procesos batch desde transacciones en lnea.
! Seleccin por medio del cursor de los datos en pantalla.
! Uso comn de video inverso, sobresaltado, subrayado con colores y otros indicadores.
! Documentacin detallada al usuario de las transacciones en lnea.
! Interfaz con el ratn
! Ventanas pop-up
! Las menos pantallas posibles que acompaen a una funcin del negocio.

Pgina 36
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

! Soporte bilinge (para dos lenguajes, contar cuatro puntos)


! Soporte multilinge (para ms de dos lenguajes, contar seis puntos)
Evaluar como:
0- En la aplicacin no existe ninguna de las caractersticas anteriores.
1- En la aplicacin existen tres de las caractersticas anteriores.
2- En la aplicacin existen cuatro o cinco de las caractersticas anteriores.
3- En la aplicacin existen seis o ms de las caractersticas anteriores, pero no existen
requerimientos del usuario relacionados a la eficiencia.
4- En la aplicacin existen seis o ms de las caractersticas anteriores y ademas se
establecieron requerimientos para la eficiencia del usuario lo suficientemente fuertes
para necesitar tareas de diseo. Por ejemplo, minimizar el uso del teclado, maximizar
opciones por omisin (default), uso de plantillas, etc.
5- En la aplicacin existen seis o ms de las caractersticas anteriores y ademas se
establecieron requerimientos para la eficiencia del usuario lo suficientemente fuertes
para necesitar herramientas y procesos especiales a fin de demostrar que los objetivos
han sido alcanzados.

8.- Actualizacin de datos en lnea


Cuntos archivos lgicos internos son actualizados por transacciones en lnea?
Evaluar como:
0- Ninguna
1- Existe actualizacin en lnea en uno a tres archivos de control. El volumen de la
actualizacin es bajo y la recuperacin es sencilla.
2- Existe actualizacin en lnea en cuatro o ms archivos de control. El volumen de la
actualizacin es bajo y la recuperacin es sencilla..
3- Existe actualizacin en lnea en la mayor parte de los archivos lgicos internos.
4- Adems, la proteccin contra prdida de datos es esencial y es diseado y
programado especialmente en el sistema.
5- Adems, existen procedimientos automatizados de recuperacin de datos con un
mnimo de intervencin del operador.

9.- Complejidad del proceso


Tiene la aplicacin un proceso lgico o matemtico complicado?
Caractersticas:

Pgina 37
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

!Control sensible (por ejemplo, proceso de auditora especial) y/o proceso de seguridad
especfica.
!Proceso lgico extenso.
!Proceso matemtico extenso.
!Existen varios procesos por excepciones que dan como resultado transacciones incompletas
que deben ser nuevamente procesadas; por ejemplo, transacciones ATM incompletas
ocasionadas por interrupciones de teleproceso, datos perdidos o ediciones incorrectas.
!Proceso complejo por manejar mltiples posibilidades entrada/salida; por ejemplo, multi-
media, independencia de dispositivos.

Evaluar como:
0- Ninguna de las caractersticas anteriores.
1- Una de las caractersticas anteriores.
2- Dos de las caractersticas anteriores.
3- Tres de las caractersticas anteriores.
4- Cuatro de las caractersticas anteriores.
5- Las cinco anteriores.

10.- Reusabilidad
Se desarroll la aplicacin para satisfacer necesidades de uno o muchos usuarios?
Evaluar como:
0- No se utiliza ni se produce cdigo reusable.
1- Se utiliza cdigo reusable dentro de la aplicacin.
2- Menos del 10% de la aplicacin considera las necesidades de ms de un usuario.
3- El 10% o ms de la aplicacin considera las necesidades de ms de un usuario.
4- La aplicacin es empacada y/o documentada de manera especfica para ser fcilmente
reusable y la aplicacin es personalizada por el usuario a nivel de cdigo.
5- La aplicacin es empacada y/o documentada de manera especfica para ser fcilmente
reusable y la aplicacin es personalizada por medio de parmetros por el usuario.

11.- Facilidad de instalacin y conversin


Qu tan difcil es la instalacin y conversin del sistema?
Evaluar como:

Pgina 38
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
0- No existen consideraciones especiales establecidas por el usuario ni la aplicacin
requiere de ningn programa de instalacin (set-up).
1- No existen consideraciones especiales establecidas por el usuario pero la aplicacin
requiere de un programa de instalacin.
2- El usuario establece requerimientos de conversin e instalacin. Se proporcionan y
prueban guas de instalacin. No se considera importante el impacto de la conversin
en el proyecto.
3- El usuario establece requerimientos de conversin e instalacin. Se proporcionan y
prueban guas de instalacin. Se considera importante el impacto de la conversin en
el proyecto.
4- Adems de (2), se proporcionan y prueban herramientas de conversin e instalacin
automticas.
5- Adems de (3), se proporcionan y prueban herramientas de conversin e instalacin
automticas. por el usuario.

12.- Facilidad de operacin


Qu tan efectivo y/o automatizado son los procedimientos de arranque, recuperacin y
respaldo?
Evaluar como:
0- El usuario no establece consideraciones de operacin especiales distintos a los
procedimientos de respaldo normales.
1-4 Elija las siguientes caractersticas, que apliquen a su sistema. Cada una de las
caractersticas cuenta un punto, a menos se indique lo contrario.
! Se proporcionan procesos efectivos de arranque, respaldo y recuperacin pero se
requiere de la intervencin de un operador.
! Se proporcionan procesos efectivos de arranque, respaldo y recuperacin pero no
se requiere de la intervencin de un operador. (Cuenta dos puntos.)
! La aplicacin minimiza la necesidad del montaje de cintas.
! La aplicacin minimiza la necesidad del manejo de papel.
5- La aplicacin est diseada para operarse sin la intervencin de un operador, excepto
para iniciar y finalizar la aplicacin. La aplicacin recupera errores de manera
automtica.

Pgina 39
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
13.- Posibilidad de instalacin mltiple
La aplicacin fue diseada, desarrollada y tiene el soporte especfico para ser
instalada en mltiples sitios para muchas organizaciones?
Evaluar como:
0- No existen requerimientos del usuario que consideren la necesidad de instalar en ms
de un sitio.
1- Se considera en el diseo la necesidad de que la aplicacin se ejecute en mltiples
sitios y la aplicacin se disea para operar slo bajo ambientes idnticos de software y
hardware.
2- Se considera en el diseo la necesidad de que la aplicacin se ejecute en mltiples
sitios y la aplicacin se disea para operar slo bajo ambientes similares de software
y/o hardware.
3- Se considera en el diseo la necesidad de que la aplicacin se ejecute en mltiples
sitios y la aplicacin se disea para operar bajo ambientes diferentes de software y
hardware.
4- Se proporciona y prueba un plan de documentacin y soporte para que una aplicacin
como la descrita en (1), se pueda ejecutar en mltiples sitios.
5- Se proporciona y prueba un plan de documentacin y soporte para que una aplicacin
como la descrita en (2), se pueda ejecutar en mltiples sitios.

14.- Facilidad de modificacin


La aplicacin fue diseada, desarrollada y tiene el soporte especfico para facilitar su
cambio?
Evaluar como:
0- No existen requerimientos del usuario que consideren la necesidad de disear la
aplicacin para minimizar o facilitar un cambio.

Pgina 40
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
1-5 Elija las siguientes caractersticas, que apliquen a su sistema.
! Tiene la facilidad de consultar/reportar de manera flexible por lo que maneja
solicitudes simples; por ejemplo un y/o lgico aplicados a un slo archivo lgico interno
(cuenta un punto).
! Tiene la facilidad de consultar/reportar de manera flexible por lo que maneja
solicitudes de complejidad promedio; por ejemplo un y/o lgico aplicados a ms de un
archivo lgico interno (cuenta dos punto).
! Tiene la facilidad de consultar/reportar de manera flexible por lo que maneja
solicitudes complejas; por ejemplo combinaciones de y/o lgico en uno o ms archivos
lgicos internos (cuenta tres punto).
! El control de datos se guardan en tablas mantenidas por el usuario con procesos
interactivos en lnea pero los cambios tienen efecto slo al siguiente da laborable.
! El control de datos se guardan en tablas mantenidas por el usuario con procesos
interactivos en lnea pero los cambios tienen efecto inmediatamente (cuenta dos
puntos).

La suma de los niveles de influencia de las 14 caractersticas generales dan como


resultado el grado de influencia total - TDI (Total Degree Influence).

El valor del factor de ajuste - VAF (Value Adjustment Factor) es obtenida mediante
la siguiente frmula:

VAF = 0.65 + (0.01 X TDI)

Paso 6. Calcular el total de puntos de funcin.


Aplicando el valor de ajuste, los puntos de funcin sufrirn una variacin de !35%. Esto
es, suponiendo que existe influencia cero de las 14 caractersticas generales, el total de puntos
de funcin se decrementar en un 35%, en caso de que exista un total de influencia de 70, el
total de puntos de funcin se incrementar en un 35%. Por lo que el total de puntos de
funcin (FP) de la aplicacin que se cuenta por primera vez es:

FP = UFP x VAF

3. 2 CONTEO POR MANTENIMIENTO DEL PROYECTO

Pgina 41
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

En el caso del conteo por mantenimiento de los proyectos, es necesario aplicar la


siguiente frmula.

EFP = [(ADD) + CHGA) x VAFA] + (DEL x VAFB)

Donde:
EFP (Enhancement Function Point) = Puntos de funcin por mantenimiento del
proyecto.
ADD = Puntos de funcin sin ajustar de aquellas funciones que fueron agregadas al
hacer el cambio en el proyecto.
CHGA = Puntos de funcin sin ajustar de aquellas funciones que fueron modificadas al
hacer el cambio en el proyecto. Este nmero refleja las funciones despus de las
modificaciones.
VAFA = Factor de valor de ajuste de la aplicacin despus de realizar los cambios en el
proyecto.
DEL = Puntos de funcin sin ajustar de aquellas funciones que fueron eliminadas al
hacer el cambio en el proyecto.
VAFB = Factor de valor de ajuste de la aplicacin antes de realizar los cambios en el
proyecto.

3.3 CONTEO ACTUALIZADO DEL PROYECTO

Al hacer modificaciones en el proyecto, la funcionalidad de la aplicacin cambia y es por


eso que el conteo debe ser actualizado. Es decir:
! Al agregar (nueva) funcionalidad el tamao de la aplicacin se incrementa.
! Al cambiar funcionalidad el tamao de la aplicacin podra incrementarse, decrementarse o
no tener efecto alguno.
! Al eliminar funcionalidad el tamao de la aplicacin se decrementa.

La frmula para calcular el total de puntos de funcin de la aplicacin con los cambios
realizados es la siguiente:

FP = [(UFPB + ADD + CHGA) - (CHGB + DEL)] x VAFA

Pgina 42
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Donde:

FP = Total de puntos de funcin


UFPB = Puntos de funcin sin ajustar contados antes de los cambios en el proyecto.
ADD = Puntos de funcin sin ajustar de aquellas funciones que fueron agregadas al
hacer el cambio en el proyecto.
CHGA = Puntos de funcin sin ajustar de aquellas funciones que fueron modificadas al
hacer el cambio en el proyecto. Este nmero refleja las funciones despus de las
modificaciones.
CHGB = Puntos de funcin sin ajustar de aquellas funciones que fueron modificadas al
hacer el cambio en el proyecto antes de que los cambios fueran realizados.
DEL = Puntos de funcin sin ajustar de aquellas funciones que fueron eliminadas al
hacer el cambio en el proyecto.
VAFA = Factor de valor de ajuste de la aplicacin despus de realizar los cambios en el
proyecto.

En el anexo se presentan dos hojas guas para el clculo del anlisis de puntos de
funcin.

Pgina 43
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

CAPTULO IV
EJEMPLO DEL ANLISIS DE PUNTOS DE FUNCIN

El siguiente es un ejemplo de conteo de puntos de funcin:

Un hospital desea automatizar su sistema de ingresos de pacientes, de los mdicos que


laboran en el hospital y de historias mdicas. Este sistema tendr acceso a dos sistemas ya
existentes del mismo hospital y que slo utilizar como referencia, que son: el sistema que lleva
el control de las reas o especialidades del hospital y el que almacena la informacin de los
padecimientos ms comunes. El ejemplo cuenta los puntos de funcin basndose en los
requerimientos y su diagrama de entidad-relacin.

1. Pacientes
a. Ingresar un paciente (Aadirlo en la base de datos) introduciendo:
- Datos particulares del paciente.
- Padecimiento (validar con el sistema de padecimientos ms comunes).
- Mdico asignado
b. Cambiar datos de un paciente.
- Actualizar cualquier informacin con respecto a un paciente excepto la clave del
paciente.
c. Eliminar un paciente.
- Eliminar toda la informacin con respecto a un paciente.
d. Solicitar los datos de un paciente.
- Dada la clave del paciente, consultar la informacin de un paciente en particular.
De cada paciente se desplegar adems de sus datos particulares, el nombre de su
mdico asignado y su padecimiento
e. Solicitar un reporte con todos los pacientes.
- De cada paciente se desplegar adems de sus datos particulares, el nombre de
su mdico asignado y su padecimiento. Se desplegar tambin, el total de todos los
pacientes.
2. Mdicos
a. Aadir los datos de un mdico con la siguiente informacin:
- Datos particulares del mdico
- rea de especialidad (validar con el archivo que almacena las especialidades)

Pgina 44
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
b. Cambiar los datos de un mdico.
- Modificar los datos de un mdico en particular excepto su clave de mdico.
c. Eliminar un mdico.
- Eliminar toda la informacin con respecto a un mdico en particular.
d. Solicitar los datos de un mdico.
- Dada la clave del mdico, solicitar informacin detallada de un mdico en
particular. Debe incluir el nombre de la especialidad.
e. Solicitar el reporte de todos los mdicos que laboran en el hospital. Este desplegar
con el total de todos los mdicos.
3. Historia mdica
a. Aadir una historia mdica con la siguiente informacin.
- Clave del paciente.
- Descripcin.
b. Cambiar la informacin de una historia mdica.
- Mediante la clave del paciente, desplegar su historia mdica y poder cambiar la
informacin, excepto la clave del paciente.
c. Eliminar una historia mdica.
- Mediante la clave del paciente, eliminar su historia mdica.
d. Consultar una historia mdica.
- Mediante la clave del paciente, generar un reporte en pantalla que incluya nombre
del paciente, nombre del mdico, nombre del padecimiento y la historia mdica.
4. Consultar y reportar informacin sobre las reas de especialidad del hospital.
a. Consultar en pantalla la informacin de las reas de especialidad.
b. Hacer un reporte impreso de las reas de especialidad.
5. Otras caractersticas del sistema de ingreso al hospital sern las siguientes:
a. La aplicacin tiene ms de un front-end pero soporta slo un tipo de protocolo de
comunicacin TP.
b. No ser un proceso distribuido.
c. No existen requerimientos de desempeo especiales.
d. No existen restricciones operativas explcitas o implcitas.
e. No existe un perodo de transaccin pico.
f. La mayora de las transacciones se realizan mediante captura de datos interactiva.
g. Para eficiencia del usuario el sistema tendr movimiento del cursor automatizado, uso
de ratn y eleccin de pantalla por medio del cursor.

Pgina 45
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
h. Actualizacin en lnea todos los archivos de lgicos, pero no hay proteccin contra
prdida de datos.
i. No existen procesos complejos.
j. La mayora (ms del 50%) de la aplicacin y cdigo debe ser designado, desarrollado
y soportado para utilizarse en otras aplicaciones.
k. Ningn requerimiento de conversin o instalacin especial.
l. La aplicacin minimizar la necesidad tanto del manejo de cintas y papel. Tiene un
proceso de inicio, respaldo y recuperacin de datos, pero se requiere de la intervencin
de un operador.
m. Se debe considerar en el diseo, la necesidad de instalar la aplicacin en distintos
lugares donde operar bajo ambientes de hardware y software similares.
n. Los datos de control sern mantenidos de manera interactiva y toman efecto de
inmediato. No existe una capacidad flexible de consulta/reporte.

Atributos de cada entidad

PACIENTE DATOS PARTICULARES DEL PACIENTE


ClavePaciente (K) ClavePaciente(K)
Cuarto NombrePaciente
FechaIngreso Edad
ClaveMedico (FK) EstadoCivil
ClavePadecimiento (FK) Direccion
Telefono
HISTORIA MEDICA MEDICO
ClavePaciente (FK) ClaveMedico (K)
Historia NombreMedico
ClaveEspecialidad (FK)
Horario
PADECIMIENTOS ESPECIALIDADES
ClavePadecimiento (K) ClaveEspecialidad (K)
Padecimiento Especialidad
DescripcionPadecimiento
ClaveEspecialidad (FK)

donde K = llave y FK = llave fornea

Pgina 46
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Figura 4.1. Diagrama de entidad-relacin del sistema de ingreso hospitalario.

Con los requerimientos anteriores y el diagrama de entidad-relacin de la figura 4.1 se


construy el siguiente modelo jerrquico de procesos:

INGRESO HOSPITALARIO
1. ADMINISTRAR_PACIENTE
a. AGREGAR_PACIENTE
b. ACTUALIZAR_PACIENTE
c. CONSULTAR_PACIENTE
d. ELIMINAR_PACIENTE
e. REPORTAR_PACIENTES (contiene datos calculados)
2. MANTENER_MEDICOS
a. AGREGAR_MEDICO
b. ACTUALIZAR_MEDICO

Pgina 47
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
c. CONSULTAR_MEDICO
d. ELIMINAR_MEDICO
e. REPORTAR_MEDICOS (contiene datos calculados)
3. MANTENER_HISTORIAMEDICA
a. AGREGAR_HISTORIAMEDICA
b. ACTUALIZAR_HISTORIAMEDICA
c. CONSULTAR_HISTORIAMEDICA
d. ELIMINAR_HISTORIAMEDICA
4. CONSULTAR_ESPECIALIDADES
a. CONSULTAR_ESPECIALIDADES
b. REPORTAR_ESPECIALIDADES

Con la informacin anterior y siguiendo los pasos expuestos en el captulo anterior es


posible hacer el anlisis de puntos de funcin:

Paso 1. Determinar el tipo de conteo.


Se supone que esta es la primera vez que se va a llevar a cabo el conteo. Por lo tanto el
clculo es de todo el proyecto.

Paso 2. Determinar la frontera de la aplicacin.


Es necesario distinguir entre la aplicacin que se est midiendo y las aplicaciones a las
que solamente se hace referencia. Los requerimientos ayudan a delimitar esta frontera, ya que
se hace explcito que las entidades PADECIMIENTOS y ESPECIALIDADES son slo de
referencia y no son mantenidos por el sistema que se est contando. Observando el diagrama
de entidad-relacin se separan las entidades que la aplicacin va a mantener (Figura 4.2).

Las entidades que se encuentran dentro de la frontera de la aplicacin a contar son:


PACIENTE, DATOS PARTICULARES DEL PACIENTE, MEDICO, HISTORIA MEDICA. Las
que quedan fuera de la frontera son PADECIMIENTOS y ESPECIALIDADES

Pgina 48
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Figura 4.2. Frontera de la aplicacin del sistema de ingreso hospitalario.

Paso 3. Identificar la funcionalidad de datos.


Con este paso se identifica lo que son los archivos lgicos internos (ILF) y los archivos
de interfaz externa (EIF) junto con los componentes necesarios para evaluar sus
complejidades: elementos de registro (RET) y elementos de datos (DET).

Archivos lgicos internos (ILF)


Los archivos lgicos internos se encuentran dentro de la frontera de la aplicacin. Por lo
que los candidatos son: PACIENTE, DATOS PARTICULARES DEL PACIENTE, MEDICOS e
HISTORIA MEDICA.

Se puede utilizar una tabla como la siguiente con cada candidato para saber si cumple
con las reglas para ser un archivo lgico interno. Por ejemplo, con las entidades PACIENTE e
HISTORIA MEDICA.

Pgina 49
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Entidad Reglas de conteo de ILF Aplica?


PACIENTE El grupo de datos o informacin de No, ya que debe incluir
control es un grupo de datos DATOS PERSONALES
lgico, significativo al usuario que DEL PACIENTE para poder
satisface requerimientos representar el requerimiento
especficos del usuario del usuario y as poder
agregar toda la informacin
sobre el paciente.
El grupo de datos es mantenido S
dentro de la frontera de la
aplicacin.
El grupo de datos es mantenido o No, no existe un proceso
modificado a travs de un proceso que mantiene solamente a
elemental de la aplicacin. la entidad PACIENTE. El
usuario debe mantener en
el proceso elemental a
PACIENTE y a DATOS
PERSONALES DEL
PACIENTE.
El grupo de datos identificado no S, la regla aplica ya que los
ha sido contado como un EIF para datos no han sido contados
la aplicacin. como un EIF para otra
aplicacin.

Entidad Reglas de conteo de ILF Aplica?


HISTORIA El grupo de datos o informacin de S
MEDICA control es un grupo de datos
lgico, significativo al usuario que
satisface requerimientos
especficos del usuario
El grupo de datos es mantenido S
dentro de la frontera de la
aplicacin.
El grupo de datos es mantenido o S, el proceso es introducir
modificado a travs de un proceso la informacin de la historia
elemental de la aplicacin. mdica de un paciente en el
sistema de ingreso
hospitalario.
El grupo de datos identificado no S, la regla aplica ya que los
ha sido contado como un EIF para datos no han sido contados
la aplicacin. como un EIF para otra
aplicacin.

Si se juntan las entidades de PACIENTE con DATOS PARTICULARES DEL


PACIENTE, entonces s aplican las reglas para archivos lgicos internos. De esta forma se
identifican tres ILF:
1) PACIENTE y DATOS PARTICULARES DEL PACIENTE que en adelante se le
llama PACIENTE para generalizar.

Pgina 50
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
2) MEDICO
3) HISTORIA MEDICA

Archivos de interfaz externa (EIF)


Las dos entidades que quedaron fuera de la frontera de la aplicacin son los candidatos
a ser archivos de interfaz externa. Estos son ESPECIALIDADES Y PADECIMIENTOS.

Se puede utilizar una tabla como la siguiente con cada candidato para saber si las
entidades candidatas cumplen con las reglas para archivos de interfaz externa. Se d el
ejemplo con la entidad de ESPECIALIDADES.

Entidad Reglas de conteo de EIF Aplica?


ESPECIALIDADES El grupo de datos o informacin de control S, los usuarios necesitan
es un grupo de datos lgico, significativo al poder obtener informacin
usuario que satisface requerimientos sobre las especialidades
especficos del usuario que existen en el hospital.
El grupo de datos es referenciado por, y Si, solamente se usa como
externo a, la aplicacin que se est referencia.
contando.
El grupo de datos no es mantenido por la Si, es identificado como un
aplicacin que est siendo contada proceso elemental en otro
sistema.
El grupo de datos es contado como un ILF Si, en el sistema que lo
por al menos otra aplicacin. mantiene
El grupo de datos identificado no ha sido Si.
contado como un ILF por la aplicacin

Si se aplican las reglas a la entidad PADECIMIENTOS, tambin se cumplen todas. As,


identificamos dos EIF:
1) ESPECIALIDADES
2) PADECIMIENTOS

Para medir la complejidad de cada una de las funcionalidades de datos, es necesario


identificar dos elementos para cada una de ellas: 1) de registro (RET) y 2) de datos (DET).

Elementos de registro (RET)

ILF Subgrupos
PACIENTE PACIENTE y
DATOS PARTICULARES DEL PACIENTE.
MEDICO Ninguno, cuenta como un RET

Pgina 51
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
HISTORIA MEDICA Ninguno, cuenta como un RET

EIF Subgrupos
PADECIMIENTOS Ninguno, cuenta como un RET
ESPECIALIDADES Ninguno, cuenta como un RET

La cuenta de RET para cada una de las funcionalidades de datos es la siguiente:

Entidad Funcionalidad de datos Nmero de


RET
PACIENTE ILF 2
MEDICO ILF 1
HISTORA MEDICA ILF 1
PADECIMIENTOS EIF 1
ESPECIALIDADES EIF 1

Elementos de datos (DET)


Para ver el nmero de DET en cada una de las funcionalidades identificadas, se
recurre al diagrama de entidad-relacin para determinar los campos con los que cuenta cada
una de estas entidades. Una tabla como la siguiente puede ser de utilidad:

Entidades Es un campo Es una llave Contar la


significativo al fornea? Si lo implementacin
usuario en el es, contar fsica como un
ILF? Si, s, como un DET. DET sencillo.
contar como un
DET.
PACIENTE
ClavePaciente S No No
Cuarto S No No
FechaIngreso S No No
ClaveMedico No S No
ClavePadecimiento No S No
NombrePaciente S No No
Edad S No No
EstadoCivil S No No
Direccion S No No
Telefono S No No
Total de DET 8 2

En este caso como se uni DATOS PARTICULARES DEL PACIENTE a PACIENTE, se


cuentan todos los campos de la informacin del PACIENTE como parte de un slo ILF.

Si se analiza cada uno de los ILF e EIF identificados, da como resultado el siguiente
nmero de DET de cada uno:

Pgina 52
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Entidad Funcionalidad de datos Nmero de


DET
PACIENTE ILF 10
MEDICO ILF 4
HISTORIA MEDICA ILF 3
PADECIMIENTOS EIF 4
ESPECIALIDADES EIF 2

Paso 4. Identificar la funcionalidad de transacciones.


Este paso determina la funcionalidad de transacciones: entradas externas (EI), salidas
externas (EO) y consultas externas (EQ). Junto con los componentes necesarios para evaluar
sus complejidades: Elemento de Datos (DET) y Archivos Referenciados (FTR). Para esto, es
necesario observar los requerimientos del usuario y el modelo jerrquico de procesos.

Entradas Externas - EI
A partir del modelo jerrquico de procesos, se identifica los que mantendrn a alguno de
los ILF identificados. Ya identificados, se aplica a cada uno de ellos las reglas de entradas
externas para ver si efectivamente lo son ayudados de una tabla como la siguiente:

Modelo del proceso Reglas de conteo de EI Aplica?


1. ADMINISTRAR_PACIENTE Los datos son recibidos desde S
a. AGREGAR_PACIENTE fuera de la frontera de la
aplicacin.

Los datos de un ILF son S, se mantiene al


mantenidos a travs de un ILF PACIENTE
proceso elemental de la (incluyendo DATOS
aplicacin. PERSONALES DEL
PACIENTE)
El proceso es la unidad de S, el usuario
actividad ms pequea necesita crear, o
significativa desde la agregar un paciente.
perspectiva del usuario.
El proceso se autocontiene y S
deja al negocio en un estado
consistente.
Para el proceso identificado,
aplica una de las dos reglas
siguientes:

Pgina 53
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
- La lgica del proceso es S
nico con respecto a otras
entradas externas.
- Los elementos de datos son S
diferentes con respecto a otras
entradas externas.

Pgina 54
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Si se aplica a cada uno de los procesos las reglas de entradas externas, resultan los
siguientes procesos:

1.a AGREGAR_PACIENTE
1.b ACTUALIZAR_PACIENTE
1.d ELIMINAR_PACIENTE
2.a AGREGAR_MEDICO
2.b ACTUALIZAR_MEDICO
2.d ELIMINAR_MEDICO
3.a AGREGAR_HISTORIAMEDICA
3.b ACTUALIZAR_HISTORIAMEDICA
3.d. ELIMINAR_HISTORIAMEDICA

Consultas Externas - EQ
Ahora se analiza cul de los procesos que no fueron entradas externas pueden ser
consultas externas. Y se aplican las reglas con una tabla como la siguiente:

Modelo del proceso Reglas de conteo de EQ Aplica?


1. ADMINISTRAR_PACIENTE Una solicitud de entrada se S, por ejemplo un
c. CONSULTAR_PACIENTE introduce en la frontera de la clic para solicitar la
aplicacin. consulta

El resultado sale de la frontera S


de la aplicacin.
Se recuperan datos. S.
Los datos recuperados no S
contienen dados derivados o
calculados.
El proceso es la unidad de S, el usuario
actividad ms pequea que es necesita ver la
significativa al usuario final del informacin de un
negocio. paciente.
El proceso se autocontiene y S
deja al negocio en un estado
consistente.

Pgina 55
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
El proceso no actualiza un ILF S
Para el proceso identificado,
aplica una de las dos reglas
siguientes:
- La lgica del proceso es S
nica con respecto a otras
consultas externas.
- Los elementos de datos son S
diferentes con respecto a otras
consultas externas.

Aplicando las reglas anteriores, se identifican estas consultas externas:

1.c CONSULTAR_PACIENTE
2.c CONSULTAR_MEDICO
3.c CONSULTAR_HISTORIAMEDICA
4.a CONSULTAR_ESPECIALIDADES
4.b REPORTAR_ESPECIALIDADES

El proceso de REPORTAR_ESPECIALIDADES es incluido como consulta externa


porque no contiene datos calculados.

Salidas Externas - EO
Por ltimo, hay que identificar si los procesos restantes son salidas externas. Para esto
es necesario aplicar las reglas correspondientes con una tabla como la siguiente:

Modelo del proceso Reglas de conteo de EO Aplica?


1. ADMINISTRAR_PACIENTE El proceso enva datos o S
e. REPORTAR_PACIENTES informacin de control externa a
la frontera de la aplicacin.

El proceso es la unidad de S, el usuario


actividad ms pequea que es necesita ver la
significativa al usuario final del informacin de los
negocio.. pacientes.
El proceso se autocontiene y S.
deja al negocio en un estado
consistente.
Para el proceso identificado,
aplica una de las dos reglas
siguientes:
- La lgica del proceso es S

Pgina 56
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
nica con respecto a otras
salidas externas.
- Los elementos de datos son S
diferentes con respecto a otras
salidas externas.

Aplicando las reglas a los procesos restantes, se identifican las siguientes salidas
externas:
1.e REPORTAR_PACIENTES
2.e REPORTAR_MEDICOS

Es importante hacer notar que estos reportes contienen datos calculados, a diferencia
de los reportes identificados como consultas externas.

Para medir la complejidad de cada una de las funcionalidades de transacciones, se


identifican dos elementos para cada una de ellas: 1) archivos de referencia (FTR) y 2) de datos
(DET).

Archivos referenciados (FTR)


Para identificar los archivos referenciados para cada uno de los procesos, es necesario
referirse a las funcionalidades de datos y observar a cules mantiene o hace referencia cada
uno de los procesos. Se pueden aplicar las reglas de FTR en cada uno de las transacciones
con tablas como las siguientes:

FTR para entradas externas

Proceso Contar cada ILF Contar cada ILF o Contar slo 1


slo mantenido EIF slo FTR por ILF
referenciado referenciado y
mantenido
1.a AGREGAR_ PACIENTE PADECIMIENTOS,
PACIENTE MEDICOS
1.b ACTUALIZAR_ PADECIMIENTOS, PACIENTE
PACIENTE MEDICOS
1.d ELIMINAR_ PACIENTE
PACIENTE
2.a AGREGAR_ MEDICO ESPECIALIDADES

Pgina 57
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
,MEDICO
2.b ACTUALIZAR_ ESPECIALIDADES MEDICO
MEDICO
2.d ELIMINAR_ MEDICO
MEDICO
3.a AGREGAR_ HISTORIA
HISTORIAMEDICA MEDICA
3.b ACTUALIZAR_ HISTORIA
HISTORIAMEDICA MEDICA
3.d ELIMINAR_ HISTORIA
HISTORIAMEDICA MEDICA

FTR para consultas externas

Consulta externa Para la entrada contar Para la salida contar


cada ILF o EIF cada ILF o EIF
referenciado referenciado
1.c CONSULTAR_PACIENTE PACIENTE PACIENTE, MEDICO
PADECIMIENTOS
2.c CONSULTAR_MEDICO MEDICO MEDICO
ESPECIALIDAD
3.c CONSULTAR_ PACIENTE HISTORIA MEDICA
HISTORIAMEDICA PACIENTE
MEDICO,
PADECIMIENTO
4.a CONSULTAR_ ESPECIALIDADES ESPECIALIDADES
ESPECIALIDADES
4.b REPORTAR_ ESPECIALIDADES ESPECIALIDADES
ESPECIALIDADES

FTR para salidas externas

Salidas externas Contar cada ILF o EIF


referenciado durante el
proceso EO.
1.e REPORTAR_PACIENTES PACIENTE, MEDICO,
PADECIMIENTO
2.e REPORTAR_MEDICOS MEDICO, ESPECIALIDAD

El total de FTR por transaccin se resume en la siguiente tabla:

Pgina 58
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Funcionalidad FTR
EI
1.a AGREGAR_PACIENTE 3
1.b ACTUALIZAR_PACIENTE 3
1.d ELIMINAR_PACIENTE 1
2.a AGREGAR_MEDICO 2
2.b ACTUALIZAR_MEDICO 2
2.c ELIMINAR_MEDICO 1
3.a AGREGAR_ 1
HISTORIAMEDICA
3.b ACTUALIZAR_ 1
HISTORIAMEDICA
3.d ELIMINAR_ 1
HISTORIAMEDICA
EQ Ent Sal
1.c CONSULTAR_PACIENTE 1 3
2.c CONSULTAR_MEDICO 1 2
3.c CONSULTAR_ 1 4
HISTORIAMEDICA
4.a CONSULTAR_ 1 1
ESPECIALIDADES
4.b REPORTAR_ 1 1
ESPECIALIDADES
EO
1.e REPORTAR_PACIENTES 3
2.e REPORTAR_MEDICOS 2

Elementos de datos (DET)


Para cada una de las transacciones, se cuenta el nmero de DET a los que afecta:

DET para entradas externas


Para considerar los DET en cada uno de los procesos de entrada externa, se puede
seguir las siguientes reglas:

Entrada externa Campo no Campo no Implementa-


recursivo introducido por el cin fsica.
significativo al usuario, pero
usuario mantenido en un
mantenido en un ILF por un EI
ILF por un EI
1.a AGREGAR_PACIENTE
ClavePaciente S No No
Cuarto S No No
FechaIngreso S No No
ClaveMedico S No No
ClavePadecimiento S No No
NombrePaciente S No No
Edad S No No

Pgina 59
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
EstadoCivil S No No
Direccion S No No
Telefono S No No
Total de DET 10
1.b ACTUALIZAR_PACIENTE
Cuarto S No No
FechaIngreso S No No
ClaveMedico S No No
ClavePadecimiento S No No
NombrePaciente S No No
Edad S No No
EstadoCivil S No No
Direccion S No No
Telefono S No No
Total de DET 9
1.d ELIMINAR_PACIENTE
ClavePaciente S No No
Cuarto S No No
FechaIngreso S No No
ClaveMedico S No No
ClavePadecimiento S No No
NombrePaciente S No No
Edad S No No
EstadoCivil S No No
Direccion S No No
Telefono S No No
Total de DET 10
2.a AGREGAR_MEDICO
ClaveMedico S No No
NombreMedico S No No
ClaveEspecialidad S No No
Horario S No No
Total de DET 4

Entrada externa Campo no Campo no Implemen-


recursivo introducido por el tacin fsica.
significativo al usuario, pero
usuario mantenido en un
mantenido en un ILF por una EI
ILF por una EI
2.b ACTUALIZAR_MEDICO
NombreMedico S No No
ClaveEspecialidad S No No
Horario S No No
Total de DET 3
2.c ELIMINAR_MEDICO
ClaveMedico S No No
NombreMedico S No No
ClaveEspecilidad S No No
Horario S No No
Total de DET 4
3.a AGREGAR_HISTORIAMEDICA
ClavePaciente S No No
Historia S No No

Pgina 60
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Total de DET 2
3.b ACTUALIZAR_
HISTORIAMEDICA
Historia S No No
Total de DET 1
3.d ELIMINAR_HISTORIAMEDICA
ClavePaciente S No No
Historia S No No
Total de DET 2

Pgina 61
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Pgina 62
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
DET para consultas externas
Para contar los DET en cada uno de los procesos de consulta externa, es necesario
considerar ambos lados de la consulta. Primero el lado de entrada de las consultas y
posteriormente el lado de salida.

Entrada El campo El campo Implementa-


Consulta externa especifica que especifica un cin fsica.
debe ejecutarse criterio de Contar 1 DET
una consulta. seleccin de
Contar como 1 datos. Contar
DET como 1 DET
1.b CONSULTAR_PACIENTE
ClavePaciente No S

Total de DET 1
2.c CONSULTAR_MEDICO
ClaveMedico No S
Total de DET 1
3.c CONSULTAR_
HISTORIAMEDICA
ClavePaciente No S
Total de DET 1
4.a CONSULTAR_
ESPECIALIDADES
ClaveEspecialidad No S
Total de DET 1
4.b REPORTAR_
ESPECIALIDADES
ClaveEspecialidad No S
Total de DET 1

Salida Campo no Campo literal, Implementa-


Consulta externa recursivo variable de cin fsica.
significativo al paginacin o Contar el
usuario. Contar stamp. grupo como 1
1 DET No contar DET
1.4b CONSULTAR_PACIENTE
Cuarto S
FechaIngreso -- S
NombreMedico S
Padecimiento S
NombrePaciente S
Edad S
EstadoCivil S
Direccion S
Telefono S
Total de DET 8 1
2.c CONSULTAR_MEDICO
NombreMedico S
Especialidad S

Pgina 63
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Horario ---- S
Total de DET 2 1

Pgina 64
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Salida Campo no Campo literal, Implementa-


Consulta externa recursivo variable de cin fsica.
significativo al paginacin o Contar el
usuario. Contar stamp. grupo como 1
1 DET No contar DET
3.c CONSULTAR_
HISTORIAMEDICA
NombrePaciente S
NombreMedico S
NombrePadecimiento S
Historia S
Total de DET 4
4.a CONSULTAR_
ESPECIALIDADES
ClaveEspecialidad S
Especialidad S
Total de DET 2
4.b REPORTAR_
ESPECIALIDADES
ClaveEspecialidad S
Especialidad S
Total de DET 2

Pgina 65
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
DET para salidas externas
Para contar los DET en cada uno de los procesos de salida externa se puede revisar
cada una de las reglas con la siguiente tabla:

Salida externa Campo no Campo Implemen-


recursivo literal, tacin fsica.
significativo variable de Contar el
al usuario. paginacin grupo como
Contar 1 DET o etiquetas. 1 DET
No contar
1.e REPORTAR_PACIENTES
Cuarto S No No
FechaIngreso -- -- S
NombreMedico S No No
Padecimiento S No No
NombrePaciente S No No
Edad S No No
EstadoCivil S No No
Direccion S No No
Telefono S No No
TotalPacientes S No No
Total DET 9 1
2.e REPORTAR_MEDICOS
NombreMedico S No No
Especialidad S No No
Horario No No S
TotalMedicos S No No
Total DET 3 1

Ya contados los elementos para definir la complejidad de las funcionalidades de datos y


de las transacciones, se hace un resumen indicando la complejidad.

Funcionalidad RET/FTR DET Complejidad


Funcional
ILF
PACIENTE 2 10 Baja
MEDICO 1 4 Baja
HISTORIA MEDICA 1 3 Baja
EIF
ESPECIALIDADES 1 4 Baja
PADECIMIENTOS 1 2 Baja
EI
1.a AGREGAR_PACIENTE 3 10 Alta
1.b ACTUALIZAR_PACIENTE 3 9 Alta
1.d ELIMINAR_PACIENTE 1 10 Baja
2.a AGREGAR_MEDICO 2 4 Baja
2.b ACTUALIZAR_MEDICO 2 3 Baja
2.c ELIMINAR_MEDICO 1 4 Baja
3.a AGREGAR_HISTORIAMEDICA 1 2 Baja
3.b ACTUALIZAR_HISTORIAMEDICA 1 1 Baja

Pgina 66
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
3.d ELIMINAR_HISTORIAMEDICA 1 2 Baja
EQ Ent Sal Ent Sal Ent Sal
1.b CONSULTAR_PACIENTE 1 3 1 9 Baja Promedio
2.c CONSULTAR_MEDICO 1 2 1 3 Baja Baja
3.c CONSULTAR_HISTORIAMEDICA 1 4 1 4 Baja Promedio
4.a CONSUTAR_ESPECIALIDADES 1 1 1 2 Baja Baja
4.b REPORTAR_ESPECIALIDADES 1 1 1 2 Baja Baja
EO
1.e REPORTAR_PACIENTES 3 10 Promedio
2.e REPORTAR_MEDICOS 2 4 Baja

Pgina 67
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Paso 5. Determinar el clculo de puntos de funcin sin ajustar.


La tabla siguiente da el total de todas las funcionalidades para determinar los puntos de
funcin sin ajustar (UFP).

Funcionalidad Complejidad Totales de Totales por


funcional complejidad Funcionalidad
ILF 3 Bajo x 7 = 21 21
0 Promedio x 10 = 0
0 Alto x 15 = 0
EIF 2 Bajo x 5 = 10 10
0 Promedio x 7 = 0
0 Alto x 10 = 0
EI 7 Bajo x 3 = 21
0 Promedio x 4 = 0
2 Alto x 6 = 12 33
EQ 3 Bajo x 3 = 9 17
2 Promedio x 4 = 8
0 Alto x 6 = 0
EO 1 Bajo x 4 = 4 9
1 Promedio x 5 = 5
0 Alto x 7 = 0
Suma de Puntos de Funcin sin Ajustar (UFP) = 90

Paso 6. Determinar el valor del factor de ajuste.


Para este paso se evalan las 14 caractersticas generales del sistema. El punto 5 de
los requerimientos permite evaluar cada una de ellas.

Caracterstica Grado de Caracterstica Grado de


influencia influencia
1 - Comunicacin entre datos 4 8 - Actualizacin en lnea 1
2 - Procesamiento distribuido de 0 9 - Complejidad del proceso 0
datos
3 - Objetivos de desempeo 0 10 - Reusabilidad 4
4 - Grado de configurabilidad 0 11 - Facilidad de instalacin 0
5 - Volumen de transaccin 0 12 - Facilidad de operacin 1
6 - Captura en lnea 5 13 - Mltiple instalacin 1
7 - Eficiencia al usuario final 1 14 - Facilidad de cambio 2

Suma de los grados de influencia (TDI) = 19

Pgina 68
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Esto indica que el total grados de influencia es 16. Para calcular el valor del factor de
ajuste (VAF):
VAF = 0.65 + (0.01 x 19) = 0.84

Paso 7. Calcular el total de puntos de funcin.


El total de puntos de funcin queda entonces:
FP = UFP x VAF = 90 x 0.84 = 75.6

Para dar una idea de lo que esto significa en trminos de esfuerzo, la siguiente tabla 4.1
muestra los promedios en la industria del software en Estados Unidos.

Tamao del Productividad Tamao del


proyecto (Puntos de equipo
(Puntos de funcin / mes) recomendado
funcin) * +
5 5.6 1
10 6.6 1
20 7.8 1
40 9.2 1
80 9.8 1.35
160 8 2
320 5.8 4
640 4.3 8
1,280 3.1 27
* Fuente: Applied Software Measurement, Capers Jones. McGraw Hill,
1995
+ Fuente: Applied Software Measurement, Capers Jones. McGraw Hill,
1991

Tabla 4.1 Promedios en la industria de los Estados Unidos.

Pgina 69
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

CAPTULO IV
EJEMPLO DEL ANLISIS DE PUNTOS DE FUNCIN

El siguiente es un ejemplo de conteo de puntos de funcin:

Un hospital desea automatizar su sistema de ingresos de pacientes, de los mdicos que


laboran en el hospital y de historias mdicas. Este sistema tendr acceso a dos sistemas ya
existentes del mismo hospital y que slo utilizar como referencia, que son: el sistema que lleva
el control de las reas o especialidades del hospital y el que almacena la informacin de los
padecimientos ms comunes. El ejemplo cuenta los puntos de funcin basndose en los
requerimientos y su diagrama de entidad-relacin.

1. Pacientes
a. Ingresar un paciente (Aadirlo en la base de datos) introduciendo:
- Datos particulares del paciente.
- Padecimiento (validar con el sistema de padecimientos ms comunes).
- Mdico asignado
b. Cambiar datos de un paciente.
- Actualizar cualquier informacin con respecto a un paciente excepto la clave del
paciente.
c. Eliminar un paciente.
- Eliminar toda la informacin con respecto a un paciente.
d. Solicitar los datos de un paciente.
- Dada la clave del paciente, consultar la informacin de un paciente en particular.
De cada paciente se desplegar adems de sus datos particulares, el nombre de su
mdico asignado y su padecimiento
e. Solicitar un reporte con todos los pacientes.
- De cada paciente se desplegar adems de sus datos particulares, el nombre de
su mdico asignado y su padecimiento. Se desplegar tambin, el total de todos los
pacientes.
2. Mdicos
a. Aadir los datos de un mdico con la siguiente informacin:
- Datos particulares del mdico
- rea de especialidad (validar con el archivo que almacena las especialidades)

Pgina 70
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
b. Cambiar los datos de un mdico.
- Modificar los datos de un mdico en particular excepto su clave de mdico.
c. Eliminar un mdico.
- Eliminar toda la informacin con respecto a un mdico en particular.
d. Solicitar los datos de un mdico.
- Dada la clave del mdico, solicitar informacin detallada de un mdico en
particular. Debe incluir el nombre de la especialidad.
e. Solicitar el reporte de todos los mdicos que laboran en el hospital. Este desplegar
con el total de todos los mdicos.
3. Historia mdica
a. Aadir una historia mdica con la siguiente informacin.
- Clave del paciente.
- Descripcin.
b. Cambiar la informacin de una historia mdica.
- Mediante la clave del paciente, desplegar su historia mdica y poder cambiar la
informacin, excepto la clave del paciente.
c. Eliminar una historia mdica.
- Mediante la clave del paciente, eliminar su historia mdica.
d. Consultar una historia mdica.
- Mediante la clave del paciente, generar un reporte en pantalla que incluya nombre
del paciente, nombre del mdico, nombre del padecimiento y la historia mdica.
4. Consultar y reportar informacin sobre las reas de especialidad del hospital.
a. Consultar en pantalla la informacin de las reas de especialidad.
b. Hacer un reporte impreso de las reas de especialidad.
5. Otras caractersticas del sistema de ingreso al hospital sern las siguientes:
a. La aplicacin tiene ms de un front-end pero soporta slo un tipo de protocolo de
comunicacin TP.
b. No ser un proceso distribuido.
c. No existen requerimientos de desempeo especiales.
d. No existen restricciones operativas explcitas o implcitas.
e. No existe un perodo de transaccin pico.
f. La mayora de las transacciones se realizan mediante captura de datos interactiva.
g. Para eficiencia del usuario el sistema tendr movimiento del cursor automatizado, uso
de ratn y eleccin de pantalla por medio del cursor.

Pgina 71
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
h. Actualizacin en lnea todos los archivos de lgicos, pero no hay proteccin contra
prdida de datos.
i. No existen procesos complejos.
j. La mayora (ms del 50%) de la aplicacin y cdigo debe ser designado, desarrollado
y soportado para utilizarse en otras aplicaciones.
k. Ningn requerimiento de conversin o instalacin especial.
l. La aplicacin minimizar la necesidad tanto del manejo de cintas y papel. Tiene un
proceso de inicio, respaldo y recuperacin de datos, pero se requiere de la intervencin
de un operador.
m. Se debe considerar en el diseo, la necesidad de instalar la aplicacin en distintos
lugares donde operar bajo ambientes de hardware y software similares.
n. Los datos de control sern mantenidos de manera interactiva y toman efecto de
inmediato. No existe una capacidad flexible de consulta/reporte.

Atributos de cada entidad

PACIENTE DATOS PARTICULARES DEL PACIENTE


ClavePaciente (K) ClavePaciente(K)
Cuarto NombrePaciente
FechaIngreso Edad
ClaveMedico (FK) EstadoCivil
ClavePadecimiento (FK) Direccion
Telefono
HISTORIA MEDICA MEDICO
ClavePaciente (FK) ClaveMedico (K)
Historia NombreMedico
ClaveEspecialidad (FK)
Horario
PADECIMIENTOS ESPECIALIDADES
ClavePadecimiento (K) ClaveEspecialidad (K)
Padecimiento Especialidad
DescripcionPadecimiento
ClaveEspecialidad (FK)

donde K = llave y FK = llave fornea

Pgina 72
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Figura 4.1. Diagrama de entidad-relacin del sistema de ingreso hospitalario.

Con los requerimientos anteriores y el diagrama de entidad-relacin de la figura 4.1 se


construy el siguiente modelo jerrquico de procesos:

INGRESO HOSPITALARIO
1. ADMINISTRAR_PACIENTE
a. AGREGAR_PACIENTE
b. ACTUALIZAR_PACIENTE
c. CONSULTAR_PACIENTE
d. ELIMINAR_PACIENTE
e. REPORTAR_PACIENTES (contiene datos calculados)
2. MANTENER_MEDICOS
a. AGREGAR_MEDICO
b. ACTUALIZAR_MEDICO

Pgina 73
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
c. CONSULTAR_MEDICO
d. ELIMINAR_MEDICO
e. REPORTAR_MEDICOS (contiene datos calculados)
3. MANTENER_HISTORIAMEDICA
a. AGREGAR_HISTORIAMEDICA
b. ACTUALIZAR_HISTORIAMEDICA
c. CONSULTAR_HISTORIAMEDICA
d. ELIMINAR_HISTORIAMEDICA
4. CONSULTAR_ESPECIALIDADES
a. CONSULTAR_ESPECIALIDADES
b. REPORTAR_ESPECIALIDADES

Con la informacin anterior y siguiendo los pasos expuestos en el captulo anterior es


posible hacer el anlisis de puntos de funcin:

Paso 1. Determinar el tipo de conteo.


Se supone que esta es la primera vez que se va a llevar a cabo el conteo. Por lo tanto el
clculo es de todo el proyecto.

Paso 2. Determinar la frontera de la aplicacin.


Es necesario distinguir entre la aplicacin que se est midiendo y las aplicaciones a las
que solamente se hace referencia. Los requerimientos ayudan a delimitar esta frontera, ya que
se hace explcito que las entidades PADECIMIENTOS y ESPECIALIDADES son slo de
referencia y no son mantenidos por el sistema que se est contando. Observando el diagrama
de entidad-relacin se separan las entidades que la aplicacin va a mantener (Figura 4.2).

Las entidades que se encuentran dentro de la frontera de la aplicacin a contar son:


PACIENTE, DATOS PARTICULARES DEL PACIENTE, MEDICO, HISTORIA MEDICA. Las
que quedan fuera de la frontera son PADECIMIENTOS y ESPECIALIDADES

Pgina 74
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Figura 4.2. Frontera de la aplicacin del sistema de ingreso hospitalario.

Paso 3. Identificar la funcionalidad de datos.


Con este paso se identifica lo que son los archivos lgicos internos (ILF) y los archivos
de interfaz externa (EIF) junto con los componentes necesarios para evaluar sus
complejidades: elementos de registro (RET) y elementos de datos (DET).

Archivos lgicos internos (ILF)


Los archivos lgicos internos se encuentran dentro de la frontera de la aplicacin. Por lo
que los candidatos son: PACIENTE, DATOS PARTICULARES DEL PACIENTE, MEDICOS e
HISTORIA MEDICA.

Se puede utilizar una tabla como la siguiente con cada candidato para saber si cumple
con las reglas para ser un archivo lgico interno. Por ejemplo, con las entidades PACIENTE e
HISTORIA MEDICA.

Pgina 75
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Entidad Reglas de conteo de ILF Aplica?


PACIENTE El grupo de datos o informacin de No, ya que debe incluir
control es un grupo de datos DATOS PERSONALES
lgico, significativo al usuario que DEL PACIENTE para poder
satisface requerimientos representar el requerimiento
especficos del usuario del usuario y as poder
agregar toda la informacin
sobre el paciente.
El grupo de datos es mantenido S
dentro de la frontera de la
aplicacin.
El grupo de datos es mantenido o No, no existe un proceso
modificado a travs de un proceso que mantiene solamente a
elemental de la aplicacin. la entidad PACIENTE. El
usuario debe mantener en
el proceso elemental a
PACIENTE y a DATOS
PERSONALES DEL
PACIENTE.
El grupo de datos identificado no S, la regla aplica ya que los
ha sido contado como un EIF para datos no han sido contados
la aplicacin. como un EIF para otra
aplicacin.

Entidad Reglas de conteo de ILF Aplica?


HISTORIA El grupo de datos o informacin de S
MEDICA control es un grupo de datos
lgico, significativo al usuario que
satisface requerimientos
especficos del usuario
El grupo de datos es mantenido S
dentro de la frontera de la
aplicacin.
El grupo de datos es mantenido o S, el proceso es introducir
modificado a travs de un proceso la informacin de la historia
elemental de la aplicacin. mdica de un paciente en el
sistema de ingreso
hospitalario.
El grupo de datos identificado no S, la regla aplica ya que los
ha sido contado como un EIF para datos no han sido contados
la aplicacin. como un EIF para otra
aplicacin.

Si se juntan las entidades de PACIENTE con DATOS PARTICULARES DEL


PACIENTE, entonces s aplican las reglas para archivos lgicos internos. De esta forma se
identifican tres ILF:
1) PACIENTE y DATOS PARTICULARES DEL PACIENTE que en adelante se le
llama PACIENTE para generalizar.

Pgina 76
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
2) MEDICO
3) HISTORIA MEDICA

Archivos de interfaz externa (EIF)


Las dos entidades que quedaron fuera de la frontera de la aplicacin son los candidatos
a ser archivos de interfaz externa. Estos son ESPECIALIDADES Y PADECIMIENTOS.

Se puede utilizar una tabla como la siguiente con cada candidato para saber si las
entidades candidatas cumplen con las reglas para archivos de interfaz externa. Se d el
ejemplo con la entidad de ESPECIALIDADES.

Entidad Reglas de conteo de EIF Aplica?


ESPECIALIDADES El grupo de datos o informacin de control S, los usuarios necesitan
es un grupo de datos lgico, significativo al poder obtener informacin
usuario que satisface requerimientos sobre las especialidades
especficos del usuario que existen en el hospital.
El grupo de datos es referenciado por, y Si, solamente se usa como
externo a, la aplicacin que se est referencia.
contando.
El grupo de datos no es mantenido por la Si, es identificado como un
aplicacin que est siendo contada proceso elemental en otro
sistema.
El grupo de datos es contado como un ILF Si, en el sistema que lo
por al menos otra aplicacin. mantiene
El grupo de datos identificado no ha sido Si.
contado como un ILF por la aplicacin

Si se aplican las reglas a la entidad PADECIMIENTOS, tambin se cumplen todas. As,


identificamos dos EIF:
1) ESPECIALIDADES
2) PADECIMIENTOS

Para medir la complejidad de cada una de las funcionalidades de datos, es necesario


identificar dos elementos para cada una de ellas: 1) de registro (RET) y 2) de datos (DET).

Elementos de registro (RET)

ILF Subgrupos
PACIENTE PACIENTE y
DATOS PARTICULARES DEL PACIENTE.
MEDICO Ninguno, cuenta como un RET

Pgina 77
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
HISTORIA MEDICA Ninguno, cuenta como un RET

EIF Subgrupos
PADECIMIENTOS Ninguno, cuenta como un RET
ESPECIALIDADES Ninguno, cuenta como un RET

La cuenta de RET para cada una de las funcionalidades de datos es la siguiente:

Entidad Funcionalidad de datos Nmero de


RET
PACIENTE ILF 2
MEDICO ILF 1
HISTORA MEDICA ILF 1
PADECIMIENTOS EIF 1
ESPECIALIDADES EIF 1

Elementos de datos (DET)


Para ver el nmero de DET en cada una de las funcionalidades identificadas, se
recurre al diagrama de entidad-relacin para determinar los campos con los que cuenta cada
una de estas entidades. Una tabla como la siguiente puede ser de utilidad:

Entidades Es un campo Es una llave Contar la


significativo al fornea? Si lo implementacin
usuario en el es, contar fsica como un
ILF? Si, s, como un DET. DET sencillo.
contar como un
DET.
PACIENTE
ClavePaciente S No No
Cuarto S No No
FechaIngreso S No No
ClaveMedico No S No
ClavePadecimiento No S No
NombrePaciente S No No
Edad S No No
EstadoCivil S No No
Direccion S No No
Telefono S No No
Total de DET 8 2

En este caso como se uni DATOS PARTICULARES DEL PACIENTE a PACIENTE, se


cuentan todos los campos de la informacin del PACIENTE como parte de un slo ILF.

Si se analiza cada uno de los ILF e EIF identificados, da como resultado el siguiente
nmero de DET de cada uno:

Pgina 78
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Entidad Funcionalidad de datos Nmero de


DET
PACIENTE ILF 10
MEDICO ILF 4
HISTORIA MEDICA ILF 3
PADECIMIENTOS EIF 4
ESPECIALIDADES EIF 2

Paso 4. Identificar la funcionalidad de transacciones.


Este paso determina la funcionalidad de transacciones: entradas externas (EI), salidas
externas (EO) y consultas externas (EQ). Junto con los componentes necesarios para evaluar
sus complejidades: Elemento de Datos (DET) y Archivos Referenciados (FTR). Para esto, es
necesario observar los requerimientos del usuario y el modelo jerrquico de procesos.

Entradas Externas - EI
A partir del modelo jerrquico de procesos, se identifica los que mantendrn a alguno de
los ILF identificados. Ya identificados, se aplica a cada uno de ellos las reglas de entradas
externas para ver si efectivamente lo son ayudados de una tabla como la siguiente:

Modelo del proceso Reglas de conteo de EI Aplica?


1. ADMINISTRAR_PACIENTE Los datos son recibidos desde S
a. AGREGAR_PACIENTE fuera de la frontera de la
aplicacin.

Los datos de un ILF son S, se mantiene al


mantenidos a travs de un ILF PACIENTE
proceso elemental de la (incluyendo DATOS
aplicacin. PERSONALES DEL
PACIENTE)
El proceso es la unidad de S, el usuario
actividad ms pequea necesita crear, o
significativa desde la agregar un paciente.
perspectiva del usuario.
El proceso se autocontiene y S
deja al negocio en un estado
consistente.
Para el proceso identificado,
aplica una de las dos reglas
siguientes:

Pgina 79
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
- La lgica del proceso es S
nico con respecto a otras
entradas externas.
- Los elementos de datos son S
diferentes con respecto a otras
entradas externas.

Pgina 80
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Si se aplica a cada uno de los procesos las reglas de entradas externas, resultan los
siguientes procesos:

1.a AGREGAR_PACIENTE
1.b ACTUALIZAR_PACIENTE
1.d ELIMINAR_PACIENTE
2.a AGREGAR_MEDICO
2.b ACTUALIZAR_MEDICO
2.d ELIMINAR_MEDICO
3.a AGREGAR_HISTORIAMEDICA
3.b ACTUALIZAR_HISTORIAMEDICA
3.d. ELIMINAR_HISTORIAMEDICA

Consultas Externas - EQ
Ahora se analiza cul de los procesos que no fueron entradas externas pueden ser
consultas externas. Y se aplican las reglas con una tabla como la siguiente:

Modelo del proceso Reglas de conteo de EQ Aplica?


1. ADMINISTRAR_PACIENTE Una solicitud de entrada se S, por ejemplo un
c. CONSULTAR_PACIENTE introduce en la frontera de la clic para solicitar la
aplicacin. consulta

El resultado sale de la frontera S


de la aplicacin.
Se recuperan datos. S.
Los datos recuperados no S
contienen dados derivados o
calculados.
El proceso es la unidad de S, el usuario
actividad ms pequea que es necesita ver la
significativa al usuario final del informacin de un
negocio. paciente.
El proceso se autocontiene y S
deja al negocio en un estado
consistente.

Pgina 81
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
El proceso no actualiza un ILF S
Para el proceso identificado,
aplica una de las dos reglas
siguientes:
- La lgica del proceso es S
nica con respecto a otras
consultas externas.
- Los elementos de datos son S
diferentes con respecto a otras
consultas externas.

Aplicando las reglas anteriores, se identifican estas consultas externas:

1.c CONSULTAR_PACIENTE
2.c CONSULTAR_MEDICO
3.c CONSULTAR_HISTORIAMEDICA
4.a CONSULTAR_ESPECIALIDADES
4.b REPORTAR_ESPECIALIDADES

El proceso de REPORTAR_ESPECIALIDADES es incluido como consulta externa


porque no contiene datos calculados.

Salidas Externas - EO
Por ltimo, hay que identificar si los procesos restantes son salidas externas. Para esto
es necesario aplicar las reglas correspondientes con una tabla como la siguiente:

Modelo del proceso Reglas de conteo de EO Aplica?


1. ADMINISTRAR_PACIENTE El proceso enva datos o S
e. REPORTAR_PACIENTES informacin de control externa a
la frontera de la aplicacin.

El proceso es la unidad de S, el usuario


actividad ms pequea que es necesita ver la
significativa al usuario final del informacin de los
negocio.. pacientes.
El proceso se autocontiene y S.
deja al negocio en un estado
consistente.
Para el proceso identificado,
aplica una de las dos reglas
siguientes:
- La lgica del proceso es S

Pgina 82
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
nica con respecto a otras
salidas externas.
- Los elementos de datos son S
diferentes con respecto a otras
salidas externas.

Aplicando las reglas a los procesos restantes, se identifican las siguientes salidas
externas:
1.e REPORTAR_PACIENTES
2.e REPORTAR_MEDICOS

Es importante hacer notar que estos reportes contienen datos calculados, a diferencia
de los reportes identificados como consultas externas.

Para medir la complejidad de cada una de las funcionalidades de transacciones, se


identifican dos elementos para cada una de ellas: 1) archivos de referencia (FTR) y 2) de datos
(DET).

Archivos referenciados (FTR)


Para identificar los archivos referenciados para cada uno de los procesos, es necesario
referirse a las funcionalidades de datos y observar a cules mantiene o hace referencia cada
uno de los procesos. Se pueden aplicar las reglas de FTR en cada uno de las transacciones
con tablas como las siguientes:

FTR para entradas externas

Proceso Contar cada ILF Contar cada ILF o Contar slo 1


slo mantenido EIF slo FTR por ILF
referenciado referenciado y
mantenido
1.a AGREGAR_ PACIENTE PADECIMIENTOS,
PACIENTE MEDICOS
1.b ACTUALIZAR_ PADECIMIENTOS, PACIENTE
PACIENTE MEDICOS
1.d ELIMINAR_ PACIENTE
PACIENTE
2.a AGREGAR_ MEDICO ESPECIALIDADES

Pgina 83
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
,MEDICO
2.b ACTUALIZAR_ ESPECIALIDADES MEDICO
MEDICO
2.d ELIMINAR_ MEDICO
MEDICO
3.a AGREGAR_ HISTORIA
HISTORIAMEDICA MEDICA
3.b ACTUALIZAR_ HISTORIA
HISTORIAMEDICA MEDICA
3.d ELIMINAR_ HISTORIA
HISTORIAMEDICA MEDICA

FTR para consultas externas

Consulta externa Para la entrada contar Para la salida contar


cada ILF o EIF cada ILF o EIF
referenciado referenciado
1.c CONSULTAR_PACIENTE PACIENTE PACIENTE, MEDICO
PADECIMIENTOS
2.c CONSULTAR_MEDICO MEDICO MEDICO
ESPECIALIDAD
3.c CONSULTAR_ PACIENTE HISTORIA MEDICA
HISTORIAMEDICA PACIENTE
MEDICO,
PADECIMIENTO
4.a CONSULTAR_ ESPECIALIDADES ESPECIALIDADES
ESPECIALIDADES
4.b REPORTAR_ ESPECIALIDADES ESPECIALIDADES
ESPECIALIDADES

FTR para salidas externas

Salidas externas Contar cada ILF o EIF


referenciado durante el
proceso EO.
1.e REPORTAR_PACIENTES PACIENTE, MEDICO,
PADECIMIENTO
2.e REPORTAR_MEDICOS MEDICO, ESPECIALIDAD

El total de FTR por transaccin se resume en la siguiente tabla:

Pgina 84
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Funcionalidad FTR
EI
1.a AGREGAR_PACIENTE 3
1.b ACTUALIZAR_PACIENTE 3
1.d ELIMINAR_PACIENTE 1
2.a AGREGAR_MEDICO 2
2.b ACTUALIZAR_MEDICO 2
2.c ELIMINAR_MEDICO 1
3.a AGREGAR_ 1
HISTORIAMEDICA
3.b ACTUALIZAR_ 1
HISTORIAMEDICA
3.d ELIMINAR_ 1
HISTORIAMEDICA
EQ Ent Sal
1.c CONSULTAR_PACIENTE 1 3
2.c CONSULTAR_MEDICO 1 2
3.c CONSULTAR_ 1 4
HISTORIAMEDICA
4.a CONSULTAR_ 1 1
ESPECIALIDADES
4.b REPORTAR_ 1 1
ESPECIALIDADES
EO
1.e REPORTAR_PACIENTES 3
2.e REPORTAR_MEDICOS 2

Elementos de datos (DET)


Para cada una de las transacciones, se cuenta el nmero de DET a los que afecta:

DET para entradas externas


Para considerar los DET en cada uno de los procesos de entrada externa, se puede
seguir las siguientes reglas:

Entrada externa Campo no Campo no Implementa-


recursivo introducido por el cin fsica.
significativo al usuario, pero
usuario mantenido en un
mantenido en un ILF por un EI
ILF por un EI
1.a AGREGAR_PACIENTE
ClavePaciente S No No
Cuarto S No No
FechaIngreso S No No
ClaveMedico S No No
ClavePadecimiento S No No
NombrePaciente S No No
Edad S No No

Pgina 85
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
EstadoCivil S No No
Direccion S No No
Telefono S No No
Total de DET 10
1.b ACTUALIZAR_PACIENTE
Cuarto S No No
FechaIngreso S No No
ClaveMedico S No No
ClavePadecimiento S No No
NombrePaciente S No No
Edad S No No
EstadoCivil S No No
Direccion S No No
Telefono S No No
Total de DET 9
1.d ELIMINAR_PACIENTE
ClavePaciente S No No
Cuarto S No No
FechaIngreso S No No
ClaveMedico S No No
ClavePadecimiento S No No
NombrePaciente S No No
Edad S No No
EstadoCivil S No No
Direccion S No No
Telefono S No No
Total de DET 10
2.a AGREGAR_MEDICO
ClaveMedico S No No
NombreMedico S No No
ClaveEspecialidad S No No
Horario S No No
Total de DET 4

Entrada externa Campo no Campo no Implemen-


recursivo introducido por el tacin fsica.
significativo al usuario, pero
usuario mantenido en un
mantenido en un ILF por una EI
ILF por una EI
2.b ACTUALIZAR_MEDICO
NombreMedico S No No
ClaveEspecialidad S No No
Horario S No No
Total de DET 3
2.c ELIMINAR_MEDICO
ClaveMedico S No No
NombreMedico S No No
ClaveEspecilidad S No No
Horario S No No
Total de DET 4
3.a AGREGAR_HISTORIAMEDICA
ClavePaciente S No No
Historia S No No

Pgina 86
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Total de DET 2
3.b ACTUALIZAR_
HISTORIAMEDICA
Historia S No No
Total de DET 1
3.d ELIMINAR_HISTORIAMEDICA
ClavePaciente S No No
Historia S No No
Total de DET 2

Pgina 87
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Pgina 88
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
DET para consultas externas
Para contar los DET en cada uno de los procesos de consulta externa, es necesario
considerar ambos lados de la consulta. Primero el lado de entrada de las consultas y
posteriormente el lado de salida.

Entrada El campo El campo Implementa-


Consulta externa especifica que especifica un cin fsica.
debe ejecutarse criterio de Contar 1 DET
una consulta. seleccin de
Contar como 1 datos. Contar
DET como 1 DET
1.b CONSULTAR_PACIENTE
ClavePaciente No S

Total de DET 1
2.c CONSULTAR_MEDICO
ClaveMedico No S
Total de DET 1
3.c CONSULTAR_
HISTORIAMEDICA
ClavePaciente No S
Total de DET 1
4.a CONSULTAR_
ESPECIALIDADES
ClaveEspecialidad No S
Total de DET 1
4.b REPORTAR_
ESPECIALIDADES
ClaveEspecialidad No S
Total de DET 1

Salida Campo no Campo literal, Implementa-


Consulta externa recursivo variable de cin fsica.
significativo al paginacin o Contar el
usuario. Contar stamp. grupo como 1
1 DET No contar DET
1.4b CONSULTAR_PACIENTE
Cuarto S
FechaIngreso -- S
NombreMedico S
Padecimiento S
NombrePaciente S
Edad S
EstadoCivil S
Direccion S
Telefono S
Total de DET 8 1
2.c CONSULTAR_MEDICO
NombreMedico S
Especialidad S

Pgina 89
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Horario ---- S
Total de DET 2 1

Pgina 90
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Salida Campo no Campo literal, Implementa-


Consulta externa recursivo variable de cin fsica.
significativo al paginacin o Contar el
usuario. Contar stamp. grupo como 1
1 DET No contar DET
3.c CONSULTAR_
HISTORIAMEDICA
NombrePaciente S
NombreMedico S
NombrePadecimiento S
Historia S
Total de DET 4
4.a CONSULTAR_
ESPECIALIDADES
ClaveEspecialidad S
Especialidad S
Total de DET 2
4.b REPORTAR_
ESPECIALIDADES
ClaveEspecialidad S
Especialidad S
Total de DET 2

Pgina 91
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
DET para salidas externas
Para contar los DET en cada uno de los procesos de salida externa se puede revisar
cada una de las reglas con la siguiente tabla:

Salida externa Campo no Campo Implemen-


recursivo literal, tacin fsica.
significativo variable de Contar el
al usuario. paginacin grupo como
Contar 1 DET o etiquetas. 1 DET
No contar
1.e REPORTAR_PACIENTES
Cuarto S No No
FechaIngreso -- -- S
NombreMedico S No No
Padecimiento S No No
NombrePaciente S No No
Edad S No No
EstadoCivil S No No
Direccion S No No
Telefono S No No
TotalPacientes S No No
Total DET 9 1
2.e REPORTAR_MEDICOS
NombreMedico S No No
Especialidad S No No
Horario No No S
TotalMedicos S No No
Total DET 3 1

Ya contados los elementos para definir la complejidad de las funcionalidades de datos y


de las transacciones, se hace un resumen indicando la complejidad.

Funcionalidad RET/FTR DET Complejidad


Funcional
ILF
PACIENTE 2 10 Baja
MEDICO 1 4 Baja
HISTORIA MEDICA 1 3 Baja
EIF
ESPECIALIDADES 1 4 Baja
PADECIMIENTOS 1 2 Baja
EI
1.a AGREGAR_PACIENTE 3 10 Alta
1.b ACTUALIZAR_PACIENTE 3 9 Alta
1.d ELIMINAR_PACIENTE 1 10 Baja
2.a AGREGAR_MEDICO 2 4 Baja
2.b ACTUALIZAR_MEDICO 2 3 Baja
2.c ELIMINAR_MEDICO 1 4 Baja
3.a AGREGAR_HISTORIAMEDICA 1 2 Baja
3.b ACTUALIZAR_HISTORIAMEDICA 1 1 Baja

Pgina 92
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
3.d ELIMINAR_HISTORIAMEDICA 1 2 Baja
EQ Ent Sal Ent Sal Ent Sal
1.b CONSULTAR_PACIENTE 1 3 1 9 Baja Promedio
2.c CONSULTAR_MEDICO 1 2 1 3 Baja Baja
3.c CONSULTAR_HISTORIAMEDICA 1 4 1 4 Baja Promedio
4.a CONSUTAR_ESPECIALIDADES 1 1 1 2 Baja Baja
4.b REPORTAR_ESPECIALIDADES 1 1 1 2 Baja Baja
EO
1.e REPORTAR_PACIENTES 3 10 Promedio
2.e REPORTAR_MEDICOS 2 4 Baja

Pgina 93
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Paso 5. Determinar el clculo de puntos de funcin sin ajustar.


La tabla siguiente da el total de todas las funcionalidades para determinar los puntos de
funcin sin ajustar (UFP).

Funcionalidad Complejidad Totales de Totales por


funcional complejidad Funcionalidad
ILF 3 Bajo x 7 = 21 21
0 Promedio x 10 = 0
0 Alto x 15 = 0
EIF 2 Bajo x 5 = 10 10
0 Promedio x 7 = 0
0 Alto x 10 = 0
EI 7 Bajo x 3 = 21
0 Promedio x 4 = 0
2 Alto x 6 = 12 33
EQ 3 Bajo x 3 = 9 17
2 Promedio x 4 = 8
0 Alto x 6 = 0
EO 1 Bajo x 4 = 4 9
1 Promedio x 5 = 5
0 Alto x 7 = 0
Suma de Puntos de Funcin sin Ajustar (UFP) = 90

Paso 6. Determinar el valor del factor de ajuste.


Para este paso se evalan las 14 caractersticas generales del sistema. El punto 5 de
los requerimientos permite evaluar cada una de ellas.

Caracterstica Grado de Caracterstica Grado de


influencia influencia
1 - Comunicacin entre datos 4 8 - Actualizacin en lnea 1
2 - Procesamiento distribuido de 0 9 - Complejidad del proceso 0
datos
3 - Objetivos de desempeo 0 10 - Reusabilidad 4
4 - Grado de configurabilidad 0 11 - Facilidad de instalacin 0
5 - Volumen de transaccin 0 12 - Facilidad de operacin 1
6 - Captura en lnea 5 13 - Mltiple instalacin 1
7 - Eficiencia al usuario final 1 14 - Facilidad de cambio 2

Suma de los grados de influencia (TDI) = 19

Pgina 94
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Esto indica que el total grados de influencia es 16. Para calcular el valor del factor de
ajuste (VAF):
VAF = 0.65 + (0.01 x 19) = 0.84

Paso 7. Calcular el total de puntos de funcin.


El total de puntos de funcin queda entonces:
FP = UFP x VAF = 90 x 0.84 = 75.6

Para dar una idea de lo que esto significa en trminos de esfuerzo, la siguiente tabla 4.1
muestra los promedios en la industria del software en Estados Unidos.

Tamao del Productividad Tamao del


proyecto (Puntos de equipo
(Puntos de funcin / mes) recomendado
funcin) * +
5 5.6 1
10 6.6 1
20 7.8 1
40 9.2 1
80 9.8 1.35
160 8 2
320 5.8 4
640 4.3 8
1,280 3.1 27
* Fuente: Applied Software Measurement, Capers Jones. McGraw Hill,
1995
+ Fuente: Applied Software Measurement, Capers Jones. McGraw Hill,
1991

Tabla 4.1 Promedios en la industria de los Estados Unidos.

Pgina 95
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

CAPTULO VI
CONCLUSIN

El anlisis de puntos de puntos de funcin para medir el tamao del software es una
metodologa que, para poder aplicarla requiere de cierta capacitacin y experiencia en la
misma. Por lo general, esta tarea la realizan especialistas que han aprobado un examen de
certificacin, pero lo ms importante es tener mucha prctica con un cierto nmero de
proyectos analizados.

En Mxico, la mayora de las universidades y escuelas superiores ya comienzan a


incluir en sus planes de estudio temas relacionados con la Ingeniera de Software, sobretodo
con temas referentes a la calidad de los productos de software. En mi opinin es necesario que
estos cursos incluyan temas sobre las distintas mtricas de software, ya que estas son
necesarias para asegurar la calidad.

Las empresas dedicadas al desarrollo de software interesadas en aplicar estos


conceptos dentro de su proceso de produccin, deben reunir gente experta en ingeniera de
software y capacitarlas para desarrollar e implementar procesos que permitan medir y mejorar
el desarrollo de software.

Ante la necesidad de las empresas de poder contar con un estndar para medir el
tamao del software, se debe tener conocimiento de pros y contras de las distintas mtricas
incluyendo la de puntos de funcin. Es necesario tomar en cuenta que la mtrica debe ser lo
suficientemente sencilla para poder ser aplicada por el equipo de trabajo del proyecto.

Aunque el anlisis de puntos de funcin no es una mtrica perfecta, su uso se ha


extendido en todo el mundo, y cada vez se discute ms a fondo la metodologa tratando de
mejorarla. Entre los mayores inconvenientes que se cuestionan son:
! Los pesos asociados con la complejidad parecen muy subjetivos, sin embargo, la
experiencia de los usuarios contina ajustando estas cantidades.
! Esta enfocado a sistemas de informacin de negocio, por ejemplo, bancos. Lo cul es
cierto, aunque cada vez existen ms artculos que con la misma filosofa, adaptan esta
metodologa a nuevos tipos de software como son aplicaciones Internet, OO, etc.

Pgina 96
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

! Es una tarea muy intensa que requiere de esfuerzo tanto para aprenderlo como para
aplicarlo, sin embargo, poco a poco irn saliendo al mercado herramientas automatizadas que
ayuden a facilitar el conteo.

En Mxico, debemos aprovechar el auge que est teniendo esta metodologa y tratar de
adoptarla al tipo de proyectos que se realizan en nuestro medio, acordando estndares
adecuados. Es necesario comenzar a preparar gente especialista a fin de difundirla en todo el
pas.

A pesar de los pros y contras que tiene est mtrica, no cabe duda que es la que ms
aceptacin ha tenido en la industria del software a nivel mundial y por lo tanto ya ha sido
adoptada como la mtrica estndar en muchas empresas en el mundo.

Por ltimo, en mayo de 1999, durante el transcurso de la realizacin de esta tesis, se


liber la versin 4.1 del manual de prcticas de conteo de IFPUG.

Pgina 97
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

GLOSARIO

Actualizar. El hecho de modificar datos.

Aplicacin. Conjunto de uno o ms componentes, mdulos o subsistemas. Con


frecuencia se usa como sinnimo de sistema.

Archivo lgico. Para tipos de funcin de datos, un grupo de datos relacionado de


manera lgica y no la implementacin fsica. Archivo de empleado y no h900102.

Datos calculados. Datos que requieren de un proceso distinto al de una recuperacin


directa o la edicin de informacin desde un archivo lgico interno (ILF) o un archivo de interfaz
externa (EIF).

Datos de control. Datos utilizados por la aplicacin para controlar, directa o


indirectamente, el comportamiento de una aplicacin.

Defecto. Es una desviacin de la especificacin del sistema2. Un defecto se presenta


cuando el software no se comporta de la manera que el usuario espera que lo haga.3

Desarrollo. Especificacin, construccin y entrada de un nuevo sistema de informacin.

Frontera. Lnea divisoria entre la aplicacin por contar y otras aplicaciones, o el dominio
del usuario.

IFPUG. Iniciales de International Function Points Users Group, organismo encargado


de establecer estndares y promover el uso de puntos de funcin.

Informacin de control. Son datos utilizados por un proceso que aseguran el


cumplimiento con los requerimientos de la funcionalidad del negocio especificados por el
usuario. No es necesario que mantengan un archivo lgico interno. Por ejemplo, un mensaje
que se despliega advirtiendo un error o que se requiere de alguna accin.

1 2Hetzel, Bill

Pgina 98
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Mantener. Se refiere a la habilidad de modificar los datos mediante un proceso


elemental. Es decir, al hecho poder agregar, cambiar y eliminar datos.

Mejora. Modificacin de un sistema existente.

Perspectiva funcional. Punto de vista de la funcionalidad dada por la aplicacin;


excluye consideraciones tcnicas y de implementacin.

Proceso. Un conjunto de operaciones o actividades que acta en entradas de


informacin para producir un resultado.

Proceso elemental. Es la unidad de actividad ms pequea que es significativa al


usuario final en el negocio.

Significativo al usuario. Se refiere a los requerimientos especficos que un usuario


experimentado definira para la aplicacin.

Funcionalidad de datos. La funcionalidad proporcionada al usuario a fin de que


coincida con los requerimientos de datos. Estos son los archivos lgicos internos (ILF) y los
archivos de interfaz externa (EIF).

Funcionalidad de transacciones. La funcionalidad proporcionada al usuario por una


aplicacin para procesar datos. Los tipos de funcin de transaccin son entradas externas (EI),
salidas externas (EO) y consultas externas (EQ).

Transaccin. Todos los procesos asociados con una ocurrencia de un disparo externo.
Por ejemplo, en un reloj, cada tic del pantalla del tiempo es un disparo. Todos los procesos
asociados con cada nuevo tic es una transaccin separada.

Usuario. Un ser humano o aplicacin que interacta con la aplicacin a ser medida.

2 3Myers, Glen

Pgina 99
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln

Bibliografa

[1] A.J. Albrecht, Measuring Application Development Productivity, Proc IBM Applications
Development Symp., Monterey, Calif., Oct 14-17, 1979.
[2] A.J. Albrecht y J.E. Gaffney, Software Functions, Source Lines of Code, and Development
Effort Prediction: A Software Science Validation, IEEE Trans. Software Eng., vol. 9, no. 6, Nov,
1983.
[3] IBM CISGuidelines 313, AD/M Productivity Measurement and Estimation Validation, Nov.
1984.
[4] International Function Point Users Group (IFPUG), Function Point Counting Practices
Manual, Release 4.0, IFPUG, Westerville, Ohio, Enero 1994.
[5] Garmus, David y Herron, David, Measuring the Software Process, a practical guide to
funciontal measurements, Yourdon Press Computing Series, 1996.
[9] David H. Longstreet, The Longstreet Consulting Inc. Function Points Applied to New and
Emerging Tecnologies, 1999. Este artculo se encuentra en la direccin web
http://www.SoftwareMetrics.Com/Articles/index.htm
[6] Capers, Jones, Sizing Up Software, Scientific American: Feature Article, Diciembre, 1998.
http://www.sciam.com/1998/1298issue/1298jones.html
[11] Capers, Jones, Applied Software Measurement. Assuring Productivity and Quality, 2a.
edicin. Ed. McGraw-Hill, 1997. ISBN 0-07-032826-9
[7] Dekkers, Carol, Quality Plus Technologies, Use Cases and Function Points Wheres the
Fit?, publicacin pendiente en IT Metrics Strategies, Diciembre, 1998.
[8] Abran, Alain y Nguyen, Tho-Hau, Fetcke, T, Mappiing the OO-Jacobson Approach into
Function Point Analysis, en la 6th International Workshop on Software Metrics, F. Lehner,
Regensburg, Alemania, 1997.
[9] International Function Point Users Group (IFPUG). Function Point Counting Practices: Case
Study 1. Release 1.0, IFPUG, Westerville, Ohio, Julio 1994.

Pgina 100

Das könnte Ihnen auch gefallen