puntos de funcion

40
1 Puntos de Función

Upload: darwin-cajamarca

Post on 04-Jul-2015

489 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: puntos de funcion

1

Puntos de Función

Page 2: puntos de funcion

Puntos de Función 2

Plan

• Visión general• IFPUG

Frontera de la aplicaciónTransaccionesDatos

Page 3: puntos de funcion

Puntos de Función 3

PF - Visión general

Objetivo: traducir en un Número el tamaño de la funcionalidad que brinda un producto de software

• Desde el Punto de vista del usuario• Suma ponderada de características del producto: Transacciones

Nro. Entradas Externas (EI- External Input) Nro. Salidas Externas (EO- External Output) Nro. Consultas Exts. (EQ- External inQuiry)

Datos Nro.Archivos Int. Lógicos (ILF- InternalLogical File) Nro.Arch. Interfaz Externa (EIF-External Interface File)

Page 4: puntos de funcion

Puntos de Función 4

Modelo para contar PF

EI

EQ

EO

Archivos Lógicos Internos (ILF)

Archivos de InterfazExternos (EIF)

Frontera de la aplicación

datos derivados y/o afecta

comportamiento

14 Características Generales de la

Aplicación

PF = PFSA x Factor de Ajuste

transacciones datos

No mantenidos por la aplicación

Page 5: puntos de funcion

Puntos de Función 5

Estandarización por IFPUGFactores de ajuste

comunicaciones de datos procesamiento distribuido consideraciones de performance configuración operacional altamente utilizada entrada de datos on-line eficiencia para el usuario final (diálogos interactivos) actualización on-line y respaldo y recuperación procesamiento interno complejo tasa de transacciones reusabilidad facilidad de instalación facilidad de operación uso en múltiples sitios facilitar el cambio

Page 6: puntos de funcion

Puntos de Función 6

Visión del Cliente-UsuarioNo todo archivo físico o tabla se traduce en un

ILF (o EIF)No todo archivo o tabla tiene por qué ser un ILF

o EIF (archivos transitorios o de trabajo NO se cuentan)

Una transacción que ocurre en múltiples entradas físicas (archivo de transacciones o pantallas, con idéntica lógica de procesamiento, se considera como una sola transacción

Un mismo reporte físico, pantalla o archivo de salida pueden corresponder a más de un EO/EQ

Reordenar o reacomodar los datos no se considera como lógica de procesamiento única

Page 7: puntos de funcion

Puntos de Función 7

Frontera de la Aplicación

• Define lo que es “externo” a la aplicación• Interfaz entre lo “interno” y el “mundo exterior”• Se puede concebir como una “membrana” que

atraviesan los datos procesados por las transacciones (EI, EO, EQ)

• Encierra los archivos lógicos mantenidos por la aplicación(ILF)

• Asiste en la identificación de los archivos lógicos referenciados pero no mantenidos por la aplicación (EIF)

• Depende de la visión del negocio y externa del usuario

• Es independiente de consideraciones técnicas o de implementación

Page 8: puntos de funcion

Puntos de Función 8

Frontera de la Aplicación (2)

RR.HH.

Contabilidad

Ventas

Usuario 1

Fronteras definidas a partir de la visión del

negocio

¿cómo impactaría en la cuenta total de PF considerar esta otra

frontera?

Page 9: puntos de funcion

Puntos de Función 9

Frontera de la Aplicación (3)• Incide en la cuenta total de PF

al partir una aplicación se incrementan los PF totales porque los ILF se cuentan una vez como tales (por lo menos) y también se cuentan como EIF

• Se determina a partir de la visión de usuario basada en áreas funcionales separadas y NO en consideraciones técnicas una aplicación Cliente/Servidor es una unidad; la

frontera debe englobar a ambos: Cliente y Servidor una aplicación que se extiende para que funcione en

Internet no se puede (por eso solo) considerar como dos aplicaciones a los efectos de los PF

• Desconfiar de la frontera si: no se identifican EIF hay demasiados EIF o un mismo archivo es ILF en varias

aplics.

Page 10: puntos de funcion

Puntos de Función 10

Contar TransaccionesPasos:• Identificar transacciones• Asignar a cada una un tipo (EI, EO, EQ)• Identificar la cantidad de DET y FTR• Asignar a cada una un valor de complejidad (Alta,

Media, Baja) en función de la cantidad de DET y FTR

Definiciones:• Data Element Type (DET):

es un campo único (no repetitivo) reconocible por el usuario

• File Type Referenced (FTR): es un tipo de archivo al que se hace referencia en una

transacción; tiene que ser un ILF o EIF

Page 11: puntos de funcion

Puntos de Función 11

Tipos de transaccionesDefiniciones:• EI (External Input) - Entrada Externa

Proceso elemental en el que datos cruzan la frontera de la aplicación de afuera hacia adentro. La intención primordial es mantener uno o más ILF y/o alterar el comportamiento del sistema

• EO (External Output) - Salida Externa Proceso elemental en el que datos derivados a partir de

uno o más ILF o EOF cruzan la frontera de adentro hacia fuera. Un EO puede actualizar un ILF o alterar el comportamiento del sistema.

• EQ (External Query) - Consulta Externa Proceso elemental en el que datos o información de

control cruzan la frontera de adentro hacia fuera. NO incluye datos derivados y NO mantiene ningún ILF y NO altera el comportamiento del sistema

Page 12: puntos de funcion

Puntos de Función 12

Proceso ElementalDefinición:• Es la mínima unidad de actividad que tiene un

significado para el Usuario debe ser autocontenido, no requiere de otra actividad

para que adquiera significado debe dejar al sistema en un estado consistente

Ejemplo:si el usuario desea agregar un empleado, puede requerir

incorporar: nombre fecha de ingreso CI sueldo estado civil fecha de nacimiento

Este proceso elemental se

completa al ingresar todos los datos

requeridos

Page 13: puntos de funcion

Puntos de Función 13

Tipos de Transacciones - Resumen

Función EI EO EQ

Altera el comportamiento del sistema IP O NO

Mantiene uno o más ILF IP O NO

Presenta información al usuario O IP IP

Presenta datos derivados al usuario O IP NO

IP= Intención Primordial

O= Opcional

Page 14: puntos de funcion

Puntos de Función 14

Proceso en TransaccionesTipo de Proceso EI EO EQ

Acepta datos o inf. de control que entra SI p pPresenta información fuera de la frontera p SI SI

Altera el comportamiento del sistema p* p* NO

Al menos se actualiza un ILF p* p* NO

Fórmulas matemáticas y cálculos p p* NOCrea datos derivados p p* NO

Al menos un ILF o EIF referenciado p p SIRecupera datos o información de control p SI SI

Validaciones p p pSe convierten valores equivalentes p p p

Selección y filtro de datos p p p

Se evalúan condiciones p p pReordena un conjunto de datos p p p

p=posible

p*=uno por lo menos debe estar presente

Page 15: puntos de funcion

Puntos de Función 15

Transacciones - Unicidad

Se cuenta si se cumple al menos una de:• Para EI:

lógica distinta de otras EI el conjunto de DET distinto del de otras EI conjunto de ILF o EIF distinto del de otras EI

• Para EO, EQ: lógica distinta de otras EO o EQ el conjunto de DET distinto del de otras EO o EQ conjunto de ILF o EIF distinto del de otras EO o EQ

Page 16: puntos de funcion

Puntos de Función 16

Complejidad de Tr - Número de FTR• Contar un FTR por cada ILF mantenido• Contar un FTR por cada ILF o EIF leído durante el

proceso del EI• Contar sólo un FTR por cada ILF que es leído y

mantenidoEjemplo: Retiro de una cuenta bancariaILF en la aplicación:

Cuenta Movimientos Cotizaciones dólar

El proceso de retiro lee la cuenta, verifica saldo , graba movimiento y actualiza la cuenta.2 FTR

Page 17: puntos de funcion

Puntos de Función 17

Complejidad de Tr - Número de DET• Contar un DET por cada campo reconocible por el

usuario, no repetido, que entra o sale de la aplicación atravesando su frontera y es requerido para completar el EI

• No contar campos leídos o derivados por la aplicación y almacenados en un ILF si los campos no cruzaron la frontera

• Contar un DET por la posibilidad de que el sistema envíe un mensaje fuera de la frontera de la aplicación para indicar un error , confirmar que el proceso está completo o verificar si el proceso debiera continuar

• Contar un DET por la posibilidad de especificar una acción, mismo si hay múltiples métodos para invocar el mismo proceso lógico

Page 18: puntos de funcion

Puntos de Función 18

Complejidad de EI - Número de DETEjemplo 1 - agregar un empleado con los datos:

nombre fecha de ingreso CI fecha de nacimiento

Ejemplo 2 - ingreso de datos de factura de proveedor: código proveedor (E) nombre proveedor (S) fecha factura (E) importe total (E)

° * ( código artículo° precio unitario° cantidad° importe) (E)

4 DET

8 DET

Page 19: puntos de funcion

Puntos de Función 19

Complejidad de Tr – Nro. de DETNO CONTAR:• Campos recuperados o derivados por el sistema y

almacenados en un ILF por el proceso elemental, si no cruzaron la frontera de la aplicación

Ejemplo: Al imprimir cheques, el registro en el archivo se marca para no volver a imprimirlo

Esta marca NO se cuenta como DET

• Literales Ejemplo: Los títulos (si son fijos) no se cuentan como DET

• Variables generadas por el sistema relacionadas con el paginado o fecha y hora

Ejemplos: nros. de página información de posicionamiento (filas 32 a 56 de 781) Comandos para paginar (anterior, siguiente, barra de

posicionamiento) Fecha y hora

Page 20: puntos de funcion

Puntos de Función 20

Caracterización de la complejidad

Para EI 1 a 4 DET 5 a 15 DET 16 o más DET

0 a 1 FTR Baja Baja Media

2 FTRs Baja Media Alta

3 o más FTRs

Media Alta Alta

Para EO/EQ 1 a 5 DET 6 a 19 DET 20 o más DET

0 a 1 FTR Baja Baja Media

2 a 3 FTRs Baja Media Alta

4 o más FTRs

Media Alta Alta

Page 21: puntos de funcion

Puntos de Función 21

Contribución de Transacciones

\ ComplejidadTipo de Transacción

Baja Media Alta

External Input (EI)

3 4 6

External Output (EO)

4 5 7

External inQuiry (EQ)

3 4 6

Page 22: puntos de funcion

Puntos de Función 22

Contribución de TransaccionesEjemplo - Aplicación integrada por:

• Alta cliente (#cliente, nombre, dirección)

• Listado de clientes (#cliente, nombre, dirección)

• Consulta de la cantidad de clientes existentes

• un único ILF (Clientes)

Transacción Tipo Nivel Complejidad

Cuenta

Alta Cliente EI Baja 3Listado Clientes EQ Baja 3

Cantidad Clientes EO Baja 4Total de Contribución de

Transacciones:10

Page 23: puntos de funcion

Puntos de Función 23

Consulta de EmpleadosSistema de RRHH

Empleado Tareas Asignaciones Informes Ayuda

Lista de Empleados

Apellido Nombre CI Sueldo

Pérez Juan 1.234.567-8 10.000

Martínez Pedro 2.345.678-9 20.000

Fernández María 3.456.789-0 30.000

Giménez Ana 4.567.890-1 40.000

Detalle Núcleo Familiar Cancelar

Page 24: puntos de funcion

Puntos de Función 24

Consulta de EmpleadosArchivo Empleados: (CI, apellido, nombre,

sueldo)

• EQ• 1 FTR• DET:

Nombre y Apellido (nombre)CISueldoAcciones (Detalle, Núcleo Familiar, Cancelar)

• Complejidad: Baja• Contribución: 3 PF

Page 25: puntos de funcion

Puntos de Función 25

Consulta ImplícitaLa modificación de datos del empleado es

incómoda si no parte de los datos que existen.

El usuario no pidió una consulta de los datos, sin embargo la espera.

¿Cómo considerarla?EQ

Si ya está prevista la consulta del empleado ¿se debe contar dos veces?

Page 26: puntos de funcion

Puntos de Función 26

Archivo para otra aplicaciónAl fin del día, la información de los cheques

impresos por la aplicación de RRHH se envía a la aplicación Contable usando un archivo de texto

Archivos involucrados:Cheque (#cheque, importe, banco, cuenta, orden)Cheque_txt (linea)

¿Es un proceso elemental? En caso afirmativo, ¿de qué tipo y complejidad?

EQ , 1 FTR, 5 DET, Baja

Page 27: puntos de funcion

Puntos de Función 27

Datos

Page 28: puntos de funcion

Puntos de Función 28

Modelo para contar PF

EI

EQ

EO

Archivos Lógicos Internos (ILF)

Archivos de InterfazExternos (EIF)

Frontera de la aplicación

datos derivados y/o afecta

comportamiento

14 Características Generales de la

Aplicación

PF = PFSA x Factor de Ajuste

transacciones datos

Page 29: puntos de funcion

Puntos de Función 29

Contar DatosPasos:• Identificar Archivos• Asignar a cada uno un tipo (ILF, EIF)• Identificar la cantidad de RET y DET• Asignar a cada uno un valor de complejidad (Alta,

Media, Baja) en función de la cantidad de RET y DET

Definiciones cortas:• Data Element Type (DET):

es un campo único (no repetitivo) reconocible por el usuario (ya lo habíamos visto al contar funciones)

• Record Element Type (RET): es un subconjunto de campos de un archivo,

reconocible como tal por el usuario

Page 30: puntos de funcion

Puntos de Función 30

Tipos de Archivos

Internal Logical File (ILF)• Es un grupo de datos o de información de control,

lógicamente relacionado, identificable por el usuario y mantenido dentro de la frontera de la aplicación.

External Interface File (EIF)• Es un grupo de datos o de información de control,

lógicamente relacionado, identificable por el usuario, referenciado por la aplicación, pero mantenido fuera de la frontera de la aplicación.

Nota: Un EIF para una aplicación tiene que ser un ILF para alguna otra.

Page 31: puntos de funcion

Puntos de Función 31

Record Element Type (RET)• 2 tipos de subgrupos:

Opcionales - al crear una instancia de los datos, puede no estar presente ninguno

Obligatorios - el usuario debe ingresar los datos de al menos un subgrupo obligatorio

Ejemplo: Aplicación de RRHH. Empleado tiene datos generales y además puede ser mensual o jornalero. Adicionalmente, puede tener personas a su cargo (núcleo familiar).

RET: Mensual (incluyendo generales) - obligatorio Jornalero (incl. generales) - obligatorio Núcleo Familiar - opcional

Nota: Los subgrupos no necesariamente son disjuntos

Page 32: puntos de funcion

Puntos de Función 32

Data Element Type (DET)• Contar un DET por cada campo no repetitivo,

reconocible por el usuario, que se recupera o mantiene desde ILF o EIF a través de un proceso elemental

Ejemplos: Número de cuenta que se almacena en varios

campos cuenta como 1 (un) DET Imagen previa y posterior de un archivo con 10

campos, para auditoría, cuenta como 2 DET (uno por la previa y otro por la posterior)

El registro de fecha y hora de alta/modificación en un archivo, cuenta como un DET si fue requerido por el usuario

Page 33: puntos de funcion

Puntos de Función 33

Caracterización de la complejidad

AltaAltaMedia6 o más RET

AltaMediaBaja2 a 5 RET6

MediaBajaBaja1 RET

51 o más DET 20 a 50 DET1 a 19 DETPara ILF/EIF

1075Ext.Interface File(EIF)

15107Int. Logical File (ILF)

AltaMediaBaja \ ComplejidadTipo de Archivo

Contribución de datos

Page 34: puntos de funcion

Puntos de Función 34

Contribución de DatosEjemplo - Aplicación mantiene los archivos:

• Tarea ( #tarea, nom_tarea, escala)

• Descripcion_Tarea ( #tarea, #linea, l_descrip)

• Empleado ( CI, nom_empleado, fecha_nac, fecha_ingreso, #tarea)

ILF identificados: Tarea, Empleado

Tarea: 2 RET - Tarea, Descripcion_Tarea

5 DET - #tarea, nom_tarea, escala, #linea, l_descrip

Empleado: 1 RET

5 DET - CI, nom_empleado, fecha_nac, fecha_ingreso, #tarea

Page 35: puntos de funcion

Puntos de Función 35

Contribución de Datos (cont.)

14Total de Contribución de Datos :

ILF

ILF

Tipo

7BajaTarea

7BajaEmpleado

CuentaNivel Complejidad

Archivo

Page 36: puntos de funcion

Puntos de Función 36

UsuarioDefinición:• Un usuario es cualquier persona que especifica

Requerimientos Funcionales de Usuario y/o cualquier persona o cosa que se comunica o interactúa con el software

Ejemplos:• Para la aplicación de RRHH incluye al personal

del departamento de RRHH que interactúan con la aplicación y a la aplicación contable que interactúa para recibir la información de los asientos contables correspondientes a la liquidación de sueldos

Page 37: puntos de funcion

Puntos de Función 37

Contribución de Datos – Guía• ¿Los datos son un grupo lógico que soporta

requerimientos del usuario?

• Una aplicación puede usar un mismo ILF o EIF en múltiples procesos, pero el archivo se cuenta una sola vez

• Un mismo archivo no se puede contar a la vez como ILF y EIF; si cumple ambos criterios, contarlo como ILF

• Si un grupo de datos no fue contado como ILF ni EIF, contar sus DET para el ILF o EIF que incluye al grupo

• No asumir que un archivo físico, tabla o clase de objetos corresponde a un archivo lógico desde el punto de vista del usuario

• No asumir que todo archivo físico debe ser contado o incluido como parte de un ILF o EIF

Page 38: puntos de funcion

Puntos de Función 38

Contribución de Datos – Guía(2)• ¿Dónde se mantienen los datos, dentro o fuera de la

aplicación?

• Archivos lógicos mantenidos por más de una aplicación se consideran como ILF al contar cada una

• Recordar que en el caso anterior, en cada aplicación sólo se consideran los DET que usa y estos se determinan desde el punto de vista de cada aplicación

Page 39: puntos de funcion

Puntos de Función 39

Contribución de Datos – Ejemplo 1Usuario desea poder:

• Ingresar, consultar y listar los datos de tareas

• La información relativa a las tareas consiste en:

• #tarea, nom_tarea, grado

• (#tarea,nro_linea, linea_descripcion)

dos grupos de datos (tarea y descripción)

(1) ILF con (2) RET

5 DET (#tarea se cuenta sólo una vez)

Page 40: puntos de funcion

Puntos de Función 40

Contribución de Datos – Ejemplo 2Para la aplicación de RRHH el Usuario desea:

• Poder restringir el acceso a cada pantalla a ciertas personas

• Poder cambiar estas restricciones

• Emitir un listado con todos los agregados o cambios en las restricciones de acceso que incluya los datos:

• Id de usuario que hizo el cambio

• Id de pantalla cuya seguridad se cambió o agregó

• La Id de usuario y los datos de seguridad anteriores y posteriores

• Fecha y hora del cambio