up previous next
Next: (3) Transaction Functions - Up: Details on the Five Previous: (1) Data Functions -

(2) Data Functions - External Interface Files (EIFs)

EIF stands for "External Interface File". In my words, EIFs represent the data that your application will use/reference, but data that is not maintained by your application.

The official IFPUG definition of an EIF is:

"An external interface file (EIF) is a user identifiable group of logically related data or control information referenced by the application, but maintained within the boundary of another application. The primary intent of an EIF is to hold data referenced through one or more elementary processes within the boundary of the application counted. This means an EIF counted for an application must be in an ILF in another application."

Again, think of this as data that your application needs and uses, but does not maintain.

Examples of things that can be EIFs are identical to the list for ILFs, but again, the big difference here is that EIFs are not maintained by the application under consideration, but ILFs are. Function point counts resulting from EIFs

Assigning an FP value to an EIF is the same as assigning one to an ILF. First, determine the number of DETs and RETs in the EIF, then do a lookup in the following table to determine whether the EIF has a complexity of Low, Average, or High. 

  Data Element Types (DETs)
RETS 1-19 20-50 51+
1 L L A
2 to 5 L A H
6 or more A H H


Table 4: EIF complexity matrix Then, once you know whether the EIF is considered Low, Average, or High, look in the following table for the number of FPs to count for this particular EIF.

EIF Weights:

Value No. or Function Points
Low 5
Average 7
High 10


Table 5: EIF weights You'll notice that the first two lookup tables are identical, but that more FPs are assigned to ILFs than EIFs. Here's some homework for you: Can you guess why?