Está en la página 1de 40

p  

|
p 
ƥ Visión general
ƥ IFPUG
×Frontera de la aplicación
×Transacciones
×Datos

p  

p 


x  traducir en un 
  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
× ëro. Entradas Externas (EI- External Input)
× ëro. Salidas Externas (EO- External Output)
× ëro. Consultas Exts. (EQ- External inQuiry)
Datos
× ëro.Archivos Int. Lógicos (ILF- InternalLogical File)
× ëro.Arch. Interfaz Externa (EIF-External Interface File)

p  

å     p
   

Ñ
r 
 "  
Ñ
    
Ñ

r        
     Ñ  !  
 
  
r

    

 
   
p  

Ñ  

p
Factores 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

p  



 
 

× ëo todo archivo físico o tabla se traduce en un ILF (o
EIF)
× ëo todo archivo o tabla tiene por qué ser un ILF o
EIF (archivos transitorios o de trabajo ëO 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

p  

  


ƥ 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

p  

  



%& 

 #
   
ËË     
 



$  '   


&   (
     
   )
p  

  


ƥ 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 ëO 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.

p  

  

Pasos:
ƥ 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

p  
|

 

Definiciones:
ƥ 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
î   actualizar un ILF  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. ëO incluye datos
derivados y ëO mantiene ningún ILF y ëO altera el
comportamiento del sistema

p  
||
p Ñ 
Definició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   *& 

p  
|

 
  

Función EI EO EQ
Altera el comportamiento del sistema IP O ëO
Mantiene uno o más ILF IP O ëO
Presenta información al usuario O IP IP
Presenta datos derivados al usuario O IP ëO

(+   (  


,+, 

p  
|
p  

Tipo de Proceso EI EO EQ
Acepta datos o inf. de control que entra SI p p
Presenta información fuera de la frontera p SI SI
Altera el comportamiento del sistema p* p* ëO
Al menos se actualiza un ILF p* p* ëO
Fórmulas matemáticas y cálculos p p* ëO
Crea datos derivados p p* ëO
Al menos un ILF o EIF referenciado p p SI
Recupera datos o información de control p SI SI
Validaciones p p p
Se convierten valores equivalentes p p p
Selección y filtro de datos p p p
Se evalúan condiciones p p p
Reordena un conjunto de datos p p p
+#
-+&   #    

p  
|
 
 

 
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

p  
|
 
  !"
ƥ 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
mantenido
Ejemplo: Retiro de una cuenta bancaria
ILF en la aplicación:
× Cuenta
× Movimientos
× Cotizaciones dólar
El proceso de retiro lee la cuenta, verifica saldo , graba
movimiento y actualiza la cuenta.
O.Ë

p  
|
 
  !"#Ñ
ƥ 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
ƥ ëo 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

p  
|
 
 Ñ !"#Ñ
Ejemplo 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 0/.
° cantidad
° importe) (E)

p  
|
 
 $ !%#Ñ
x x
ƥ 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

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

  x    
 
ƥ Literales

î Los títulos (si son fijos) no se cuentan como DET
ƥ Variables generadas por el sistema relacionadas con el
paginado o fecha y hora

î
× 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
p  
|
  

   
 

Para EI |      |  | 


 

  |  Baja Baja Media


  Baja Media Alta
 
  Media Alta Alta

Para EO/EQ |     |   


 

  |  Baja Baja Media


    Baja Media Alta
 
  Media Alta Alta

p  
 

&
 


$ Complejidad Baja Media Alta


Tipo de Transacción
External Input (EI) 3 4 6
External Output (EO) 4 5 7
External inQuiry (EQ) 3 4 6

p  
 |

&
 

Ñ  

   
  
 



 
 
 



   
 


 


  î   

î 
Alta Cliente EI Baja 3
Listado Clientes EQ Baja 3
Cantidad Clientes EO Baja 4
        10
p  

  Ñ  
  
Ñ       

 Ñ 


 !" 
#$ % &'()*'+,-./&0'000
1  2$(')*+',-/.3(0'000
4$1 2 )'*+,'-/3.0)0'000
5#$  *'+,-'/30.&*0'000
6  7    "   
p  

  Ñ  
Archivo Empleados: (CI, apellido, nombre, sueldo)
ƥ EQ
ƥ 1 FTR
ƥ DET:
× ëombre y Apellido (nombre)
× CI
× Sueldo
× Acciones (Detalle, ëúcleo Familiar, Cancelar)
ƥ Complejidad: Baja
ƥ Contribución: 3 PF

p  
 
   '

La 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? Ñ

Π1   & 


'#  )

p  
 
 (
)    


Al 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?

Ñ8&8+6Ñ89 

p  
 
# 

p  
 
å     p
   
Ñ 
r 

Ñ   

    
Ñ !  
r    r
     Ñ 
 
  
    

 
   
p  
 
Pasos:
 # 
ƥ 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

p  
 

 (
)
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.
ëota: Un EIF para una aplicación tiene que ser un ILF para
alguna otra.

p  
 
 Ñ *Ñ
ƥ 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
× ëúcleo Familiar - opcional
ëota: Los subgrupos no necesariamente son disjuntos

p  
 |
#  Ñ *#Ñ
ƥ 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:
× ëú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

p  

  

   
 
Para ILF/EIF |  |      | 
 

|  Baja Baja Media


    Baja Media Alta

  Media Alta Alta


&
 
$ Complejidad Baja Media Alta
Tipo de Archivo
Int. Logical File (ILF) 7 10 15
Ext.Interface File(EIF) 5 7 10
p  


&
# 
Ñ  

    
 
   
  
!
 
  
!
 ! !" #  
" #
$


"
% !
% &'  
!
 
'   
  
!
!%|&
'  !" #  
" #
$

p  
 

&
#  %

   î   



î 
Empleado ILF Baja 7
Tarea ILF Baja 7
        14

p  
 
 

Definició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

p  
 

&
# $  '
  $ ! $
( !
( 

  
)
 !

!   

!
! ! #
*  *+
 
 #
*!  *+ ,-

 ! 

  

 $ !"   
 
 !( 
  ,$ !

 
(   #
*".
 /
!  #
* $
! *

 


 
(  #
*".
 
 

! 

p  
 

&
# $  ' 
  
" 
!

)
  #
* $

!0 !



    
 & (  
 !

 

(  ,

! *
 !



p  
 

&
# $ Ñ  +
’   
 $  ,

 
"

* 
%
  $
  

  
!


   


 


 Ñ
!"Ñ #  
    $

p  
 

&
# $ Ñ  
p    

%%’   
 p
$
  !

!
 p 



 

 
 $$ 



 ( 
  ,%
   
( #
+ 

 ! ,$ 
 
$$
   
,$ 

,
!

  #,# 


p