Sei sulla pagina 1di 41

Beneficios El mtodo de Casos de Uso captura los requisitos considerando la forma en que el usuario usar realmente el sistema, en lugar

de hacerlo desde la perspectiva de las caractersticas que se pide al sistema que incorpore. Este brillantemente simple concepto significa que la documentacin de los requisitos puede tambin usarse como base para los manuales de formacin de los usuarios y para establecer los criterios de las pruebas de aceptacin. Esto significa tambin que el mismo documento puede utilizarse para contar Puntos Funcin (o medir el proyecto).La utilizacin del mismo documento garantiza un alto nivel de seguridad. Es mucho mejor comunicar al director que un proyecto ha crecido desde 300 a 900 PF, tres veces ms, que decir que el proyecto ha crecido mucho. Si se conoce la medida del proyecto lo antes posible en el ciclo de vida, mejor se estimar el tiempo y coste del desarrollo. Tambin, si los datos de los Casos de Uso y los Puntos Funcin se guardan, se facilitar la estimacin de los proyectos y se entendern las variaciones. Lmites de la aplicacin Uno de los primeros pasos que se describen en Casos de Uso y en Anlisis de Puntos Funcin es identificar los lmites del sistema. Un lmite es algo que representa una interfaz entre el sistema y sus actores. Los lmites pueden ser una pantalla o una interfaz de usuario o la llamada a otro sistema. IFPUG define un lmite como la frontera entre el software que va a medirse y el dominio del usuario. Los dos mtodos, Anlisis de Puntos Funcin y CU, definen los lmites del sistema de una forma muy parecida. En artculos anteriores, he descrito un usuario como una persona que entiende el flujo de eventos. En CU, se examinan desde una perspectiva de actores. Cuando el autor crea un Casos de Uso necesita determinar, entre otras cosas, los actores que podrn crear, leer, actualizar o borrar informacin. Lo mismo es aplicable en el Anlisis de Puntos Funcin, slo que en Anlisis de Puntos Funcin hablamos de usuarios en lugar de actores. Resumiendo, actor y usuario son sinnimos en los dos mtodos. Frecuentemente, los autores de Casos de Uso mezclan los trminos actor y usuario. Cul es el tamao medio de un Caso de Uso Depende de cun grande se haga el Casos de Uso. Es mejor poner un lmite al tamao del Casos de Uso para poder controlarlo. Normalmente, el tamao mximo de Casos de Uso no debera ser mayor de 50 Puntos Funcin. Cuando un Casos de Uso se hace demasiado grande se vuelve difcil de entender. Poniendo unos lmites adecuados, se ver claramente cuando un Casos de Uso es demasiado grande y necesita ser dividido en Casos de Uso ms pequeos. La aplicacin de Puntos Funcin mejora la calidad los Casos de Uso. Si el Anlisis de Puntos Funcin se utiliza mientras se lee un Caso de Uso, el Caso de Uso se lee con un propsito en el cabeza (lectura activa en lugar de lectura pasiva). La aplicacin de Anlisis de Puntos Funcin ayuda a determinar si los Casos de Uso tienen el nivel de detalle adecuado. Es decir, si es posible describir la forma en que los datos pasan el lmite entre actor y sistema y como fluyen desde el sistema hacia el actor, entonces se tiene el nivel de detalle correcto. Por otra parte, si no se puede describir este nivel de funcionalidad,

entonces el Casos de Uso necesita ms detalle. Lo esencial es que si se pueden contar puntos funcin se tiene el nivel de detalle adecuado. Definiciones IFPUG cre las definiciones para cada tipo de transaccin apoyndose en una gran variedad de trminos de la industria. Las siguientes definiciones han sido adaptadas para el mtodo de Casos de Uso, pero cumplen con los estndares de IFPUG y otros estndares de la industria. Hay 5 componentes principales que se usan en Anlisis de Puntos Funcin (transacciones y archivos) Transacciones Uno o ms pasos en el flujo de eventos definen las transacciones Un Casos de Uso puede tener una o ms transacciones Los escenarios secundarios ayudan a entender la transaccin Las transacciones son entradas externas, salidas externas o consultas externas. Entrada externa (EI). Proceso elemental que introduce dentro de los lmites de la aplicacin un conjunto de datos o informacin de control. Pantallas, formularios, cuadros de dilogo, controles o mensajes. (IFPUG) Los datos vienen desde el actor. El actor puede agregar, cambiar y borrar informacin de un fichero lgico interno. El dato puede ser informacin de control o informacin de negocio. Si el dato es informacin de control no se almacena en un fichero lgico interno. Salida externa(EO). Proceso elemental que enva fuera de los lmites de la aplicacin un conjunto de datos o informacin de control. Los datos han sido derivados o calculados. (IFPUG) El dato es enviado a un actor del sistema. Los datos figuran en informes o archivos de salida que se crean desde informacin contenida en uno o ms archivos lgicos internos o archivos de interfaz externa. Consulta Externa (EQ) Proceso elemental que enva fuera de los lmites de la aplicacin un conjunto de datos o informacin de control. Los datos se extraen y presentan sin manipulacin previa. (IFPUG) Un proceso elemental con componentes de entrada y salida donde un actor recibe datos desde uno o ms ficheros lgicos internos y ficheros de interfaz externa. El proceso de entrada no actualiza ni mantiene ningn fichero y la salida no contiene datos derivados o calculados. Archivos Los archivos que deben incluirse en el conteo de puntos funcin son Archivos Lgicos

Internos y Archivos de Interfaz externa. Estos pueden reconocerse fcilmente en el modelo lgico de datos (diseo de base de datos relacionales). Frecuentemente los Casos de Uso incluyen una seccin titulada Casos de Uso Subordinados que incluyen una lista de todos loa CUs. Hay una fuerte relacin entre el modelo lgico de datos y los archivos lgicos internos. Archivo Lgico Interno (ILF) Es un grupo de datos relacionados lgicamente o de informacin de control identificable por el usuario, mantenido dentro de los lmites de la aplicacin. (IFPUG) Archivo de Interfaz Externo (EIF) Es un grupo de datos relacionados lgicamente o de informacin de control identificable por el usuario, utilizado por la aplicacin pero mantenido dentro de los lmites de otra aplicacin. (IFPUG) La diferencia principal entre EIF e ILF es que a un EIF lo mantienen otras aplicaciones, no la que se est analizando. Los archivos contribuyen al conteo de Puntos Funcin segn el nmero de elementos de datos (o atributos) y el tipo de registros. Normalmente, la mayora de las tablas tienen slo un tipo de registro. Ejemplo UML

El diagrama muestra la forma en que un actor puede mantener las citas. Los primeros tres Casos de Uso: agregar cita, modificar cita y borrar cita, representan tres entradas externas (EI). Buscar cita es una consulta externa (EQ). En este nivel de detalle es imposible asignar el nmero correcto de elementos de datos y tipos de archivos referenciados, pero en este punto del ciclo de vida lo ms importante es

aclarar y presentar un inventario de todas las transacciones. Segn se avanza, puede establecerse el nmero real de DETs y FTRs y aplicar el factor de complejidad adecuado a las transacciones, en este momento es suficiente calcular las transacciones como media. En sitio web www.SoftwareMetrics.Com contiene todas las tablas que pueden ayudar a valorar las transacciones en detalle. El nmero estimado de Puntos Funcin sin ajustar podra ser 3 EIs x 4 = 12 1 EQ x 4 = 3 El nmero total de Puntos Funcin sin ajustar es aproximadamente 15. Un problema potencial con el conteo de Puntos Funcin desde UML es que no hay suficiente detalle. Hay que tener en cuenta que el actor interacta con muchos casos de usos y cada caso de uso puede incluir varias transacciones, no slo una. Una transaccin es un una entrada interna (EI) , una salida externa (EO) o una consulta externa (EQ). EJEMPLO CASO DE USO Los Puntos Funcin resultan evidentes en el flujo de eventos dentro del Caso de Uso. Cada paso dentro del flujo de eventos puede ser una transaccin nica o varios pasos combinados pueden constituir una transaccin nica. Los escenarios al final de los casos de uso pueden ayudar a definir las transacciones. Casos de Uso Buscar pedido. 1 - El usuario puede introducer el ID del pedido, el ID del cliente o el nombre del cliente. 2 - El usuario presiona Buscar 3 - Si el usuario introduce el ID del pedido 3 - a - El sistema muestra ese pedido 4 - Si el usuario introduce el nombre o el ID del cliente 4 - a - El sistema devuelve una lista de todos los pedidos de ese cliente y muestra fecha e ID del pedido. 4 - b - El usuario selecciona un pedido desde la lista 4 - c - El sistema buscar por ID de pedido 4 - d - El sistema mostrar el pedido Aplicacin de los PF Pasos 1 y 2 definen el lado de las entradas de las EQs mientras que los pasos 3 y 4 definen el lado de las salidas. El paso 3 describe una consulta externa. En el lado de las entradas esta la ID del pedido, en el lado de las salidas est el detalle del pedido. Esta combinacin constituye la consulta externa. El paso 4 describe dos consultas externas, pero la segunda consulta es una repeticin de la consulta descripta en el paso 3a. Los pasos 4 y 4 describen la segunda consulta externa. El Caso de Uso Buscar pedidos incluye dos Consultas externas (resumen y detalle) A la vez que se van actualizando los Caso de Uso incluyendo elementos como capturas de

pantallas, el nmero de Puntos Funcin puede actualizarse y mejorar la estimacin. Desde el tamao al esfuerzo El mejor mtodo para estimar es utilizar los datos de la bases de datos histricos de la propia organizacin. Esto es, establecer una base de datos histrica de proyectos que registre tamao, coste y duracin. Los datos histricos sern la mejor fuente para la estimacin de proyectos futuros. Esto es verdad incluso si los datos histricos fueron desarrollos sobre aplicaciones heredadas. En la ausencia de datos histricos propios, pueden utilizarse medias de la industria. El problema con estas medias es que pueden tener grandes variaciones debido a factores no conocidos. En un entorno de aplicaciones heredadas COBOL, el clculo est entre 4-12 Puntos Funcin por mes de trabajo mientras que en aplicaciones desarrolladas en entornos GUI la productividad puede ser 20 veces mayor. La mayora de los entornos de CU, por no decir todos, son GUI y utilizan lenguaje como Visual Basic, Forte o Dynasty. Tamao en Horas por Nro. probable PF PF CUs 10 1-2 1o2 100 3-5 5 - 10 1000 9 - 11 20 - 35 5,000 15-18 50 65 10,000 25-35 200 - 350 Resumen El mtodo de Casos de Uso y el anlisis de Puntos Funcin no son mtodos contradictorios sino complementarios. El Anlisis de Puntos Funcin puede aplicarse al mtodo de Casos de Uso muy fcilmente. Uno de los problemas para calcular los puntos funcin es no tener un conjunto de requisitos completo y consistente. Adoptando el mtodo de Casos de Uso y el Anlisis de Puntos Funcin la calidad del documento de requisitos puede mejorarse, y tambin el clculo del tamao y la estimacin en general. Ahora que se puede aplicar el Anlisis de Puntos Funcin e los CU, se puede empezar a estimar el proyecto en las fases tempranas del ciclo de vida. Tambin se puede actualizar el conteo de Puntos Funcin cuando cambia el CU. Esto permite detallar Casos de Uso individuales y recalcular el tamao total del proyecto. Con los ajustes adecuados se puede calcular el tamao de las aplicaciones software, monitorizar la productividad y calidad. Con suerte, se puede mejorar el proceso y ver una mejora en calidad y productividad.

Puntos de funcin

Las funciones de tipo dato representan la funcionalidad proveda al usuario a travs de datos internos o externos. Las funciones de tipo dato son definidas como Archivos Lgicos Internos (ALI) o Archivos de Interfase Externa (AIE). El trmino archivo se refiere a un grupo de datos lgicamente relacionados y no a la implementacin fsica de este grupo de datos. En un diagrama de flujo de datos, un archivo lgico interno equivale a un almacn de datos y en un diagrama de entidad - relacin a una entidad. 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 deregistros lgicos referenciados y la cantidad dedatos 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 tabla
Tabla 1 - Complejidad de archivos lgicos internos 1 a 19 items de datos 20 a 50 items de datos referenciados referenciados 1 registro lgico 2 a 5 registros lgicos 6 o ms registros lgicos SIMPLE SIMPLE MEDIA SIMPLE MEDIA COMPLEJA 51 o ms items de datos referenciados MEDIA 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 Cantidad Precio unitario Fecha de pedido

Tamao 10 12 6 12 12 8

Tipo Numrico Numrico Numrico 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 de contribuyente Contacto 1 Telfono 1 Contacto 2 Telfono 2 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 Alfanumrico Alfanumrico 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 tabla
Tabla 2 - Complejidad de archivos de interfase externa 1 a 19 items de datos 20 a 50 items de datos referenciados referenciados 1 registro lgico 2 a 5 registros lgicos 6 o ms registros lgicos SIMPLE SIMPLE MEDIA SIMPLE MEDIA COMPLEJA 51 o ms items de datos referenciados MEDIA 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.

Las funciones de tipo transaccin representan una funcionalidad proveda al usuario por el procesamiento de datos en una aplicacin. Las funciones de tipo transaccin son: Entradas Externas (EE) Salidas Externas (SE) 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 tabla
Tabla 3 - Complejidad de entradas externas 1 a 4 datos elementales referenciados 0 1 archivo lgico referenciado 2 archivos lgicos referenciados 3 ms archivos lgicos referenciados SIMPLE SIMPLE MEDIA 5 a 15 datos elementales referenciados SIMPLE MEDIA COMPLEJA 16 o ms datos elementales referenciados MEDIA 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 identificada
Archivo 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 tabla
Tabla 4 - Complejidad de salidas externas 1 a 5 datos elementales referenciados 0 1 archivo lgico referenciado 2 a 3 archivos lgicos referenciados 4 ms archivos lgicos referenciados SIMPLE SIMPLE MEDIA 6 a 19 datos elementales referenciados SIMPLE MEDIA COMPLEJA 20 o ms datos elementales referenciados MEDIA 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 elementales referenciados 0 1 archivo lgico referenciado 2 archivos lgicos referenciados 3 ms archivos lgicos referenciados SIMPLE SIMPLE MEDIA 5 a 15 datos elementales referenciados SIMPLE MEDIA COMPLEJA 16 o ms datos elementales referenciados MEDIA 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 elementales referenciados 0 1 archivo lgico referenciado 2 a 3 archivos lgicos referenciados 4 ms archivos lgicos referenciados SIMPLE SIMPLE MEDIA 6 a 19 datos elementales referenciados SIMPLE MEDIA COMPLEJA 20 o ms datos elementales referenciados MEDIA 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.

En la seccin anterior estudiamos una serie de pasos para identificar la funciones de la aplicacin (de tipo dato y tipo transaccin) con el objeto de determinar la complejidad de cada una de ellas. Con esta informacin calcularemos los puntos de funcin brutos de la aplicacin. Para ello utilizaremos la siguiente tabla
Tabla 7 Clculo de Puntos de funcin brutos Tipo de funcin Archivos Lgicos Internos Complejidad Simples 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 Total x Complejidad x7 x 10 x 15 x5 x7 x 10 x3 x4 x6 x4 x5 x7 x3 x4 x6 Total por tipo

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: 13 Simples, 7 Medias, 5 Complejas Salidas Externas: 8 Simples, 5 Medias, 3 Complejas Consultas Externas: 9 Simples, 5 Medias, 4 Complejas Aplicando los datos en la tabla anterior:
Tipo de funcin Archivos Lgicos Internos Complejidad Simples 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 x 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 Total por tipo 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 ) Suma

425
Total de Puntos de Funcin Brutos (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.

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 5
Tabla 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 0 1 2 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 frontend 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

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 0 1 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

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

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 1 2 3 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

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

0 1 2 3 4

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

6- Entrada de datos on-line Esta caracterstica cuantifica la entrada de datos on-line proveda por la aplicacin
Grado 0 1 2 3 4 5 Descripcin Todas las transacciones son procesadas en modo batch 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

7- Interfase con el usuario Las funciones on-linedel 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 2 3 Descripcin ningn de los items descritos De uno a tres de los items descritos 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

8- Actualizacin on-line La aplicacin posibilita la actualizacin on-line de los archivos lgicos internos
Grado 0 1 2 3 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 4 Adems del tem anterior, la proteccin contra prdidas de datos 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

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

10 - Reusabilidad La aplicacin y su cdigo sern o fueron proyectados, desarrollados y mantenidos para ser utilizados en otras aplicaciones.
Grado 0 1 2 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

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 aplicacin
Grado 0 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

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

1-4

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 0 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 3 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

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 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 Factor de Ajuste 4 0 0 1 1 5 1 5 0 0 0 0 0 0 17

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

Una vez determinado el factor de ajuste, podremos calcular los puntos de funcin mediante la aplicacin de la frmula: Puntos de funcin = Puntos de funcin brutos * Factor de Ajuste Cabe sealar que esta frmula se utiliza para los proyectos en desarrollo y aplicaciones terminadas. Ms adelante, estudiaremos una formula diferente para el calculo de los 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.
Ms informacin en: http://www.oocities.org/gimenezpy/

Potrebbero piacerti anche