Upload
ronaldroldansalinas
View
21
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Ing informatica y Sistemas
Citation preview
UNIVERSIDAD SAN PEDRO
INGENIERÍA INFORMÁTICA Y DE SISTEMAS
CURSO: INGENIERÍA DE SOFTWARE I
DOCENTE: ING. EDWIN CIEZA MOSTACERO
ALUMNOS:
CORPUS MECHATO JULIO
GIL AVALOS PATRICIA
NARVAEZ CASTILLO DANIEL
ROLDAN SALINAS RONALD
CHIMBOTE – PERU
2014
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
INDICE DE CONTENIDOINTRODUCCION..................................................................................................................................3
MARCO TEORICO................................................................................................................................3
1. Puntos de Función.................................................................................................................3
A. Características de los Puntos de Función..........................................................................3
B. Cinco Componentes Principales........................................................................................4
2. PASOS BÁSICOS DEL METODO DE ESTIMACION PUNTOS DE FUNCIÓN...............................6
PASO 1. Determinar el tipo de conteo de puntos de función.....................................................6
PASO 2. Identificar el alcance del conteo y la frontera de la aplicación.....................................8
PASO 3. Calcular Funciones de Datos.........................................................................................9
PASO 4. Calcular las funciones de transacción.........................................................................12
PASO 5. Determinar los puntos de Función sin Ajuste.............................................................15
PASO 6. Determinar el factor de complejidad técnica para ajuste...........................................17
PASO 7. Calcular los Puntos de Función Ajustados...................................................................19
PASO 8. Calcular Esfuerzo y Duración del Proyecto..................................................................20
CONCLUSIÓN:...................................................................................................................................22
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 1
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
INDICE DE TABLA
Tabla 1: Funciones del Sistema de Planilla.........................................................................................8Tabla 2: Identificación de los Archivos Incluidos..............................................................................11Tabla 3: Nivel de Complejidad..........................................................................................................11Tabla 4: Resultado Nivel de Complejidad para los ILF y EIF..............................................................11Tabla 5: Identificación de lo EI con sus DET y FTR............................................................................13Tabla 6: Nivel de Complejidad para EI..............................................................................................13Tabla 7: Resultado de Nivel de Complejidad para los EO.................................................................13Tabla 8: Identificación de los EQ con sus DET y FTR.........................................................................14Tabla 9: Resultado Nivel de Complejidad para los EQ......................................................................14Tabla 10: Puntos de Función Sin Ajustar..........................................................................................16Tabla 11: Calculo de Complejidad Técnica.......................................................................................17Tabla 12: Resultado de Cálculo de Complejidad Técnica..................................................................18Tabla 13: Estimación de Esfuerzo.....................................................................................................20
INDICE DE IMÁGENES
Ilustración 1: Conteo Durante el Desarrollo.......................................................................................6Ilustración 2: Diagrama de Entidad Relación......................................................................................9
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 2
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
INTRODUCCION
En la actualidad es necesario calcular y estimar el esfuerzo y tamaño del proyecto en etapas muy
tempranas del desarrollo del mismo. Sin embargo, si en el ámbito de software se hacen las
estimaciones en estas fases iniciales, dichas previsiones pueden estar basadas en unos
requerimientos erróneos o incompletos, por lo que disminuye mucho su fiabilidad.
El proceso de estimación del costo de un producto de software está formado por un conjunto de
técnicas y procedimientos que se usan en la organización para poder llegar a una predicción fiable.
Éste es un proceso continuo, que debe ser usado y consultado a lo largo de todo el ciclo de vida
del proyecto.
MARCO TEORICO
1. PUNTOS DE FUNCIÓN
Una mejor forma de estimar el esfuerzo requerido para desarrollar un proyecto de software
es la determinación de los “Puntos de Función” asociados a él.
La predicción precisa del tamaño de un software ha preocupado la industria del software por
más de 45 años. Los Puntos de Función se están convirtiendo en un estándar aceptado para la
medición del tamaño del software.
Los Puntos de Función miden el software cuantificando la funcionalidad provista al usuario en
base principalmente en el diseño lógico. Para ello descompone los sistemas en componentes
más pequeños de tal manera que los usuarios, desarrolladores y administradores los
entiendan y analicen mejor.
(Elliot, 2012)
A. Características de los Puntos de Función
Ser un método independiente de las herramientas de análisis, diseño y
programación. Debido a que se preocupa sólo de la complejidad de las funciones a
implementar.
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 3
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
Requerir de una descomposición funcional del proyecto de software a realizar, en
términos tales que se detecten todas las piezas elementales que componen el
producto final (Funciones Elementales).
Estimar la “Cantidad de Puntos de Función” de las funciones medidas, se realiza
contando la cantidad d entradas, salidas, archivos, consultas e interfaces que
utiliza. A mayor cantidad, mayor es el “Peso de Complejidad” que se le asignará.
Ajustar la estimación del esfuerzo requerido, por la vía de determinar la presencia
de ciertos elementos que dificultan el desarrollo del proyecto.
Los beneficios de utilizar esta técnica son evidentes, permite realizar la estimación
del trabajo requerido en una etapa temprana del proyecto y es independiente del
entorno tecnológico a utilizar.
(Elliot, 2012)
B. Cinco Componentes Principales
Una buena fuente de información para determinar las entradas externas (EI’s) son las
formas de pantalla y las formas de diálogo, o bien cualquier forma de entrada. Las
entradas adicionales de otras aplicaciones deben actualizar los registros lógicos
internos (ILF’s) de la aplicación que se está midiendo.
1) External Imputs (EI)
La entrada externa es un proceso elemental en el cual los datos cruzan los
límites de afuera hacia adentro. Estos datos pueden venir de una pantalla de
entrada de datos o de otra aplicación. Los datos son usados para mantener uno
o más archivos lógicos internos (ILF’s). Los datos pueden ser de información de
control o del negocio. Si son de información de control, no se tiene que
actualizar un archivo lógico interno.
2) External Ouputs (EO)
Una salida externa es un proceso elemental en el cual los datos derivados
cruzan los límites de adentro hacia afuera. Los datos crean reportes o archivos
de salida enviados a otras aplicaciones. Estos reportes y archivos son creados
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 4
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
de uno o más archivos lógicos internos (ILF’s) o archivos de interface externos
(EIF’s). Los datos derivados son datos procesados más allá de la edición directa
de información de archivos lógicos internos. También son usualmente el
resultado de algoritmos o cálculos.
3) External Inquiry (EQ)
Una consulta externa es un proceso elemental con componentes de entrada y
de salida que resultan en la adquisición de datos de uno o más archivos lógicos
internos (ILF’s) o archivos de interface externo (EIF’s). El proceso de entrada no
actualiza ningún archivo lógico interno (ILF’s). Y el proceso de salida no
contiene datos derivados.
4) Internal Logical Files (ILF)
Un archivo lógico interno es un grupo de datos definidos por el usuario que
están relacionados lógicamente, que residen en su totalidad dentro de los
límites de la aplicación y que son mantenidos a través de entradas externas
(EI’s).
5) External Interface File (EIF)
Un archivo de interface externo es un grupo de datos definidos por el usuario
que están relacionados lógicamente y que sólo son usados para propósitos de
referencia. Los datos residen enteramente fuera de la aplicación y son
mantenidos por otra aplicación. El archivo de interface externo es un archivo
lógico interno (ILF) para otra aplicación.
(Elliot, 2012)
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 5
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
2. PASOS BÁSICOS DEL METODO DE ESTIMACION PUNTOS DE FUNCIÓN
PASO 1: DETERMINAR EL TIPO DE CONTEO DE PUNTOS DE FUNCIÓN
Existen tres posibles tipos de conteo que se describen a continuación:
1. Conteo de puntos de función para Proyectos en Desarrollo :
Mide la funcionalidad provista a los usuarios finales en la primera instalación de
la aplicación. Incluye la funcionalidad que se contará de la nueva aplicación y la
requerida por los usuarios, para convertir los datos que residen en los archivos de
datos viejos, hacia los nuevos archivos de datos. Los siguientes conteos deben
validarla funcionalidad identificada previamente y capturar la funcionalidad
agregada. Los conteos podrían ocurrir durante las siguientes fases, ya sea en un
enfoque de cascada o un proceso iterativo.
Ilustración 1: Conteo Durante el Desarrollo
2. Conteo de puntos de función para proyectos en mantenimiento :
Mide las modificaciones a una aplicación existente e incluye la funcionalidad
provista a los usuarios al agregar nuevas funciones, borrar funciones viejas y
cambiar las funciones existentes. Después de realizarse el mantenimiento se
debe revisar el conteo para reflejar los cambios apropiados en la funcionalidad de
la aplicación actual.
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 6
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
3. Conteo de puntos de función para una aplicación desarrollada :
Mide el tamaño de una aplicación ya instalada. Es conocido como “conteo de
línea base” y provee el total de la funcionalidad provista a los usuarios finales.
Típicamente representa las aplicaciones que actualmente están siendo utilizadas
y mantenidas.
EJEMPLO:
Se tiene que desarrollar un Sistema Planilla que cumpla con los siguientes
requerimientos:
Capacidad para consultar, mantener y reportar información del empleado. El
reporte podría incluir los datos de ubicación de un determinado empleado
obtenido de un archivo al que otra aplicación le da mantenimiento.
Capacidad para consultar, mantener y reportar información de las tareas. El
usuario considera que la descripción de la tarea debe ser un conjunto de 80
caracteres por línea que describen la tarea. Esta información no se mantiene
independientemente de la tarea.
Capacidad para consultar, mantener y reportar información de la asignación de
tareas a los empleados.
Capacidad para consultar y reportar las diferentes ubicaciones dentro de la
compañía, incluyendo la lista de empleados en una ubicación particular. La
ubicación es leída solamente porque se mantiene en otra aplicación.
El tipo de conteo a utilizar en este ejemplo es CONTEO DE PUNTOS DE FUNCION
PARA PROYECTOS EN DESARROLLO.
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 7
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
PASO 2: Identificar el alcance del conteo y la frontera de la aplicación
Identificar el alcance es identificar los sistemas, aplicaciones o subconjuntos de una aplicación que será medida. Podría incluir las funciones que serán satisfechas por la compra de un paquete; todas las aplicaciones que serán contratadas; o podría restringir las funciones dentro de una aplicación con un propósito específico como por ejemplo: los reportes. La frontera de la aplicación es el límite entre la aplicación que está siendo medida y las aplicaciones externas al dominio del usuario. De manera más sencilla es: Las tablas que son administradas por otra aplicación están fuera de las fronteras y se convierten en EIF. Las tablas administradas por la aplicación que se está estimando, están dentro de las fronteras y corresponden a los ILF.
EJEMPLO: En el caso del sistema de Planillas tenemos las siguientes funciones:
Mantenimiento De Empleados Crear Empleados
Consultar Empleados
Borrar Empleados
Reportar Empleados
Borrar Empleados
Mantenimiento De Tareas Crear Tareas
Consultar Tareas
Actualizar Tareas
Borrar Tareas
Reportar Tareas
Mantenimiento Del Asignador De
Tareas
Asignar Tarea al empleado
Consultar Asignación de la tarea
Transferir Empleado
Borrar Asignación
Reportar Asignación de la Tarea
Reportar Ubicación Consultar Ubicación
Reportar Ubicación
Tabla 1: Funciones del Sistema de Planilla
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 8
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
En el caso del Sistema de Planilla el único que está fuera de las fronteras de la aplicación, que
será leído y es administrado por otra aplicación es Reportar Ubicación.
PASO 3: Calcular Funciones de Datos
Representan la funcionalidad que satisfacen requerimientos de datos internos y
externos
Pasos:
1) Identificar archivos
2) Asignar a cada uno un tipo (ILF, EIF)
3) Identificar la cantidad de DET y RET
4) Asignar a cada uno un valor de complejidad (alta, medio, baja) en función de la
cantidad de DET y RET
Donde:
ILF: Archivos Lógicos Internos
EIF: Archivos Lógicos Externos
DET: Campo único (no repetitivo) reconocible por el usuario
RET: Subconjunto de campos de un archivo
EJEMPLO: Tomando el Subsistema Empleados del Sistema de Planillas, consideramos
el siguiente Diagrama de Entidad Relación
Ilustración 2: Diagrama de Entidad Relación
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 9
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
Se muestra la identificación de los ILF, los EIF y sus respectivos DET y RET.
1. ENTIDAD EMPLEADO ILF: No cuenta como RET porque tiene subgrupo
Número de DNI DET 1 Nombre DET 2 Sexo DET 3 Edad DET 4 Número Dependientes DET 5 Tipo (docente o administrativo) DET 6 Nombre Ubicación(Clave Externa) DET 7
SUBGRUPO EMPLEADO_DOCENTE 1 RET DE FUNCIONARIO Régimen docente DET 8 Número de Pasos DET 9 Puntos DET 10 Carga DET 11 Escalafón Docente DET 12 Anualidad Docente DET 13
SUBGRUPO EMPLEADO_ADMINISTRATIVO 1 RET DE FUNCIONARIO Horario DET 14 Años de Servicio DET 15 Escalafón Administrativo DET 16 Anualidad Administrativo DET 17
2. ENTIDAD TAREA ILF: Cuenta como RET porque no tiene subgrupos
Nombre de Tarea DET 1 Número de Tarea DET 2 Tipo de Pago DET 3
3. ENTIDAD DESCRIPCIÓN_TAREA No cuenta como ILF porque se crea por razones de implementación
Número de Tarea (Clave externa) No cuenta Número de Línea No cuenta Descripción de Línea DET 4
4. ENTIDAD ASIGNADOR_TAREA ILF: Cuenta como RET porque no tiene subgrupos
Fecha Ingreso DET 1 Salario DET 2 Tasa de Rendimiento DET 3 Número de Tarea (Clave Externa) DET 4 Cedula (Clave Externa) DET 5
5. ENTIDAD UBICACIÓN EIF: Cuenta como RET porque no tiene
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 10
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
subgrupos Nombre Ubicación DET 1 Dirección DET 2 Número de DNI(clave externa) DET 3
Tabla 2: Identificación de los Archivos Incluidos
Una vez identificados y contados los ILF y los EIF con sus DET y RET se debe
determinar el nivel de complejidad de cada uno de acuerdo a la siguiente tabla:
Nº DE CAMPOS
Nº DE
REGISTROS
PARA ILF / EIF 1 a 19 DET 20 a 50
DET
51 o más
DET
1 RET Baja Baja Media
2 a 5 RET Baja Media Alta
6 o más RET Media Alta Alta
Tabla 3: Nivel de Complejidad
Donde:
ILF: Archivos Lógicos Internos
EIF: Archivos Lógicos Externos
DET: Campo único (no repetitivo) reconocible por el usuario
RET: Subconjunto de campos de un archivo
EJEMPLO: Ver la que muestra el nivel de complejidad:
ENTIDAD TIPO(ILF o EIF) DET RET COMPLEJIDAD
EMPLEADO 1 ILF 17 DET 2 RET Bajo
TAREA 1 ILF 4 DET 1 RET Bajo
ASIGNADOR_TAREAS 1 ILF 5 DET 1 RET Bajo
UBICACIÓN 1 EIF 3 DET 1 RET Bajo
RESULTADO: 3 ILF con complejidad Baja y 1 EIF con complejidad Baja
Tabla 4: Resultado Nivel de Complejidad para los ILF y EIF
PASO 4: Calcular las funciones de transacción
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 11
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
Representan la funcionalidad proporcionada al usuario para procesar datos.
Pasos
1) Identificar las transacciones
2) Asignar a cada una un tipo (EI, EO, EQ)
3) Identificar la cantidad de DET y FTR
4) Asignar a cada una un valor de complejidad (Alta, Media, Baja) en función de
la cantidad de DET y FTR.
Donde:
EI: Entradas Internas
EO: Salidas Externas
EQ: Consultas Externas
DET: Campo único (no repetitivo) reconocible por el usuario
FTR: Tipo de archivo que se hace referencia en una transacción(Tiene que ser
un ILF o EIF)
EJEMPLO: En la siguiente tabla podemos observar en la columna izquierda 10 transacciones EI y en la columna derecha los DET y los FTR identificados por cada EI.
TRANSACCIONES (EI) CONTADAS COMOMANTENIMIENTO EMPLEADOS Crear EMPLEADOS 19 DET y 2 FTR, EMPLEADO Y UBICACION Actualizar EMPLEADOS 19 DET y 2 FTR, EMPLEADO Y UBICACIÓN Borrar EMPLEADOS 3 DET y 2 FTR, EMPLEADO Y ASIGNADOR
TAREA(no borrar un empleado si tiene una tarea)
MANTENIMIENTO TAREAS Crear TAREAS 6 DET y 1 FTR, TAREA Actualizar TAREAS 6 DET y 1 FTR, TAREA Borrar TAREAS 3 DET y 2 FTR, TAREA y ASIGNADOR TAREA
(no borrar una tarea con empleado asignado)
MANTENIMIENTO ASIGNADOR TAREASAsignar EMPLEADO a TAREA 6 DET y 3 FTR, EMPLEADO, TAREA y
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 12
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
ASIGNADOR TAREATransferir EMPLEADO 6 DET y 3 FTR, EMPLEADO, TAREA y
ASIGNADOR TAREAEvaluar EMPLEADO 6 DET y 1 FTR, ASIGNADOR TAREABorrar ASIGNACION 4 DET y 1 FTR, ASIGNADOR TAREA
Tabla 5: Identificación de lo EI con sus DET y FTR
Ahora se debe determinar el nivel de complejidad de cada uno de acuerdo a la
siguiente tabla:
PARA EI 1 a 4 DET 5 a 15 DET 16 o más DET0 a 1 FTR Baja Baja Media2 FTR Baja Media Alta3 o más FTR Media Alta Alta
Tabla 6: Nivel de Complejidad para EI
EJEMPLO: El nivel de complejidad asociado a los EI con sus correspondientes DET y
RET se muestra a continuación:
EO FTR DET COMPLEJIDADReportar EMPLEADOS
2(EMPLEADOS y UBICACIÓN)
Más de 20 Alto
Reportar TAREAS
1(TAREAS) 5 (número fue dado)
Bajo
Reportar ASIGNADOR TAREAS
3(ASIGNADOR DE TAREAS, EMPLEADO y TAREA)
6 – 19 Medio
Reportar UBICACIÓN
2(UBICACIÓN y EMPLEADO)
6 Medio
RESULTADOS: 1 EO con complejidad alta2 EO con complejidad media1 EO con complejidad baja
Tabla 7: Resultado de Nivel de Complejidad para los EO
Ahora Se deben identificar los EQ
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 13
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
EQ FTR DET
Consultar
EMPLEADOS
1 (EMPLEADOS) 19
Consultar TAREAS 1 (TAREAS) 6
Consultar
ASIGNADOR TAREAS
1(ASIGNADO
TAREAS)
7
Consultar UBICACIÓN 1 (UBICACIÓN) 5
Tabla 8: Identificación de los EQ con sus DET y FTR
EJEMPLO: El nivel de complejidad asociado a los EQ se muestra en:
EQ FTR DET COMPLEJIDAD
Consultar
EMPLEADOS
1
(EMPLEADOS)
19 Baja
Consultar TAREAS 1 (TAREAS) 6 Baja
Consultar
ASIGNADOR
TAREAS
1(ASIGNADO
TAREAS)
7 Baja
Consultar
UBICACIÓN
1 (UBICACIÓN) 5 Baja
RESULTADO: 4 EQ con complejidad baja
Tabla 9: Resultado Nivel de Complejidad para los EQ
PASO 5: Determinar los puntos de Función sin Ajuste
Para el cálculo de los puntos de función sin ajustar se utiliza la siguiente formula:
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 14
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
Donde:
PFSA: Puntos de Función Sin Ajustar
PFTE: Total puntos de Función para las entradas del sistema
PFTO: Total puntos de Función para las salidas del sistema
PFTQ: Total puntos de Función para las consultas del sistema
PFTIF: Total puntos de Función para los archivos internos del sistema
PFTEF: Total puntos de Función para los archivos externos del sistema
EJEMPLO: Pasar en limpio todos valores obtenidos:
ENTRADAS: 4 EI de complejidad alta y 6 EI de complejidad baja.
SALIDAS: 1 EO de complejidad alta, 2 EO de complejidad media y 1 EO de
complejidad baja.
CONSULTAS: 4 EQ de complejidad baja.
FICHEROS LOGICOS INTERNOS: 3 ILF de complejidad baja.
FICHEROS EXTERNOS: 1 EIF de complejidad baja.
Ahora se debe calcular los puntos de función sin ajustar completando la siguiente
tabla:
Componentes Niveles de Función TOTAL
Baja Media Alta
Archivos Lógicos 3 *7= 21 0 *10= 0 0 *5 = 0 21
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 15
PFSA = PFTE + PFTO + PFTQ + PFTIF + PFTEF
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
Internos (ILF)
Archivos de
Interface Externo
(EIF)
1 *5= 5 0 * 7 = 0 0 *10= 0 5
Entradas Externas
(EI)
6 *3= 18 0 * 4 = 0 4 *6= 24 42
Salidas Externas
(EO)
1 *4= 4 2 *5= 10 1 *7= 7 21
Consultas Externas
(EQ)
4 *3= 12 0 *4= 0 0 *6= 0 12
Total PFSA 101
Tabla 10: Puntos de Función Sin Ajustar
PFSA = PFTE + PFTO + PFTQ + PFTIF + PFTEF
PFSA = 42 + 21 + 12 + 21 + 5
PFSA = 101
PASO 6: Determinar el factor de complejidad técnica para ajuste.
Para el cálculo de Grado Total de Influencia se utiliza la siguiente formula:
Donde:
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 16
GTI = ¿
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
GTI: Grado Total de Influencia
Fi: Factores de Complejidad
FACTORES DE COMPLEJIDAD:
Son catorce factores que completan la visión externa de la aplicación. No están
recogidos en la funcionalidad de la aplicación. Toman un valor entre 0 y 5.
Nº de Factor Factores Valor (0 – 5)
F1 Comunicación de DatosF2 Procesamiento
DistribuidoF3 Objetivos de
RendimientoF4 Disponibilidad del
SoftwareF5 Tasa de TransaccionesF6 Entrada de Datos en
LíneaF7 Eficiencia con el Usuario
FinalF8 Actualizaciones en LíneaF9 Lógica de Proceso
Interno ComplejaF10 Reusabilidad del CódigoF11 Conversión e instalación
ContempladasF12 Facilidad de OperaciónF13 Instalaciones MúltiplesF14 Facilidad de Cambios
Tabla 11: Calculo de Complejidad Técnica
EJEMPLO: Procederemos a continuar con el ejemplo que venimos trabajando y damos valores a cada uno de los catorce factores:
Nº DE FACTOR
FACTOR Valor (0 -5)
1 Comunicación de Datos 42 Procesamiento Distribuido 03 Objetivos de Rendimiento 3
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 17
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
4 Disponibilidad del Software 25 Tasa de Transacciones 36 Entrada de Datos en Línea 57 Eficiencia con el Usuario Final 48 Actualizaciones en Línea 39 Lógica de Proceso Interno Compleja 1
10 Reusabilidad del Código 011 Conversión e instalación
Contempladas0
12 Facilidad de Operación 313 Instalaciones Múltiples 114 Facilidad de Cambios 2
Grado Total de Influencia (GTI) 31Tabla 12: Resultado de Cálculo de Complejidad Técnica
Una vez evaluadas las 14 Características Generales descritas anteriormente se suman para obtener el Grado Total de Influencia o GTI.
GTI = ¿
GTI = 31
Nota: Se espera que para una aplicación en lote simple se obtenga un GTI menor a 15, para una aplicación “front-end” un GTI entre 15 y 30, para una aplicación interactiva un GTI entre 30 y 45 y para un sistema en tiempo real, o de telecomunicación eso de control de procesos un GTI entre 30 y 60.
PASO 7: Calcular los Puntos de Función Ajustados
Una vez evaluadas las 14 Características Generales descritas anteriormente se suman para obtener el Grado Total de Influencia o GTI. Posteriormente el GTI se aplica en la siguiente fórmula y se obtiene el Factor de Ajuste de Valor o FAV:
Los Puntos de Función Ajustados Son calculados por medio de una fórmula de acuerdo con el tipo de conteo seleccionado
Desarrollo del proyecto
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 18
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
Mantenimiento del proyecto Aplicación
Para determinar el cálculo de Puntos de Función Ajustados de un nuevo proyecto aplicamos la siguiente fórmula:
Donde:
PFA: Puntos de Función Ajustados PFSA: Puntos de Función Sin Ajustar GTI: Grado Total de Influencia
EJEMPLO: Usando la fórmula en nuestro ejemplo:
PFA = PFSA x [(GTI x 0.01) + 0.65]
PFA = 101 x [(31 x 0.01) + 0.65]
PFA = 96.96
Por lo tanto, el tamaño de la aplicación o proyecto de desarrollo es de 96.96 PFA.
Recordemos que ese número representa la cantidad de unidades de software de un proyecto o aplicación. Con este valor podremos realizar estimaciones de plazos, costos, recursos, etc. Tal como veremos a continuación.
PASO 8: Calcular Esfuerzo y Duración del Proyecto
Estimación del esfuerzo
Entorno y lenguaje Líneas de Código por PF Horas por PFLenguajes 2G 300 20 a 30Lenguajes 3G: 100 10 a 20Lenguajes 4G 20 5 a 10
Tabla 13: Estimación de Esfuerzo
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 19
PFA = PFSA x [(GTI x 0.01) + 0.65]
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
EJEMPLO: Calcular Hs efectivas por horas productivas estimadas
Esfuerzo de Horas/personas = PFA / [1/8 personas/horas]
Esfuerzo de Horas/personas = 96.96 / 0.125
Esfuerzo de Horas/personas = 775.68 hrs. / personas
Estimación de la Duración del proyecto
Se utiliza la siguiente formula:
Donde:
D: Duración del Proyecto en horas E: Esfuerzo de Horas/personas NI: Número de Integrantes
EJEMPLO: Siguiendo con el ejemplo calculamos la duración del subsistema:
D= E¿
D=775.685
D=155.136 hs por integrante
Duración en meses = Duración del proyecto en horas / 100 hrs. /mes
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 20
Horas/mes productivas estimadas en el proyecto Calculadas de 20 días laborables y de 5 horas productivas estimadas de las 8 de la jornada laboral normal diaria
D = E¿
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
Ejemplo: Siguiendo con el ejemplo:
Duración en meses = 155.136 horas / 100 horas/mes =
Duración en meses = 1.55 meses aproximadamente 2 meses para desarrollar el Subsistemas Empleados
CONCLUSIÓN:
La industria del software tanto desarrolladores como compradores requiere mejores prácticas. En
este documento se ha presentado el método de estimación de software “Puntos de Función” y
descrito cada uno de los pasos que contiene el método:
Determinar el tipo de conteo de puntos de función.
Identificar el alcance del conteo y la frontera de la aplicación.
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 21
ESTIMACIÓN DE SOFTWARE “PUNTOS DE FUNCIÓN” INGENIERÍA DE SOFTWARE I
Calcular Funciones de Datos.
Calcular las funciones de transacción.
Determinar los puntos de Función sin Ajuste.
Determinar el factor de complejidad técnica para ajuste.
Calcular los Puntos de Función Ajustados.
Calcular Esfuerzo y Duración del Proyecto.
El método de Puntos de Función, además de combinación con otras técnicas de estimación como
Casos de Uso. La estimación es una de las primeras actividades de la gestión de proyectos
informáticos. Su objetivo es conocer las etapas tempranas y de manera aproximada, el costo la
duración y los recursos necesarios para el desarrollo de proyectos de software.
GRUPO 02: DANIEL, JULIO, RONALD, PATRICIA 22