Beruflich Dokumente
Kultur Dokumente
ANLISIS
DE
PUNTOS DE FUNCIN
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
Conclusiones
Anexo
Glosario
Bibliografa
Pgina 2
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
INTRODUCCIN
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.
Pgina 3
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Esta tesis consta de 5 captulos, en los cuales se describe la teora y aplicacin del
anlisis de puntos de funcin.
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
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)
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.
Pgina 5
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
1.2 MEDIR EN LA INGENIERA DE SOFTWARE
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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
Pgina 13
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
CAPTULO II
CONCEPTOS PARA EL ANLISIS DE PUNTOS DE FUNCIN
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.
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.
! 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).
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).
Pgina 17
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
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.
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
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.
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.
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.
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
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.
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.
Pgina 23
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
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
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.
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.
Por ejemplo, un buscador web donde el proceso es realizado por ms de una docena de
servidores que trabajan en conjunto.
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.
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, mens, manejo del ratn, pantallas de ayuda en lnea, etc.
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.
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.
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.
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.
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.
La siguiente figura muestra los pasos a seguir para determinar los puntos de funcin en
una aplicacin.
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.
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
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
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).
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.
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.
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.
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.
Pgina 36
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
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.
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.
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.
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).
El valor del factor de ajuste - VAF (Value Adjustment Factor) es obtenida mediante
la siguiente frmula:
FP = UFP x VAF
Pgina 41
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
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.
La frmula para calcular el total de puntos de funcin de la aplicacin con los cambios
realizados es la siguiente:
Pgina 42
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
Donde:
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
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.
Pgina 46
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
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
Pgina 48
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
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
Pgina 50
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
2) MEDICO
3) HISTORIA MEDICA
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.
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
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
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:
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:
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.
1.c CONSULTAR_PACIENTE
2.c CONSULTAR_MEDICO
3.c CONSULTAR_HISTORIAMEDICA
4.a CONSULTAR_ESPECIALIDADES
4.b REPORTAR_ESPECIALIDADES
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:
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.
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
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
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
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.
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
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
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:
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
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
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.
Pgina 69
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
CAPTULO IV
EJEMPLO DEL ANLISIS DE PUNTOS DE FUNCIN
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.
Pgina 72
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
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
Pgina 74
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
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
Pgina 76
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
2) MEDICO
3) HISTORIA MEDICA
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.
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
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
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:
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:
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.
1.c CONSULTAR_PACIENTE
2.c CONSULTAR_MEDICO
3.c CONSULTAR_HISTORIAMEDICA
4.a CONSULTAR_ESPECIALIDADES
4.b REPORTAR_ESPECIALIDADES
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:
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.
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
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
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
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.
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
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
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:
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
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
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.
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.
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.
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.
Pgina 97
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
GLOSARIO
Frontera. Lnea divisoria entre la aplicacin por contar y otras aplicaciones, o el dominio
del usuario.
1 2Hetzel, Bill
Pgina 98
IIMAS, UNAM
Maestra en Ciencias de la Computacin
Cecilia Prez Coln
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