UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD IZTAPALAPA. División de Ciencias Básicas e Ingeniería

Documentos relacionados
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL

Ingeniería del Software de Gestión Titulación: ITIG / ITIG - LADE 1º Cuatrimestre - octubre de 2012

CALIDAD DEL SOFTWARE TESTS DE EXAMEN ACTUALIZADO SEP TEMA 6 EL ANÁLISIS DEL PUNTO FUNCIÓN

Estimación de Esfuerzo con Casos de Uso

CALIDAD DEL SOFTWARE TESTS DE EXAMEN ACTUALIZADO FEB TEMA 6 EL ANÁLISIS DEL PUNTO FUNCIÓN

INDICE Parte Uno. Fundamentos de Análisis de Sistemas 1. Asumiendo el Papel del Análisis de Sistemas Conceptos de Diseño y Análisis de Sistemas

SOFTWARE DE PROPÓSITO ESPECÍFICO PARA FARMACIAS SICOFARM

Nombre de la asignatura: Calidad de Software II Carrera: Lic. en Informática Clave de la asignatura: AWC Horas teoría-horas prácticacréditos:

MANUAL DE USUARIO Módulo de Compras

Vida y Cultura. Ixmiquilpense

Módulo de Compras. Versión 1.0.

1. Propósito. Establecer los puntos que debe cubrir como referencia documental mínima un documento de Diseño de sistemas automatizados.

Guía para la creación de una empresa

Aspel-CAJA. Antecedentes

Administración de cuentas por cobrar de Microsoft Dynamics GP 10.0

Rational Unified Process

Manual de Usuario de Sisecom (Sistema de Servicios Compuestos)

Métricas de Producto

MANUAL DE ZEUS CREDITO Y COBRANZA

Aplicación Web: Enlace : Nota: Para tener una mejor experiencia por la pagina se les recomienda utilizar el navegador Chrome.

Asciende Computación S.A de C.V = SE Móvil

TABLA COMPARATIVA DE LOS SISTEMAS PUNTOS DE VENTAS

La medición funcional de software con SCRUM

Manual de Módulo de Compras

TABLA COMPARATIVA DE LOS SISTEMAS COMERCIALES

Introducción Clientes y Cuentas por Cobrar

MUNICIPALIDAD DE ANTOFAGASTA MANUAL DE OPERACIONES SISTEMA DE BIENESTAR

T.I. para procesos financieros de crédito, arrendamiento y administración inteligente de documentos digitales.

Sistemas Administrativos

Programa. 2.1 Métricas Internas

UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES

Selección del Hardware y Software Administración del proceso de desarrollo de Sistemas de Información.

Menú Principal. Empresas. Compuesto por: Empresas Proveedores Clientes Gastos. Productos. Compuesto por:

Sistemas Administrativos

RESUMEN: Facturación y Ventas: Cuentas por Cobrar: Inventario y Servicios: Compras y Liquidaciones: Cuentas por Pagar: Gubernamental (DGII):

CAPÍTULO 5 DESARROLLO DEL SISTEMA

CAJA. Cierre de Caja. Módulo Caja

CEMEX GO. Facturas. Versión 2.0

MÓDULO DE LOTIZACIÓN. Versión: Última modificación: Noviembre 2012

2.1 METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Sistemas Administrativos

TEMARIO: 1. INTRODUCCIÓN 1.1 Definición 1.2 Objetivo del Curso

Manual de Estudiante PROPEC. Manual de Estudiante PROPEC Página 1 de 11 Dto. Procesamiento de Datos

5. Cuáles son las actividades primarias de la producción de software

Ruta de Acceso: Operativo Doc. facturacion Facturacion mostrador. Módulo: Comercialización. Ítem de inventario por unidad operativa.

REGISTRO DE CLAVES. Importante: La creación o modificación de las claves de usuario, solo pueden ser realizadas por una clave de administrador.

Facturar en Línea MANUAL DE USUARIO MÓDULO DE COMPRAS Versión 1.0 Proveedor autorizado de certificación SAT Número de aprobación: 55029

SIIGO Pyme. Procesos Gestión de Recaudos. Cartilla II

Nuevas funciones y características Aspel-BANCO 4.0

Técnicas de Pruebas de

CEMEX Go. Facturas. Versión 2.0

MÓDULO DE CLIENTES. Es posible acceder a este módulo desde el menú Mantenimiento\Clientes o bien desde el acceso

GUIA-EXAMEN DEPARTAMENTAL LÓPEZ SOLANO JORGE ARIEL

MANUAL DE USUARIO PROCESOS ESPECIALES

SIIGO WINDOWS. Procesos Modulo Clasificaciones. Cartilla

FACTURA DE VENTA CRUZA CON PEDIDO

MANUAL DE USUARIO PROCESOS ESPECIALES

Manual de Módulo de Ingresos

Contenido Introducción... 2 Beneficios... 3 Soluciones... 5 Cajas y tienda... 5 Te gustaría conocer más funciones de cajas y tiendas?...

Objetivos del SafWin. Principales funciones del SafWin

FACTURAS. Qué es una factura? Cómo crear una factura?

SIIGO WINDOWS. Re porte a Centrales de Riesgo. Cartilla I

CURSO DE COMPUTACIÓN A2 ADMINISTRATIVO MÓDULO CONFIGURABLE

BOLSA MEXICANA DE VALORES, S.A.B. DE C.V.

BOLSA MEXICANA DE VALORES, S.A.B. DE C.V.

Funcionalidad en el ERP SA. Proceso de Ventas

Gestiolan ALBARANES Y FACTURAS

Módulo de VENTAS. Ingreso de Cobranza Consulta de cuentas corrientes Imputación de comprobantes Informes

CAPÍTULO 1. Se sabe (o conoce) que algunas de las actividades de desarrollo del

Manual de uso del Portal de Usuarios Ticket Empresarial

MANUAL Módulo de Ingresos

2. PROCEDIMIENTO 3. OPERACIÓN. 3.1 Acceso

MANUAL DE TALLERES INGENIERÍA DE SOFTWARE

Manual de Gastos. Documentación Intelisis. Derechos Reservados. Publicado en

MANUAL DE USUARIO FINAL Proceso 324_TBBP_FPF_Control y Auditoria De Cartera

No se conoce o no se han determinado el bien o servicio que se va a adquirir o el precio del

Sistema PagaWin. Se puede generar un recibo de pago o bien, la impresión de la factura en caso de que se requiera.

Requerimientos de Software

BOLSA MEXICANA DE VALORES, S.A.B. DE C.V.

BOLSA MEXICANA DE VALORES, S.A.B. DE C.V.

MANUAL DE USUARIO FINAL

Manual de Referencia. Sistema de Punto de Venta y Administración de Comercios

ANÁLISIS DE SISTEMAS. Prof. Eliz Mora

BALANCE DE APERTURA. Cuáles son los aspectos a tener en cuenta para ingresar el balance de apertura?

SIIGO WINDOWS. Facturación Producto - Servicio. Cartilla I

BOLSA MEXICANA DE VALORES, S.A.B. DE C.V.

BOLSA MEXICANA DE VALORES, S.A.B. DE C.V.

BOLSA MEXICANA DE VALORES, S.A.B. DE C.V.

BOLSA MEXICANA DE VALORES, S.A.B. DE C.V.

PREGUNTAS FRECUENTES

Multicompañía. Multisector

BOLSA MEXICANA DE VALORES, S.A.B. DE C.V.

El primer paso para centrar la estrategia de su negocio en la atención a sus clientes

ÁREA: FINANCIERA MÓDULO DE INGRESOS.

CONCEPTOS FACTURACIÓN VT

Facilita la emisión y recepción de facturas electrónicas.

CONTENIDO. 4- Operaciones proveedores 4.1 Órdenes de compra Afectar Almacén 4.2 Nueva orden de compra 4.3 Cuentas por pagar

Transcripción:

Casa Abierta al Tiempo UNIVERSIDAD AUTÓNOMA METROPOLITANA UNIDAD IZTAPALAPA División de Ciencias Básicas e Ingeniería Departamento de Ingeniería Eléctrica Licenciatura en Computación Aplicación de Métricas de Puntos Funcionales Reporte del Proyecto de Titulación Trimestre 02-P Alumno: Márquez Rangel José Luis Matrícula: 97318873 Asesor Maestro Luis Fernando Castro Careaga Profesor titular tiempo completo Lugar de realización: Laboratorio T-159 de la propia Unidad Periodo de Realización: Trimestre 01I Trimestre 02P

Aplicación de métricas de puntos funcionales CONTENIDO Objetivos 2 Justificación 3 Introducción 5 Metodología 10 Objetivos y metas alcanzadas 11 Conclusiones 12 Recomendaciones 13 Bibliografía 13 Hojas de trabajo y resultados de las mediciones de las aplicaciones. 1

Aplicación de métricas de puntos funcionales OBJETIVOS Estudio y comprensión del proceso de métrica de puntos funcionales. Aplicar el proceso de medición de puntos funcionales a dos sistemas de preventa en terminal portátil para obtener su medida en puntos funcionales y ayudar así a las demás disciplinas de la Ingeniería de Software participantes en el desarrollo de dichos sistemas, brindándoles datos estadísticos para futuros desarrollos. 2

Aplicación de métricas de puntos funcionales JUSTIFICACIÓN Qué es la Ingeniería de Software? Es una disciplina que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza. En esta definición, existen dos frases clave: 1. disciplina de la ingeniería. Los ingenieros hacen que las cosas funcionen. Aplican teorías, métodos, y herramientas donde sean convenientes, pero las utilizan de forma selectiva y siempre tratando de descubrir soluciones a los problemas. Los ingenieros también saben que deben trabajar con restricciones financieras y organizacionales, por lo que buscan soluciones tomando en cuenta estas restricciones. 2. todos los aspectos de producción de software. La ingeniería de software no sólo comprende los procesos técnicos del desarrollo del software, sino también las actividades, como la administración de proyectos de software y el desarrollo de herramientas, métodos y teorías de apoyo a la producción de software. Planeación de proyectos. La administración efectiva e un proyecto de software depende de planear completamente el progreso del proyecto. El administrador del proyecto debe anticiparse a los problemas que podrían surgir, así como preparar soluciones tentativas a esos problemas. Durante el proceso de planeación, un proyecto se divide en varias actividades que se llevan a cabo en paralelo o en secuencia. Los administradores del proyecto deben estimar las respuestas a las siguientes preguntas: 1. Cuánto esfuerzo se requiere para completar una actividad? 2. Cuánto tiempo calendario se necesita para completar una actividad? 3. Cuál es el costo total de una actividad? La estimación y la calendarización del proyecto se llevan a cabo de manera conjunta. Sin embargo, en las primeras etapas del proyecto se requieren algunas estimaciones de costos, antes de que se tenga la calendarización detallada. Productividad. La productividad en un sistema de manufactura se mide contando el número de unidades que se producen y dividiendo éste entre el número de personas-hora requeridas para producirlas. Sin embargo, para cualquier problema se software, existen muchas soluciones diferentes con distintos atributos. Una solución podría ejecutarse de forma más eficiente mientras podría ser más legible y fácil de mantener. Cuando se producen soluciones con diferentes atributos, no tiene sentido comparar estas tasas de producción. Sin embargo, los administradores tienen que estimar la productividad de los ingenieros en el proceso de desarrollo de software. Estas estimaciones son necesarias para la estimación del proyecto y para valorar si los procesos o las mejoras tecnológicas son efectivas. Por lo general, estas estimaciones de productividad se basan en medir algunos atributos del software y dividir el resultado entre el esfuerzo total requerido para el desarrollo. Existen dos tipos de medidas utilizadas: 1. Medidas relacionadas al tamaño. Estas se relacionan con el tamaño de alguna salida de una actividad. La medida más común relacionada con el tamaño son las líneas de código fuente entregadas. Otras medidas que se utilizan son el número de instrucciones de código objeto entregado o el número de páginas de la documentación del sistema 2. Medidas relacionadas con la función. Estas se relacionan con la funcionalidad total del software entregado. La productividad se expresa en términos de la cantidad de funcionalidad útil producida en un tiempo dado. Los puntos de función y los puntos de objeto son las medidas más conocidas de este tipo. Comparar la productividad de los diferentes lenguajes de programación al utilizar métricas relacionadas con el tamaño da impresiones engañosas. Entre más expresivo sea un lenguaje de programación, más baja es la productividad aparente. Esta anomalía surge debido a que todas las actividades de desarrollo de software se consideran de forma conjunta cuando se calcula la productividad pero la métrica utilizada sólo aplica a los procesos de programación. 3

Aplicación de métricas de puntos funcionales Una alternativa a la utilización del tamaño del código como atributo estimado del producto es utilizar alguna medida de la funcionalidad del código. Esto evitará la anterior anomalía puesto que la funcionalidad es independiente de la implementación del lenguaje. La más conocida de estas medidas es el conteo de puntos de función. Este fue propuesto por Albrech (1979) y refinado por Albrech y Gaffney (1983). Los puntos de función son independientes del lenguaje por lo que se puede comparar la productividad en los diversos lenguajes de programación. Los puntos de función son adecuados para sistemas de procesamiento de datos que están dominados por operaciones de entrada y salida. Los puntos funcionales proveen: - Una herramienta para determinar el tamaño de una paquete de aplicación adquirido, contando todas las funciones incluidas en el paquete. - Una herramienta para ayudar a los usuarios para determinar los beneficios de una aplicación a su organización, contando las funciones que específicamente cumplan sus requerimientos. - Una herramienta para medir las unidades de un producto de software para soportar análisis de calidad y productividad. - Un vehículo para estimar costos y requerimientos de recursos para el desarrollo y mantenimiento de software. - Un factor de normalización para comparaciones de software. 4

Aplicación de métricas de puntos funcionales INTRODUCCIÓN Los puntos funcionales representan la métrica líder en el mundo del software. Aunque los puntos funcionales son originados como un mecanismo de medición de proyectos de software, el poder y utilidad de los puntos funcionales se ha expandido a nuevos usos lejos de sus propósitos básicos. Una gran parte del crédito por la rápida expansión en el uso de puntos funcionales se debe al Grupo Internacional de Usuarios de Puntos Funcionales (IFPUG de sus siglas en inglés), sus oficiales, comités y miembros. La precisión de los puntos funcionales es igual o superior a muchas otras métricas de negocio tales como el rango de retorno, valor presente en red, o retorno de inversión. De hecho, los puntos funcionales ahora son más usados por más propósitos de negocio que cualquier otra métrica en la historia del software. Los puntos funcionales son una unidad de medida. Qué miden los puntos funcionales? Miden el trabajo-producto del desarrollo del software. El trabajo-producto es expresado en términos de funcionalidad tal como la ve el usuario. NOTA: Los puntos funcionales no miden la arquitectura interna o la complejidad de la tecnología aplicada en una aplicación. El análisis de puntos funcionales es una herramienta para estimar el tamaño de sistemas basados en computadora. De entre los objetivos principales de dicho análisis, podemos destacar: - Medir el software cuantificando la funcionalidad proveída al cliente basada principalmente por el diseño lógico. - Medir la funcionalidad que el usuario pida y reciba. - Medir el desarrollo y mantenimiento del software independientemente de la tecnología usada en la implementación. El proceso de medición debe ser suficientemente simple para minimizar la sobrecarga de el proceso de medición y debe presentar una medida consistente a través de varios proyectos y organizaciones ( de que serviría una medida arbitraria?) El proceso de medición toma en cuenta los siguientes elementos: Componentes Funcionales Ejemplos Funciones de Datos - Archivos Internos Lógicos (ILF s) o Archivos de Aplicación o Registros Internos - Archivos Externos de Interface (EIF s) o Archivos de Referencia o Bases de Datos Externas Funciones de Transacción - Entradas Externas (EI s) o Transacciones de Entrada o Señales de Sensores - Salidas Externas (EO s) o Reportes de Salida o Desplegados con datos derivados - Consultas Externas (EQ s) o Consultas en línea o Datos recuperados 5

Aplicación de métricas de puntos funcionales En la siguiente figura se muestra de manera gráfica, las interacciones que tienen cada uno de los componentes funcionales con el sistema: Como se observa, la frontera de la aplicación debe estar completamente definida, ya que de lo contrario, podría haber incoherencias al momento de definir cada elemento funcional. El alcance (de la cuenta) debe estar definido también, como en cualquier otro proyecto, evitando así tomar en cuenta funciones que se consideren irrelevantes para la cuenta. Cada elemento funcional es medido en base a su complejidad funcional. Para medir la complejidad de cada elemento se toman en cuenta los siguientes elementos: Tipos de dato elementales (DET s) - Número de campos no repetidos reconocidos por el usuario. - Aplica para funciones de dato y transacción Tipos de archivo referenciados (FTR s) - Número de archivos referenciados, leídos, creados o actualizados. - Aplica para funciones de transacción. Tipos de elemento de registro (RET s) - Número de sub-agrupaciones de datos o formatos únicos de registro - Aplica para funciones de datos Cada elemento funcional tendrá así un tamaño establecido por el número de elementos que contenga. La suma de todos establece los Puntos Funcionales Desajustados UFP s La medida obtenida debe ser ajustada en base a las características del sistema. Se toman en cuenta 14 Características Generales del Sistema. Cada característica es calificada en una escala de 0 a 5 grados de influencia. 1. Comunicaciones de datos 8. Actualización en línea 2. Procesamiento de datos distribuido 9. Procesamiento complejo 3. Desempeño 10. Reusabilidad 4. Configuración para uso pesado 11. Facilidades de instalación 5. Rango de transacción 12. Facilidades de operación 6. Entrada de datos en línea 13. Multiplataforma 7. Eficiencia final al usuario 14. Facilidad de cambio A través de la suma de los grados de influencia (TDI), se obtiene el Valor del Factor de Ajuste (VAF) 6

Aplicación de métricas de puntos funcionales Una vez obtenido se procede a calcular la Cuenta Ajustada de Puntos Funcionales (AFP), que representa el número de puntos funcionales buscado. Symons (1988) observó que la naturaleza subjetiva de la complejidad de las estimaciones implicaba que el conteo de puntos funcionales en un programa depende de la persona que realiza la estimación. Varias personas tienen nociones diferentes de complejidad. Existe una amplia variedad de conteos de puntos de función, dependiendo del juicio del estimador. Por esta razón, existen versiones que difieren acerca del valor de los puntos funcionales (Furey y Kitchenham, 1997) Sin embargo, los usuarios argumentan que, a pesar de estos defectos, son efectivos en situaciones prácticas (Kemerer, 1993) El proceso de conteo de puntos funcionales. 1.Determinar el tipo de cuenta de puntos de función. Los tipos de cuenta de puntos funcionales existentes son: Cuenta de Puntos Funcionales de Desarrollo de proyecto. - Puntos funcionales asociados con la instalación inicial o software nuevo (incluye funcionalidad agregada y de conversión) Cuenta de Puntos Funcionales de Mejora de proyecto. - Puntos funcionales asociados con la mejora de software existente (incluye funcionalidad agregada, cambiada, eliminada y de conversión) Cuenta de Puntos Funcionales de Aplicación. - Puntos funcionales asociados con cualquier aplicación instalada. Este número es inicializado cuando la cuenta de puntos de función de desarrollo de proyecto esta completa. Es actualizada cada vez que se completa una acción de mejora que altera la funcionalidad de la aplicación. Ejemplos de nuevo desarrollo de proyectos son: La implementación de una nueva aplicación Reemplazo de una aplicación existente Software de conversión requerido para poblar los archivos de una nueva aplicación. Ejemplos de proyectos de mejora son: La implementación de nuevas funciones Cambios o eliminaciones de procesamiento lógico existente Adición o eliminación de campos de datos en un reporte Adición o modificación de estructuras de archivo Introducción de nuevos archivos 2.Identificar el alcance de la cuenta y la frontera de la aplicación. El propósito de la cuenta. El propósito de un conteo de puntos de función es proveer una respuesta a un problema del negocio. El propósito: - Determina el tipo de conteo de puntos funcionales y el alcance de la cuenta requerida para obtener respuestas al problema de negocio bajo investigación. - Influencia el posicionamiento de la frontera entre el software bajo revisión y el software relacionado (circundante) Definición del alcance de conteo El alcance de conteo define la funcionalidad que será incluida en una particular cuenta de puntos de función. Definición de la frontera de la aplicación. La frontera de la aplicación indica la frontera entre el software medido y el usuario. 7

Aplicación de métricas de puntos funcionales 3.Conteo de Funciones de Dato Las funciones de dato representan la funcionalidad proveída al usuario para cumplir los requerimientos internos y externos de datos. Los tipos de funciones de datos se dividen en Archivos Internos Lógicos (ILF s) y Archivos Externos de Interfaz (EIF s) El término archivo no se traduce en el tradicional sentido de procesamiento de datos. En este caso, archivo se refiere a un grupo de datos lógicos y no a la implementación física de un grupo de datos. Un ILF es un grupo lógico de datos o información de control identificable por el usuario (el término identificable por el usuario se refiere a requerimientos definidos para proceso y/o grupos de datos que están agrupados, y entendidos por ambos, él (los) usuario(s) y él (los) desarrollador(es) de software) El intento primario de un ILF es almacenar datos mantenidos a través de uno o más procesos elementales de la aplicación contada. Un EIF es un grupo de datos o información de control identificable por el usuario referenciada por la aplicación, pero mantenida dentro de la frontera de otra aplicación. El intento primario de un EIF es mantener datos referenciados por uno o más procesos elementales dentro de la frontera contada. El número de ILF s, EIF s y sus relativas complejidades funcionales determinan la contribución de las funciones de dato a la cuenta de puntos de función desajustados. Se asigna a cada ILF y EIF una complejidad funcional basada en el número de DET s y RET s asociados con el ILF o EIF. 4.Conteo de Funciones de Transacción Las funciones de transacción representan la funcionalidad proveída al usuario para el procesamiento de datos por una aplicación. Las funciones de transacción están definidas como Entradas Internas (EI s), Salidas Externas (EO s), y Consultas Externas (EQ s) Un EI es un proceso elemental (un proceso elemental es la más pequeña unidad de actividad que es significante a el (los) usuario(s)) que procesa datos o información de control que viene de fuera de la frontera de la aplicación. El intento primario de un EI es mantener uno o más ILF s y/o alterar el comportamiento del sistema. UN EO es un proceso elemental que envía datos o información de control fuera de la frontera de la aplicación. El intento primario de un EO es presentar información al usuario a través de lógica de procesamiento, excepto, o además de la recuperación de datos o información de control. La lógica de procesamiento debe contener al menos una fórmula o un cálculo matemático, o crear datos derivados. Un EO puede también mantener uno o más ILF s y/o alterar el comportamiento del sistema. Un EQ es un proceso elemental que envía datos o información de control fuera de la frontera de la aplicación. El intento primario de un EQ es presentar información al usuario a través de la recuperación de datos o información de control desde un ILF o EIF. La lógica de procesamiento no contiene fórmulas o cálculos matemáticos, y no crea datos derivados. Ningún ILF es mantenido durante al procesamiento, ni se altera el comportamiento del sistema. El número de EI s, EO s y EQ s y sus relativas complejidades funcionales determinan la contribución de las funciones de transacción a la cuenta de puntos de función desajustada. Se asigna a cada EI, EO y EQ una complejidad funcional basada en el número de FTR s y DET s. 8

Aplicación de métricas de puntos funcionales 5.Determinar el valor del factor de ajuste. Como se había comentado anteriormente, el valor del factor de ajuste esta basado en 14 características generales del sistema que valoran la funcionalidad de la aplicación siendo contada. El valor del factor de ajuste, ajusta la cuenta de puntos de función en un +/- 35% para producir la cuenta de puntos funcionales ajustado. 6. Calcular la cuenta de puntos funcionales ajustada. El último paso del análisis de puntos funcionales. Se aplican fórmulas para calcular alguno de los tres tipos de cuenta de puntos de función. El cual fue establecido al inicio. 9

Aplicación de métricas de puntos funcionales METODOLOGÍA 1. Estudio de los manuales (Function Point Counting Practice Manual) 2. Resolución de ejercicios supervisados por el asesor 3. Métrica a las aplicaciones a. Observar y analizar el funcionamiento de los sistemas a medir i.obtener y leer manuales ii.observar a nivel operativo el sistema b. Aplicar el proceso de medición de puntos funcionales a cada aplicación i.determinar el tipo de cuenta ii.determinar el alcance y la frontera de la aplicación 1. Establecer el propósito de la cuenta 2. Identificar el alcance de la cuenta 3. Identificar la frontera de la aplicación iii.contar funciones de datos 1. Identificar Archivos Internos Lógicos 2. Identificar Archivos Externos de Interfaz 3. Determinar la complejidad y la contribución iv.contar funciones de transacción 1. Identificar procesos elementales 2. Identificar primeros candidatos de procesos elementales, clasificarlos como un EI, EO o EQ 3. Validar contra las reglas de identificación de EI s 4. Determinar la complejidad de las EI s 5. Determinar la contribución de las EI s 6. Validar contra las reglas de identificación de EO s 7. Determinar la complejidad de las EO s 8. Determinar la contribución de las EO s 9. Validar contra las reglas de identificación de EQ s 10. Determinar la complejidad de las EQ s 11. Determinar la contribución de las EQ s v.determinar la complejidad y ajustes 1. Evaluar cada uno de las catorce características generales del sistema, en una escala de cero a cinco para determinar el grado de influencia (DI) 2. Sumar los grados de influencia de todas las catorce características generales del sistema para producir el grado total de influencia (TDI) 3. Calcular el Valor de factor de ajuste (VAF) vi.calcular los puntos funcionales ajustados En base al tipo de conteo, se calcula el valor de la cuenta con la fórmula adecuada. 4. Elaboración del reporte 10

Aplicación de métricas de puntos funcionales OBJETIVOS Y METAS ALCANZADOS En primer lugar, se logró un entendimiento y familiarización con el proceso de medición de puntos funcionales. Una vez obtenido este conocimiento, se procedió a aplicar dicho proceso de métrica a las aplicaciones de estudio, logrando obtener su tamaño expresado en puntos de función. 11

Aplicación de métricas de puntos funcionales CONCLUSIONES Como todas las demás actividades productivas, el desarrollo de software necesita herramientas para asegurar se haga lo requerido con calidad y en los tiempos acordados. Una métrica estándar para los sistemas de información permite lograr una comparación entre distintos paquetes de software, establecer estimaciones de esfuerzo (tiempo) para el desarrollo de sistemas, medir la productividad de los desarrolladores, etc. Facilitando así la labor de los administradores de proyectos. Logrando que los objetivos sean alcanzados con un menor rango de incertidumbre. Se presenta esta métrica como una de las más precisas, confiables y extendidas del mercado. Después de la medición de las aplicaciones asignadas, su medida podrá ser usada para los fines que los administradores de proyectos requieran (para obtener la productividad de los programadores, conteo de línea base de la aplicación, comparación de tamaño entre ellas, etc.) Se cuenta ahora con conocimiento de una disciplina más de la Ingeniería de Software a disposición del equipo de desarrollo del Laboratorio de Ingeniería de Software. 12

Aplicación de métricas de puntos funcionales RECOMENDACIONES Extender el uso de la métrica de puntos funcionales a otros proyectos ya elaborados para formar una base de conocimiento sólida (historial de medida vs. tiempo de elaboración) Una vez obtenida ésta base de conocimiento, las estimaciones de esfuerzo-tiempo para el desarrollo de nuevas aplicaciones serán más precisas y confiables. Extender la enseñanza de disciplinas de la Ingeniería de Software en el Plan de Estudio de la carrera para formar profesionales en el área del desarrollo de sistemas con una visión más amplia y sólida. BIBLIOGRAFÍA & Function Point Counting Practice Manual, Chairperson, International Function Point User Group(IFPUG), Release 4.1, January 1999 & Introduction to Function Point Counting: Basics, Q/P Management Group, Inc. 1999 & Ingeniería de Software 6ª. Edición, Ian Somerville, Ed. Adisson Wesley 13

Determinación del tipo de conteo Sistema de preventa 1 Se contarán puntos de función de aplicación. El propósito de esta medición es obtener una métrica de la funcionalidad desarrollada. Identificación del alcance del conteo y de la frontera de la aplicación El sistema de preventa 1, brinda funcionalidad a los agentes de ventas para poder llevar a cabo la labor de ventas y cobranza de una manera eficaz, rápida y confiable. La frontera de la aplicación esta establecida por la funcionalidad proveída al vendedor, además, al observar el módulo de transmisión, la frontera parece más visible, la aplicación mantiene sus ILF s, los transmite y recibe de nuevo información para sus archivos internos. Entran al alcance de la cuenta todas las pantallas y reportes disponibles al momento de hacer la medición.

ILF s (Internal Logical Files) Personal Cartera Fecha actualizada Hora Fecha Teléfono Pld Opcld Número Documento Numero Fecha Generado por Saldo actual Estado Código cliente Cobro Tipo Folio # documento Fecha Total Pago extemporáneo Sub total Deducción Neto Tipo deducción Folio deducción Total deducción Pago Cheques Efectivo Falta por cobrar Nombre banco Cantidad cheque No. Cheque Fecha cheque Código cliente Pedido Código nadro Cantidad Regalo Código cliente Devolución Código cliente Estado # bultos # documento Folio Nota de cargo del cliente Bultos Código nadro Con cargo Sin cargo Bitácora Fecha Hora Modo # marcado Estado

EIF s (External Interface Files) Cliente Cartera Cuenta Nombre Tipo Límite de crédito Saldo total Saldo vencido Porcentaje saldo vencido Venta día Venta acumulada Farmacéuticos No farmacéuticos Ritmo venta Porcentaje disminución venta Venta mes anterior Promedio venta por día actual Promedio venta por día anterior Porcentaje crecimiento Pedidos reales Descuento de precio acumulado Acumulado mercancía sin cargo Porcentaje de uso limite de crédito Producto Código nadro Código ean/upc Descripción Precio publico Precio farmacia Oferta sin cargo Oferta con cargo Devolución Refrigeración Controlado Oncológico Múltiplo Subempaque Especialidad Promoción vigente Promoción reciente Producto nuevo # de demanda Banco Nombre Folios pendientes Código cliente Folio Fecha Días de vencimiento Devolución pendiente Código cliente Folio Fecha Días sin ser recogido

Sistema de preventa 1 Complejidad ILF RET s DET s Low Avg High 1 Personal 1 4 1 0 0 2 Telefono 1 3 1 0 0 3 Documento 1 6 1 0 0 4 Cobro (incluye deducciones) 4 12 1 0 0 5 Pago (incluye cheques) 2 8 1 0 0 6 Pedido 1 4 1 0 0 7 Devolución 2 10 1 0 0 8 Bitácora 1 5 1 0 0 9 0 0 0 10 0 0 0 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 0 0 0 UFP= 56 Puntos de función desajustados correspondientes a los archivos lógicos internos Complejidad EIF RET s DET s Low Avg High 1 Banco 1 2 1 0 0 2 Devoluciones pendientes 1 4 1 0 0 3 Folios Pendientes 1 4 1 0 0 4 Cliente 1 22 1 0 0 5 Producto 3 18 1 0 0 6 0 0 0 7 0 0 0 8 0 0 0 9 0 0 0 10 0 0 0 UFP= 25 Puntos de función desajustados correspondientes a los acrhivos externos de interface

Sistema de preventa 1 Complejidad EI FTR s DET s Low Avg High 1 Editar personalización 1 4 1 0 0 2 Agregar teléfono 1 4 1 0 0 3 Modificar teléfono 1 4 1 0 0 4 Eliminar teléfono 1 3 1 0 0 5 Agregar cliente a ruta 1 3 1 0 0 6 Capturar cobro 1 11 1 0 0 7 Agregar deducción en cobro 1 5 1 0 0 8 Modificar deducción a cobro 1 5 1 0 0 9 Eliminar deducción en cobro 1 3 1 0 0 10 Modificar cobro 1 11 1 0 0 11 Eliminar cobro 1 3 1 0 0 12 Capturar pago (captura de efectivo) 1 5 1 0 0 13 Modificar efectivo en pago 1 3 1 0 0 14 Agregar cheque a pago 1 6 1 0 0 15 Modificar cheque en pago 1 6 1 0 0 16 Eliminar cheque en pago 1 3 1 0 0 17 Agregar producto a pedido 1 5 1 0 0 18 Modificar producto en pedido 1 4 1 0 0 19 Eliminar producto en pedido 1 3 1 0 0 20 Capturar devolución (1os. datos) 1 8 1 0 0 21 Agregar producto a devolución 1 4 1 0 0 22 Modificar producto en devolución 1 4 1 0 0 23 Eliminar producto en devolución 1 3 1 0 0 24 Modificar devolución 1 7 1 0 0 25 Eliminar devolución 1 3 1 0 0 26 Asignar folio a factura 1 4 1 0 0 27 Modificar folio de factura 1 4 1 0 0 28 Eliminar folio de factura 1 3 1 0 0 29 Borrar cobranza (Menú Principal) 2 2 1 0 0 30 Liquidar cobranza (Menú Principal) 1 6 1 0 0 31 Transmisión 11 99 0 0 1 32 0 0 0 33 0 0 0 34 0 0 0 35 0 0 0 36 0 0 0 37 0 0 0 38 0 0 0 39 0 0 0 40 0 0 0 UFP= 90 Puntos de función desajustados correspondientes a las transacciones de entradas externas.

Sistema de preventa 1 Complejidad EO FTR s DET s Low Avg High 1 No. de teléfonos (personalización) 1 6 1 0 0 2 Lista de teléfonos 1 5 1 0 0 3 Lista de clientes 1 9 1 0 0 4 Resumen documentos pendientes 1 5 1 0 0 5 Resumen folios y devoluciones pendientes 2 3 1 0 0 6 Lista de documentos pendientes por cobrar 1 11 1 0 0 7 Lista de deducciones 1 5 1 0 0 8 Lista de cobros 1 4 1 0 0 9 Información de pago 1 8 1 0 0 10 Cantidad de productos en pedido (TODOS) 1 2 1 0 0 11 Lista de productos en pedido 1 12 1 0 0 12 Resumen de pedido (al complementar) 1 6 1 0 0 13 Cantidad de productos en devolución (TODOS) 1 2 1 0 0 14 Lista de devoluciones 1 5 1 0 0 15 Lista de documentos c/s folio 1 6 1 0 0 16 Lista de devoluciones pendientes 1 4 1 0 0 17 Lista de cobros (Menú principal) 2 6 0 1 0 18 Reporte de cobranza (Menú principal) 3 14 0 1 0 19 Reporte de cheques (Menú principal) 2 8 0 1 0 20 Reporte de efectivo (Menú principal) 2 5 1 0 0 21 Lista de cobros (Menú principal) 2 6 0 1 0 22 0 0 0 23 0 0 0 24 0 0 0 25 0 0 0 26 0 0 0 27 0 0 0 28 0 0 0 29 0 0 0 30 0 0 0 UFP= 88 Puntos de función desajustados correspondientes a transacciones de salidas externas

Sistema de preventa 1 Complejidad EQ FTR s DET s Low Avg High 1 Selección de cliente (Teclado) 1 29 0 1 0 2 Información del cliente 1 20 0 1 0 3 Desplegado Menú de Operación del Cliente 1 3 1 0 0 4 Información de documento 1 6 1 0 0 5 Información de cheque (al modificar) 1 5 1 0 0 6 Lista de bancos 1 2 1 0 0 7 Lista de productos 1 11 1 0 0 8 Selección de producto (Teclado) 1 29 0 1 0 9 Información del producto 1 9 1 0 0 10 Información del producto (al agregar a pedido) 1 6 1 0 0 11 Desplegado de datos al modificar cobro 1 10 1 0 0 12 Desplegado de datos al modificar devolución 1 7 1 0 0 13 Lista de documentos (edo. de cuenta) 2 6 0 1 0 14 Lista de clientes que hicieron un pago 2 6 0 1 0 15 Detalle de documento al asignar folio 2 6 0 1 0 16 Bitácora 1 6 1 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0 24 0 0 0 25 0 0 0 26 0 0 0 27 0 0 0 28 0 0 0 29 0 0 0 30 0 0 0 UFP= 54 Puntos de función desajustados correspondientes a las consultas externas

Sistema de preventa 1 UFP (Totales)= 313 Puntos de función desajustados totales VALUE ADJUSTMENT FACTOR Data Communications Distributed Data Processing Performance Heavily Used Configuration Transaction Rate Online Data Entry End-User Efficiency Online Update Complex processing Reusability Installation Ease Operational Ease Multiple Sites Facilitate Change TDI 26 1 0 0 0 0 5 5 4 2 3 1 3 0 2 Grado total de influencia AFP= 284.83 Puntos de función ajustados totales VAF 0.9 Valor del factor de ajuste

Determinación del tipo de conteo Sistema de preventa 2 Se contarán puntos de función de aplicación. El propósito de esta medición es obtener una métrica de la funcionalidad desarrollada. Identificación del alcance del conteo y de la frontera de la aplicación El sistema de preventa 2 brinda funcionalidad a los agentes de ventas para poder llevar a cabo la labor de ventas, cobranza y control de existencias de una manera eficaz, rápida y confiable. La frontera de la aplicación esta establecida por la funcionalidad proveída al vendedor, además, al observar el módulo de transmisión, la frontera parece más visible, la aplicación mantiene sus ILF s, los transmite y recibe de nuevo información para sus archivos internos. Entran al alcance de la cuenta todas las pantallas y reportes disponibles al momento de hacer la medición.

Vehículo Id_vehiculo kilometraje vendedor ILF s (Internal Logical Files) Solicitud de recarga Folio Vend Alm Prod Cantidad Descarga Folio Vendedor Num_producto Cantidad Estado Cliente Num_cliente Nombre Razon Social Estatus Dirección RFC Lim_credito Lugar entrega pedido Causa no_visita Sector Existencias Producto CantidadOK CantidadMalEdo CantidadVend CantidadSalDiv Documento de cobranza Num_cliente Clave Tipo Adeudo Estatus Pago Causa no_pago Pedido Folio Num_cliente Producto Cantidad Regalo(prom.) Descuento Total Forma_pago Estatus Devoluciones Num_cliente Numero Causa cancelación Prod Cantidad Estado Porcentaje recompra Total Facturas Folio Num_cliente Doc_asociado Prod Precio uni Cantidad Importe Desc. Aplicado Causa cancelación Pago Total Pago Folio Vendedor Num_cliente Documento Descripción Monto Cheques Banco Numero Cantidad Estado Folio Pago Salida Diversa Folio Codigo causa Num_producto Cantidad Cliente Estado Solicitud de carga Vendedor Producto Cantidad

EIF s (External Interface Files) Usuario Clave Tipo_usu NIP Nombre F-RE-DI-SE Estadisiticas venta Num_prod Num_cliente Fecha Cant compra Cant dev. Prom vendido Prom devuelto Porc. devuelto Producto Num_prod Descripción Unidades Precio Promocion Ped. Aduanal Promocion Codigo Nombre Opcion Banco Nombre Codigos Sal. Diversa Codigo Descripción

Sistema de preventa 2 Complejidad ILF RET s DET s Low Avg High 1 Vehiculo 1 3 1 0 0 2 Solicitud de recarga 2 5 1 0 0 3 Solicitud de carga 2 3 1 0 0 4 Cliente 1 10 1 0 0 5 Existencias 1 5 1 0 0 6 Documentos de cobranza 2 7 1 0 0 7 Pedidos 2 9 1 0 0 8 Devoluciones 2 8 1 0 0 9 Facturas 2 11 1 0 0 10 Pagos 1 6 1 0 0 11 Cheques 1 5 1 0 0 12 Salida diversa 2 6 1 0 0 13 Descarga 2 5 1 0 0 14 0 0 0 15 0 0 0 UFP= 91 Puntos de función desajustados correspondientes a los acrhivos lógicos internos Complejidad EIF RET s DET s Low Avg High 1 Usuario 1 5 1 0 0 2 Productos 1 6 1 0 0 3 Estadisticas de venta 1 8 1 0 0 4 Promocion 1 3 1 0 0 5 Banco 1 1 1 0 0 6 Codigos Salida Diversa 1 2 1 0 0 7 0 0 0 8 0 0 0 9 0 0 0 10 0 0 0 UFP= 30 Puntos de función desajustados correspondientes a los archivos externos de interface

Sistema de preventa 2 Complejidad EI FTR s DET s Low Avg High 1 Inicio de dia (Teclear NIP) 1 5 1 0 0 2 Cambio de vendedor / sin previo acceso 3 9 0 0 1 3 Iniciar recarga 1 5 1 0 0 4 Agregar producto a recarga 1 4 1 0 0 5 Modificar producto en recarga 1 3 1 0 0 6 Eliminar producto en recarga 1 3 1 0 0 7 Consolidar recarga 2 3 1 0 0 8 Cambio de vehiculo 1 4 1 0 0 9 Cambio de vendedor / con previo acceso 2 6 0 1 0 10 Eliminar solicitud de carga 1 2 1 0 0 11 Agregar producto en sol. De carga 1 4 1 0 0 12 Modificar producto en carga 1 3 1 0 0 13 Eliminar producto en carga 1 3 1 0 0 14 Modificar documento de cobranza 2 4 1 0 0 15 Eliminar documento 2 4 1 0 0 16 Ignorar documento vencido facultativo 2 4 1 0 0 17 Designorar documento 2 2 1 0 0 18 Agregar producto en pedido 2 4 1 0 0 19 Detallar promoción 1 4 1 0 0 20 Modificar cantidades en pedido 1 4 1 0 0 21 Eliminar producto en pedido 1 3 1 0 0 22 Facturar 3 16 0 0 1 23 Cancelar factura 3 19 0 0 1 24 Eliminar promocion 1 2 1 0 0 25 Eliminar pedido 1 2 1 0 0 26 Agregar producto a devolucion 2 6 0 1 0 27 Devolver (imprime nota de credito) 3 14 0 0 1 28 Modificar devolucion (cancelandola) 1 3 1 0 0 29 Modificar producto en devolucion 2 6 0 1 0 30 Eliminar producto en devolucion 2 2 1 0 0 31 Eliminar devolucion 2 2 1 0 0 32 Asignar causa salida diversa 1 2 1 0 0 33 Agregar producto a salida diversa 1 4 1 0 0 34 Modificar producto en salida diversa 1 4 1 0 0 35 Eliminar producto en salida diversa 1 2 1 0 0 36 Asignar causa de no venta 1 2 1 0 0 37 Asignar kilometraje (salida/regreso) 1 4 1 0 0 38 Alta de producto en descarga 1 5 1 0 0 39 Modificar producto en descarga 1 5 1 0 0 40 Eliminar producto en descarga 1 3 0 1 0 41 Consolidar descarga 1 3 1 0 0 42 Modificar estado salida diversa 1 3 1 0 0 43 Modificar estado de producto en salida diversa 1 3 1 0 0 44 Cambiar estado a cheque 1 2 1 0 0 45 Recepcion de efectivo 1 3 1 0 0 46 Ingreso de comentarios de fin de dia 1 2 1 0 0 47 Agregar cheque a pago 1 6 1 0 0 48 Modificar cheque 1 5 1 0 0 49 Eliminar cheque en pago 1 3 1 0 0 50 0 0 0 UFP= 163 Puntos de función desajustados correspondientes a las transacciones de entrada externa

Sistema de preventa 2 Complejidad EO FTR s DET s Low Avg High 1 Existencias (buen estado) / reporte 3 11 0 1 0 2 Existencias (mal estado) / reporte 3 9 0 1 0 3 Existencias (venta acumulada) / reporte 3 10 0 1 0 4 Documento de cobranza 1 7 1 0 0 5 Imprimir recibo de pago 3 13 0 1 0 6 Consulta de productos a surtir en linea 1 4 1 0 0 7 Consulta de productos a surtir en reporte 2 8 0 1 0 8 Reporte control de cobranza 6 33 0 0 1 9 Reporte preliquidación en caja 4 17 0 0 1 10 Reporte liquidacion en caja 2 23 0 0 1 11 Reporte pagaré 1 5 1 0 0 12 Informe labor diaria 4 14 0 0 1 13 Reporte ventas del día 2 11 0 1 0 14 0 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0 24 0 0 0 25 0 0 0 26 0 0 0 27 0 0 0 28 0 0 0 29 0 0 0 30 0 0 0 UFP= 70 Puntos de función desajustados correspondientes a transacciones de salida externa

Sistema de preventa 2 Complejidad EQ FTR s DET s Low Avg High 1 Desplegar F-RE-DI-SE y # emp aignado 1 3 1 0 0 2 Existencias / en linea 2 8 0 1 0 3 Catalogo de productos 1 6 1 0 0 4 Desplegar descripcion del producto 1 4 1 0 0 5 Productos en recarga 2 7 0 1 0 6 Productos en recarga / reporte 4 10 0 0 1 7 Productos en carga 2 7 0 1 0 8 Productos en carga / reporte 2 7 0 1 0 9 Reporte inicial / Salida 2 6 0 1 0 10 Lista de clientes 1 6 1 0 0 11 Limite de crédito 1 2 1 0 0 12 Estadisticas de ventas / devoluciones 1 8 1 0 0 13 Informacion de promocion 1 4 1 0 0 14 Productos en pedido 2 5 1 0 0 15 Lista de pedidos 1 5 1 0 0 16 Total por pedido 1 2 1 0 0 17 Informacion de devolucion 1 5 1 0 0 18 Desplegar causa de salida diversa 1 3 1 0 0 19 Lista de productos en salida diversa 3 5 0 0 0 20 Desplegar estado de salida diversa 2 4 1 0 0 21 Imprimir salida diversa (asociada al cliente) 3 10 0 1 0 22 Imprimir relacion de descarga 3 9 0 1 0 23 Reporte de control de carga (inventario final) 3 8 0 1 0 24 Reporte Autorizacion salidas diversas 4 13 0 0 1 25 0 0 0 26 0 0 0 27 0 0 0 28 0 0 0 29 0 0 0 30 0 0 0 UFP= 83 Puntos de función desajustados correspondientes a transacciones de consulta externa

Sistema de preventa 2 UFP (Totales)= 437 Puntos de función desajustadis totales VALUE ADJUSTMENT FACTOR Data Communications Distributed Data Processing Performance Heavily Used Configuration Transaction Rate Online Data Entry End-User Efficiency Online Update Complex processing Reusability Installation Ease Operational Ease Multiple Sites Facilitate Change TDI 26 VAF 0.91 1 0 0 0 0 5 5 4 2 3 1 3 0 2 Grado total de influencia Valor del factor de ajuste AFP= 397.67 Puntos de función ajustados totales