Function points in practice

The idea of function points - slicing the system into smaller parts - seems simple, but the problem was how to distinguish each part.

Finally, they have decided to focus on five types of components:

  • EI - external inputs, which are the components responsible for introducing changes in system's internal data.
  • EO - external outputs, which are the ways system's internal data can be presented, but beware - there are a few similarities with EQ components, though.
  • EQ - external inquiries, which are the methods for reading system's data without modifying it.
  • EIF - external interface files, which are responsible for exchanging data with other systems.
  • ILF - internal logical files, which are files that are being used by the system itself.

How to perform Function Points Analysis?

Every FPA must be begun with grouping the components of the system we'd like to analyze. That's why the five groups (listed above) are distinguished. Once the components are selected and grouped, we can turn to analyzing itself.

Basically people solve problems by dividing them into smaller parts. And so is with measuring the application complexity with Function Points Method. Thereupon, instead of trying to evaluate the application as a whole, we need to rate each of the selected groups. How exactly to do it?

We need to classify the complexity of each category. We therefore have three possibilities - the complexity could be low, average, or high. Then, the thing is to count the scores following the rules tabled below:

        Component: Complexity:
        Low Average High
        EI 3 4 6
        EO 4 5 7
        EQ 3 5 6
        EIF 5 7 10
        ILF 7 10 15

Then, the whole "problem" is to sum the values. A total of them represents the number of application's function points.