Métodos de Medición en Puntos Función: IFPUG FPA Los Puntos Función son una herramienta que se utiliza en muchas empresas para la valoración de los proyectos, pero cuando se habla en general de Puntos Función puede parecer que sólo hay un método y nada más lejos de la realidad. Métodos de Medición en Puntos Función: IFPUG FPA Es una técnica de estimación de Software desarrollada originalmente por Allan Albrecht en 1979 mientras trabajaba para IBM, quien definió conceptos para medir el software a partir de valoraciones de funcionalidades entregadas al usuario y no a partir de aspectos técnicos, con la intención de producir valoraciones independientes de la tecnología y fases del ciclo de vida utilizado IMPORTANCIA DE LA ESTIMACIÓN Es uno de los aspectos cruciales en la planificación gestión de proyectos. Razones por las que se hacen estimaciones incorrectas Pedidos frecuentes por cambios por parte de los usuarios Tareas pasas por alto Complejidad del sistema de aplicación propuesto Experiencia del equipo del proyecto Método de juicio de experto Basado en la experiencia de los gerentes en proyectos similares. La exactitud de la predicción se basa en la competencia, experiencia, objetividad y percepción del estimador. ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN La métrica de punto de función(PF) se usa de manera efectiva como medio para medir la funcionalidad que entrega un sistema. Técnica de medición del tamaño funcional del software, desde el punto de vista del cliente. ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Métricas basadas en la función, empleando datos históricos, el PF se usa para: Estimar el costo o el esfuerzo requerido para diseñar, codificar, y probar el software Predecir el numero de errores que se encontraran durante la prueba Pronosticar el numero de componentes, de líneas de código proyectadas, o ambas en el sistema implementado. Métodos de Medición en Puntos Función: IFPUG FPA Aunque el número de variaciones sobre el método de puntos función es amplio, a continuación vamos a estudiar: IFPUG El Método de Análisis en Puntos Función de IFPUG (FPA) ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Los puntos de función derivan empleando una relación empírica basada en medidas contables (directas) del dominio de la información del software y las evaluaciones de la complejidad. ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Valores del dominio de la información. Numero de entrada externas (EE): Se origina en un usuario o es transmitida desde otra aplicación y proporciona distintos datos orientados a la aplicación o información de control. Las entradas suelen emplearse para actualizar archivos lógicos internos (ALI). Las entradas deben distinguirse de las consultas, que se cuentan por separado. ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Valores del dominio de la información. Numero de salidas externas (CE): Cada salida externa de datos derivados dentro de la aplicación que ofrecen información al usuario. En este contexto, salida externa alude a informes, pantallas, mensajes de error etc. Los elementos deben distinguirse de las consultas, que dentro de un informe no se cuenta por separado ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Valores del dominio de la información. Numero de consultas externas (CE): Una consulta externa se define como una entrada en línea que da como resultado la generación de alguna respuesta de software inmediata en la forma de una salida en línea (con frecuencia recuperada de un ALI). ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Valores del dominio de la información. Numero de archivos lógicos internos (ALI) cada archivo lógico interno es un agrupamiento lógico de datos que reside dentro de los limites de las aplicaciones y que se mantiene mediante entradas externas ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Valores del dominio de la información. Numero de archivos de interfaz externos (AIE) cada archivos de interfaz externo es un agrupamiento lógico de datos de externo que reside fuera de la aplicación, pero que proporciona información que puede usar la aplicación. ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Valores del dominio de la información. Una vez que se han recolectado los datos, se asocia un valor de complejidad con cada conteo. Las organizaciones que usan métodos de punto de función desarrollan los criterios para determinar si una entrada determina si es simple, promedio o compleja. No obstante, la determinación de la complejidad es un poco subjetiva. ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Asignar puntos función según nivel de complejidad Con los niveles de complejidad, puedo proceder a asignar los puntos de función no ajustados a cada uno, según la tabla de parámetros que estemos usando. Por ejemplo podemos usar la siguiente tabla de parámetros: ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Asignar puntos función según nivel de complejidad Según esta tabla, los puntos de función a asignar a cada funcionalidad son: ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Son factores de ajuste de valor basados en las respuestas a las siguientes preguntas: 1. ¿El sistema requiere respaldo y recuperación confiables? 2. ¿Se requieren comunicaciones de datos especializadas para transferir información hacia o desde la aplicación? 3. ¿Existen funciones de procesamiento distribuidas? 4. ¿El desempeño es crucial? 5. ¿El sistema correrá en un entorno operativo existente enormemente utilizado? 6. ¿El sistema requiere entrada de datos en línea? 7. ¿La entrada de datos en línea requiere que la transacción de entrada se construya sobre múltiples pantallas u operaciones? 8. ¿Los ALI se actualizan en línea? 9. ¿Las entradas, salidas, archivos o consultas son complejos? 10. ¿El procesamiento interno es complejo? 11. ¿El código se diseña para ser reutilizable? 12. ¿La conversión y la instalación se incluyen en el diseño? 13. ¿El sistema se diseña para instalaciones múltiples en diferentes organizaciones? 14. ¿La aplicación se diseña para facilitar el cambio y su uso por parte del usuario? ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN son factores de ajuste de valor basados en las respuestas a las siguientes preguntas: Cada una de estas preguntas se responde usando una escala que varía de 0 (no importante / aplicable) a 5 (absolutamente esencial). – 0= sin influencia, – 1=accidental, – 2=moderado, – 3=medio, – 4=significativo, – 5=esencial. Diagrama de flujo de sistema de alarmas “Casa Segura” Diagrama de flujo de sistema de alarmas “Casa Segura” Paso 1. Determinar el conjunto de medidas de dominio de información. Paso 2. Asignar la complejidad adecuada. Paso 3. Obtener el Conteo Total. UFC= ∑(número de elementos de un tipo) x peso. Paso 4. Obtener los Factores de ajuste de valor (FAV), respondiendo las 14 preguntas indicadas. (Fi ) Paso 5. Aplicar la fórmula PF = conteo total x [0.65 + 0.01 x ∑(Fi )] Diagrama de flujo de sistema de alarmas “Casa Segura” Entradas externas (EE) Salidas externas (SE). Consultas externas (CE). Archivos lógicos internos (ALI). Archivos de interfaz externos (AIE). Diagrama de flujo de sistema de alarmas “Casa Segura” Diagrama de flujo de sistema de alarmas “Casa Segura” Diagrama de flujo de sistema de alarmas “Casa Segura” ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN son factores de ajuste de valor basados en las respuestas a las siguientes preguntas: El conteo total que se muestra en el cuadro debe ajustarse empleando la ecuación PF= CONTEO TOTAL X [0.65 + 0.01 x ∑Fi] Donde el conteo total es la suma de todas las entradas PF obtenidas en el cuadro y Fi (i= 1 a 14) son factores de ajuste de valor. Paso 4. Obtener los Factores de ajuste de valor (FAV), respondiendo las 14 preguntas indicadas (Fi ) y asignando valores de 0 (no importante / aplicable) a 5 (absolutamente esencial): ESTIMACIÓN BASADA EN PUNTO DE FUNCIÓN Son factores de ajuste de valor (FAV) basados en las respuestas a las siguientes preguntas: 1. ¿El sistema requiere respaldo y recuperación confiables? 2. ¿Se requieren comunicaciones de datos especializadas para transferir información hacia o desde la aplicación? 3. ¿Existen funciones de procesamiento distribuidas? 4. ¿El desempeño es crucial? 5. ¿El sistema correrá en un entorno operativo existente enormemente utilizado? 6. ¿El sistema requiere entrada de datos en línea? 7. ¿La entrada de datos en línea requiere que la transacción de entrada se construya sobre múltiples pantallas u operaciones? 8. ¿Los ALI se actualizan en línea? 9. ¿Las entradas, salidas, archivos o consultas son complejos? 10. ¿El procesamiento interno es complejo? 11. ¿El código se diseña para ser reutilizable? 12. ¿La conversión y la instalación se incluyen en el diseño? 13. ¿El sistema se diseña para instalaciones múltiples en diferentes organizaciones? 14. ¿La aplicación se diseña para facilitar el cambio y su uso por parte del usuario? EJEMPLO CALCULO DE PUNTO DE FUCIÓN Ejemplo, supóngase que es 46 (un moderadamente complejo) por tanto: PF= CONTEO TOTAL X [0.65 + 0.01 x ∑Fi] Sustituimos: PF=50 X [0.65+(0.01x 46)]=55.5=56 producto EJEMPLO CALCULO DE PUNTO DE FUCIÓN Para el siguiente ejemplo, se considerará que todas las funciones Identificadas serán de Complejidad medía: El sistema requerido es: Registro de equipos de futbol Registros de partidos Buscar partido por fecha Actualización de datos del equipo Eliminar equipos Listado de equipos 1 reporte de los equipos registrados por rango de fechas 1 reporte de partidos 4 tablas en BD FACTOR DE AJUSTES No. Factor de Ajustes 1 Comunicación de Datos 2 Procesamiento distribuido 3 Objetivos de rendimiento 4 Configuración del Equipamiento 5 Tasa de Transacciones 6 Entrada de Datos en Línea 7 Interfaz del usuario 8 Actualizaciones en Línea 9 Procesamiento complejo 10 Reusabilidad del Código 11 Facilidad de Implementación 12 Facilidad de Operación 13 Instalaciones Mútiples 14 Facilidad de Cambios Factor de Ajustes Puntaje PUNTOS DE FUNCIÓN AJUSTADOS PFA= PFSA*(0.65+(0.01*FACTOR DE AJUSTE)) Donde: PFSA: Puntos de función sin ajustar PFA: Puntos de función ajustado Continuaremos gracias