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

(1) Data Functions - Internal Logical Files (ILFs)

ILF stands for "Internal Logical File". In my 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:

  1. The group of data or control information is logical and user identifiable.
  2. The group of data is maintained through an elementary process within the application boundary being counted.

Examples of ILFs

Samples of things that *can* be ILFs include:

  1. Tables in a relational database.
  2. Flat files.
  3. Application control information, perhaps things like user preferences that are stored by the application.
  4. LDAP data stores.

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

Table 2: The ILF complexity matrix 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

Table 3: ILF weights