Bienvenido/a

Principal Introducción Funciones Tipo Dato Funciones Tipo T rans. PF Brutos Factor de Ajuste PF Ajustados Casos Prácticos Recursos Este sitio está dedicado exclusivamente al tratamiento de la métrica de software llamada Análisis de Puntos de Función. El objetivo es introducir al visitante a los conceptos básicos del Análisis de Puntos de Función, sus procedimientos de conteo y objetivos; de tal forma a que la metodología se constituya en una herramienta valiosa para la gestión y dimensionamiento de proyectos de software. Las reglas de conteo utilizadas pertenecen a la versión 4.0. Sugerencias o comentarios acerca de este sitio, son bienvenidos en gimenezj@hotmail.com Si estás interesado en conceptos básicos de pseudocódigo, visita mi sitio en www.oocities.com/aveiro.geo Esta página se actualizó por última vez el Sábado 1 de Junio de 2002.-

Ing. José A. Giménez

Hecho en Paraguay - 800 x 600

[ Principal ] [ Introducción ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prácticos ] [ Recursos ]

Principal "He visitado docenas de empresas, buenas y malas he Introducción observado a numerosos gestores de proceso de datos, tanto Funciones Tipo buenos como malos. Muy frecuentemente, he visto con horror Dato Funciones Tipo Tcómo estos gestores se peleaban inúltimente con proyectos rans. terribles, intentaban cumplir plazos imposibles o entregaban PF Brutos sistemas que decepcionaban a sus usuarios y acababan Factor de Ajuste dedicando una gran cantidad de tiempo al mantenimiento." PF Ajustados Casos Prácticos Meiler Page-Jones hace esta declaración en el prólogo de su Recursos

libro sobre la gestión de proyectos de software que ilustra muy bien los problemas con los que se han enfrentado los desarrolladores al carecer (y desconocer) de herramientas para realizar una gestión sólida de los proyectos de software.

Se necesita de una herramienta que permita el dimensionamiento de los proyectos para cuantificar los plazos, el esfuerzo realizado, la productividad el tamaño y el costo del proyecto. Por medio de estas mediciones podremos, además, realizar estimaciones para futuros proyectos y dar respuestas a preguntas tales como:
Cuál es la capacidad para responder a las solicitudes de los usuarios? Cómo estimar el tamaño del proyecto antes de desarrollarlo? Cuál es el costo de desarrollo del proyecto? En cuánto tiempo se podrán cumplir los requerimientos? Cuál es el tamaño del proyecto? Se necesita más personal para cumplir con los plazos, más tiempo, menos funcionalidad o mejorar la productividad?

En definitiva, el gerente de proyectos debe poder analizar las alternativas y escoger la mejor solución a través de una técnica consistente.

Un poco de historia

La técnica de Análisis de Puntos de Función fue introducida por

Allan Albrecht de IBM. Albrecht comenzó a analizar sistemas, a pedido del grupo de usuarios de IBM, buscando identificar los factores críticos que determinan el tamaño del software y por consiguiente, estimar el esfuerzo y el costo de desarrollarlo. Luego de analizar cientos de sistemas, nació la técnica de Análisis de Puntos por función. La técnica mide una aplicación con base en las funciones que éste realiza para/por solicitud del usuario final. Un aspecto muy importante es que este análisis está basado en el punto de vista del usuario final (no del analista o programador) y es totalmente independiente de la tecnología utilizada, La técnica mide lo que es el sistema y no como será o cómo será diseñado (es independiente del lenguaje de programación, el tipo de base de datos y de la experiencia del programador). A partir de 1984, la técnica comenzó a popularizarse para identificar el tamaño de un sistema y ayudar en las estimaciones del esfuerzo requerido. A comienzos de 1986 se crea el grupo internacional de usuarios de puntos por función (IFPUG) que actualmente tiene a su cargo la estandarización y control de evolución de esta métrica.

Los objetivos y beneficios del Análisis de Puntos de Función

El objetivo principal del análisis de puntos por función es medir la funcionalidad de una aplicación (*) , basándose en el diseño lógico y de acuerdo con la perspectiva del usuario. Otros objetivos son:
Establecer una unidad estándar de medida para una aplicación Proveer de un mecanismo para realizar estimaciones en el desarrollo de sistemas. Minimizar el gasto y el esfuerzo, mediante el aporte de las medidas. Consistencia a través de diferentes proyectos. Ser comprensible por el personal no técnico, facilitando el entendimiento por parte de usuarios finales. Medir independientemente de la tecnología utilizada.

Entre los beneficios principales de la técnica se destacan:

La medición de estimaciones de costo y recursos que se requieren para el desarrollo o mantenimiento de una aplicación. Estandarización para la comparación entre aplicaciones. Posibilitar la implementación de un sistema de métrica. Apoyar la calidad y la productividad ofreciendo una visión optimizada de los procesos de desarrollo de aplicaciones. Servir de ayuda para determinar la compra de un paquete o el desarrollo de la aplicación en la empresa.

Visión general del Análisis de Puntos de Función

El análisis de puntos por función puede ser utilizado para medir aplicaciones ya implementadas, proyectos de desarrollo y proyectos de mantenimiento de una aplicación.
Dimensionamiento de un proyecto de desarrollo: Este cálculo se usa para medir en puntos por función el tamaño de un proyecto de desarrollo de una nueva aplicación. El objetivo de este cálculo es identificar las funciones identificadas en el modelo lógico para estimar los recursos de tiempo y personal requeridos para el proyecto.

Dimensionamiento de un proyecto de mantenimiento: e utiliza para dimensionar el tamaño de un proyecto de mantenimiento de una aplicación ya existente. El objetivo es medir todas la modificaciones (inclusiones, alteraciones y exclusiones) de funciones. Al final es necesario recalcular el tamaño de la aplicación para reflejar los cambios.

Dimensionamiento de una aplicación: Cálculo utilizado para dimensionar el tamaño real de una aplicación en puntos por función.

Antes de iniciar el proceso de Análisis de puntos por función se debe establecer que tipo de dimensionamiento se va realizar (de un proyecto, de un proyecto de mantenimiento o de una aplicación terminada), El paso siguiente es definir

Este valor nos ayudará a realizar estimaciones de plazos. Determinar el factor de ajuste 8. Determinar el tipo de conteo (proyecto. en general. las propiedades de los datos (identificando si éstos pertenecen o no a la aplicación que está siendo estudiando o a otra) e identificar cuáles son las funciones que pertenecen a la aplicación. mantenimiento o aplicación terminada) 2. Establecer las fronteras de la aplicación ayudan a tener una visión más clara del ambiente del producto que se está midiendo. desde el punto de vista de los usuarios. Para proyectos de mantenimiento. En este punto hay que definir dónde comienza y dónde termina la aplicación o proyecto. para que servirá) y sus límites (que no hace. obtendremos un valor número que mide el tamaño de la aplicación en puntos por función (de igual forma que una construcción se mide en metros cuadrados). Identificar las funciones de tipo Datos 5. lo que no puede ser comprendido o descrito por el usuario está fuera de la frontera de la aplicación o proyecto. La frontera de la aplicación separa el proyecto que está siendo estudiado de las aplicaciones externas (otros sistemas de la organización). costos y también puede apoyar diversas técnicas para el controlar la . Documentar la frontera y el tipo de conteo 4. para que no sirve). El esquema general del proceso de Análisis de puntos por función es: 1. Identificar las funciones de tipo Transacción 6. Definir la frontera de la aplicación 3. La frontera entra aplicaciones relacionadas está basada en las funciones empresariales que cada una de ellas cumple. La utilización de un diagrama de flujo de datos u herramienta similar nos permite tener una visión mucho más clara de la frontera y los alcances de la aplicación o proyecto. Cómo identificar la frontera de la aplicación o proyecto? La frontera está determinada por la visión del usuario.perfectamente las fronteras de la aplicación. la frontera inicial debe ser consistente con la frontera ya establecida para la aplicación que está siendo modificada. Determinar los puntos de función de función brutos 7. Calcular los puntos de función ajustados Al final de todo el proceso. cuáles son sus alcances (que hace.

] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prácticos ] [ Recursos ] Principal Las funciones de tipo dato representan la funcionalidad Introducción proveída al usuario a través de datos internos o externos. determinan las funciones de tipo dato para la determinación de los Puntos de Función brutos. luego. Comenzaremos siguiendo los pasos que se realizan para el cálculo de puntos por función en proyectos de desarrollo.calidad del software. un archivo lógico PF Ajustados Casos Prácticos interno equivale a un almacén de datos y en un diagrama de entidad . . Las Funciones Tipo funciones de tipo dato son definidas como Archivos Lógicos Dato Funciones Tipo Internos (ALI) o Archivos de Interfase Externa (AIE). lo que no se puede medir" [ Principal ] [ Introducción ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. El término Trans. En las siguientes secciones se brindará el marco teórico para la identificación de funciones.relación a una entidad. En un diagrama de flujo de datos. determinación del factor de ajuste y cálculo de los puntos por función. Pensamiento Clave. (*) = A partir de esta sección se utilizará la palabra aplicación como sinónimo de software. más adelante veremos como se hace el cálculo para los proyectos de mantenimiento de aplicaciones. Recursos El número de archivos lógicos internos y archivos de interfase externa. "No se puede controlar. archivo se refiere a un grupo de datos lógicamente PF Brutos relacionados y no a la implementación física de este grupo de Factor de Ajuste datos. junto con la complejidad que se define cuantitativamente para cada uno.

Proceso elemental Es la menor actividad con significado para los negocios del usuario. Identificado por el usuario El termino se refiere a los requerimientos especificados por el usuario. A continuación se definen los términos que se usarán en esta sección: Información de control Se refiere al dato usado para garantizar la consistencia de la aplicación a los requerimientos de las funciones establecidas por el usuario. Dato elemental referenciado Un dato elemental referenciado (DER) es un campo. Registro lógico referenciado Un registro lógico referenciado (RLR) es un subgrupo de .La especificación de la complejidad de un archivo lógico interno o un archivo de interfase externa está basada en la cantidad de registros lógicos referenciados y la cantidad de datos elementales referenciados en cada uno de ellos. Mantenimiento El término se refiere a la habilidad de incluir. modificar o excluir datos por medio de procesos elementales de la aplicación. reconocido por el usuario que está presente en un archivo lógico interno o un archivo de interfase externa.

los archivos lógicos internos representan los requerimientos de almacenamiento de datos cuyo mantenimiento se hace por la propia aplicación. En forma general. Cómo se identifica un archivo lógico interno? Para que una función sea considerada como archivo lógico interno debe cumplir con estas reglas: El grupo de datos o información de control es un grupo lógico de datos identificado por el usuario y refleja los requerimientos definidos por él.elementos datos. El grupo de datos es mantenido o modificado por medio de un proceso elemental de la aplicación. El grupo de datos es mantenido dentro de las fronteras de la aplicación. . dentro de un archivo lógico interno o un archivo de interfase externa. reconocido por el usuario. identificados por el usuario. Ampliando la definición: Un archivo lógico interno es un grupo de datos lógicamente relacionados o informaciones de control. El grupo de datos no fue identificado como un archivo de interfase externa en la aplicación. identificado por el usuario y mantenido dentro de las fronteras de la aplicación. cuyo mantenimiento es realizado internamente por la aplicación. Archivos Lógicos Internos Un archivo lógico interno es un grupo lógico de datos o informaciones de control.

Para contar los registros lógicos referenciados y datos elementales referenciados se deben usar las siguientes reglas.Datos elementales referenciados . Reglas . etc) * Archivos de datos de seguridad de una aplicación * Archivos de datos de auditorias * Archivos de mensajes de error No son considerados archivos lógicos internos: * Archivos temporales * Archivos de trabajo * Archivos de ordenamiento o clasificación * Archivos incluidos como consecuencia de la tecnología utilizada * Archivos de índices La complejidad de un archivo lógico interno Cada archivo lógico interno identificado debe ser clasificado de acuerdo con su complejidad funcional. La complejidad se calcula en base la cantidad de registros lógicos referenciados y la cantidad de datos elementales referenciados. un archivo físico equivale a un archivo lógico interno. proveedores. necesariamente. productos.El grupo de datos se almacena dentro de las fronteras de la aplicación No se debe asumir que. Ejemplos de archivos lógicos internos Son considerados archivos lógicos internos: * Archivos maestros de una aplicación (clientes.

uno por el valor mensual y otro por el valor anual.Registros lógicos referenciados * Contar un registro lógico referenciado para cada subgrupo de datos de un archivo lógico interno.* Se considera un dato elemental referenciado para cada campo. También los campos repetitivos que son idénticos en formato y existen para permitir múltiples ocurrencias de un mismo dato. Determinación de la complejidad de un archivo lógico interno Una vez contados los datos elementales referenciados y los registros lógicos referenciados. * En el caso de que no existan subgrupos. independientemente de ser un subgrupo opcional u obligatorio. que se encuentre en un archivo lógico interno. se cuentan 2 items de datos referenciados. se cuentan una vez (por ejemplo: si un archivo lógico interno tiene 12 campos de ventas mensuales y un total anual. * Se considera un dato elemental referenciado para cada ítem de dato en un archivo lógico interno que exista para atender los requerimientos solicitados por el usuario y establezca una relación con otro archivo lógico interno.Complejidad de archivos lógicos internos 1 a 19 items de 20 a 50 items de 51 o más items datos datos de datos referenciados referenciados referenciados 1 registro lógico SIMPLE SIMPLE MEDIA MEDIA COMPLEJA 2 a 5 registros SIMPLE lógicos 6 o más registros MEDIA lógicos COMPLEJA COMPLEJA . contar un registro lógico referenciado para cada archivo lógico interno. Reglas . se calcula la complejidad de cada archivo lógico interno de acuerdo con la siguiente tabla Tabla 1 . Los campos que aparecen más de una vez en un archivo lógico interno a causa de la tecnología o técnica de implementación deben ser contados sólo una vez. reconocido por el usuario.

Ejemplos Asumamos que hemos identificado el siguiente archivo lógico interno: Nombre: Registro de pedidos.Así un archivo lógico interno con 4 registros lógicos referenciados y 55 items de datos referenciados tiene un grado de complejidad COMPLEJO. para conocer la cantidad de archivos lógicos internos que existes para cada complejidad. Al finalizar la identificación de los archivos lógicos internos y sus complejidades. Estos valores se utilizarán más adelante para el cálculo de los Puntos de Función brutos. para cada archivo lógico interno. con la siguiente estructura Items de datos Número de pedido Código de producto Código de cliente Tamaño 10 12 6 Tipo Numérico Numérico Numérico . tenemos que tener esta información: Nombre del archivo lógico interno: Datos elementales referenciados : Registros lógicos referenciados: Grado de la función : _______________________ _______________________ _______________________ _______________________ Por ejemplo: Nombre: Archivo de Clientes Datos elementales referenciados: 15 Registros lógicos referenciados: 1 Grado: SIMPLE (véase la Tabla 1) Todo este proceso se realiza.

Archivo Lógico Interno: Registro de Clientes Items de datos Código de cliente Nombre del cliente Razón Social Tipo de cliente Territorio Dirección Barrio CEP Ciudad CGC Registro contribuyente Contacto 1 de Tamaño 6 12 30 2 3 30 12 8 12 12 12 20 Tipo Numérico Alfanumérico Alfanumérico Numérico Alfanumérico Alfanumérico Alfanumérico Numérico Alfanumérico Numérico Alfanumérico Alfanumérico .Cantidad Precio unitario Fecha de pedido 12 12 8 Numérico Numérico Numérico Datos elementales referenciados: 6 Registros lógicos referenciados: 1 (no se indica otra cosa para el ejemplo) Complejidad: SIMPLE Ejemplo 2.

El grupo de datos o información de control es un grupo lógico de datos identificado por el usuario y refleja los requerimientos definidos por él. . Cómo se identifica un archivo de interfase externa? Para identificar los archivos de interfase externa.Teléfono 1 Contacto 2 Teléfono 2 10 20 10 Numérico Alfanumérico Numérico Datos elementales referenciados: 15 Registros lógicos referenciados: 1 (no se indica otra cosa para el ejemplo) Complejidad: SIMPLE Archivos de Interfase Externa La segunda función de tipo dato definida son los archivos de interfase externa. un grupo de datos lógicamente relacionados o informaciones de control utilizadas por la aplicación pero que es mantenida por otra (por eso es de interfase externa). Un archivo de interfase externa es. hay que seguir estas reglas: El grupo de datos se almacena fuera de la frontera de la aplicación. según la visión del usuario.

El grupo de datos o informaciones de control son requeridas por el usuario. La complejidad de un archivo de interfase externa La complejidad de un archivo de interfase externa se calcula en base a la cantidad de datos elementales referenciados y de registros lógicos referenciados. Ejemplos de archivos de interfase externa * Archivos de mensajes de error * Archivos de ayuda No son considerados archivos de interfase externa * Datos recibidos desde otra aplicación utilizados para agregar. El grupo de datos no fue contado como un archivo lógico interno. * Datos cuyo mantenimiento se realiza por la aplicación que está siendo medida pero que son accesados desde otra aplicación.Datos elementales referenciados en un archivo de interfase externa . alterar o remover datos en un archivo lógico interno. * Datos formateados y procesados para su uso por otra aplicación. El grupo de datos es contado como un archivo lógico interno en otra aplicación. Reglas .El grupo de datos NO se mantiene por la aplicación.

Al finalizar la identificación de los archivos de interfase externa y sus complejidades. de acuerdo con la siguiente tabla Tabla 2 . independientemente de ser un subgrupo opcional u obligatorio. un archivo de interfase externa con 2 registros lógicos referenciados y 30 datos elementales referenciados tiene un grado de complejidad MEDIO. se cuentan 2 datos elementales referenciados. Determinación de la complejidad de un archivo de interfase externa Una vez contados los datos elementales referenciados y los registros lógicos referenciados.Complejidad de archivos de interfase externa 1 a 19 items de 20 a 50 items de 51 o más items datos datos de datos referenciados referenciados referenciados 1 registro lógico SIMPLE SIMPLE MEDIA MEDIA COMPLEJA 2 a 5 registros SIMPLE lógicos 6 o más registros MEDIA lógicos COMPLEJA COMPLEJA Por ejemplo.Registros lógicos referenciados en un archivo de interfase externa Aplicar las siguientes reglas para el conteo de registros lógicos referenciados en un archivo de interfase externa: * Contar un registro lógico referenciado para cada subgrupo de datos de un archivo de interfase externa. contar un registro lógico referenciado para cada archivo de interfase externa.* Se cuenta un dato elemental referenciado por cada ítem de dato o campo del archivo de interfase externa utilizado en nuestra aplicación. para cada archivo de interfase externa. se calcula la complejidad de cada archivo de interfase externa. Reglas . * En el caso de que no existan subgrupos. pero sólo dos se utilizan en nuestra aplicación. . Así aunque el archivo de interfase externa tenga 158 campos.

tenemos que tener esta información: Nombre del archivo de interfase externa: Datos elementales referenciados : Registros lógicos referenciados: Grado de la función : Una aplicación puede utilizar varios archivos lógicos internos o archivos e interfase externa en varios procesos. Las funciones de tipo transacción son: Dato Funciones Tipo Trans. [ Principal ] [ Introducción ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. No hay que suponer que un archivo físico es igual a un archivo lógico. pero los archivos lógicos internos y los archivos de interfase externa se cuentan sólo una vez. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prácticos ] [ Recursos ] Principal Las funciones de tipo transacción representan una funcionalidad Introducción proveída al usuario por el procesamiento de datos en una Funciones Tipo aplicación. PF Brutos Factor de Ajuste Entradas Externas (EE) PF Ajustados Casos Prácticos Salidas Externas (SE) Recursos Consultas Externas (CE) .

La referencia del uso de un archivo lógico interno o un archivo de interfase externa. Información de control Es el dato utilizado para garantizar la consistencia de la aplicación a los requerimientos de las funciones establecidas por el usuario. cuando se ingresa un nuevo cliente. algoritmos y cálculos. modificar o eliminar datos a través de procesos elementales de la aplicación. la .lógica de procesamiento debe poder validar esa información (si es suficiente. Por ejemplo. consistente y correcta). Mantenido El término mantenido se refiere a la habilidad de incluir. cuando se incluye un nuevo cliente .Proceso elemental Es la menor actividad con significado para los negocios del usuario Identificado por el usuario El termino se refiere a los requerimientos especificados por el usuario. edición. Por ejemplo. Lógica de Procesamiento Se llama lógica de procesamiento a cualquiera estos requerimientos especificados por el usuario para completar un proceso elemental: Adición.

Una entrada externa procesa los datos o informaciones de control que vienen desde fuera de la frontera de la aplicación. En cada caso debemos seguir ciertas reglas para identificar a una actividad de mantenimiento de datos o procesamiento de información de control como una entrada externa. Cómo se identifica una entrada externa? Señalamos que las entradas externas representan actividades de mantenimiento para los datos y los procesamientos de informaciones de control.se debe verificar si el cliente ya ha sido registrado Formato El formato se define como un conjunto de datos o informaciones de control agrupados en un orden o secuencia única dentro de la aplicación Entradas Externas Las entradas externas representan las actividades de mantenimiento de los datos y procesamientos de informaciones de control de la aplicación. A través de un proceso lógico actualizan o mantienen uno o varios archivos lógicos internos. Reglas para actividades de mantenimiento de datos Todas estas reglas deben ser aplicadas para que la actividad de mantenimiento de datos sea considerada una entrada externa: . Las entradas externas representan el flujo de información desde fuera hacia adentro de la aplicación. las informaciones de control que se procesan pueden o no realizar mantenimiento a un archivo lógico interno.

una de las siguientes opciones debe ser correcta: * La lógica de procesamiento es diferente de las lógicas procesadas en otras entradas externas de la aplicación * Los datos elementales identificados son diferentes de otras entradas externas de la aplicación. es mantenido por un proceso elemental El proceso es la menor unidad de actividad con significado para el usuario final de la aplicación. La lógica de procesamiento es diferente de las lógicas procesadas en otras salidas externas. para identificar entradas externas hay que determinar cada proceso que mantiene un archivo lógico interno. Con relación al proceso identificado.El dato es recibido desde fuera de la frontera de la aplicación El dato en un archivo lógico interno. Los elementos de datos identificados son diferentes de otras entradas externas. Este proceso debe ser la menor unidad de actividad desde la perspectiva del usuario y para cada proceso identificado. una de estas afirmaciones debe ser válida. Reglas para el procesamiento de informaciones de control Las informaciones de control son recibidas desde fuera de la frontera de la aplicación La información es especificada por el usuario para garantizar la coherencia y consistencia con las reglas del negocio En general. Ejemplos de entradas externas * Datos de transacciones utilizados para el mantenimiento de un archivo lógico interno No son consideradas entradas externas * Pantallas de login. 1. . 2.

en este caso. identificado por el usuario y mantenido en un archivo lógico interno por la entrada externa. * Múltiples maneras de realizar una misma entrada lógica (se considera sólo una entrada externa. en una entrada externa Un archivo de interfase externa consultado por un tipo de función. en este caso. Por ejemplo una adición de datos enviando un comando o presionando una tecla de función). Archivo lógico referenciado Un archivo lógico referenciado es: Un archivo lógico referenciado es un archivo lógico interno consultado o mantenido por un tipo de función. La complejidad de una entrada externa La complejidad de una entrada externa se determina a partir de la cantidad de archivos lógicos referenciados y el número de datos elementales referenciados. Datos externos utilizados por la aplicación pero no mantienen archivos lógicos internos * Pantallas de menú o navegación. La cantidad total de archivos referenciados es la suma de los archivos lógicos internos y archivos de interfase externa mantenidos o consultados en la entrada externa.Archivos lógicos referenciados * Contar un archivo lógico referenciado para cada archivo lógico interno mantenido. Para contar los archivos lógicos referenciados y datos elementales referenciados se deben usar las siguientes reglas.* Datos de referencia. Reglas . . en una entrada externa. Dato elemental referenciado Un dato elemental referenciado es un único campo no recursivo.

Datos elementales referenciados * Contar un dato elemental referenciado para cada campo no recursivo. que una entrada externa no puede ser procesada por error de edición. Reglas . Campos que indican condiciones de error durante el procesamiento o confirmación de que ese proceso se ha completado. * Contar las siguientes técnicas de implementación físicas como un único dato elemental referenciado: Un campo lógico que se almacena físicamente en múltiples campos.* Contar un archivo lógico referenciado para cada archivo lógico interno o archivo de interfase externa consultado durante el procesamiento de una entrada externa. En pantallas de exclusión. * Contar un archivo lógico referenciado en caso de que exista acceso a un archivo de mensaje de error. mantenido en un archivo lógico interno por la entrada externa. pero que es requerido por el usuario como una pieza única de información. pero es mantenido por una entrada externa. Líneas de comando o teclas de función que provean una acción a ser tomada por la entrada externa. validación o si hubiere un mensaje de confirmación. por medio de un campo o área en la pantalla. Un dato elemental referenciado debe ser contado cuando uno o más mensajes de error informasen al usuario. * Contar sólo un archivo lógico referenciado para cada archivo lógico interno que es consultado o mantenido por una entrada externa. Campos que aparecen más de una vez en un archivo lógico interno por cuestiones de técnicas o tecnologías de implementación. Determinación de la complejidad de una entrada externa . identificado por el usuario. contar sólo los campos clave. * Contar un dato elemental referenciado para cada campo presente en un archivo lógico interno que no es digitado por el usuario.

Al finalizar la identificación de las entradas externas y sus complejidades. para cada una de ellas. tenemos que tener esta información: Nombre de la entrada externa: Datos elementales referenciados : Archivos lógicos referenciados: Grado de la _______________________ función _______________________ _______________________ _______________________ : Por ejemplo: Nombre: Altas de clientes Datos elementales referenciados: 16 Archivos lógicos referenciados: 1 Grado: MEDIA (véase la Tabla 3) .La complejidad de una entrada externa se calcula a partir de la cantidad de archivos lógicos referenciados y el número de datos elementales referenciados y de acuerdo con la siguiente tabla Tabla 3 . una entrada externa con 2 archivos lógicos referenciados y 15 datos elementales referenciados tiene una complejidad: MEDIA.Complejidad de entradas externas 1 a 4 datos 5 a 15 datos 16 o más datos elementales elementales elementales referenciados referenciados referenciados 0 ó 1 archivo lógico SIMPLE referenciado 2 archivos lógicos SIMPLE referenciados 3 ó más archivos lógicos MEDIA referenciados SIMPLE MEDIA MEDIA COMPLEJA COMPLEJA COMPLEJA Así.

. Esta complejidad puede ser Simple. posee un formato de salida diferente de los demás o se necesita una lógica de procesamiento diferente de otras salidas externas que posean el mismo formato. Media o Compleja.Salidas Externas Una salida externa es un proceso elemental que genera datos o informaciones de control hacia fuera de las fronteras de la aplicación. Las siguientes reglas se deben aplicar para que la función sea considerada una salida externa: El proceso envía datos o informaciones de control hacia fuera de la aplicación. Cada salida externa debe se analiza estableciendo la cantidad de archivos lógicos referenciados y la cantidad de datos elementales referenciados. Una salida externa es considerada un proceso único dentro de la aplicación. las salidas externas también se pueden mostrar en pantalla. busque los datos o informaciones de control que están siendo enviadas hacia fuera de la aplicación. Aunque cada salida externa se relaciona con un informe en se emite en papel. El dato o información de control se envía a través de un proceso elemental de la aplicación. estas informaciones se utilizan para calcular la complejidad de cada Salida Externa. cada proceso que envía datos hacia fuera de la aplicación. Identificación de salidas externas Para identificar una salida externa. esto no es una regla. Se debe considerar una salida externa.

* los datos elementales identificados son diferentes de los datos de otras salidas externas de la aplicación. Con relación al proceso identificado. Ejemplos de salidas externas * Informes * Transferencias de datos hacia otra aplicación * Factura de un cliente No son consideradas salidas externas * Pantallas de ayuda * Pantalla de consulta * Menús de navegación * Consultas ad-hoc La complejidad de una salida externa La complejidad de una salida externa se determina en base al número de archivos lógicos referenciados y el número de datos elementales referenciados. se tiene cumplir una de las siguientes opciones: * La lógica de procesamiento es diferente de las lógicas procesadas en otras salidas externas.El proceso es la menor unidad de actividad con significado para el usuario final. Se debe definir la complejidad para cada salida externa identificada Archivo lógico referenciado Un archivo lógico referenciado es: Un archivo lógico referenciado es un archivo leído por la lógica de procesamiento de una salida externa .

* No contar literales. en un gráfico de tipo circular (torta) se tendría 2 datos elementales referenciados. Reglas para el conteo de datos elementales referenciados * Contar un dato elemental referenciado para cada campo.mes año. . nombres de pantallas. nombres de columnas. cantidad de páginas. Por ejemplo: Un mensaje que se incluya en un informe para indicar que una operación no fue completada con éxito. identificado por el usuario que aparece en una salida externa. identificado por el usuario. Información de texto que podría ser una única palabra. nombres de campos. Por ejemplo.Dato elemental referenciado Un dato elemental referenciado es un único campo no recursivo. que es requerido por el usuario como una única información. encabezados. Por ejemplo una fecha que se almacena en tres campos diferentes día . Reglas para el conteo de archivos lógicos referenciados Contar un archivo lógico referenciado para cada archivo lógico interno o archivo de interfase externa leído durante el procesamiento de una salida externa. uno para la descripción de cada parte y otro para el porcentaje de cada partición. Cada etiqueta y cada valor en un gráfico de salida. Por ejemplo: nombre del informe. sentencia o frase. hora. etc) * Contar las siguientes implementaciones físicas como un solo dato elemental referenciado: Un campo lógico almacenado como múltiples campos. no recursivo. que aparezca en una salida externa. * No contar numeraciones de páginas en informes o campos automáticos del sistema (como fecha.

una salida externa con 3 archivos lógicos referenciados y 15 datos elementales referenciados tiene una complejidad: MEDIA.Determinación de la complejidad de una salida externa La complejidad de una salida externa se calcula a partir de la cantidad de archivos lógicos referenciados y el número de datos elementales referenciados y de acuerdo con la siguiente tabla Tabla 4 .Complejidad de salidas externas 1 a 5 datos 6 a 19 datos 20 o más datos elementales elementales elementales referenciados referenciados referenciados 0 ó 1 archivo lógico SIMPLE referenciado 2 a 3 archivos lógicos SIMPLE referenciados 4 ó más archivos lógicos MEDIA referenciados SIMPLE MEDIA MEDIA COMPLEJA COMPLEJA COMPLEJA Así. tenemos que tener esta información: Nombre de la salida externa: Datos elementales referenciados : Archivos lógicos referenciados: Grado de la _______________________ función _______________________ _______________________ _______________________ : Por ejemplo: Nombre: Lista de clientes Datos elementales referenciados: 9 . para cada una de ellas. Al finalizar la identificación de las salidas externas y sus complejidades.

Las siguientes reglas se deben aplicar a las informaciones para que estas sean consideradas como consultas externas: Una solicitud de consulta que ingrese en la aplicación Los resultados de la salida se hacen para fuera de la aplicación Los datos son recuperados (consultados) La solicitud de consulta y los datos recibidos componen un proceso que es la menor unidad de actividad don significado para los .Archivos lógicos referenciados: 1 Grado: SIMPLE (véase la Tabla 4) Consultas Externas Una consulta externa es un proceso elemental compuesto por una combinación de entrada y salida que resulta en una recuperación de información. La parte correspondiente a la salida en una consulta externa no posee datos derivados y ningún archivo lógico interno es mantenido durante el proceso. Cómo se identifica una consulta externa? Para identificar consultas externas hay que observar donde ocurren solicitudes de recuperación de información (consultas) en la aplicación. Como existe una combinación de entrada y salida en una consulta externa. Los campos calculados son datos derivados. esto no debe considerarse una regla ya que las consulta externas se pueden mostrar mediante impresiones u otros medios de salida. Los datos derivados son aquellos que requieren de procesamiento complementario sobre el dato accesados en un archivo lógico interno o archivo de interfase externa. Aunque una consulta externa se asocia generalmente con consultas e informaciones en pantalla. ésta se divide en dos partes: la parte de entrada y la parte de salida.

negocios del usuario. * Los elementos de datos que componen la parte de entrada o la aparte de salida son diferentes de otras consultas externas de la misma aplicación Ejemplos de consultas * Consulta de datos de clientes * Consultas implícitas * Pantallas de login con funciones de seguridad * Pantallas de menú solicitadas por el usuario * Pantalla de menú que provee selección de pantallas y consulta de datos No son consideradas consultas externas * Menús de navegación * Pantalla de ayuda * Pantallas de menú que provee sólo selección de pantallas * Pantallas de login que sólo provee seguridad de acceso a la aplicación Reglas de conteo para consultas externas El proceso de conteo para las consultas externas establece las siguientes actividades: . El proceso no actualiza ningún archivo lógico interno Para el proceso identificado. una de las siguientes reglas debe ser válida: * La lógica de procesamiento de la parte de entrada o de la parte de salida es única cuando se compara con otras lógicas de consultas externas de la aplicación.

3. Identificar las consultas externas Determinar la complejidad de la parte de entrada Determinar la complejidad de la parte de salida Escoger la parte que contribuye con mayor número de puntos de función. que aparece en una consulta externa. 4. Dato elemental referenciado Un dato elemental referenciado es un campo no recursivo. tanto para la parte de entrada como de salida es: Contar la cantidad de archivos lógicos referenciados en la lógica de procesamiento de la consulta externa. 2. Archivo lógico referenciado Un archivo lógico referenciado es un archivo leído cuando la consulta externa es procesada. Se utiliza la mayor de las dos complejidades (entrada y salida) de la consulta externa para establecer la complejidad final de la consulta externa.1.Archivos lógicos referenciados La única regla de conteo aplicada a los archivos lógicos referenciados. identificado por el usuario. Determinación de la complejidad de una consulta externa Reglas . . La complejidad de una consulta externa La complejidad de una consulta externa se establece mediante la cantidad de archivos lógicos referenciados y el número de datos elementales referenciados para la parte de entrada y para la parte de salida. normalmente la parte de salida.

nombres de pantalla. Contar un dato elemental referenciado cuando uno o más mensajes de error informen al usuario que una consulta no fue realizada por error de edición o validación.Reglas .Datos elementales referenciados Las reglas siguientes se deben aplicar en el conteo de datos elementales. * Contar las siguientes técnicas de implementación física como un único dato elemental referenciado para todo el grupo de campos: Campos utilizados para indicar que el procesamiento fue realizado con éxito Campos que permitan la capacidad e especificar que la consulta externa debe ser ejecutada Por ejemplo. identificado por el usuario que aparece en la parte de salida de una consulta. Reglas para la parte de salida * Contar como un dato elemental referenciado cada campo no recursivo. Reglas para la parte de entrada * Contar un dato elemental referenciado para cada campo. * No contar literales como datos elementales referenciados. encabezados de columnas. nombre de informes. contar u dato elemental referenciado el botón Aceptar que debe ser presionado por el usuario para realizar la consulta. . aún si ocurre un mensaje de confirmación. * Contar un dato elemental referenciado para cada campo que especifica un criterio de selección de datos. Estas reglas se deben aplicar para las partes de entrada y de salida de una consulta. Los literales incluyen nombres de campos. no recursivo que aparece en la parte de entrada de una consulta externa.

Proceso de cálculo de la complejidad 1. Utilizar las reglas de identificación para determinar el número de archivos lógicos referenciados y datos elementales referenciados para la parte de entrada de la consulta externa 2.Complejidad de la parte de entrada de una consulta externa 1 a 4 datos 5 a 15 datos 16 o más datos elementales elementales elementales referenciados referenciados referenciados 0 ó 1 archivo lógico SIMPLE referenciado 2 archivos lógicos SIMPLE referenciados 3 ó más archivos lógicos MEDIA referenciados SIMPLE MEDIA MEDIA COMPLEJA COMPLEJA COMPLEJA . Identificar la complejidad de la parte de entrada utilizando esta tabla: Tabla 5 . que por causa de la tecnología empleada en el desarrollo de la aplicación. información de posicionamiento del cursor. * Contar las siguientes técnicas de implementación física como un único dato elemental referenciado para el conjunto de campos: Un campo lógico que es almacenado físicamente como múltiples campos y que es requerido por el usuario como una única información Campos. campos de fecha u hora.* No contar campos de paginación o campos automáticos del sistema tales como números de paginas. Utilizar las reglas de identificación para determinar el número de archivos lógicos referenciados y datos elementales referenciados para la parte de salida de la consulta externa 3. aparecen más de una vez en un archivo lógico interno.

Estas informaciones nos ayudarán a determinar el número de puntos de función brutos de la aplicación. la complejidad de la consulta externa será COMPLEJA. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prácticos ] [ Recursos ] . Seleccionar la mayor complejidad entre la parte de entrada y salida como complejidad de la consulta externa. En esta sección estudiamos cómo identificar y calcular el grado de complejidad de cada función.Complejidad de la parte de salida de una consulta externa 1 a 5 datos 6 a 19 datos 20 o más datos elementales elementales elementales referenciados referenciados referenciados 0 ó 1 archivo lógico SIMPLE referenciado 2 a 3 archivos lógicos SIMPLE referenciados 4 ó más archivos lógicos MEDIA referenciados SIMPLE MEDIA MEDIA COMPLEJA COMPLEJA COMPLEJA 5. Por ejemplo si la complejidad de la parte de entrada es MEDIA (utilizando a la tabla 5) y la complejidad de la parte de salida es COMPLEJA (utilizando la tabla 6) . Ese es el tema de la siguiente sección. Identificar la complejidad de la parte de salida utilizando esta tabla: Tabla 6 .4. [ Principal ] [ Introducción ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans.

de función brutos de la aplicación.Principal En la sección anterior estudiamos una serie de pasos para Introducción identificar la funciones de la aplicación (de tipo dato y tipo Funciones Tipo transacción) con el objeto de determinar la complejidad de Dato Funciones Tipo cada una de ellas. Para ello utilizaremos la PF Brutos siguiente tabla Factor de Ajuste PF Ajustados Tabla 7 Cálculo de Puntos de función brutos Casos Prácticos Recursos Tipo de función Complejidad Total Complejidad x7 x 10 x 15 x5 x7 x 10 x3 x4 x6 x4 x5 x7 x3 x4 x6 x Total por tipo Simples Archivos Lógicos Internos Medias Complejas Simples Archivos de Interfase Externa Medias Complejas Simples Entradas Externas Medias Complejas Simples Salidas Externas Medias Complejas Simples Consultas Externas Medias Complejas - - - - - . Con esta información calcularemos los puntos Trans.

7 Medias.Total de Puntos de Función Brutos Ejemplo Supongamos que hemos identificado las funciones y las complejidades para ellas de una aplicación y encontramos que existen: Archivos Lógicos Internos: 10 Simples. 5 Medias. 2 Complejos (es decir encontramos 10 archivos lógicos internos con complejidad Simple. 4 Aplicando los datos en la tabla anterior: . 3 Consultas Externas: Complejas 9 Simples. 7 Medias. 5 Salidas Externas: Complejas 8 Simples. 5 Medias. 5 archivos internos con complejidad Media y 2 archivos lógicos internos con complejidad Compleja. 5 Medias. 5 Complejos Entradas Externas: Complejas 13 Simples. en total identificamos 17 archivos lógicos internos) Archivos de Interfase Externa: 3 Simples.

pasaremos a la siguiente sección a determinar el factor de ajuste. La cantidad de puntos de función de la aplicación se obtiene . Una vez que hemos calculado los puntos de función brutos. la aplicación posee 425 puntos de función de brutos.Tipo función Archivos Lógicos Internos de Complejidad Simples Medias Complejas Total x Total por tipo Suma Complejidad 10 x 7 5 x 10 2 x 15 3 2x7 0 x 10 13 x 3 7x4 5x6 8x4 5x5 3x7 9x3 5x4 4x6 70 50 30 15 14 0 39 28 30 32 25 21 27 20 24 71 78 97 29 ( 15 +14 + 0 ) 150 ( 70+50+30 ) Archivos Interfase Externa de Simples Medias Complejas Simples Entradas Externas Medias Complejas Simples Salidas Externas Medias Complejas Simples Consultas Externas Medias Complejas Total Puntos Función Brutos de de 425 (150 + 29 +97 +78 +71) En este ejemplo.

PF Brutos Factor de Ajust e PF Ajustados Casos Prácticos Recursos El cálculo del factor de ajuste está basado en 14 características generales de los sistemas que miden la funcionalidad general de la aplicación. atribuyendo un peso de 0 a 5 para cada característica 2. Calcular el nivel de influencia. Calcular el facto de ajuste. Cálculo del factor de ajuste Para calcular el factor de ajuste hay que seguir estos pasos: 1. 3. que se obtiene sumando los pesos de cada una de las 14 características. Características generales de los sistemas Estás son las 14 características generales de los sistemas . A cada característica se le atribuye un peso que varía de 0 a 5 e indica el grado o nivel de influencia que cada característica tiene en la aplicación que está siendo estudiada. [ Principal ] [ Introducción ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans.multiplicando los PF Brutos por el valor del factor ajuste calculado. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prácticos ] [ Recursos ] Principal Introducción Funciones Tipo Dato Funciones Tipo Trans. aplicando la fórmula correspondiente. Evaluar el impacto de cada una de las 14 características generales del sistema.

Facilidad de cambios Niveles de influencia Cada característica debe ser especificada en términos de su influencia. Perfomance (desempeño) 4. Procesamiento complejo 10. utilizándose una escala de 0 a 5 Tabla 8. Múltiples locales 14. Comunicación de datos 2. Procesamiento distribuido 3. Facilidad de implementación 12. Configuración del equipamiento 5. . Niveles de influencia Grado 0 1 2 3 4 5 Descripción No está presente o no influye Influencia Mínima Influencia Moderada Influencia promedio Influencia significativa Influencia fuerte Cada característica tiene su definición formal que permite determinar el gado de influencia.1. Interfase con el usuario 8. Actualización on-line 9. Entrada de datos on-line 7. Volumen de transacciones 6. Facilidad de operación 13. Reusabilidad 11. Determinación del nivel de influencia Aquí se describirán cada una de las 14 características mencionadas y cómo analizar su grado de influencia en la determinación del factor de ajuste.

Procesamiento distribuido Datos o procesamiento distribuidos entre varias unidades de procesamiento (CPUs) son características generales que pueden .1. y soporta apenas un protocolo de comunicación La aplicación es más que una entrada on-line y soporta más de un protocolo de comunicación 0 1 2 3 4 5 2.Comunicación de datos Los datos e informaciones de control utilizados por la aplicación son enviados o recibidos a través de recursos de comunicación de datos. Calificar el nivel de influencia en la aplicación de acuerdo con la siguiente tabla: Grado Descripción Aplicación puramente batch o funciona en una computadora aislada La aplicación es batch. pero utiliza entrada de datos remota e impresión remota La aplicación incluye entrada de datos on-line vía entrada de video o un procesador front-end para alimentar procesos batch o sistemas de consultas. pero utiliza entrada de datos remota o impresión remota La aplicación es batch. Terminales y estaciones de trabajo son algunos ejemplos. Todos los dispositivos de comunicación utilizan algún tipo de protocolo de comunicación. La aplicación es más que una entrada on-line.

Grado 0 Descripción Ningún requerimiento especial de perfomance fue solicitado por el . establecidos y aprobados por el usuario en términos de respuesta. los transfiere y entonces son procesados en otro equipamiento de la empresa (no por el usuario final) Procesamiento distribuido y la transferencia de datos son on-line. en ambas direcciones Las funciones de procesamiento son dinámicamente ejecutadas en el equipamiento más adecuado 0 1 2 3 4 5 3. influye o podría influenciar el proyecto. Grado Descripción La aplicación no contribuye en la transferencia de datos o funciones entre los procesadores de la empresa La aplicación prepara datos para el usuario final en otra CPU de la empresa La aplicación prepara datos para transferencia. desarrollo. implementación o soporte de la aplicación.influenciar en la complejidad de la aplicación. en apenas una dirección Procesamiento distribuido y la transferencia de datos son on-line.Perfomance Los objetivos de la perfomance del sistema.

El intervalo de tiempo límite para la disponibilidad de procesamiento es siempre el próximo día hábil El tiempo de respuesta y volumen de procesamiento son items críticos durante todo el horario comercial. sin embargo ninguna acción especial fue requerida El tiempo de respuesta y el volumen de datos son críticos durante horarios pico de procesamiento.usuario Requerimientos de perfomance y de diseño fueron establecidos y previstos.Configuración del equipamiento Esta característica representa la necesidad de realizar consideraciones especiales en el diseño de los sistemas para que la configuración del equipamiento no sea sobrecargada . Ninguna determinación especial para la utilización del procesador fue establecida. Ninguna determinación especial para la utilización del procesador fue establecida. herramientas de análisis de perfomance fueron usadas en las fases de diseño. desarrollo y/o implementación para atender los requerimientos de perfomance establecidos por el usuario 1 2 3 4 5 4. El tiempo limite necesario para la comunicación con otros sistemas es un aspecto importante Los requerimientos de perfomance establecidos requieren tareas de análisis de perfomance en la fase de análisis y diseño de la aplicación Además de lo descrito en el ítem anterior.

anualmente o en un cierto periodo del año Se prevén picos semanales 1 2 . trimestralmente. desarrollo. hay consideraciones especiales en la distribución del sistema y sus componentes 1 2 3 4 5 5. implementación y mantenimiento de la aplicación Grado 0 Descripción No están previstos periodos picos de volumen de transacción Están previstos picos de transacciones mensualmente.Volumen de transacciones El nivel de transacciones es alto y tiene influencia en el diseño. No es necesario un esfuerzo especial para resolver estas restricciones Algunas consideraciones de ajuste de perfomance y seguridad son necesarias Son necesarias especificaciones especiales de procesador para un módulo específico de la aplicación Restricciones operacionales requieren cuidados especiales en el procesador central o procesador dedicado Además de las características del ítem anterior.Grado 0 Descripción Ninguna restricción operacional explícita o implícita fue incluida Existen restricciones operacionales leves.

es necesario utilizar herramientas de análisis de perfomance en las fases de diseño. desarrollo y/o implementación 4 5 6.Interfase con el usuario .3 Se prevén picos diariamente Alto nivel de transacciones fue establecido por el usuario. el tiempo de respuesta necesario exige un nivel alto o suficiente para requerir análisis de perfomance y diseño Además de lo descrito en el ítem anterior.Entrada de datos on-line Esta característica cuantifica la entrada de datos on-line proveída por la aplicación Grado 0 Descripción Todas las transacciones procesadas en modo batch son 1 De 1% al 7% de las transacciones son entradas de datos on-line De 8% al 15% de las transacciones son entradas de datos on-line De 16% al 23% de las transacciones son entradas de datos on-line De 24% al 30% de las transacciones son entradas de datos on-line Más del 30% de las transacciones son entradas de datos on-line 2 3 4 5 7.

buscando aumentar la eficiencia del usuario final. cuente como seis items) Grado 0 1 Descripción ningún de los items descritos De uno a tres de los items descritos . accesos directos y menús dinámicos) Menús Documentación y ayuda on-line Movimiento automático del cursor Scrolling vertical y horizontal Impresión remota (a través de transacciones on-line) Teclas de función preestablecidas Ejecución de procesos batch a partir de transacciones on-line Selección de datos vía movimiento del cursor en la pantalla Utilización intensa de campos en video reverso. subrayados. intensificados. coloridos y otros indicadores Impresión de la documentación de las transacciones on-line por medio de hard copy Utilización del mouse Menús pop-up El menor número de pantallas posibles para ejecutar las funciones del negocio Soporte bilingüe (el soporte de dos idiomas. El sistema posee: Ayuda para la navegación (teclas de función. cuente como cuatro items) Soporte multilingüe (el soporte de más de dos idiomas.Las funciones on-line del sistema hacen énfasis en la amigabilidad del sistema y su facilidad de uso.

no hay requerimientos específicos del usuario en cuanto a amigabilidad del sistema Más de cinco de los items descritos. y fueron descritos requerimientos en cuanto a amigabilidad del sistema suficientes para generar actividades específicas incluyendo factores tales como minimización de la digitación Más de cinco de los items descritos y fueron establecidos requerimientos en cuanto a la amigabilidad suficientes para utilizar herramientas especiales y procesos especiales para demostrar anticipadamente que los objetivos fueron alcanzados 3 4 5 8. la protección contra pérdidas de datos 2 3 4 .Actualización on-line La aplicación posibilita la actualización on-line de los archivos lógicos internos Grado 0 1 Descripción Ninguna Actualización on-line de uno a tres archivos lógicos internos Actualización on-line de más de tres archivos lógicos internos Actualización on-line de la mayoría de los archivos lógicos internos Además del ítem anterior.2 De cuatro a cinco de los items descritos Más de cinco de los items descritos.

transacciones de datos incompletas interrumpidas por problemas de comunicación o con datos incompletos Procesamiento complejo para manipular múltiples posibilidades de entrada/salida. Ejemplo: multimedia Grado 0 1 2 3 4 Descripción Ninguno de los items descritos apenas uno de los items descritos Dos de los items descritos Tres de los items descritos Cuatro de los items descritos .es esencial y fue específicamente proyectado y codificado en el sistema Además del ítem anterior. resultando en transacciones incompletas que deber ser procesadas nuevamente. altos volúmenes influyen en la las consideraciones de costo en el proceso de recuperación. Procesos para automatizar la recuperación fueron incluios minimizando la intervención del operador 5 9. Por ejemplo.Procesamiento complejo El procesamiento complejo es una de las características de la aplicación. los siguientes componentes están presentes: Procesamiento especial de auditoria y/o procesamiento especial de seguridad Procesamiento lógico extensivo Procesamiento matemático extensivo Gran cantidad de procesamiento de excepciones.

Un plan de conversión e .Reusabilidad La aplicación y su código serán o fueron proyectados. Grado 0 1 Descripción No presenta código reutilizable Código reutilizado fue usado solamente dentro de la aplicación Menos del 10% de la aplicación fue proyectada previendo la utilización posterior del código por otra aplicación 10% o más de la aplicación fue proyectada previendo la utilización posterior del código por otra aplicación La aplicación fue específicamente proyectada y/o documentada para tener su código fácilmente reutilizable por otra aplicación y la aplicación es configurada por el usuario a nivel de código fuente La aplicación fue específicamente proyectada y/o documentada para tener su código fácilmente reutilizable por otra aplicación y la aplicación es configurada para uso a través de parámetros que pueden ser alterados por el usuario 2 3 4 5 11.Facilidad de implementación La facilidad de implementación y conversión de datos son características de la aplicación. desarrollados y mantenidos para ser utilizados en otras aplicaciones.5 Todos los items descritos 10 .

Procedimientos de inicialización. respaldo y recuperación fueron proveídos y probados durante la fase de prueba del sistema. conversión automática y herramientas de implementación fueron proporcionadas y probadas Además del ítem 3. manoseo de papel e . más procedimientos especiales son requeridos en la implementación Requerimientos de conversión e implementación fueron establecidos por el usuario y rutinas de de conversión e implementación fueron proporcionados y probados. La aplicación minimiza la necesidad de actividades manuales.implementación y/o herramientas de conversión fueron proveídas y probadas durante la fase de prueba de la aplicación Grado Descripción Ninguna consideración especial fue establecida por el usuario y ningún procedimiento especial fue necesario en la implementación Ninguna consideración especial fue establecida por el usuario. tales como montaje de cintas magnéticas. el impacto de conversión en el proyecto es considerado importante Además del ítem 2.Facilidad de operación La facilidad de operación es una característica del sistema. el impacto de conversión en el proyecto no es considerado importante Requerimientos de conversión e implementación fueron establecidos por el usuario y rutinas de de conversión e implementación fueron proporcionados y probados. conversión automática y herramientas de implementación fueron proveídas y 0 1 2 3 4 5 12.

diseñada e mantenida para ser instalada en múltiples locales de una organización o para múltiples organizaciones.Múltiples locales La aplicación fue específicamente proyectada. respaldo y recuperación sin ninguna intervención del operador (contar como 2 items) La aplicación minimiza la necesidad de montaje de cintas magnéticas La aplicación minimiza la necesidad de manoseo de papel La aplicación fue diseñada para trabajar sin operador. excepto ejecutar y cerrar la aplicación. siendo necesaria la intervención del operador 1-4 Se establecieron procesos de inicialización. La aplicación posee rutinas automáticas de recuperación en caso de error 0 5 13. Grado Descripción Ninguna consideración especial de operación. ninguna intervención del operador es necesaria para operar el sistema. Cada ítem vale un punto.intervención del operador. excepto se defina lo contrario: Fueron desarrollados procedimientos de inicialización y respaldo. además del proceso normal de respaldo establecido por el usuario Verificar cuáles de las siguientes afirmaciones pueden ser identificadas en la aplicación. .

Grado Descripción Los requerimientos del usuario no consideran la necesidad de instalación de más de un local La necesidad de múltiples locales fue considerada en el proyecto y la aplicación fue diseñada para operar apenas sobre el mismo ambiente de hardware y software La necesidad de múltiples locales fue considerada en el proyecto y la aplicación fue diseñada para operar en ambientes similares de software y hardware La necesidad de múltiples locales fue considerada en el proyecto y la aplicación está separada para trabajar sobre diferentes ambientes de hardware y/o software Plan de mantenimiento y documentación fueron proporcionados y probados para soportar la aplicación en múltiples locales.Facilidad de cambios La aplicación fue específicamente proyectada y diseñada con vistas a facilitar su mantenimiento. además el ítem 3 caracteriza a la aplicación 0 1 2 3 4 5 14. además los items 1 y 2 caracterizan a la aplicación Plan de documentación e mantenimiento fueron proveídos y probados para soportar la aplicación en múltiples locales. Las siguientes características pueden ser atribuidas a la aplicación: Están disponibles facilidades como consultas e informes flexibles .

pero los cambios se hacen efectivos solamente al día siguiente Datos de control son almacenados en tablas que son mantenidas por el usuario a través de procesos on-line. pero los cambios se hacen efectivos inmediatamente (contar 2 items) Grado 0 1 2 3 4 5 Descripción Ninguno de los items descritos apenas uno de los items descritos Dos de los items descritos Tres de los items descritos Cuatro de los items descritos Todos los items descritos Una vez que tipificamos los niveles de influencia para las 14 características.para atender necesidades simples (contar 1 ítem) Están disponibles facilidades como consultas e informes flexibles para atender necesidades de complejidad media (contar 2 items) Están disponibles facilidades como consultas e informes flexibles para atender necesidades complejas (contar 3 items) Datos de control son almacenados en tablas que son mantenidas por el usuario a través de procesos on-line. obtendremos una tabla como la siguiente: Características generales del sistema Nivel de influencia 1.Procesamiento distribuido 4 0 .Comunicación de datos 2.

65 = 0.Facilidad de cambios Nivel de influecia 0 1 1 5 1 5 0 0 0 0 0 0 17 Factor de Ajuste El factor de ajuste se calcula mediante la fórmula: Factor de ajuste = (Nivel de influencia * 0.Interfase con el usuario 8. Este es el tema de la siguiente sección [ Principal ] [ Introducción ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans.Reusabilidad 11-Facilidad de implementación 12.Actualización on-line 9.65 Utilizando la fórmula en el ejemplo: Factor de ajuste = (17 * 0.01) + 0.Perfomance (desempeño) 4-Configuración del equipamiento 5.Facilidad de operación 13.Procesamiento complejo 10.01) + 0.Entrada de datos on-line 7.Múltiples locales 14.Volumen de transacciones 6. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prácticos ] [ Recursos ] .82 El factor de ajuste se utiliza luego para calcular los Puntos de Función ajustados de la aplicación.3.

podremos calcular los Introducción puntos de función mediante la aplicación de la fórmula: Funciones Tipo Dato Funciones Tipo Puntos de función = Puntos de función brutos * Factor de Trans. por ejemplo.5 PF . Más adelante.5 Por lo tanto. el tamaño de la aplicación o proyecto de desarrollo es de 348. Ajuste PF Brutos Factor de Ajuste Cabe señalar que esta fórmula se utiliza para los proyectos en PF Ajustados y aplicaciones terminadas. si realizamos el proceso para un proyecto de desarrollo y tenemos que: Puntos de Función Brutos = 425 Factor de Ajuste = 0.82 Puntos de función = 348. Casos Prácticos desarrollo estudiaremos una formula diferente para el calculo de los Recursos puntos de función de un proyecto de mantenimiento de un aplicación Así.82 aplicando la fórmula: Puntos de función = Puntos de función brutos * Factor de Ajuste Puntos de función = 425 * 0.Principal Una vez determinado el factor de ajuste.

costos. Esfuerzo para el desarrollo de una aplicación El esfuerzo necesario para desarrollar una aplicación puede ser definido como la cantidad de horas de trabajo necesarias para desarrollar una aplicación. Productividad en el desarrollo de una aplicación La productividad en en el desarrollo de una aplicación se traduce como la velocidad con la que la aplicación fue construida. Con este valor podremos realizar estimaciones de plazos. supongamos que un analista de sistemas trabajó 900 horas para desarrollar una aplicación de 400 puntos de función. por lo tanto es: Productividad = 900 horas / 400 PF Productividad = 2. Tal como veremos a continuación. esto es. Productividad = Tiempo / Puntos de función Por ejemplo... . su productividad. cuántas unidades de tamaño (PF) fueron construidas en una unidad de tiempo o cuantas unidades de tiempo fueron consumidas para realizar una unidad de software. ahora. recursos.Bien.25 horas / PF Existen datos estadísticos que nos permiten estimar la cantidad de puntos por función por hora de acuerdo con el lenguaje utilizado o la cantidad de instrucciones que se necesitan para construir un punto de función. etc. de acuerdo con el nivel de lenguaje utilizado (Ver la sección Recursos). para qué nos sirve ese numero? Recordemos que ese número representa la cantidad de unidades de software de un proyecto o aplicación.

cuál es el esfuerzo necesario para desarrollar una aplicación de 400 PF por un analista cuya productividad histórica es de 2. Costo de la aplicación El costo de la aplicación se define como el tamaño de la misma en PF multiplicado por el costo de un punto de función. se recomienda que se estime el costo en base al valor de las aplicaciones más importantes que se han desarrollado. para tener una idea de nuestros costos. Así se podrá calcular una estimación de costo en base a estos datos y tendremos una idea de cómo estamos fijando el costo para un punto de función. los materiales utilizados. cuanto cuesta un punto de función? Esta pregunta no puede ser respondida. ya que se tienen en cuenta los jornales de los profesionales involucrados. ya que varía considerablemente a punto de ser imposible fijar un valor de referencia. puede resultar menos complicado estimar el costo.Esfuerzo = Productividad * Tamaño del software Por ejemplo. Es decir.25 horas de trabajo / PF * 400 PF Esfuerzo= 900 horas de trabajo Por medio de esta formula podremos estimar el tiempo necesario de desarrollo de una aplicación. en base al proyecto de desarrollo. Sin embargo para los que (como yo) trabajan de forma independiente. Costo total = Tamaño de la aplicación * Costo unitario Pero.25 horas de trabajo por punto de función? Esfuerzo = 2. estimando el tiempo en que se tardó desarrollar esa aplicación. y calculando el tamaño de la misma. En las empresas dedicadas al desarrollo de software. etc. apliquemos el análisis de puntos de función a una aplicación importante que hayamos desarrollado y mediante .

Se verificó que las funciones nuevas representan 750 puntos de función. es posible atender la solicitud. es necesario disponer de datos históricos. Analizando el histórico del sistema se pudo constatar que el año pasado la tasa promedio para el mantenimiento evolutivo ha sido de 15 PF/hombre x mes. con una productividad de 15 PF/hm representa 75 puntos de función por mes. Por ejemplo. El especialista en Análisis de Puntos de Función es llamado para opinar. por tanto. Para estimar. en seis meses son 450 puntos de función y no 750 PF.25 dólares por puntos de función De esta forma. más adelante y aplicando el análisis de puntos por función podremos realizar estimaciones de costos.el costo de la misma. si cobramos 400 dólares por una aplicación y luego determinamos que esa aplicación tiene 320 PF. . con un equipo actual de cinco técnicos. Un equipo de cinco personas. entonces podremos calcular que el costo por PF es de: Costo unitario = Costo Total / PF Costo unitario = 400 dólares / 320 PF Costo unitario = 1. calculemos cuanto cobramos por PF para esa aplicación y tomemos este valor como referencia. Ejemplos de estimaciones Este ejemplo fue presentado por Marco Aurelio Andrade de Unysis e ilustra claramente la importancia de del Análisis de puntos por función en las estimaciones de un proyecto: Supongamos un escenario en el que usuario final solicita al equipo de informática un mantenimiento evolutivo en el Sistema de Control de Ventas. Es deseo del usuario tener las modificaciones listas en un plazo ideal de tres meses y máximo de seis meses. El equipo de informática afirma que.

se tiene que será posible disponer de 450 PF. cuatro meses más que el plazo inicial de 6 meses. encontramos que serán necesarios 8.Más productividad Productividad = 750 PF / (5 hombres * 6 meses)= 25 PF/hm .Más personal Número de hombres = 750 PF / (6 meses * 15 PF/hm) = 8. una misma productividad de 15 PF/hm y tiempo de seis meses. O sea serán necesarias cuatro personas más en el equipo inicial. 3. o sea 300 PF menos que lo planeado inicialmente. redondeando 9 hombres. encontramos que el plazo necesario es de 10 meses. el plazo deseado de 6 meses y con una productividad de 15 PF/hm.Más tiempo Numero de meses = 750 PF / (5 hombres * 15 PF/hm) = 10 meses Como el proyecto de mantenimiento tiene un tamaño de 750 PF. 2. probablemente las dos cosas podrían ocurrir.Asumir esta situación representa un riesgo enorme: el plazo no será cumplido o el proyecto tendrá una calidad insatisfactoria.3 hombres. Queda a criterio del usuario definir cuales son las funciones principales que desea implementar para que no sobrepasen 450 PF. el gerente de proyecto puede analizar las alternativas: Más Personal: Cuántas personas? Más tiempo: Cuánto tiempo más? Menos funcionalidad: Qué funciones excluir? Mejorar la productividad: A cuánto? Utilizando la formula básica: Números de Puntos de Función = Número de Personas * Numero de meses * 1. utilizando 5 hombres con una productividad de 15PF/hm. O sea.Menos funcionalidad Numero de PF = 15 PF * 5 hombres * 6 meses = 450 PF Considerando 5 hombres.3 hombres Como el tamaño del proyecto de mantenimiento es de 750 PF. Disponiendo de estas informaciones. 4.

nuevas herramientas? En suma. El desafío será como alcanzar esta productividad. [ Principal ] [ Introducción ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. pero se . ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prácticos ] [ Recursos ] Principal Introducción Funciones Tipo Dato Funciones Tipo Trans. encontramos que será necesario aumentar la productividad de 15 PF/hm a 25 PF/hm para atender el trabajo propuesto. PF Brutos Factor de Ajust e PF Ajustados Casos Prácticos Recursos En esta sección pondremos en práctica el marco teórico de las secciones anteriores. El sistema de clientes será diseñado en un lenguaje de cuarta generación utilizando una base de datos y será implementado en un equipamiento Unix o en un entorno de redes. El sistema será utilizado por cerca de 60 funcionaros en un ambiente on-line a través de terminales. el volumen de transacciones no será alto. cinco hombres y un plazo de seis meses. Con un nuevo método.Considerando el proyecto de 750 PF. no sentimentalmente sino utilizando técnicas consistentes. como consecuencia. las pantallas deben ser de fácil utilización y deben estar siempre presentes pantallas de ayuda. el gerente del proyecto puede analizar las alternativas y escoger la mejor solución. Los usuarios conocen poco de informática. Comenzaremos con un proyecto de desarrollo. Descripción El sistema de clientes será diseñado para apoyar algunas áreas de una empresa. específicamente al departamento de ventas y al departamento de marketing.

espera que cada fin de año sea un periodo crítico. Principales funciones del sistema Registro de datos de clientes Modificación de los datos de clientes Consulta de datos de clientes Registro de datos de productos Modificación de datos de productos Seguridad para acceso al sistema Pedidos de clientes Archivos Registro de Clientes Ítem Código-cliente Nombre-cliente Razón-social Tipo-cliente Territorio Dirección Barrio Zona-postal Ciudad RUC Registro-contribuyente Contacto1 Telefonon1 Contacto2 Telefono2 Tamaño 6 12 30 2 3 30 12 8 12 12 12 20 10 20 10 Tipo Numérico Alfanumérico Alfanumérico Numérico Alfanumérico Alfanumérico Alfanumérico Numérico Alfanumérico Numérico Numérico Alfanumérico Numérico Alfanumérico Numérico Histórico de Clientes .

Ítem Código-cliente Producto1-mas-comprado-94 Valor-compra-producto1-94 Precio-medio-prod1-94 Producto2-mas-comprado-94 Valor-compra-producto2-94 Precio-medio-prod2-94 Producto3-mas-comprado-94 Valor-compra-producto3-94 Precio-medio-prod3-94 Total-compra-año-anterior Total-compra-año Total-compra-mes-actual Total-compra-mes-año-94 Tamaño 6 12 12 12 12 12 12 12 12 12 12 12 12 12 Tipo Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Numérico Registro de Productos Ítem Código-producto Nombre-producto Descripción-producto Tipo-producto Unidad-producto Costo-medio-unitario Precio-medio-unitario Principal-proveedor Precio-ultima-compra Principal-cliente Fecha-ultimo-pedido Cantidad-ultimo-pedido Precio-unit-ultimo-pedido Tamaño 12 12 30 2 3 12 12 12 12 12 8 8 12 Tipo Numérico Alfanumérico Alfanumérico Numérico Alfanumérico Numérico Numérico Alfanumérico Numérico Alfanumérico Numérico Numérico Numérico Registro de pedidos Ítem Numero-pedido Tamaño 10 Tipo Numérico .

agilizando la utilización del sistema para nuevos usuarios y aumentando la productividad en la utilización. Pantalla de registro de cliente (Alta de cliente) Registro de Clientes Código [______] Nombre Social [________________] Tipo [__] Territorio [______] contribuyente [________] [____________] Razón RUC [____] Registro de Barrio Dirección [____________________________] [_______________] Zona Postal [______] Contacto 1 [____________] Contacto 2 Ciudad [_____________] [____________________] [____________________] Teléfono Teléfono .Código-producto Código-cliente Cantidad Precio-unitario Fecha-pedido 12 6 12 12 8 Numérico Numérico Numérico Numérico Numérico Registro de contraseñas Ítem Código-usuario Contraseña Fecha-validez Fecha-ultimo-acceso Hora-ultimo-acceso Tamaño 6 6 8 8 8 Tipo Numérico Alfanumérico Numérico Numérico Numérico Pantallas del sistema A cada pantalla del sistema se debe asociar una pantalla de ayuda.

excepto el código de cliente Reglas: Emitir un mensaje de error en caso de que el .[____________] Archivos referenciados: Clientes Datos: Todos los del archivo Reglas: válido Emitir un mensaje de error en caso de que el RUC no sea Emitir un mensaje de error en caso de que el cliente ya exista Pantalla de Modificación de datos de cliente Modificación de datos de Clientes Código [______] Nombre Social [________________] Tipo [__] Territorio [_____] contribuyente [_______] [____________] RUC [____] Razón Registro de Barrio Dirección [____________________________] [_______________] Zona Postal [______] Contacto 1 [____________] Contacto 2 [____________] Ciudad [_____________] [____________________] [____________________] Teléfono Teléfono Archivos referenciados: Clientes Datos: Todos pueden ser modificados.

Histórico de clientes Datos: 12 de archivos de clientes y dos de histórico de clientes Reglas: Se debe ingresar el código de cliente Verificar si el cliente existe. en caso contrario emitir mensaje de error El archivo histórico de clientes pertenece a otra aplicación Pantalla de eliminación de cliente Eliminación de datos de Cliente Código [______] Archivos referenciados: Clientes .Pantalla Consulta de clientes Consulta de Clientes Código [______] Nombre Social [________________] Tipo [__] Territorio [_____] contribuyente [________] [____________] Razón RUC [____] Registro de Barrio Dirección [____________________________] [_______________] Zona Postal [______] Contacto 1 [____________] Ciudad [_____________] [____________________] Teléfono Total Compra Año [_____________] actual [____________] Total Compra mes Archivos referenciados: Clientes .

en caso contrario emitir mensaje de error Pantalla de registro de productos Registro de Productos Código [______] Nombre Descripción [________________] Tipo [__] Unidad [______] medio [________] Principal proveedor medio [__________] [____________] Costo medio [____] Precio Precio [____________________] Principal cliente [______________________] Fecha de última compra compra Precio unitario [___] [___] [___] Cantidad última Archivos referenciados: Productos Datos: Todos los del archivo Reglas: Pantalla de modificación de datos de productos Modificación de datos de Productos Código [______] Nombre [____________] .Datos: Sólo es necesario ingresar el código de cliente Reglas: Verificar si el cliente existe.

excepto el código de Reglas: Pantalla de consulta de productos Consulta de datos de Productos Código [______] Nombre Descripción [________________] Tipo [__] Unidad [______] Precio medio [________] [____________] Costo medio [____] Precio Principal proveedor [_________________] medio [_______________] Principal cliente [______________________] Fecha de última compra Cantidad última .Descripción [________________] Tipo [__] Unidad [______] medio [________] Costo medio [____] Precio Precio medio Principal proveedor [_________________] [_______________] Principal cliente [______________________] Fecha de última compra compra Precio unitario [___] [___] [___] Cantidad última Archivos referenciados: Productos Datos: Todos pueden ser modificados.

en caso contrario emitir mensaje de error Pantalla de pedidos de clientes Pedidos de Clientes Número de pedido [______] pedido [____________] Fecha de .compra [___] Precio unitario [___] [___] Archivos referenciados: Productos Datos: Reglas: Pantalla de eliminación de productos Eliminación de datos de Productos Código [______] Archivos referenciados: Productos Datos: Sólo es necesario ingresar el código de producto Reglas: Verificar si el producto existe.

Código de cliente [_______] Código producto Precio unitario [___] [___] [___] Cantidad Archivos referenciados: Clientes. Actualizar las informaciones sobre el pedido en el registro de productos Pantalla de acceso al sistema Pantalla de Identificación Código del usuario [______] Contraseña [______] Archivos referenciados: Contraseñas Datos: Reglas: El usuario y la contraseña deberán ser válidos para acceder al sistema. Productos y Pedidos Datos: Reglas: Verificar si el pedido existe. Verificar si el cliente existe. Emitir un mensaje de error cuando sea necesario. Menú del sistema . El archivo de contraseñas no es mantenido por la aplicación. Verificar si el producto existe.

Menú de opciones Esta pantalla permite que el usuario seleccione la función .Inclusión de clientes 2. deberá ingresar.Exclusión de productos 9.Inclusión de productos 6. se mostrará el informe en blanco.Menú Ayuda [___] 1.Modificación de datos de clientes 3.Consulta de datos de productos 8 .Pedidos de clientes 10. además.Lista de clientes inactivos Fecha [______] Opción deseada [_] Archivos referenciados: Ninguno Datos: Se debe ingresar el número de la opción deseada Reglas: En el caso que el usuario selecciones la opción de lista de clientes inactivos.Modificación de datos de productos 7.Exclusión de clientes 5. una fecha y serán considerados todos los clientes que tuvieran su último pedido realizado antes de la fecha especificada. Si ningún registro cumple con la condición.Consulta de datos de clientes 4. Pantalla de ayuda Ayuda .

Lista de clientes Fecha: clientes xx/xx/xx Página: X Lista de .que desea utilizar: Inclusión de clientes: Permite el registro de datos de un nuevo cliente. Modificación de datos de clientes: Permite modificar los datos de un cliente Consulta de datos de clientes: Consulta la información de un cliente Exclusión de clientes: Permite eliminar los datos de un cliente Inclusión de productos: Opción que permite registrar los datos de un nuevo producto Modificación de datos de productos: Permite modificar los datos de un producto Consulta de datos de productos: Consulta la información de un producto Exclusión de productos: Permite eliminar los datos de un producto Volver a la pantalla anterior [_] Archivos referenciados: Ninguno Datos: Reglas: La pantalla debe ser presentada cuando el usuario la solicite mediante el campo de Ayuda Informes 1.

................. ........Código Nombre Razón Social RUC Reg........... .... . ............ ........ ........... ..................... .......... ............ ............... Barrio ...................... Cont.................. ........................................................... .......... ............................ 3........................ .. .. ............. .................................... ....... ........................ ......................... Total de Clientes: XXXX 2.....Clientes Inactivos Fecha: Inactivos xx/xx/xx Página: X Dirección Clientes Código Razón Social Tipo RUC Ciudad Ultimo Pedido .. . ... ..... .. .. .. ........ ... .. . ...... ...... ......... ............................. ... ... Contacto Teléfono ................ .. ...... .... . ......... . .................. .......... .. ............ .... ..... ................................................. .. . ................ ............ Tipo Territorio ........................Lista de Productos Fecha: Productos Código xx/xx/xx Página: X Descripción Unidad Lista de Nombre Costo medio ............................ .... ................. ............................. ...... ............ ................ ... ..... ........ . ..

....... ... Los pasos que vamos a seguir son: 1............................................... consultas externas) 2......... (El resultado es el tamaño del sistema en Puntos de Función) Identificación de funciones Archivos Lógicos Internos Registro de Clientes .................................... archivos lógicos externos....................... ....... ...... ......... Proceso de Conteo Una vez que tenemos la descripción del sistema y sus componentes............ ... ..... ................... Calcular puntos de función no ajustados 4....... ............. Identificar las funciones (Archivos lógicos internos... iniciamos el proceso de conteo para determinar los puntos de función del proyecto............... .......... .......... ... Clasificar las funciones (determinar el grado de complejidad para cada función) 3.Precio medio ................................................. Calcular el factor de ajuste (en base a las 14 características generales) 5........................ ...... ....... ...... ....... . .. .... ..... .......... . salidas externas............ ..... ................. Recordemos que para este ejemplo tenemos un proyecto de desarrollo..... entradas externas....... Calculo de los Puntos de función ajustados............. .. ..... Precio Promedio ...... ........

no es considerada como una función. como la parte de entrada para la consulta de clientes inactivos. Es considerada.Registro de Productos Registro de Pedidos Archivos de Interfase Externa Histórico de clientes Contraseñas Entradas Externas Inclusión de clientes Modificación de clientes Exclusión de clientes Inclusión de productos Modificación de productos Exclusión de productos Pedidos de clientes Salidas Externas Listado de Clientes Listado de productos Consultas Externas Consulta de clientes Consulta de productos Pantalla de ayuda Lista de clientes inactivos Notas: La pantalla de login no es contada ya que sólo provee seguridad para el acceso. La pantalla de menú del sistema. . sin embargo. como sólo provee selección.

Clientes inactivos, a pesar de haber sido considerada como un informe durante el relevamiento inicial, no es una salida externa, sino una consulta externa ya que posee datos derivados y su ejecución se realiza por medo de la pantalla de menú.

Clasificación de las funciones Archivos Lógicos internos

Registro de Clientes Datos elementales referenciados: 15 Registros lógicos referenciados: 1 Grado de la función: SIMPLE

Registro de Productos Datos elementales referenciados: 13 Registros lógicos referenciados: 1 Grado de la función: SIMPLE

Registro de Pedidos Datos elementales referenciados: 6 Registros lógicos referenciados: 1 Grado de la función: SIMPLE
Archivos de interfase externa

Histórico de Clientes Datos elementales referenciados: 3 (Se cuentan solamente los campos utilizados: Código de cliente, Total-compra-año, Total-compra-mes-actual) Registros lógicos referenciados: 1 Grado de la función: SIMPLE

Contraseñas

Datos elementales referenciados: 3 (Código-usuario, contraseña y fecha- validez) Registros lógicos referenciados: 1 Grado de la función: SIMPLE

Entradas Externas

Inclusión de clientes Datos elementales referenciados: 16 (15 campos y mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: MEDIA

Modificación de Clientes Datos elementales referenciados: 16 (15 campos y mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: MEDIA

Exclusión de clientes Datos elementales referenciados: 2 (Código-Cliente y mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: SIMPLE

Inclusión de productos Datos elementales referenciados: 14 (13 campos y mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: SIMPLE

Modificación de productos Datos elementales referenciados: 14 (13 campos y mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: SIMPLE

Exclusión de productos Datos elementales referenciados: 2 (Código-producto y mensajes de error) Archivos lógicos referenciados: 1 Grado de la función: SIMPLE

Pedidos de clientes Datos elementales referenciados: 7 (6 campos y mensajes de error) Archivos lógicos referenciados: 3 (Clientes, productos y pedidos) Grado de la función: COMPLEJA

Salidas Externas

Listado de clientes Datos elementales referenciados: 10 (9 campos y total de clientes) Archivos lógicos referenciados: 1 Grado de la función: SIMPLE

Listado de productos Datos elementales referenciados: 7 Archivos lógicos referenciados: 1 Grado de la función: SIMPLE Nota: La función listado de clientes es una salida externa pues posee datos derivados (campo total de clientes).

Consultas Externas

Consulta de clientes

Parte Entrada Datos elementales referenciados Archivos lógicos referenciados Grado función de la

de

Parte de Salida 14 (12 de clientes y 2 de histórico clientes) 2 MEDIA

2 (Códigocliente y mensajes de error) 2 (Clientes e histórico de clientes) SIMPLE

Grado de la función: MEDIA

Consulta de Productos

Parte Entrada Datos elementales referenciados Archivos lógicos referenciados Grado de función la

de

Parte de Salida 12 (código de producto no es considerado) 1 (registro productos) SIMPLE de

2 (Códigoproducto y mensajes de error) 1 SIMPLE

Grado de la función: SIMPLE

Lista de Clientes inactivos

Parte Entrada Datos elementales referenciados Archivos lógicos referenciados Grado función de la de Parte Salida 8 de 3 (Fecha. Cálculo de los puntos de función no ajustados Tipo de función Complejidad 3 SIMPLES * 7 Total Complejidad Total tipo de función 21 Archivos 0 MEDIAS * 10 0 COMPLEJAS * 15 2 SIMPLES * 5 Interfase 0 MEDIAS * 7 0 0 21 10 0 10 . independientemente de su cantidad. Opción y mensajes de error) 0 SIMPLE 2 (Clientes y productos) MEDIA Grado de la función: MEDIA Pantallas de Ayuda Las pantallas de ayuda se consideran por definición como consultas externas de grado SIMPLE.

Hay que evitar adivinar .0 COMPLEJAS * 10 0 4 SIMPLES * 3 2 MEDIAS * 4 Entrada 1 COMPLEJAS *6 12 8 26 6 2 SIMPLES * 4 0 MEDIAS * 5 Salidas 0 COMPLEJAS *7 8 0 8 0 2 SIMPLES * 3 2 MEDIAS * 4 Consultas 0 COMPLEJAS *6 6 8 14 0 Total puntos de función no ajustados 79 Cálculo del factor de ajuste Analizaremos las 14 características generales del sistema en base a la descripción del proyecto.

siempre que sea necesario. El grado del factor es 0. 8. no hay preocupación en cuanto a la distribución de funciones. El grado del factor es 1. 6. incluye entrada de datos on-line. 4. Por lo tanto. las transacciones procesadas solamente on-line.características. El periodo crítico será a fin del año. pocas características fueron especificadas. El grado del factor es 1.Volumen de transacciones Están previstos picos de transacciones anualmente. 7.Comunicación de datos La aplicación no es batch. 1. El grado del factor es 5. el grado del factor es 1. el grado de este factor es 4.Configuración del equipamiento No se ha hecho ninguna consideración en cuanto a la configuración del equipamiento. el volumen de transacciones no debe ser alto. El grado del factor es 1. No se puede establecer que no hay ningún requerimiento de perfomance o desempeño. 5. 3. La aplicación puede ser ejecutada en un ambiente Unix o en entornos de redes.Interfase con el usuario Se especificaron menús de navegación e interfase a través de terminales.Perfomance (desempeño) Según lo manifestado en la descripción. Vamos a considerar 1 protocolo. hay que conversar con el usuario principal del proyecto o del área en la cual la duda se relacione. 2.Procesamiento distribuido Nada se ha mencionado en cuanto a la ejecución en otros procesadores. Por lo expuesto.Actualización on-line son .Entrada de datos on-line De acuerdo con los descrito. Nada se ha mencionado sobre la cantidad de protocolos de comunicación.

Múltiples locales Los requerimientos no consideran la necesidad instalación en más de un local.Reusabilidad No hay preocupación en cuanto a la Reusabilidad del código. de Resumen de las características generales del sistema Característica Comunicación de datos Procesamiento distribuido Perfomance (desempeño) Configuración del equipamiento Volumen de transacciones Entrada de datos on-line Interfase con el usuario Influencia 4 0 1 1 1 5 1 . no fue especificada una protección especial contra la perdida de datos o procesos automáticos de recuperación. 13. El grado del factor es 0. 11. 12. el grado del factor es 3.Actualización on-line de todos los archivos lógicos internos. 10. el grado del factor es 0. El grado del factor es 0.Facilidad de implementación No se hecho ninguna consideración con vistas a facilitar la implementación o instalación de la aplicación. El grado del factor es 0.Procesamiento complejo La aplicación no realiza procesamiento complejo. El grado del factor es 0. 14.Facilidad de cambios No se hecho ninguna consideración específica para la facilidad de cambios en el sistema.Facilidad de operación No se ha hecho ninguna consideración específica. 9. El grado del factor es 0.

el tamaño de la aplicación es de 64 Puntos de función.81 Cálculo de Puntos de Función El cálculo de los puntos por función se hace con la fórmula: PF = PF Brutos * Factor de ajuste PF = 79 * 0. veremos cómo se calculan los puntos de función para un proyecto de mantenimiento. modifican o eliminan funciones.81 PF = 64 Por lo tanto. veremos cómo trabajar cuando se agregan. En el siguiente ejemplo.Actualización on-line Procesamiento complejo Reusabilidad Facilidad de implementación Facilidad de operación Múltiples locales Facilidad de cambios Nivel de influencia 3 0 0 0 0 0 0 16 Factor de Ajuste = (Nivel de influencia * 0.01) + 0. con la aplicación que hemos analizado en este ejemplo. Cálculo de PF para un proyecto de mantenimiento .01) + 0. Es decir.65 Factor de Ajuste = 0.65 Factor de Ajuste = (16 * 0.

[ Principal ] [ Introducción ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. Brazilian Function Point Users Group PF Brutos Factor de Ajuste PF Ajustados Asociación Española de Métricas del Software Casos Prácticos Recursos ENLACES Tabla de lenguajes y puntos por función Function Point Tools Productividad en horas por puntos de función [ Principal ] [ Introducción ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prácticos ] [ Recursos ] Principal Introducción Funciones Tipo Dato International Function Point Users Group Funciones Tipo T rans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prácticos ] [ Recursos ] .

Sign up to vote on this title
UsefulNot useful