Data Functions - Internal Logical Files (ILFs)

ILF stands for "Internal Logical File" . In our words, ILFs represent data that is stored and maintained within the boundary of the application you are counting. When counting ILFs you are basically counting the data functions that your application is being built to maintain.

The more precise IFPUG definition of an ILF is:

"An ILF is a user-identifiable group of logically related data or control information maintained within the boundary of the application. The primary intent of an ILF is to hold data maintained through one or more elementary processes of the application being counted."

Furthermore, for data or control information to be counted as an ILF, both of the following IFPUG counting rules must also apply:
Examples of ILFs Samples of things that *can* be ILFs include:

This isn't to say that all these things are ILFs, just that they can be.

Function point counts resulting from ILFs

When you're counting ILFs you will constantly be referring to the two tables that follow. The purpose of the first table is to help you determine whether the ILF you're currently looking at has a complexity level of Low (L), Average (A), or High (H). You do this by going into the table knowing the number of DETs and number of RETs you have counted in the ILF, and then finding the resulting Low, Average, or High value.

For instance, suppose I counted 5 DETs and 1 RET; that would be a Low complexity table. Conversely, if I had a table with 21 DETs and 2 RETs, that would be an Average complexity table.

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

Now that you know whether the ILF under consideration has a complexity of Low, Average, or High, you'll come to this next table and determine the number of FPs that should be counted for this ILF. A Low complexity ILF is worth 7 points, an Average ILF is worth 10 points, and a High is worth 15.

Complexity Points
Low 7
Average 10
High 15