CAPITULO 3

Modelo de Estimación De Costos

Ingenieria de Software III

Facultad Politecnica

Estimación del tamaño Modelo de Estimación De Costos
Se puede estimar el tamaño de un proyecto de varias formas: Utilizar un enfoque algorítmico, como los puntos de función, para estimar el tamaño del programa a partir de las prestaciones. Utilizar un software de estimación para estimar el tamaño del proyecto, a partir de la descripción de las prestaciones del proyecto (pantallas, diálogos, archivos, tablas de la base de datos, etc.). Si ya se ha trabajado en proyectos similares, y se conoce el tamaño, estimar cada una de las partes principales del nuevo sistema como un porcentaje del tamaño de una parte similar del sistema antiguo (analogia). Estimar el tamaño total del sistema nuevo sumando los tamaños estimados de cada una de las partes.
Ingenieria de Software III Facultad Politecnica

Modelo de Puntos de Función
Un punto de función es una medida sintética del tamaño del programa, que se suele utilizar en los primeros estados del proyecto (Allan J. Albrecht, 1979). Los puntos de función son más fáciles de determinar a partir de la especificación de los requerimientos, y proporcionan una medida más exacta sobre el tamaño del programa. Existen diferentes métodos para contar los puntos de función; el que se describe aquí se basa en “ 1984 IBM Method”, que es la base del método actual de IBM y del International Function Point User Groups's (IFPUG's).
Ingenieria de Software III Facultad Politecnica

Modelo de Puntos de Función
Aspectos relevantes: No depende de la tecnología, son parámetros normalizados (lo que permite comparar resultados) Se puede calcular muy tempranamente (después de los requerimientos) lo que facilita estimar el dimensionamiento de los proyectos No es apropiado para aplicaciones técnicas o científicas.
Ingenieria de Software III Facultad Politecnica

Modelo de Puntos de Función El número de puntos de función en un programa se basa en el número y la complejidad de cada uno de los elementos siguientes: Entradas Salidas Consultas Ficheros Lógicos Internos Ficheros de Interfaz Ingenieria de Software III Facultad Politecnica Puntos de Función (PF) Entradas EI (External Input) : Son todos aquellos procesos que hacen llegar datos a la aplicación desde el exterior. desde un usuario u otra aplicación. del exterior al interior. El flujo de datos deberá tener una sola dirección. Como consecuencia de una entrada. Ingenieria de Software III Facultad Politecnica . siempre deberá actualizarse un fichero lógico interno.

Puntos de Función (PF) Entradas: Ejemplos: Pantallas de entrada de datos. voz. etc. Ingenieria de Software III Facultad Politecnica Puntos de Función (PF) Clasificación de las entradas: DIFICULTAD ENTRADAS 1-4 Atributos 0 ó 1 ficheros accedidos 2 ficheros accedidos 3 + ficheros accedidos 5-15 Atributos 16 + Atributos Número de Campos o Atributos de la Entrada BAJA BAJA BAJA MEDIA MEDIA ALTA ALTA Facultad Politecnica MEDIA ALTA Ingenieria de Software III . Captura de imágenes. Lector de códigos de barras. Lector de tarjetas magnéticas y electrónicas.

Transferencia de datos a otras aplicaciones. El flujo de datos deberá tener una sola dirección. ya sea mediante ficheros o transmisión de datos.Puntos de Función (PF) Salidas EO (External Output) : Son todos aquellos procesos que hacen llegar datos desde la aplicación hacia el exterior. Grabación de bandas magnéticas. Ingenieria de Software III Facultad Politecnica . Listados. a un usuario o a otra aplicación. del interior al exterior Ingenieria de Software III Facultad Politecnica Puntos de Función (PF) Salidas: Ejemplos: Pantallas de salida de datos.

Puntos de Función (PF) Clasificación de las salidas: DIFICULTAD SALIDAS 1-5 Atributos 0 ó 1 ficheros accedidos 2 ó 3 ficheros accedidos 4 + ficheros accedidos 6-19 Atributos 20 + Atributos Número de Campos o Atributos de la Salida BAJA BAJA BAJA MEDIA MEDIA ALTA ALTA Facultad Politecnica MEDIA ALTA Ingenieria de Software III Puntos de Función (PF) Consultas EQ (External Query) : Son todos aquellos procesos que están formados por una combinación de entradas y salidas. produciendo una consulta a los datos. El flujo de datos deberá tener dos direcciones. La complejidad de la consulta viene dada por la mayor entre la entrada y la salida Ingenieria de Software III Facultad Politecnica . Como consecuencia de una consulta no se modifican los datos del sistema.

Ingenieria de Software III Facultad Politecnica Puntos de Función (PF) Ficheros Lógicos Internos: Ejemplos: Clientes. tal como los percibe el usuario y que son mantenidos por la aplicación. Socios. Artículos. Proveedores Ingenieria de Software III Facultad Politecnica . Los ficheros se cuentan una sola vez.Puntos de Función (PF) Ficheros Lógicos Internos (ILF): Es un grupo de datos relacionados. independientemente del número de procesos que los acceden.

Son ficheros internos de otra aplicación Ingenieria de Software III DIAGRAMA DE CONTEXTO Facultad Politecnica . referenciados por la aplicación y que son mantenidos por otra aplicación.Puntos de Función (PF) Clasificación de los Ficheros Lógicos Internos: DIFICULTAD FICHEROS LÓ G ICO S 1 Registro Lógico 2 a 5 Registros Lógicos 6 o m ás Registros Lógic. 1-19 Atributos 20-50Atributos 51 + Atributos Núm ero de Cam pos o Atributos BAJA BAJA BAJA M EDIA M EDIA ALTA ALTA Facultad Politecnica M EDIA ALTA Ingenieria de Software III Puntos de Función (PF) Ficheros de Interfaz Externos (EIF): Es un grupo de datos relacionados. tal como los percibe el usuario.

1-19 Atributos 20-50Atributos 51 + Atributos Núm ero de Cam pos o Atributos BAJA BAJA BAJA MEDIA MEDIA ALTA ALTA Facultad Politecnica MEDIA ALTA Ingenieria de Software III Puntos de Función sin Ajustar Características del Sistema Número de entradas Número de salidas Consultas Archivos lógicos internos Archivos de interfaz externos Ingenieria de Software III Complejidad Baja X3 X4 X3 X7 X5 Complejidad Media X4 X5 X4 X 10 X7 Complejidad Alta X6 X7 X6 X 15 X 10 Facultad Politecnica .Puntos de Función (PF) Clasificación de los Ficheros de Interfaz: DIFICULTAD FICHEROS DE INTERFAZ 1 Entidad o Registro Lógico 2 a 5 Registros Lógico 6 o m ás Registros Lógic.

Estimación utilizando el modelo de puntos de función Ejemplo Características del Complejidad Sistema Baja Número de entradas Número de salidas Consultas Archivos lógicos internos Archivos de interfaz externos Total de puntos de función sin ajustar Ingenieria de Software III Complejidad Media 2 X 4=8 7 X 5=35 2 X 4=8 2 X 10=20 0 X 7=0 Complejidad Alta 3 X 6=18 0 X 7=0 4 X 6=24 3 X 15=45 2 X 10=20 Totales 44 63 32 100 65 6 X 3=18 6 X 4=28 0 X 3=0 5 X 7 =35 9 X 5=45 304 Facultad Politecnica Modelo Puntos de Función Finalmente los PUNTOS DE FUNCION (PF) se obtienen al ponderar los Puntos de Función No Ajustados (PFNA) por un factor de complejidad técnica que se encuentra asociado a 14 características de la aplicación. Ingenieria de Software III Facultad Politecnica .

Valores: 0: Sistema aislado del exterior 1: Batch. usa periféricos E y S remotos 3: Captura de datos en línea o teleproceso que pasa los datos o sistema de consulta 4: Varios teleprocesos con mismo protocolo 5: Varios protocolos. usa periféricos E o S remotos 2: Batch. Ingenieria de Software III Facultad Politecnica . Sistema Abierto y con interfaces de todo tipo al exterior.Punto de Función Tabla para el cálculo de los Factores de Complejidad Factor de complejidad Valor (0…5) Comuni c aci ó n de datos Proceso Di stri bui do Rendi mi ento Integra ci ó n Tasa de transa cci o n es Entrada de Datos On-Li ne Efi ci enci a para el usua ri o fi nal Actual i zaci o ne s On-Li ne Lógi ca de proceso i nter no compl ej a Reusabi l i dad del Códi go Contempl a conver si ó n e Instal aci ó n Faci l i dad de Operaci ó n Instal aci o nes Múl ti pl es Faci l i dades de Cambi o Total Ingenieria de Software III Facultad Politecnica Puntos de Función Comunicación de Datos. Los datos usados en el sistema se envían o reciben por líneas de comunicaciones.

no medida especial. 2: Crítico en algunos momentos. codificación y mantenimiento. 5: . transferencia en ambas direcciones. Existen procesos o datos distribuidos y el control de éstos forma parte del sistema.. trans. Procesos acabados antes de próxima sesión de trabajo. 5: procesos cooperantes ejecutándose en distintos equipos.. Valores 0: Sistema totalmente centralizado 1: Sistema realiza procesos en un equipo. 4: Idem. 1: Se indican requisitos. los trata en otro 3: Proceso distribuido. 4: .. es crítico algún factor como tiempo de respuesta o cantidad de operaciones por hora. Valores 0: Rendimiento normal ( no se da énfasis ). uso herramientas para alcanzar el rendimiento demandado por el usuario Ingenieria de Software III Facultad Politecnica . Si el rendimiento es un requisito del sistema. en diseño hacer análisis de rendimiento en tiempo respuesta o cantidad operaciones/hora. Ingenieria de Software III Facultad Politecnica Puntos de Función Objetivos de Rendimiento.Puntos de Función Proceso Distribuido. una sola direc. es decir. 3: Tiempo de respuesta es crítico. salidas usadas vía SW por otros equipos 2: Sistema captura. Se tendrá que hacer consideraciones especiales durante el diseño.

Ingenieria de Software III Facultad Politecnica . diarias. 3: Se prevén horas en punta. implementación e instalación. codificación e instalación. 5: Análisis de rendimiento en diseño. El sistema tendrá que ejecutarse en un equipo en el que coexistirá con otros. tan elevada que en diseño se hace análisis de rendimiento. teniendo que tenerse en cuenta en las fase de diseño. 1: Se prevén picos poco frecuentes (mensual). Se tendrá que hacer consideraciones especiales durante el diseño. Valores: 0: No se indican restricciones 1: Existen las restricciones usuales 2: Características de seguridad o tiempos. 2: Se prevén picos semanales. Valores: 0: No se prevén picos.Puntos de Función Integración de la Aplicación. 5: Restricciones especiales para aplicación en los componentes distribuidos del sistema Ingenieria de Software III Facultad Politecnica Puntos de Función Tasa de Transacciones. 4: Tasa de trans. 3: Restricciones en algún procesador 4: El SW deberá funcionar con restricciones de uso en algún procesador. compitiendo por los recursos. Sí la tasa de transacciones será elevada.

La entrada de datos será directa desde el usuario a la aplicación.. Valores: 0: Todo es Batch. 3: 16%<entradas interactivas <23%. 5: Entradas interactivas >30%. 2: 8%<entradas interactivas <15%. Valores: 0: No se da énfasis al tema 1: 1 a 3 de los factores 2: 4 a 5 de los factores 3: 6 o más factores. Ingenieria de Software III Facultad Politecnica Puntos de Función Eficiencia para el Usuario Final.. 1: 1%<entradas interactivas <7%. es decir. se tiene que diseñar e implementar la aplicación con interfaces fáciles de usar y con ayudas integradas. sin requerir eficiencia 4: .Puntos de Función Entrada de Datos On-line. 4: 24%<entradas interactivas <30%. Se demanda eficiencia para el trabajo del usuario. de forma interactiva. con requerimientos que implican estudio de los factores humanos en el diseño 5: … se demandan prototipos y herramientas para verificar que se alcanzaran los objetivos Ingenieria de Software III Facultad Politecnica .

. • Pantallas con muchos colores y efectos. cuenta por seis). • Selección mediante cursor de datos de la pantalla... • Movimiento automático del cursor. Tipos de factores asociados a la eficiencia del usuario. • Ayudas "en_línea". Los ficheros maestros y/o las Bases de Datos son modificados de forma interactiva. Valores: 0: No hay. • Menús. Ingenieria de Software III Facultad Politecnica Puntos de Función Actualizaciones On-line. pero con 4 o más ficheros de control 3: Actualización de ficheros importantes 4: . 2: . • Lanzamiento de procesos Batch desde las transacciones "en_línea“. • Aplicación bilingüe (cuenta por cuatro). cantidad baja y ficheros recuperables. • Teclas de función predefinidas.Puntos de Función Eficiencia para el Usuario Final (Factores). • Efectos de Scroll (papiro). • Ventanas de "pop-up". • Aplicación Multilingüe (mas de dos. sistemas de recuperación muy automatizados Ingenieria de Software III Facultad Politecnica .. 1: De 1 a 3 ficheros con información de control. • Uso de ratón. esencial la protección ante pérdidas 5: Gran cantidad de actualizaciones interactivas. • Posibilidad de "hard-copy".

. 5: Las 5 características Ingenieria de Software III Facultad Politecnica Puntos de Función Reusabilidad del Código. 1: Reutilizar código en la misma aplicación.. Ingenieria de Software III Facultad Politecnica . 1: 1 Característica. • Especificado muchas excepciones. codificación y mantenimiento para que el código se reutilice en otras aplicaciones.. Es necesario hacer consideraciones especiales durante el diseño.. • Manejar múltiples dispositivos de entrada / salida. • Se incorporarán sistemas de seguridad y control. que deberán tratarse. La complejidad interna en un proceso esta en función de las siguientes características: • Especificados algoritmos matemáticos complejos. . Valores: 0: No se prevé. 2: 2 Características. 5: Aplicación preparada para ser reutilizable por medio de parámetros. • Proceso con lógica compleja. consecuencia de transacciones incompletas. 4: Aplicación preparada para ser reutilizable a nivel de código. 2: Menos de un 10% de la aplicación tiene en cuenta las necesidades de + de 1 usuario. 3: El 10 % o más .Puntos de Función Lógica de Proceso Interno Compleja. Valores: 0: Ninguna de las características.

• Minimizar la necesidad de manejar papel. Valores : 0: No se requiere conversión. 5: 3 y herramientas conversión e instalación. 3: .. 4: 2 y herramientas conversión e instalación. 2: Se solicitan procesos de conversión e instalación. codificación y pruebas del sistema. Ingenieria de Software III Facultad Politecnica Puntos de Función Facilidad de Operación. 1: Se solicita facilidad de instalación. codificación y pruebas para que la conversión del sistema antiguo sean fáciles de realizar durante la puesta en marcha del sistema nuevo. no importantes para el proyecto. Ingenieria de Software III Facultad Politecnica . back-up y recuperación pero con intervención del operador. dedicando especial atención durante el diseño. • … sin intervención del operador (vale por 2). se tendrá que hacer consideraciones especiales durante el diseño.. sistema crítico para la empresa. • Minimizar la necesidad de montar cintas u otros dispositivos de almacenamiento externo. Se pueden tener en cuenta las siguientes posibilidades de automatización: • Procesos de arranque. si son importantes.Puntos de Función Contempla la conversión e instalación Se proveerán facilidades de conversión e instalación en el sistema. Facilitar la explotación real de la aplicación.

4: Se documenta y planea para (1) y (2). El sistema ha de incluir los requerimientos de diversas empresas o departamentos en donde se ejecutara (incluso plataformas). 1: Múltiples lugares. Ingenieria de Software III Facultad Politecnica Puntos de Función Instalaciones Múltiples. Valores: 0: 1 solo lugar. Estas características se estarán presentes durante el diseño. 1 a 4: Sumar la cantidad de ítems de la lista anterior. 2: En diseño se tiene en cuenta el caso (1). Ingenieria de Software III Facultad Politecnica . codificación y pruebas. mismo Hw y Sw. para (3).Puntos de Función Facilidad de Operación Valores: 0: No se especifica nada. 5: Sistema automático sin intervención humana. 5: Idem. 3: En diseño se tiene en cuenta múltiples entornos Hw y Sw.

con tablas ajenas al código: • El cambio se hace efectivo al arrancar el sistema. • Complejas con condiciones lógicas complejas que afectan a varios F. • El cambio es interactivo (por 2).L... 5: Items por valor 5 Ingenieria de Software III Facultad Politecnica . codificación y mantenimiento para que en el sistema sea fácil de introducir cambios y fácil de adaptar al usuario. Items a tener en cuenta: Consultas flexibles del usuario: • Simples con condiciones. Ingenieria de Software III Facultad Politecnica Puntos de Función Facilidad de Cambios Valores: 0: No se especifica nada 1: Un ítem de valor 1 2: Items por valor 2 3: . (por 3).Puntos de Función Facilidad de Cambios. lógicas sobre más de 1 F. Parámetros de la aplic.L. Se tendrá que hacer consideraciones especiales durante el diseño. lógicas And/Or que implican un único fichero lógico • Medias con cond. (por 2).

1 2 3 4 5 6 7 8 Preguntas Requiere comunicación de datos? Requiere funciones de procesamiento distribuido? Es critico el rendimiento? Será ejecutado el sistema en un entorno operativo existente y fuertemente utilizado? (Integración de las aplicaciones) Las transacciones de entrada se llevan a cabo sobre múltiples pantallas u operaciones? Requiere el sistema entrada de datos interactiva (On-line)? Se diseño la aplicación pensando en la eficiencia del usuario final? Se utilizan archivos maestros de forma interactiva ? Facultad Politecnica Vi 5 0 2 3 0 1 1 2 Ingenieria de Software III .Estimación utilizando el modelo de puntos de función Ejemplo Características del Complejidad Sistema Baja Número de entradas Número de salidas Consultas Archivos lógicos internos Archivos de interfaz externos Total de puntos de función sin ajustar Ingenieria de Software III Complejidad Media 2 X 4=8 7 X 5=35 2 X 4=8 2 X 10=20 0 X 7=0 Complejidad Alta 3 X 6=18 0 X 7=0 4 X 6=24 3 X 15=45 2 X 10=20 Totales 44 63 32 100 65 6 X 3=18 6 X 4=28 0 X 3=0 5 X 7 =35 9 X 5=45 304 Facultad Politecnica Estimación de los puntos de función Ejemplo Tabla para Calculo de los FC Nro.

65 + (0.01* Suma) = 0.65 + (0.95 289 Facultad Politecnica .95 Facultad Politecnica Estimación de los puntos de función Ejemplo Características del Sistema Número de entradas Número de salidas Consultas Archivos lógicos internos Archivos de interfaz externos Total de puntos de función sin ajustar Multiplicador Total de puntos de función ajustados Ingenieria de Software III Complejidad Baja 6 X 3=18 6 X 4=28 0 X 3=0 5 X 7 =35 9 X 5=45 Complejidad Media 2 X 4=8 7 X 5=35 2 X 4=8 2 X 10=20 0 X 7=0 Complejidad Alta 3 X 6=18 0 X 7=0 4 X 6=24 3 X 15=45 2 X 10=20 304 0. respaldo y recuperación? (Facilidad de Operación) Se ha diseñado el sistema para soportar múltiples instalaciones en diferentes organizaciones? Se ha diseñado la aplicación para facilitar los cambios y para ser fácilmente usada por el usuario? Suma= Valores de Ajuste VAF = 0.Estimación de los puntos de función ejemplo (cont…) 9 10 11 12 13 14 Es complejo el procesamiento interno ? Se ha diseñado el código para ser reutilizable ? Están incluidas en el diseño la conversión y la instalación? Que tan efectivos y/o automatizados son los procedimientos de inicio.01 * 30) Ingenieria de Software III 1 4 3 1 3 4 30 0.

CAPITULO 3 Modelo de Estimación de Costos Puntos de Función Desarrollo del CASO DE ESTUDIO Ingenieria de Software III Facultad Politecnica .