puntos de funcion, cocomo y estimaciones

Upload: bestu79

Post on 11-Jul-2015

1.248 views

Category:

Documents


0 download

TRANSCRIPT

Bienvenido/aPrincipal Introduccin Funciones Tipo Dato Funciones Tipo T rans. PF Brutos Factor de Ajuste PF Ajustados Casos Prcticos Recursos Este sitio est dedicado exclusivamente al tratamiento de la mtrica de software llamada Anlisis de Puntos de Funcin. El objetivo es introducir al visitante a los conceptos bsicos del Anlisis de Puntos de Funcin, sus procedimientos de conteo y objetivos; de tal forma a que la metodologa se constituya en una herramienta valiosa para la gestin y dimensionamiento de proyectos de software. Las reglas de conteo utilizadas pertenecen a la versin 4.0. Sugerencias o comentarios acerca de este sitio, son bienvenidos en [email protected] Si ests interesado en conceptos bsicos de pseudocdigo, visita mi sitio en www.oocities.com/aveiro.geo Esta pgina se actualiz por ltima vez el Sbado 1 de Junio de 2002.-

Ing. Jos A. Gimnez

Hecho en Paraguay - 800 x 600

[ Principal ] [ Introduccin ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prcticos ] [ Recursos ]

Principal "He visitado docenas de empresas, buenas y malas he Introduccin observado a numerosos gestores de proceso de datos, tanto Funciones Tipo buenos como malos. Muy frecuentemente, he visto con horror Dato Funciones Tipo Tcmo estos gestores se peleaban inltimente 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 Prcticos Meiler Page-Jones hace esta declaracin en el prlogo de su Recursos

libro sobre la gestin 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 gestin slida 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 tamao y el costo del proyecto. Por medio de estas mediciones podremos, adems, realizar estimaciones para futuros proyectos y dar respuestas a preguntas tales como:Cul es la capacidad para responder a las solicitudes de los usuarios? Cmo estimar el tamao del proyecto antes de desarrollarlo? Cul es el costo de desarrollo del proyecto? En cunto tiempo se podrn cumplir los requerimientos? Cul es el tamao del proyecto? Se necesita ms personal para cumplir con los plazos, ms tiempo, menos funcionalidad o mejorar la productividad?

En definitiva, el gerente de proyectos debe poder analizar las alternativas y escoger la mejor solucin a travs de una tcnica consistente.

Un poco de historia

La tcnica de Anlisis de Puntos de Funcin fue introducida por

Allan Albrecht de IBM. Albrecht comenz a analizar sistemas, a pedido del grupo de usuarios de IBM, buscando identificar los factores crticos que determinan el tamao del software y por consiguiente, estimar el esfuerzo y el costo de desarrollarlo. Luego de analizar cientos de sistemas, naci la tcnica de Anlisis de Puntos por funcin. La tcnica mide una aplicacin con base en las funciones que ste realiza para/por solicitud del usuario final. Un aspecto muy importante es que este anlisis est basado en el punto de vista del usuario final (no del analista o programador) y es totalmente independiente de la tecnologa utilizada, La tcnica mide lo que es el sistema y no como ser o cmo ser diseado (es independiente del lenguaje de programacin, el tipo de base de datos y de la experiencia del programador). A partir de 1984, la tcnica comenz a popularizarse para identificar el tamao 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 funcin (IFPUG) que actualmente tiene a su cargo la estandarizacin y control de evolucin de esta mtrica.

Los objetivos y beneficios del Anlisis de Puntos de Funcin

El objetivo principal del anlisis de puntos por funcin es medir la funcionalidad de una aplicacin (*) , basndose en el diseo lgico y de acuerdo con la perspectiva del usuario. Otros objetivos son:Establecer una unidad estndar de medida para una aplicacin 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 travs de diferentes proyectos. Ser comprensible por el personal no tcnico, facilitando el entendimiento por parte de usuarios finales. Medir independientemente de la tecnologa utilizada.

Entre los beneficios principales de la tcnica se destacan:

La medicin de estimaciones de costo y recursos que se requieren para el desarrollo o mantenimiento de una aplicacin. Estandarizacin para la comparacin entre aplicaciones. Posibilitar la implementacin de un sistema de mtrica. Apoyar la calidad y la productividad ofreciendo una visin optimizada de los procesos de desarrollo de aplicaciones. Servir de ayuda para determinar la compra de un paquete o el desarrollo de la aplicacin en la empresa.

Visin general del Anlisis de Puntos de Funcin

El anlisis de puntos por funcin puede ser utilizado para medir aplicaciones ya implementadas, proyectos de desarrollo y proyectos de mantenimiento de una aplicacin.Dimensionamiento de un proyecto de desarrollo: Este clculo se usa para medir en puntos por funcin el tamao de un proyecto de desarrollo de una nueva aplicacin. El objetivo de este clculo es identificar las funciones identificadas en el modelo lgico para estimar los recursos de tiempo y personal requeridos para el proyecto.

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

Dimensionamiento de una aplicacin: Clculo utilizado para dimensionar el tamao real de una aplicacin en puntos por funcin.

Antes de iniciar el proceso de Anlisis de puntos por funcin se debe establecer que tipo de dimensionamiento se va realizar (de un proyecto, de un proyecto de mantenimiento o de una aplicacin terminada), El paso siguiente es definir

perfectamente las fronteras de la aplicacin. La frontera de la aplicacin separa el proyecto que est siendo estudiado de las aplicaciones externas (otros sistemas de la organizacin). En este punto hay que definir dnde comienza y dnde termina la aplicacin o proyecto, cules son sus alcances (que hace, para que servir) y sus lmites (que no hace, para que no sirve). Establecer las fronteras de la aplicacin ayudan a tener una visin ms clara del ambiente del producto que se est midiendo, las propiedades de los datos (identificando si stos pertenecen o no a la aplicacin que est siendo estudiando o a otra) e identificar cules son las funciones que pertenecen a la aplicacin.Cmo identificar la frontera de la aplicacin o proyecto?

La frontera est determinada por la visin del usuario, en general, lo que no puede ser comprendido o descrito por el usuario est fuera de la frontera de la aplicacin o proyecto. La frontera entra aplicaciones relacionadas est basada en las funciones empresariales que cada una de ellas cumple, desde el punto de vista de los usuarios. Para proyectos de mantenimiento, la frontera inicial debe ser consistente con la frontera ya establecida para la aplicacin que est siendo modificada. La utilizacin de un diagrama de flujo de datos u herramienta similar nos permite tener una visin mucho ms clara de la frontera y los alcances de la aplicacin o proyecto. El esquema general del proceso de Anlisis de puntos por funcin es:1. Determinar el tipo de conteo (proyecto, mantenimiento o aplicacin terminada) 2. Definir la frontera de la aplicacin 3. Documentar la frontera y el tipo de conteo 4. Identificar las funciones de tipo Datos 5. Identificar las funciones de tipo Transaccin 6. Determinar los puntos de funcin de funcin brutos 7. Determinar el factor de ajuste 8. Calcular los puntos de funcin ajustados

Al final de todo el proceso, obtendremos un valor nmero que mide el tamao de la aplicacin en puntos por funcin (de igual forma que una construccin se mide en metros cuadrados). Este valor nos ayudar a realizar estimaciones de plazos, costos y tambin puede apoyar diversas tcnicas para el controlar la

calidad del software. En las siguientes secciones se brindar el marco terico para la identificacin de funciones, determinacin del factor de ajuste y clculo de los puntos por funcin. Comenzaremos siguiendo los pasos que se realizan para el clculo de puntos por funcin en proyectos de desarrollo; luego, ms adelante veremos como se hace el clculo para los proyectos de mantenimiento de aplicaciones.(*) = A partir de esta seccin se utilizar la palabra aplicacin como sinnimo de software.

Pensamiento Clave. "No se puede controlar, lo que no se puede medir"

[ Principal ] [ Introduccin ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prcticos ] [ Recursos ]

Principal Las funciones de tipo dato representan la funcionalidad Introduccin proveda al usuario a travs de datos internos o externos. Las Funciones Tipo funciones de tipo dato son definidas como Archivos Lgicos Dato Funciones Tipo Internos (ALI) o Archivos de Interfase Externa (AIE). El trmino Trans. archivo se refiere a un grupo de datos lgicamente PF Brutos relacionados y no a la implementacin fsica de este grupo de Factor de Ajuste datos. En un diagrama de flujo de datos, un archivo lgico PF Ajustados Casos Prcticos interno equivale a un almacn de datos y en un diagrama de entidad - relacin a una entidad. Recursos

El nmero de archivos lgicos internos y archivos de interfase externa, junto con la complejidad que se define cuantitativamente para cada uno, determinan las funciones de tipo dato para la determinacin de los Puntos de Funcin brutos.

La especificacin de la complejidad de un archivo lgico interno o un archivo de interfase externa est basada en la cantidad de registros lgicos referenciados y la cantidad de datos elementales referenciados en cada uno de ellos. A continuacin se definen los trminos que se usarn en esta seccin:

Informacin de control

Se refiere al dato usado para garantizar la consistencia de la aplicacin a los requerimientos de las funciones establecidas por el usuario.

Identificado por el usuario

El termino se refiere a los requerimientos especificados por el usuario.

Proceso elemental

Es la menor actividad con significado para los negocios del usuario.

Mantenimiento

El trmino se refiere a la habilidad de incluir, modificar o excluir datos por medio de procesos elementales de la aplicacin.

Dato elemental referenciado

Un dato elemental referenciado (DER) es un campo, reconocido por el usuario que est presente en un archivo lgico interno o un archivo de interfase externa.

Registro lgico referenciado

Un registro lgico referenciado (RLR) es un subgrupo de

elementos datos, reconocido por el usuario, dentro de un archivo lgico interno o un archivo de interfase externa.

Archivos Lgicos Internos

Un archivo lgico interno es un grupo lgico de datos o informaciones de control, identificados por el usuario, cuyo mantenimiento es realizado internamente por la aplicacin. Ampliando la definicin: Un archivo lgico interno es un grupo de datos lgicamente relacionados o informaciones de control, identificado por el usuario y mantenido dentro de las fronteras de la aplicacin. En forma general, los archivos lgicos internos representan los requerimientos de almacenamiento de datos cuyo mantenimiento se hace por la propia aplicacin.Cmo se identifica un archivo lgico interno?

Para que una funcin sea considerada como archivo lgico interno debe cumplir con estas reglas:

El grupo de datos o informacin de control es un grupo lgico de datos identificado por el usuario y refleja los requerimientos definidos por l.

El grupo de datos es mantenido dentro de las fronteras de la aplicacin.

El grupo de datos es mantenido o modificado por medio de un proceso elemental de la aplicacin.

El grupo de datos no fue identificado como un archivo de interfase externa en la aplicacin.

El grupo de datos se almacena dentro de las fronteras de la aplicacin No se debe asumir que, necesariamente, un archivo fsico equivale a un archivo lgico interno.

Ejemplos de archivos lgicos internos

Son considerados archivos lgicos internos: * Archivos maestros de una aplicacin (clientes, productos, proveedores, etc) * Archivos de datos de seguridad de una aplicacin * Archivos de datos de auditorias * Archivos de mensajes de error

No son considerados archivos lgicos internos:

* Archivos temporales * Archivos de trabajo * Archivos de ordenamiento o clasificacin * Archivos incluidos como consecuencia de la tecnologa utilizada * Archivos de ndices

La complejidad de un archivo lgico interno

Cada archivo lgico interno identificado debe ser clasificado de acuerdo con su complejidad funcional. La complejidad se calcula en base la cantidad de registros lgicos referenciados y la cantidad de datos elementales referenciados. Para contar los registros lgicos referenciados y datos elementales referenciados se deben usar las siguientes reglas.Reglas - Datos elementales referenciados

* Se considera un dato elemental referenciado para cada campo, reconocido por el usuario, que se encuentre en un archivo lgico interno. * Se considera un dato elemental referenciado para cada tem de dato en un archivo lgico interno que exista para atender los requerimientos solicitados por el usuario y establezca una relacin con otro archivo lgico interno. Los campos que aparecen ms de una vez en un archivo lgico interno a causa de la tecnologa o tcnica de implementacin deben ser contados slo una vez. Tambin los campos repetitivos que son idnticos en formato y existen para permitir mltiples ocurrencias de un mismo dato, se cuentan una vez (por ejemplo: si un archivo lgico interno tiene 12 campos de ventas mensuales y un total anual, se cuentan 2 items de datos referenciados, uno por el valor mensual y otro por el valor anual.Reglas - Registros lgicos referenciados

* Contar un registro lgico referenciado para cada subgrupo de datos de un archivo lgico interno, independientemente de ser un subgrupo opcional u obligatorio. * En el caso de que no existan subgrupos, contar un registro lgico referenciado para cada archivo lgico interno.Determinacin de la complejidad de un archivo lgico interno

Una vez contados los datos elementales referenciados y los registros lgicos referenciados, se calcula la complejidad de cada archivo lgico interno de acuerdo con la siguiente tablaTabla 1 - Complejidad de archivos lgicos internos 1 a 19 items de 20 a 50 items de 51 o ms items datos datos de datos referenciados referenciados referenciados 1 registro lgico SIMPLE SIMPLE MEDIA MEDIA COMPLEJA

2 a 5 registros SIMPLE lgicos 6 o ms registros MEDIA lgicos

COMPLEJA

COMPLEJA

As un archivo lgico interno con 4 registros lgicos referenciados y 55 items de datos referenciados tiene un grado de complejidad COMPLEJO. Al finalizar la identificacin de los archivos lgicos internos y sus complejidades, para cada archivo lgico interno, tenemos que tener esta informacin:Nombre del archivo lgico interno: Datos elementales referenciados : Registros lgicos referenciados: Grado de la funcin : _______________________ _______________________ _______________________ _______________________

Por ejemplo:Nombre: Archivo de Clientes Datos elementales referenciados: 15 Registros lgicos referenciados: 1 Grado: SIMPLE (vase la Tabla 1)

Todo este proceso se realiza, para conocer la cantidad de archivos lgicos internos que existes para cada complejidad. Estos valores se utilizarn ms adelante para el clculo de los Puntos de Funcin brutos.Ejemplos

Asumamos que hemos identificado el siguiente archivo lgico interno: Nombre: Registro de pedidos, con la siguiente estructura

Items de datos Nmero de pedido Cdigo de producto Cdigo de cliente

Tamao 10 12 6

Tipo Numrico Numrico Numrico

Cantidad Precio unitario Fecha de pedido

12 12 8

Numrico Numrico Numrico

Datos elementales referenciados: 6 Registros lgicos referenciados: 1 (no se indica otra cosa para el ejemplo) Complejidad: SIMPLE

Ejemplo 2. Archivo Lgico Interno: Registro de Clientes

Items de datos Cdigo de cliente Nombre del cliente Razn Social Tipo de cliente Territorio Direccin Barrio CEP Ciudad CGC Registro contribuyente Contacto 1 de

Tamao 6 12 30 2 3 30 12 8 12 12 12 20

Tipo Numrico Alfanumrico Alfanumrico Numrico Alfanumrico Alfanumrico Alfanumrico Numrico Alfanumrico Numrico Alfanumrico Alfanumrico

Telfono 1 Contacto 2 Telfono 2

10 20 10

Numrico Alfanumrico Numrico

Datos elementales referenciados: 15 Registros lgicos referenciados: 1 (no se indica otra cosa para el ejemplo) Complejidad: SIMPLE

Archivos de Interfase Externa

La segunda funcin de tipo dato definida son los archivos de interfase externa. Un archivo de interfase externa es, segn la visin del usuario, un grupo de datos lgicamente relacionados o informaciones de control utilizadas por la aplicacin pero que es mantenida por otra (por eso es de interfase externa).Cmo se identifica un archivo de interfase externa?

Para identificar los archivos de interfase externa, hay que seguir estas reglas:

El grupo de datos se almacena fuera de la frontera de la aplicacin.

El grupo de datos o informacin de control es un grupo lgico de datos identificado por el usuario y refleja los requerimientos definidos por l.

El grupo de datos NO se mantiene por la aplicacin.

El grupo de datos o informaciones de control son requeridas por el usuario.

El grupo de datos es contado como un archivo lgico interno en otra aplicacin.

El grupo de datos no fue contado como un archivo lgico interno.

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 aplicacin utilizados para agregar, alterar o remover datos en un archivo lgico interno. * Datos cuyo mantenimiento se realiza por la aplicacin que est siendo medida pero que son accesados desde otra aplicacin. * Datos formateados y procesados para su uso por otra aplicacin.

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 lgicos referenciados.Reglas - Datos elementales referenciados en un 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 aplicacin. As aunque el archivo de interfase externa tenga 158 campos, pero slo dos se utilizan en nuestra aplicacin, se cuentan 2 datos elementales referenciados.Reglas - Registros lgicos referenciados en un archivo de interfase externa

Aplicar las siguientes reglas para el conteo de registros lgicos referenciados en un archivo de interfase externa: * Contar un registro lgico referenciado para cada subgrupo de datos de un archivo de interfase externa, independientemente de ser un subgrupo opcional u obligatorio. * En el caso de que no existan subgrupos, contar un registro lgico referenciado para cada archivo de interfase externa.Determinacin de la complejidad de un archivo de interfase externa

Una vez contados los datos elementales referenciados y los registros lgicos referenciados, se calcula la complejidad de cada archivo de interfase externa, de acuerdo con la siguiente tablaTabla 2 - Complejidad de archivos de interfase externa 1 a 19 items de 20 a 50 items de 51 o ms items datos datos de datos referenciados referenciados referenciados 1 registro lgico SIMPLE SIMPLE MEDIA MEDIA COMPLEJA

2 a 5 registros SIMPLE lgicos 6 o ms registros MEDIA lgicos

COMPLEJA

COMPLEJA

Por ejemplo, un archivo de interfase externa con 2 registros lgicos referenciados y 30 datos elementales referenciados tiene un grado de complejidad MEDIO. Al finalizar la identificacin de los archivos de interfase externa y sus complejidades, para cada archivo de interfase externa,

tenemos que tener esta informacin:Nombre del archivo de interfase externa: Datos elementales referenciados : Registros lgicos referenciados: Grado de la funcin :

Una aplicacin puede utilizar varios archivos lgicos internos o archivos e interfase externa en varios procesos, pero los archivos lgicos internos y los archivos de interfase externa se cuentan slo una vez. No hay que suponer que un archivo fsico es igual a un archivo lgico.

[ Principal ] [ Introduccin ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prcticos ] [ Recursos ]

Principal Las funciones de tipo transaccin representan una funcionalidad Introduccin proveda al usuario por el procesamiento de datos en una Funciones Tipo aplicacin. Las funciones de tipo transaccin son: Dato Funciones Tipo Trans. PF Brutos Factor de Ajuste Entradas Externas (EE) PF Ajustados Casos Prcticos Salidas Externas (SE) Recursos

Consultas Externas (CE)

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.

Informacin de control

Es el dato utilizado para garantizar la consistencia de la aplicacin a los requerimientos de las funciones establecidas por el usuario.

Mantenido

El trmino mantenido se refiere a la habilidad de incluir, modificar o eliminar datos a travs de procesos elementales de la aplicacin.

Lgica de Procesamiento

Se llama lgica de procesamiento a cualquiera estos requerimientos especificados por el usuario para completar un proceso elemental:Adicin, edicin, algoritmos y clculos. Por ejemplo, cuando se ingresa un nuevo cliente, la ,lgica de procesamiento debe poder validar esa informacin (si es suficiente, consistente y correcta).

La referencia del uso de un archivo lgico interno o un archivo de interfase externa. Por ejemplo, cuando se incluye un nuevo cliente

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 aplicacin

Entradas Externas

Las entradas externas representan las actividades de mantenimiento de los datos y procesamientos de informaciones de control de la aplicacin. Una entrada externa procesa los datos o informaciones de control que vienen desde fuera de la frontera de la aplicacin. A travs de un proceso lgico actualizan o mantienen uno o varios archivos lgicos internos, las informaciones de control que se procesan pueden o no realizar mantenimiento a un archivo lgico interno. Las entradas externas representan el flujo de informacin desde fuera hacia adentro de la aplicacin.

Cmo se identifica una entrada externa?

Sealamos que las entradas externas representan actividades de mantenimiento para los datos y los procesamientos de informaciones de control. En cada caso debemos seguir ciertas reglas para identificar a una actividad de mantenimiento de datos o procesamiento de informacin de control como una entrada externa.

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:

El dato es recibido desde fuera de la frontera de la aplicacin El dato en un archivo lgico interno, es mantenido por un proceso elemental El proceso es la menor unidad de actividad con significado para el usuario final de la aplicacin. Con relacin al proceso identificado, una de las siguientes opciones debe ser correcta: * La lgica de procesamiento es diferente de las lgicas procesadas en otras entradas externas de la aplicacin * Los datos elementales identificados son diferentes de otras entradas externas de la aplicacin.

Reglas para el procesamiento de informaciones de control Las informaciones de control son recibidas desde fuera de la frontera de la aplicacin La informacin es especificada por el usuario para garantizar la coherencia y consistencia con las reglas del negocio

En general, para identificar entradas externas hay que determinar cada proceso que mantiene un archivo lgico interno. 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 vlida.1. La lgica de procesamiento es diferente de las lgicas procesadas en otras salidas externas. 2. Los elementos de datos identificados son diferentes de otras entradas externas.

Ejemplos de entradas externas

* Datos de transacciones utilizados para el mantenimiento de un archivo lgico interno

No son consideradas entradas externas

* Pantallas de login.

* Datos de referencia. Datos externos utilizados por la aplicacin pero no mantienen archivos lgicos internos * Pantallas de men o navegacin. * Mltiples maneras de realizar una misma entrada lgica (se considera slo una entrada externa. Por ejemplo una adicin de datos enviando un comando o presionando una tecla de funcin).

La complejidad de una entrada externa

La complejidad de una entrada externa se determina a partir de la cantidad de archivos lgicos referenciados y el nmero de datos elementales referenciados.Archivo lgico referenciado

Un archivo lgico referenciado es:Un archivo lgico referenciado es un archivo lgico interno consultado o mantenido por un tipo de funcin, en este caso, en una entrada externa Un archivo de interfase externa consultado por un tipo de funcin, en este caso, en una entrada externa.

La cantidad total de archivos referenciados es la suma de los archivos lgicos internos y archivos de interfase externa mantenidos o consultados en la entrada externa.Dato elemental referenciado

Un dato elemental referenciado es un nico campo no recursivo, identificado por el usuario y mantenido en un archivo lgico interno por la entrada externa. Para contar los archivos lgicos referenciados y datos elementales referenciados se deben usar las siguientes reglas.

Reglas - Archivos lgicos referenciados

* Contar un archivo lgico referenciado para cada archivo lgico interno mantenido.

* Contar un archivo lgico referenciado para cada archivo lgico interno o archivo de interfase externa consultado durante el procesamiento de una entrada externa. * Contar slo un archivo lgico referenciado para cada archivo lgico interno que es consultado o mantenido por una entrada externa. * Contar un archivo lgico referenciado en caso de que exista acceso a un archivo de mensaje de error.

Reglas - Datos elementales referenciados

* Contar un dato elemental referenciado para cada campo no recursivo, identificado por el usuario, mantenido en un archivo lgico interno por la entrada externa. * Contar un dato elemental referenciado para cada campo presente en un archivo lgico interno que no es digitado por el usuario, pero es mantenido por una entrada externa. * Contar las siguientes tcnicas de implementacin fsicas como un nico dato elemental referenciado:Un campo lgico que se almacena fsicamente en mltiples campos, pero que es requerido por el usuario como una pieza nica de informacin. Campos que aparecen ms de una vez en un archivo lgico interno por cuestiones de tcnicas o tecnologas de implementacin. Campos que indican condiciones de error durante el procesamiento o confirmacin de que ese proceso se ha completado. Lneas de comando o teclas de funcin que provean una accin a ser tomada por la entrada externa. En pantallas de exclusin, contar slo los campos clave. Un dato elemental referenciado debe ser contado cuando uno o ms mensajes de error informasen al usuario, por medio de un campo o rea en la pantalla, que una entrada externa no puede ser procesada por error de edicin, validacin o si hubiere un mensaje de confirmacin.

Determinacin de la complejidad de una entrada externa

La complejidad de una entrada externa se calcula a partir de la cantidad de archivos lgicos referenciados y el nmero de datos elementales referenciados y de acuerdo con la siguiente tablaTabla 3 - Complejidad de entradas externas 1 a 4 datos 5 a 15 datos 16 o ms datos elementales elementales elementales referenciados referenciados referenciados 0 1 archivo lgico SIMPLE referenciado 2 archivos lgicos SIMPLE referenciados 3 ms archivos lgicos MEDIA referenciados

SIMPLE

MEDIA

MEDIA

COMPLEJA

COMPLEJA

COMPLEJA

As, una entrada externa con 2 archivos lgicos referenciados y 15 datos elementales referenciados tiene una complejidad: MEDIA. Al finalizar la identificacin de las entradas externas y sus complejidades, para cada una de ellas, tenemos que tener esta informacin:Nombre de la entrada externa: Datos elementales referenciados : Archivos lgicos referenciados: Grado de la _______________________ funcin _______________________ _______________________ _______________________ :

Por ejemplo:Nombre: Altas de clientes Datos elementales referenciados: 16 Archivos lgicos referenciados: 1 Grado: MEDIA (vase la Tabla 3)

Salidas Externas

Una salida externa es un proceso elemental que genera datos o informaciones de control hacia fuera de las fronteras de la aplicacin. Cada salida externa debe se analiza estableciendo la cantidad de archivos lgicos referenciados y la cantidad de datos elementales referenciados, estas informaciones se utilizan para calcular la complejidad de cada Salida Externa. Esta complejidad puede ser Simple, Media o Compleja. Aunque cada salida externa se relaciona con un informe en se emite en papel, esto no es una regla; las salidas externas tambin se pueden mostrar en pantalla.

Identificacin de salidas externas

Para identificar una salida externa, busque los datos o informaciones de control que estn siendo enviadas hacia fuera de la aplicacin. Se debe considerar una salida externa, cada proceso que enva datos hacia fuera de la aplicacin. Una salida externa es considerada un proceso nico dentro de la aplicacin, posee un formato de salida diferente de los dems o se necesita una lgica de procesamiento diferente de otras salidas externas que posean el mismo formato. Las siguientes reglas se deben aplicar para que la funcin sea considerada una salida externa:El proceso enva datos o informaciones de control hacia fuera de la aplicacin. El dato o informacin de control se enva a travs de un proceso elemental de la aplicacin.

El proceso es la menor unidad de actividad con significado para el usuario final. Con relacin al proceso identificado, se tiene cumplir una de las siguientes opciones: * La lgica de procesamiento es diferente de las lgicas procesadas en otras salidas externas. * los datos elementales identificados son diferentes de los datos de otras salidas externas de la aplicacin.

Ejemplos de salidas externas

* Informes * Transferencias de datos hacia otra aplicacin * Factura de un cliente

No son consideradas salidas externas

* Pantallas de ayuda * Pantalla de consulta * Mens de navegacin * Consultas ad-hoc

La complejidad de una salida externa

La complejidad de una salida externa se determina en base al nmero de archivos lgicos referenciados y el nmero de datos elementales referenciados. Se debe definir la complejidad para cada salida externa identificadaArchivo lgico referenciado

Un archivo lgico referenciado es:Un archivo lgico referenciado es un archivo ledo por la lgica de procesamiento de una salida externa

Dato elemental referenciado

Un dato elemental referenciado es un nico campo no recursivo, identificado por el usuario que aparece en una salida externa.

Reglas para el conteo de archivos lgicos referenciados

Contar un archivo lgico referenciado para cada archivo lgico interno o archivo de interfase externa ledo durante el procesamiento de una salida externa.

Reglas para el conteo de datos elementales referenciados

* Contar un dato elemental referenciado para cada campo, no recursivo, identificado por el usuario, que aparezca en una salida externa. * No contar literales. Por ejemplo: nombre del informe, encabezados, nombres de columnas, nombres de pantallas, nombres de campos. * No contar numeraciones de pginas en informes o campos automticos del sistema (como fecha, hora, cantidad de pginas, etc) * Contar las siguientes implementaciones fsicas como un solo dato elemental referenciado:Un campo lgico almacenado como mltiples campos, que es requerido por el usuario como una nica informacin. Por ejemplo una fecha que se almacena en tres campos diferentes da - mes ao. Cada etiqueta y cada valor en un grfico de salida. Por ejemplo, en un grfico de tipo circular (torta) se tendra 2 datos elementales referenciados, uno para la descripcin de cada parte y otro para el porcentaje de cada particin. Informacin de texto que podra ser una nica palabra, sentencia o frase. Por ejemplo: Un mensaje que se incluya en un informe para indicar que una operacin no fue completada con xito.

Determinacin de la complejidad de una salida externa

La complejidad de una salida externa se calcula a partir de la cantidad de archivos lgicos referenciados y el nmero de datos elementales referenciados y de acuerdo con la siguiente tablaTabla 4 - Complejidad de salidas externas 1 a 5 datos 6 a 19 datos 20 o ms datos elementales elementales elementales referenciados referenciados referenciados 0 1 archivo lgico SIMPLE referenciado 2 a 3 archivos lgicos SIMPLE referenciados 4 ms archivos lgicos MEDIA referenciados

SIMPLE

MEDIA

MEDIA

COMPLEJA

COMPLEJA

COMPLEJA

As, una salida externa con 3 archivos lgicos referenciados y 15 datos elementales referenciados tiene una complejidad: MEDIA. Al finalizar la identificacin de las salidas externas y sus complejidades, para cada una de ellas, tenemos que tener esta informacin:Nombre de la salida externa: Datos elementales referenciados : Archivos lgicos referenciados: Grado de la _______________________ funcin _______________________ _______________________ _______________________ :

Por ejemplo:Nombre: Lista de clientes Datos elementales referenciados: 9

Archivos lgicos referenciados: 1 Grado: SIMPLE (vase la Tabla 4)

Consultas Externas

Una consulta externa es un proceso elemental compuesto por una combinacin de entrada y salida que resulta en una recuperacin de informacin. La parte correspondiente a la salida en una consulta externa no posee datos derivados y ningn archivo lgico interno es mantenido durante el proceso. Los datos derivados son aquellos que requieren de procesamiento complementario sobre el dato accesados en un archivo lgico interno o archivo de interfase externa. Los campos calculados son datos derivados. Aunque una consulta externa se asocia generalmente con consultas e informaciones en pantalla, esto no debe considerarse una regla ya que las consulta externas se pueden mostrar mediante impresiones u otros medios de salida. Como existe una combinacin de entrada y salida en una consulta externa, sta se divide en dos partes: la parte de entrada y la parte de salida.Cmo se identifica una consulta externa?

Para identificar consultas externas hay que observar donde ocurren solicitudes de recuperacin de informacin (consultas) en la aplicacin. 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 aplicacin Los resultados de la salida se hacen para fuera de la aplicacin 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

negocios del usuario. El proceso no actualiza ningn archivo lgico interno Para el proceso identificado, una de las siguientes reglas debe ser vlida: * La lgica de procesamiento de la parte de entrada o de la parte de salida es nica cuando se compara con otras lgicas de consultas externas de la aplicacin. * Los elementos de datos que componen la parte de entrada o la aparte de salida son diferentes de otras consultas externas de la misma aplicacin

Ejemplos de consultas

* Consulta de datos de clientes * Consultas implcitas * Pantallas de login con funciones de seguridad * Pantallas de men solicitadas por el usuario * Pantalla de men que provee seleccin de pantallas y consulta de datos

No son consideradas consultas externas

* Mens de navegacin * Pantalla de ayuda * Pantallas de men que provee slo seleccin de pantallas * Pantallas de login que slo provee seguridad de acceso a la aplicacin

Reglas de conteo para consultas externas

El proceso de conteo para las consultas externas establece las siguientes actividades:

1. 2. 3. 4.

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 nmero de puntos de funcin, normalmente la parte de salida.

La complejidad de una consulta externa

La complejidad de una consulta externa se establece mediante la cantidad de archivos lgicos referenciados y el nmero de datos elementales referenciados para la parte de entrada y para la parte de salida. Se utiliza la mayor de las dos complejidades (entrada y salida) de la consulta externa para establecer la complejidad final de la consulta externa.

Archivo lgico referenciado

Un archivo lgico referenciado es un archivo ledo cuando la consulta externa es procesada.

Dato elemental referenciado

Un dato elemental referenciado es un campo no recursivo, identificado por el usuario, que aparece en una consulta externa.

Determinacin de la complejidad de una consulta externa

Reglas - Archivos lgicos referenciados

La nica regla de conteo aplicada a los archivos lgicos referenciados, tanto para la parte de entrada como de salida es:Contar la cantidad de archivos lgicos referenciados en la lgica de procesamiento de la consulta externa.

Reglas - Datos elementales referenciados

Las reglas siguientes se deben aplicar en el conteo de datos elementales. Estas reglas se deben aplicar para las partes de entrada y de salida de una consulta.

Reglas para la parte de entrada

* Contar un dato elemental referenciado para cada campo, no recursivo que aparece en la parte de entrada de una consulta externa. * Contar un dato elemental referenciado para cada campo que especifica un criterio de seleccin de datos. * Contar las siguientes tcnicas de implementacin fsica 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, contar u dato elemental referenciado el botn Aceptar que debe ser presionado por el usuario para realizar la consulta. Contar un dato elemental referenciado cuando uno o ms mensajes de error informen al usuario que una consulta no fue realizada por error de edicin o validacin, an si ocurre un mensaje de confirmacin.

Reglas para la parte de salida

* Contar como un dato elemental referenciado cada campo no recursivo, identificado por el usuario que aparece en la parte de salida de una consulta. * No contar literales como datos elementales referenciados. Los literales incluyen nombres de campos, nombre de informes, nombres de pantalla, encabezados de columnas.

* No contar campos de paginacin o campos automticos del sistema tales como nmeros de paginas, informacin de posicionamiento del cursor, campos de fecha u hora. * Contar las siguientes tcnicas de implementacin fsica como un nico dato elemental referenciado para el conjunto de campos:Un campo lgico que es almacenado fsicamente como mltiples campos y que es requerido por el usuario como una nica informacin Campos, que por causa de la tecnologa empleada en el desarrollo de la aplicacin, aparecen ms de una vez en un archivo lgico interno.

Proceso de clculo de la complejidad 1. Utilizar las reglas de identificacin para determinar el nmero de archivos lgicos referenciados y datos elementales referenciados para la parte de entrada de la consulta externa 2. Utilizar las reglas de identificacin para determinar el nmero de archivos lgicos referenciados y datos elementales referenciados para la parte de salida de la consulta externa 3. Identificar la complejidad de la parte de entrada utilizando esta tabla:Tabla 5 - Complejidad de la parte de entrada de una consulta externa 1 a 4 datos 5 a 15 datos 16 o ms datos elementales elementales elementales referenciados referenciados referenciados 0 1 archivo lgico SIMPLE referenciado 2 archivos lgicos SIMPLE referenciados 3 ms archivos lgicos MEDIA referenciados

SIMPLE

MEDIA

MEDIA

COMPLEJA

COMPLEJA

COMPLEJA

4. Identificar la complejidad de la parte de salida utilizando esta tabla:Tabla 6 - Complejidad de la parte de salida de una consulta externa 1 a 5 datos 6 a 19 datos 20 o ms datos elementales elementales elementales referenciados referenciados referenciados 0 1 archivo lgico SIMPLE referenciado 2 a 3 archivos lgicos SIMPLE referenciados 4 ms archivos lgicos MEDIA referenciados

SIMPLE

MEDIA

MEDIA

COMPLEJA

COMPLEJA

COMPLEJA

5. Seleccionar la mayor complejidad entre la parte de entrada y salida como complejidad de la consulta externa. 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) , la complejidad de la consulta externa ser COMPLEJA.

En esta seccin estudiamos cmo identificar y calcular el grado de complejidad de cada funcin. Estas informaciones nos ayudarn a determinar el nmero de puntos de funcin brutos de la aplicacin. Ese es el tema de la siguiente seccin.

[ Principal ] [ Introduccin ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prcticos ] [ Recursos ]

Principal En la seccin anterior estudiamos una serie de pasos para Introduccin identificar la funciones de la aplicacin (de tipo dato y tipo Funciones Tipo transaccin) con el objeto de determinar la complejidad de Dato Funciones Tipo cada una de ellas. Con esta informacin calcularemos los puntos Trans. de funcin brutos de la aplicacin. Para ello utilizaremos la PF Brutos siguiente tabla Factor de Ajuste PF Ajustados Tabla 7 Clculo de Puntos de funcin brutos Casos Prcticos Recursos

Tipo de funcin

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 Lgicos 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

-

-

-

-

-

Total de Puntos de Funcin Brutos

Ejemplo

Supongamos que hemos identificado las funciones y las complejidades para ellas de una aplicacin y encontramos que existen:

Archivos Lgicos Internos: 10 Simples, 5 Medias, 2 Complejos (es decir encontramos 10 archivos lgicos internos con complejidad Simple, 5 archivos internos con complejidad Media y 2 archivos lgicos internos con complejidad Compleja, en total identificamos 17 archivos lgicos internos)

Archivos de Interfase Externa:

3 Simples, 7 Medias, 5 Complejos

Entradas Externas: Complejas

13 Simples, 7 Medias, 5

Salidas Externas: Complejas

8 Simples, 5 Medias, 3

Consultas Externas: Complejas

9

Simples,

5

Medias,

4

Aplicando los datos en la tabla anterior:

Tipo funcin Archivos Lgicos 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 Funcin Brutos

de de

425(150 + 29 +97 +78 +71)

En este ejemplo, la aplicacin posee 425 puntos de funcin de brutos.

Una vez que hemos calculado los puntos de funcin brutos, pasaremos a la siguiente seccin a determinar el factor de ajuste. La cantidad de puntos de funcin de la aplicacin se obtiene

multiplicando los PF Brutos por el valor del factor ajuste calculado.

[ Principal ] [ Introduccin ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prcticos ] [ Recursos ]

Principal Introduccin Funciones Tipo Dato Funciones Tipo Trans. PF Brutos Factor de Ajust e PF Ajustados Casos Prcticos Recursos

El clculo del factor de ajuste est basado en 14 caractersticas generales de los sistemas que miden la funcionalidad general de la aplicacin. A cada caracterstica se le atribuye un peso que vara de 0 a 5 e indica el grado o nivel de influencia que cada caracterstica tiene en la aplicacin que est siendo estudiada.

Clculo del factor de ajuste

Para calcular el factor de ajuste hay que seguir estos pasos:

1. Evaluar el impacto de cada una de las 14 caractersticas generales del sistema, atribuyendo un peso de 0 a 5 para cada caracterstica 2. Calcular el nivel de influencia, que se obtiene sumando los pesos de cada una de las 14 caractersticas. 3. Calcular el facto de ajuste, aplicando la frmula correspondiente.

Caractersticas generales de los sistemas

Ests son las 14 caractersticas generales de los sistemas

1. Comunicacin de datos 2. Procesamiento distribuido 3. Perfomance (desempeo) 4. Configuracin del equipamiento 5. Volumen de transacciones 6. Entrada de datos on-line 7. Interfase con el usuario 8. Actualizacin on-line 9. Procesamiento complejo 10. Reusabilidad 11. Facilidad de implementacin 12. Facilidad de operacin 13. Mltiples locales 14. Facilidad de cambios

Niveles de influencia

Cada caracterstica debe ser especificada en trminos de su influencia, utilizndose una escala de 0 a 5Tabla 8. Niveles de influencia Grado 0 1 2 3 4 5 Descripcin No est presente o no influye Influencia Mnima Influencia Moderada Influencia promedio Influencia significativa Influencia fuerte

Cada caracterstica tiene su definicin formal que permite determinar el gado de influencia.

Determinacin del nivel de influencia

Aqu se describirn cada una de las 14 caractersticas mencionadas y cmo analizar su grado de influencia en la determinacin del factor de ajuste.

1- Comunicacin de datos Los datos e informaciones de control utilizados por la aplicacin son enviados o recibidos a travs de recursos de comunicacin de datos. Terminales y estaciones de trabajo son algunos ejemplos. Todos los dispositivos de comunicacin utilizan algn tipo de protocolo de comunicacin. Calificar el nivel de influencia en la aplicacin de acuerdo con la siguiente tabla:

Grado

Descripcin Aplicacin puramente batch o funciona en una computadora aislada La aplicacin es batch, pero utiliza entrada de datos remota o impresin remota La aplicacin es batch, pero utiliza entrada de datos remota e impresin remota La aplicacin incluye entrada de datos on-line va entrada de video o un procesador front-end para alimentar procesos batch o sistemas de consultas. La aplicacin es ms que una entrada on-line, y soporta apenas un protocolo de comunicacin La aplicacin es ms que una entrada on-line y soporta ms de un protocolo de comunicacin

0

1

2

3

4

5

2- Procesamiento distribuido Datos o procesamiento distribuidos entre varias unidades de procesamiento (CPUs) son caractersticas generales que pueden

influenciar en la complejidad de la aplicacin.

Grado

Descripcin La aplicacin no contribuye en la transferencia de datos o funciones entre los procesadores de la empresa La aplicacin prepara datos para el usuario final en otra CPU de la empresa La aplicacin prepara datos para transferencia, 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 apenas una direccin Procesamiento distribuido y la transferencia de datos son on-line, en ambas direcciones Las funciones de procesamiento son dinmicamente ejecutadas en el equipamiento ms adecuado

0

1

2

3

4

5

3- Perfomance Los objetivos de la perfomance del sistema, establecidos y aprobados por el usuario en trminos de respuesta, influye o podra influenciar el proyecto, desarrollo, implementacin o soporte de la aplicacin.

Grado 0

Descripcin Ningn requerimiento especial de perfomance fue solicitado por el

usuario Requerimientos de perfomance y de diseo fueron establecidos y previstos, sin embargo ninguna accin especial fue requerida El tiempo de respuesta y el volumen de datos son crticos durante horarios pico de procesamiento. Ninguna determinacin especial para la utilizacin del procesador fue establecida. El intervalo de tiempo lmite para la disponibilidad de procesamiento es siempre el prximo da hbil El tiempo de respuesta y volumen de procesamiento son items crticos durante todo el horario comercial. Ninguna determinacin especial para la utilizacin del procesador fue establecida. El tiempo limite necesario para la comunicacin con otros sistemas es un aspecto importante Los requerimientos de perfomance establecidos requieren tareas de anlisis de perfomance en la fase de anlisis y diseo de la aplicacin Adems de lo descrito en el tem anterior, herramientas de anlisis de perfomance fueron usadas en las fases de diseo, desarrollo y/o implementacin para atender los requerimientos de perfomance establecidos por el usuario

1

2

3

4

5

4- Configuracin del equipamiento Esta caracterstica representa la necesidad de realizar consideraciones especiales en el diseo de los sistemas para que la configuracin del equipamiento no sea sobrecargada

Grado 0

Descripcin Ninguna restriccin operacional explcita o implcita fue incluida Existen restricciones operacionales leves. 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 mdulo especfico de la aplicacin Restricciones operacionales requieren cuidados especiales en el procesador central o procesador dedicado Adems de las caractersticas del tem anterior, hay consideraciones especiales en la distribucin del sistema y sus componentes

1

2

3

4

5

5- Volumen de transacciones El nivel de transacciones es alto y tiene influencia en el diseo, desarrollo, implementacin y mantenimiento de la aplicacin

Grado 0

Descripcin No estn previstos periodos picos de volumen de transaccin Estn previstos picos de transacciones mensualmente, trimestralmente, anualmente o en un cierto periodo del ao Se prevn picos semanales

1

2

3

Se prevn picos diariamente Alto nivel de transacciones fue establecido por el usuario, el tiempo de respuesta necesario exige un nivel alto o suficiente para requerir anlisis de perfomance y diseo Adems de lo descrito en el tem anterior, es necesario utilizar herramientas de anlisis de perfomance en las fases de diseo, desarrollo y/o implementacin

4

5

6- Entrada de datos on-line Esta caracterstica cuantifica la entrada de datos on-line proveda por la aplicacin

Grado 0

Descripcin 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 Ms del 30% de las transacciones son entradas de datos on-line

2

3

4

5

7- Interfase con el usuario

Las funciones on-line del sistema hacen nfasis en la amigabilidad del sistema y su facilidad de uso, buscando aumentar la eficiencia del usuario final. El sistema posee:

Ayuda para la navegacin (teclas de funcin, accesos directos y mens dinmicos) Mens Documentacin y ayuda on-line Movimiento automtico del cursor Scrolling vertical y horizontal Impresin remota (a travs de transacciones on-line) Teclas de funcin preestablecidas Ejecucin de procesos batch a partir de transacciones on-line Seleccin de datos va movimiento del cursor en la pantalla Utilizacin intensa de campos en video reverso, intensificados, subrayados, coloridos y otros indicadores Impresin de la documentacin de las transacciones on-line por medio de hard copy Utilizacin del mouse Mens pop-up El menor nmero de pantallas posibles para ejecutar las funciones del negocio Soporte bilinge (el soporte de dos idiomas, cuente como cuatro items) Soporte multilinge (el soporte de ms de dos idiomas, cuente como seis items)

Grado 0 1

Descripcin ningn de los items descritos De uno a tres de los items descritos

2

De cuatro a cinco de los items descritos Ms de cinco de los items descritos, no hay requerimientos especficos del usuario en cuanto a amigabilidad del sistema Ms de cinco de los items descritos, y fueron descritos requerimientos en cuanto a amigabilidad del sistema suficientes para generar actividades especficas incluyendo factores tales como minimizacin de la digitacin Ms 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- Actualizacin on-line La aplicacin posibilita la actualizacin on-line de los archivos lgicos internos

Grado 0 1

Descripcin Ninguna Actualizacin on-line de uno a tres archivos lgicos internos Actualizacin on-line de ms de tres archivos lgicos internos Actualizacin on-line de la mayora de los archivos lgicos internos Adems del tem anterior, la proteccin contra prdidas de datos

2

3 4

es esencial y fue especficamente proyectado y codificado en el sistema Adems del tem anterior, altos volmenes influyen en la las consideraciones de costo en el proceso de recuperacin. Procesos para automatizar la recuperacin fueron incluios minimizando la intervencin del operador

5

9- Procesamiento complejo El procesamiento complejo es una de las caractersticas de la aplicacin, los siguientes componentes estn presentes:Procesamiento especial de auditoria y/o procesamiento especial de seguridad Procesamiento lgico extensivo Procesamiento matemtico extensivo Gran cantidad de procesamiento de excepciones, resultando en transacciones incompletas que deber ser procesadas nuevamente. Por ejemplo, transacciones de datos incompletas interrumpidas por problemas de comunicacin o con datos incompletos Procesamiento complejo para manipular mltiples posibilidades de entrada/salida. Ejemplo: multimedia

Grado 0 1 2 3 4

Descripcin 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

5

Todos los items descritos

10 - Reusabilidad La aplicacin y su cdigo sern o fueron proyectados, desarrollados y mantenidos para ser utilizados en otras aplicaciones.Grado 0 1 Descripcin No presenta cdigo reutilizable Cdigo reutilizado fue usado solamente dentro de la aplicacin Menos del 10% de la aplicacin fue proyectada previendo la utilizacin posterior del cdigo por otra aplicacin 10% o ms de la aplicacin fue proyectada previendo la utilizacin posterior del cdigo por otra aplicacin La aplicacin fue especficamente proyectada y/o documentada para tener su cdigo fcilmente reutilizable por otra aplicacin y la aplicacin es configurada por el usuario a nivel de cdigo fuente La aplicacin fue especficamente proyectada y/o documentada para tener su cdigo fcilmente reutilizable por otra aplicacin y la aplicacin es configurada para uso a travs de parmetros que pueden ser alterados por el usuario

2

3

4

5

11- Facilidad de implementacin La facilidad de implementacin y conversin de datos son caractersticas de la aplicacin. Un plan de conversin e

implementacin y/o herramientas de conversin fueron provedas y probadas durante la fase de prueba de la aplicacinGrado Descripcin Ninguna consideracin especial fue establecida por el usuario y ningn procedimiento especial fue necesario en la implementacin Ninguna consideracin especial fue establecida por el usuario, ms procedimientos especiales son requeridos en la implementacin Requerimientos de conversin e implementacin fueron establecidos por el usuario y rutinas de de conversin e implementacin fueron proporcionados y probados. el impacto de conversin en el proyecto no es considerado importante Requerimientos de conversin e implementacin fueron establecidos por el usuario y rutinas de de conversin e implementacin fueron proporcionados y probados. el impacto de conversin en el proyecto es considerado importante Adems del tem 2, conversin automtica y herramientas de implementacin fueron proporcionadas y probadas Adems del tem 3, conversin automtica y herramientas de implementacin fueron provedas y

0

1

2

3

4

5

12- Facilidad de operacin La facilidad de operacin es una caracterstica del sistema. Procedimientos de inicializacin, respaldo y recuperacin fueron provedos y probados durante la fase de prueba del sistema. La aplicacin minimiza la necesidad de actividades manuales, tales como montaje de cintas magnticas, manoseo de papel e

intervencin del operador.Grado Descripcin Ninguna consideracin especial de operacin, adems del proceso normal de respaldo establecido por el usuario Verificar cules de las siguientes afirmaciones pueden ser identificadas en la aplicacin. Cada tem vale un punto, excepto se defina lo contrario: Fueron desarrollados procedimientos de inicializacin y respaldo, siendo necesaria la intervencin del operador 1-4 Se establecieron procesos de inicializacin, respaldo y recuperacin sin ninguna intervencin del operador (contar como 2 items) La aplicacin minimiza la necesidad de montaje de cintas magnticas La aplicacin minimiza la necesidad de manoseo de papel La aplicacin fue diseada para trabajar sin operador, ninguna intervencin del operador es necesaria para operar el sistema, excepto ejecutar y cerrar la aplicacin. La aplicacin posee rutinas automticas de recuperacin en caso de error

0

5

13- Mltiples locales La aplicacin fue especficamente proyectada, diseada e mantenida para ser instalada en mltiples locales de una organizacin o para mltiples organizaciones.

Grado

Descripcin Los requerimientos del usuario no consideran la necesidad de instalacin de ms de un local La necesidad de mltiples locales fue considerada en el proyecto y la aplicacin fue diseada para operar apenas sobre el mismo ambiente de hardware y software La necesidad de mltiples locales fue considerada en el proyecto y la aplicacin fue diseada para operar en ambientes similares de software y hardware La necesidad de mltiples locales fue considerada en el proyecto y la aplicacin est separada para trabajar sobre diferentes ambientes de hardware y/o software Plan de mantenimiento y documentacin fueron proporcionados y probados para soportar la aplicacin en mltiples locales, adems los items 1 y 2 caracterizan a la aplicacin Plan de documentacin e mantenimiento fueron provedos y probados para soportar la aplicacin en mltiples locales, adems el tem 3 caracteriza a la aplicacin

0

1

2

3

4

5

14- Facilidad de cambios La aplicacin fue especficamente proyectada y diseada con vistas a facilitar su mantenimiento. Las siguientes caractersticas pueden ser atribuidas a la aplicacin:

Estn disponibles facilidades como consultas e informes flexibles

para atender necesidades simples (contar 1 tem) Estn disponibles facilidades como consultas e informes flexibles para atender necesidades de complejidad media (contar 2 items) Estn 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 travs de procesos on-line, pero los cambios se hacen efectivos solamente al da siguiente Datos de control son almacenados en tablas que son mantenidas por el usuario a travs de procesos on-line, pero los cambios se hacen efectivos inmediatamente (contar 2 items)

Grado 0 1 2 3 4 5

Descripcin 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 caractersticas, obtendremos una tabla como la siguiente:

Caractersticas generales del sistema Nivel de influencia 1- Comunicacin de datos 2- Procesamiento distribuido 4 0

3- Perfomance (desempeo) 4-Configuracin del equipamiento 5- Volumen de transacciones 6- Entrada de datos on-line 7- Interfase con el usuario 8- Actualizacin on-line 9- Procesamiento complejo 10- Reusabilidad 11-Facilidad de implementacin 12- Facilidad de operacin 13- Mltiples locales 14- 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 frmula: Factor de ajuste = (Nivel de influencia * 0,01) + 0,65 Utilizando la frmula en el ejemplo: Factor de ajuste = (17 * 0,01) + 0,65 = 0,82 El factor de ajuste se utiliza luego para calcular los Puntos de Funcin ajustados de la aplicacin. Este es el tema de la siguiente seccin

[ Principal ] [ Introduccin ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prcticos ] [ Recursos ]

Principal Una vez determinado el factor de ajuste, podremos calcular los Introduccin puntos de funcin mediante la aplicacin de la frmula: Funciones Tipo Dato Funciones Tipo Puntos de funcin = Puntos de funcin brutos * Factor de Trans. Ajuste PF Brutos Factor de Ajuste Cabe sealar que esta frmula se utiliza para los proyectos en PF Ajustados y aplicaciones terminadas. Ms adelante, Casos Prcticos desarrollo estudiaremos una formula diferente para el calculo de los Recursos

puntos de funcin de un proyecto de mantenimiento de un aplicacin

As, por ejemplo, si realizamos el proceso para un proyecto de desarrollo y tenemos que: Puntos de Funcin Brutos = 425 Factor de Ajuste = 0,82

aplicando la frmula:

Puntos de funcin = Puntos de funcin brutos * Factor de Ajuste Puntos de funcin = 425 * 0,82 Puntos de funcin = 348,5

Por lo tanto, el tamao de la aplicacin o proyecto de desarrollo es de 348,5 PF

Bien, ahora... para qu nos sirve ese numero? Recordemos que ese nmero representa la cantidad de unidades de software de un proyecto o aplicacin. Con este valor podremos realizar estimaciones de plazos, costos, recursos, etc. Tal como veremos a continuacin.

Productividad en el desarrollo de una aplicacin

La productividad en en el desarrollo de una aplicacin se traduce como la velocidad con la que la aplicacin fue construida, esto es, cuntas unidades de tamao (PF) fueron construidas en una unidad de tiempo o cuantas unidades de tiempo fueron consumidas para realizar una unidad de software.

Productividad = Tiempo / Puntos de funcin

Por ejemplo, supongamos que un analista de sistemas trabaj 900 horas para desarrollar una aplicacin de 400 puntos de funcin; su productividad, por lo tanto es: Productividad = 900 horas / 400 PF Productividad = 2,25 horas / PF

Existen datos estadsticos que nos permiten estimar la cantidad de puntos por funcin por hora de acuerdo con el lenguaje utilizado o la cantidad de instrucciones que se necesitan para construir un punto de funcin, de acuerdo con el nivel de lenguaje utilizado (Ver la seccin Recursos).Esfuerzo para el desarrollo de una aplicacin

El esfuerzo necesario para desarrollar una aplicacin puede ser definido como la cantidad de horas de trabajo necesarias para desarrollar una aplicacin.

Esfuerzo = Productividad * Tamao del software

Por ejemplo, cul es el esfuerzo necesario para desarrollar una aplicacin de 400 PF por un analista cuya productividad histrica es de 2,25 horas de trabajo por punto de funcin? Esfuerzo = 2,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 aplicacin, en base al proyecto de desarrollo.

Costo de la aplicacin

El costo de la aplicacin se define como el tamao de la misma en PF multiplicado por el costo de un punto de funcin.

Costo total = Tamao de la aplicacin * Costo unitario

Pero, cuanto cuesta un punto de funcin? Esta pregunta no puede ser respondida, ya que vara considerablemente a punto de ser imposible fijar un valor de referencia. En las empresas dedicadas al desarrollo de software, puede resultar menos complicado estimar el costo, ya que se tienen en cuenta los jornales de los profesionales involucrados, los materiales utilizados, etc. Sin embargo para los que (como yo) trabajan de forma independiente, se recomienda que se estime el costo en base al valor de las aplicaciones ms importantes que se han desarrollado, estimando el tiempo en que se tard desarrollar esa aplicacin, y calculando el tamao de la misma. As se podr calcular una estimacin de costo en base a estos datos y tendremos una idea de cmo estamos fijando el costo para un punto de funcin. Es decir, para tener una idea de nuestros costos, apliquemos el anlisis de puntos de funcin a una aplicacin importante que hayamos desarrollado y mediante

el costo de la misma, calculemos cuanto cobramos por PF para esa aplicacin y tomemos este valor como referencia. Por ejemplo, si cobramos 400 dlares por una aplicacin y luego determinamos que esa aplicacin tiene 320 PF, entonces podremos calcular que el costo por PF es de: Costo unitario = Costo Total / PF Costo unitario = 400 dlares / 320 PF Costo unitario = 1,25 dlares por puntos de funcin

De esta forma, ms adelante y aplicando el anlisis de puntos por funcin podremos realizar estimaciones de costos.

Ejemplos de estimaciones

Este ejemplo fue presentado por Marco Aurelio Andrade de Unysis e ilustra claramente la importancia de del Anlisis de puntos por funcin en las estimaciones de un proyecto: Supongamos un escenario en el que usuario final solicita al equipo de informtica 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 mximo de seis meses. El equipo de informtica afirma que, con un equipo actual de cinco tcnicos, es posible atender la solicitud. El especialista en Anlisis de Puntos de Funcin es llamado para opinar. Analizando el histrico del sistema se pudo constatar que el ao pasado la tasa promedio para el mantenimiento evolutivo ha sido de 15 PF/hombre x mes. Para estimar, por tanto, es necesario disponer de datos histricos. Se verific que las funciones nuevas representan 750 puntos de funcin. Un equipo de cinco personas, con una productividad de 15 PF/hm representa 75 puntos de funcin por mes, en seis meses son 450 puntos de funcin y no 750 PF.

Asumir esta situacin representa un riesgo enorme: el plazo no ser cumplido o el proyecto tendr una calidad insatisfactoria, probablemente las dos cosas podran ocurrir. Disponiendo de estas informaciones, el gerente de proyecto puede analizar las alternativas:

Ms Personal: Cuntas personas? Ms tiempo: Cunto tiempo ms? Menos funcionalidad: Qu funciones excluir? Mejorar la productividad: A cunto? Utilizando la formula bsica: Nmeros de Puntos de Funcin = Nmero de Personas * Numero de meses * 1- Ms personal Nmero de hombres = 750 PF / (6 meses * 15 PF/hm) = 8,3 hombres Como el tamao del proyecto de mantenimiento es de 750 PF, el plazo deseado de 6 meses y con una productividad de 15 PF/hm, encontramos que sern necesarios 8,3 hombres, redondeando 9 hombres. O sea sern necesarias cuatro personas ms en el equipo inicial. 2- Ms tiempo Numero de meses = 750 PF / (5 hombres * 15 PF/hm) = 10 meses Como el proyecto de mantenimiento tiene un tamao de 750 PF, utilizando 5 hombres con una productividad de 15PF/hm, encontramos que el plazo necesario es de 10 meses. O sea, cuatro meses ms que el plazo inicial de 6 meses. 3- Menos funcionalidad Numero de PF = 15 PF * 5 hombres * 6 meses = 450 PF Considerando 5 hombres, una misma productividad de 15 PF/hm y tiempo de seis meses, se tiene que ser posible disponer de 450 PF, o sea 300 PF menos que lo planeado inicialmente. Queda a criterio del usuario definir cuales son las funciones principales que desea implementar para que no sobrepasen 450 PF. 4- Ms productividad Productividad = 750 PF / (5 hombres * 6 meses)= 25 PF/hm

Considerando el proyecto de 750 PF, cinco hombres y un plazo de seis meses, encontramos que ser necesario aumentar la productividad de 15 PF/hm a 25 PF/hm para atender el trabajo propuesto. El desafo ser como alcanzar esta productividad. Con un nuevo mtodo, nuevas herramientas? En suma, el gerente del proyecto puede analizar las alternativas y escoger la mejor solucin, no sentimentalmente sino utilizando tcnicas consistentes.

[ Principal ] [ Introduccin ] [ Funciones Tipo Dato ] [ Funciones Tipo Trans. ] [ PF Brutos ] [ Factor de Ajuste ] [ PF Ajustados ] [ Casos Prcticos ] [ Recursos ]

Principal Introduccin Funciones Tipo Dato Funciones Tipo Trans. PF Brutos Factor de Ajust e PF Ajustados Casos Prcticos Recursos

En esta seccin pondremos en prctica el marco terico de las secciones anteriores. Comenzaremos con un proyecto de desarrollo.

Descripcin

El sistema de clientes ser diseado para apoyar algunas reas de una empresa, especficamente al departamento de ventas y al departamento de marketing. El sistema de clientes ser diseado en un lenguaje de cuarta generacin 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 travs de terminales. Los usuarios conocen poco de informtica, como consecuencia, las pantallas deben ser de fcil utilizacin y deben estar siempre presentes pantallas de ayuda. el volumen de transacciones no ser alto, pero se

espera que cada fin de ao sea un periodo crtico.

Principales funciones del sistema

Registro de datos de clientes Modificacin de los datos de clientes Consulta de datos de clientes Registro de datos de productos Modificacin de datos de productos Seguridad para acceso al sistema Pedidos de clientes

Archivos

Registro de Clientes

tem Cdigo-cliente Nombre-cliente Razn-social Tipo-cliente Territorio Direccin Barrio Zona-postal Ciudad RUC Registro-contribuyente Contacto1 Telefonon1 Contacto2 Telefono2

Tamao 6 12 30 2 3 30 12 8 12 12 12 20 10 20 10

Tipo Numrico Alfanumrico Alfanumrico Numrico Alfanumrico Alfanumrico Alfanumrico Numrico Alfanumrico Numrico Numrico Alfanumrico Numrico Alfanumrico Numrico

Histrico de Clientes

temCdigo-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-ao-anterior Total-compra-ao Total-compra-mes-actual Total-compra-mes-ao-94

Tamao 6 12 12 12 12 12 12 12 12 12 12 12 12 12

Tipo Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico

Registro de Productos

tem Cdigo-producto Nombre-producto Descripcin-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

Tamao 12 12 30 2 3 12 12 12 12 12 8 8 12

Tipo Numrico Alfanumrico Alfanumrico Numrico Alfanumrico Numrico Numrico Alfanumrico Numrico Alfanumrico Numrico Numrico Numrico

Registro de pedidos

tem Numero-pedido

Tamao 10

Tipo Numrico

Cdigo-producto Cdigo-cliente Cantidad Precio-unitario Fecha-pedido

12 6 12 12 8

Numrico Numrico Numrico Numrico Numrico

Registro de contraseas

tem Cdigo-usuario Contrasea Fecha-validez Fecha-ultimo-acceso Hora-ultimo-acceso

Tamao 6 6 8 8 8

Tipo Numrico Alfanumrico Numrico Numrico Numrico

Pantallas del sistema

A cada pantalla del sistema se debe asociar una pantalla de ayuda, agilizando la utilizacin del sistema para nuevos usuarios y aumentando la productividad en la utilizacin.

Pantalla de registro de cliente (Alta de cliente)

Registro de Clientes Cdigo [______] Nombre Social [________________] Tipo [__] Territorio [______] contribuyente [________] [____________] Razn

RUC [____] Registro de Barrio

Direccin [____________________________] [_______________] Zona Postal [______] Contacto 1 [____________] Contacto 2 Ciudad [_____________]

[____________________] [____________________]

Telfono Telfono

[____________]

Archivos referenciados: Clientes Datos: Todos los del archivo Reglas: vlido 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 Modificacin de datos de cliente

Modificacin de datos de Clientes Cdigo [______] Nombre Social [________________] Tipo [__] Territorio [_____] contribuyente [_______] [____________] RUC [____] Razn

Registro de Barrio

Direccin [____________________________] [_______________] Zona Postal [______] Contacto 1 [____________] Contacto 2 [____________] Ciudad [_____________]

[____________________] [____________________]

Telfono Telfono

Archivos referenciados: Clientes Datos: Todos pueden ser modificados, excepto el cdigo de cliente Reglas: Emitir un mensaje de error en caso de que el

Pantalla Consulta de clientes

Consulta de Clientes Cdigo [______] Nombre Social [________________] Tipo [__] Territorio [_____] contribuyente [________] [____________] Razn

RUC [____] Registro de Barrio

Direccin [____________________________] [_______________] Zona Postal [______] Contacto 1 [____________] Ciudad [_____________]

[____________________]

Telfono

Total Compra Ao [_____________] actual [____________]

Total Compra mes

Archivos referenciados: Clientes - Histrico de clientes Datos: 12 de archivos de clientes y dos de histrico de clientes Reglas: Se debe ingresar el cdigo de cliente Verificar si el cliente existe, en caso contrario emitir mensaje de error El archivo histrico de clientes pertenece a otra aplicacin

Pantalla de eliminacin de cliente

Eliminacin de datos de Cliente Cdigo [______]

Archivos referenciados: Clientes

Datos: Slo es necesario ingresar el cdigo de cliente Reglas: Verificar si el cliente existe, en caso contrario emitir mensaje de error

Pantalla de registro de productos

Registro de Productos Cdigo [______] Nombre Descripcin [________________] 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 modificacin de datos de productos

Modificacin de datos de Productos Cdigo [______] Nombre [____________]

Descripcin [________________] 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, excepto el cdigo de Reglas:

Pantalla de consulta de productos

Consulta de datos de Productos Cdigo [______] Nombre Descripcin [________________] Tipo [__] Unidad [______] Precio medio [________] [____________]

Costo medio [____] Precio

Principal proveedor [_________________] medio [_______________] Principal cliente [______________________] Fecha de ltima compra

Cantidad ltima

compra [___]

Precio unitario [___] [___]

Archivos referenciados: Productos Datos: Reglas:

Pantalla de eliminacin de productos

Eliminacin de datos de Productos Cdigo [______]

Archivos referenciados: Productos Datos: Slo es necesario ingresar el cdigo de producto Reglas: Verificar si el producto existe, en caso contrario emitir mensaje de error

Pantalla de pedidos de clientes

Pedidos de Clientes Nmero de pedido [______] pedido [____________] Fecha de

Cdigo de cliente [_______] Cdigo producto Precio unitario [___] [___] [___] Cantidad

Archivos referenciados: Clientes, Productos y Pedidos Datos: Reglas: Verificar si el pedido existe. Verificar si el producto existe. Verificar si el cliente existe. Actualizar las informaciones sobre el pedido en el registro de productos

Pantalla de acceso al sistema

Pantalla de Identificacin Cdigo del usuario [______] Contrasea [______]

Archivos referenciados: Contraseas Datos: Reglas: El usuario y la contrasea debern ser vlidos para acceder al sistema. Emitir un mensaje de error cuando sea necesario. El archivo de contraseas no es mantenido por la aplicacin.

Men del sistema

Men

Ayuda [___]

1- Inclusin de clientes 2- Modificacin de datos de clientes 3- Consulta de datos de clientes 4- Exclusin de clientes 5- Inclusin de productos 6- Modificacin de datos de productos 7- Consulta de datos de productos 8 - Exclusin de productos 9- Pedidos de clientes 10- Lista de clientes inactivos Fecha [______]

Opcin deseada [_]

Archivos referenciados: Ninguno Datos: Se debe ingresar el nmero de la opcin deseada Reglas: En el caso que el usuario selecciones la opcin de lista de clientes inactivos, deber ingresar, adems, una fecha y sern considerados todos los clientes que tuvieran su ltimo pedido realizado antes de la fecha especificada. Si ningn registro cumple con la condicin, se mostrar el informe en blanco.

Pantalla de ayuda

Ayuda - Men de opciones Esta pantalla permite que el usuario seleccione la funcin

que desea utilizar: Inclusin de clientes: Permite el registro de datos de un nuevo cliente. Modificacin de datos de clientes: Permite modificar los datos de un cliente Consulta de datos de clientes: Consulta la informacin de un cliente Exclusin de clientes: Permite eliminar los datos de un cliente Inclusin de productos: Opcin que permite registrar los datos de un nuevo producto Modificacin de datos de productos: Permite modificar los datos de un producto Consulta de datos de productos: Consulta la informacin de un producto Exclusin 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- Lista de clientes

Fecha: clientes

xx/xx/xx

Pgina: X

Lista

de

Cdigo Nombre Razn Social RUC Reg. Cont. Contacto Telfono .......... ............. .......... ............. .......... ............. .......... .............

Tipo

Territorio

............ ................... ....... ....... ............... ............. ......... ............ ................... ....... ....... ............... ............. ......... ............ ................... ....... ....... ............... ............. ......... ............ ................... ....... ....... ............... ............. .........

Total de Clientes: XXXX

2- Clientes Inactivos

Fecha: Inactivos

xx/xx/xx

Pgina: X Direccin

Clientes

Cdigo Razn Social Tipo RUC Ciudad Ultimo Pedido ........... .......... ........... .......... ........... .......... ........... .......... .................... ....... ......... .................... ....... ......... .................... ....... ......... .................... ....... .........

Barrio

...... ................ ................... ...... ................ ................... ...... ................ ................... ...... ................ ...................

3- Lista de ProductosFecha: Productos Cdigo xx/xx/xx Pgina: X Descripcin Unidad Lista de

Nombre

Costo medio

Precio medio ........... ................... ........... ................... ........... ................... ........... ...................

Precio Promedio .............. .................. .............. .................. .............. .................. .............. .................. ................. ..................... ................. ..................... ................. ..................... ................. ..................... .........

.........

.........

.........

Proceso de ConteoUna vez que tenemos la descripcin del sistema y sus componentes, iniciamos el proceso de conteo para determinar los puntos de funcin del proyecto. Recordemos que para este ejemplo tenemos un proyecto de desarrollo. Los pasos que vamos a seguir son: 1. Identificar las funciones (Archivos lgicos internos, archivos lgicos externos, entradas externas, salidas externas, consultas externas) 2. Clasificar las funciones (determinar el grado de complejidad para cada funcin) 3. Calcular puntos de funcin no ajustados 4. Calcular el factor de ajuste (en base a las 14 caractersticas generales) 5. Calculo de los Puntos de funcin ajustados. (El resultado es el tamao del sistema en Puntos de Funcin)

Identificacin de funciones

Archivos Lgicos Internos Registro de Clientes

Registro de Productos Registro de Pedidos

Archivos de Interfase Externa Histrico de clientes Contraseas

Entradas Externas Inclusin de clientes Modificacin de clientes Exclusin de clientes Inclusin de productos Modificacin de productos Exclusin 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 slo provee seguridad para el acceso. La pantalla de men del sistema, como slo provee seleccin, no es considerada como una funcin. Es considerada, sin embargo, como la parte de entrada para la consulta de clientes inactivos.

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 ejecucin se realiza por medo de la pantalla de men.

Clasificacin de las funciones Archivos Lgicos internos

Registro de Clientes Datos elementales referenciados: 15 Registros lgicos referenciados: 1 Grado de la funcin: SIMPLE

Registro de Productos Datos elementales referenciados: 13 Registros lgicos referenciados: 1 Grado de la funcin: SIMPLE

Registro de Pedidos Datos elementales referenciados: 6 Registros lgicos referenciados: 1 Grado de la funcin: SIMPLEArchivos de interfase externa

Histrico de Clientes Datos elementales referenciados: 3 (Se cuentan solamente los campos utilizados: Cdigo de cliente, Total-compra-ao, Total-compra-mes-actual) Registros lgicos referenciados: 1 Grado de la funcin: SIMPLE

Contraseas

Datos elementales referenciados: 3 (Cdigo-usuario, contrasea y fecha- validez) Registros lgicos referenciados: 1 Grado de la funcin: SIMPLE

Entradas Externas

Inclusin de clientes Datos elementales referenciados: 16 (15 campos y mensajes de error) Archivos lgicos referenciados: 1 Grado de la funcin: MEDIA

Modificacin de Clientes Datos elementales referenciados: 16 (15 campos y mensajes de error) Archivos lgicos referenciados: 1 Grado de la funcin: MEDIA

Exclusin de clientes Datos elementales referenciados: 2 (Cdigo-Cliente y mensajes de error) Archivos lgicos referenciados: 1 Grado de la funcin: SIMPLE

Inclusin de productos Datos elementales referenciados: 14 (13 campos y mensajes de error) Archivos lgicos referenciados: 1 Grado de la funcin: SIMPLE

Modificacin de productos Datos elementales referenciados: 14 (13 campos y mensajes de error) Archivos lgicos referenciados: 1 Grado de la funcin: SIMPLE

Exclusin de productos Datos elementales referenciados: 2 (Cdigo-producto y mensajes de error) Archivos lgicos referenciados: 1 Grado de la funcin: SIMPLE

Pedidos de clientes Datos elementales referenciados: 7 (6 campos y mensajes de error) Archivos lgicos referenciados: 3 (Clientes, productos y pedidos) Grado de la funcin: COMPLEJA

Salidas Externas

Listado de clientes Datos elementales referenciados: 10 (9 campos y total de clientes) Archivos lgicos referenciados: 1 Grado de la funcin: SIMPLE

Listado de productos Datos elementales referenciados: 7 Archivos lgicos referenciados: 1 Grado de la funcin: SIMPLE Nota: La funcin 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 lgicos referenciados Grado funcin de la

de

Parte de Salida 14 (12 de clientes y 2 de histrico clientes) 2 MEDIA

2 (Cdigocliente y mensajes de error) 2 (Clientes e histrico de clientes) SIMPLE

Grado de la funcin: MEDIA

Consulta de Productos

Parte Entrada Datos elementales referenciados Archivos lgicos referenciados Grado de funcin la

de

Parte de Salida 12 (cdigo de producto no es considerado) 1 (registro productos) SIMPLE de

2 (Cdigoproducto y mensajes de error) 1 SIMPLE

Grado de la funcin: SIMPLE

Lista de Clientes inactivos

Parte Entrada Datos elementales referenciados Archivos lgicos referenciados Grado funcin de la

de

Parte Salida 8

de

3 (Fecha, Opcin y mensajes de error) 0 SIMPLE

2 (Clientes y productos) MEDIA

Grado de la funcin: MEDIA

Pantallas de Ayuda Las pantallas de ayuda se consideran por definicin como consultas externas de grado SIMPLE, independientemente de su cantidad.

Clculo de los puntos de funcin no ajustados

Tipo de funcin

Complejidad 3 SIMPLES * 7

Total Complejidad

Total tipo de funcin

21 Archivos 0 MEDIAS * 10 0 COMPLEJAS * 15 2 SIMPLES * 5 Interfase 0 MEDIAS * 7 0 0 21

10 0 10

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 funcin no ajustados

79

Clculo del factor de ajuste

Analizaremos las 14 caractersticas generales del sistema en base a la descripcin del proyecto. Hay que evitar adivinar

caractersticas, siempre que sea necesario, hay que conversar con el usuario principal del proyecto o del rea en la cual la duda se relacione. 1- Comunicacin de datos La aplicacin no es batch; incluye entrada de datos on-line. Nada se ha mencionado sobre la cantidad de protocolos de comunicacin. Vamos a considerar 1 protocolo. Por lo expuesto, el grado de este factor es 4. 2- Procesamiento distribuido Nada se ha mencionado en cuanto a la ejecucin en otros procesadores. La aplicacin puede ser ejecutada en un ambiente Unix o en entornos de redes. no hay preocupacin en cuanto a la distribucin de funciones. El grado del factor es 0. 3- Perfomance (desempeo) Segn lo manifestado en la descripcin, el volumen de transacciones no debe ser alto. El