Skip to main content

Function Points

Topic appears in the following WE1 Exams:

  • 2022 01 13 Q2 (5 points)
  • 2021 09 03 Q2 (4 points)
  • 2021 06 24 Q2 (4 points)
  • 2021 01 13 Q2 (3 points)

Therefore it appears in 67% of the WE1 exams and it is worth 4 points on average.

Summary

Function Points is a technique to measure the dimension of a software based on the functionalities that it has to offer.

A weight is associated with each FP counts of different types; the total Unadjusted Function Points is computed by multiplying each “raw” count by the weight and summing all partial values: $$UFP = ∑ (nElements * weight)$$

There are multiple types:

  • Internal Logical File (ILF): homogeneous set of data used and managed by the application
  • External Interface File (EIF): homogeneous set of data used by the application but generated and maintained by other applications
  • External Input: Elementary operation to elaborate data coming from the external environment
  • External Output: Elementary operation that generates data for the external environment (It usually includes the elaboration of data from logic files)
  • External Inquiry: Elementary operation that involves input and output (without significant elaboration of data from logic files)

A used reference for the weights is the following table:

Function TypesWeight
SimpleMediumComplex
N. Inputs346
N. Outputs457
N. Inquiry346
N. ILF71015
N. EIF5710

Example

Calculate FPs for an application managing a mobile telephony service. The application:

  • Manages data about both users and the different types of rates. The system will store the user data (phone number, personal data, the type of rate, any applying promotion). Each rate type is characterized by: call cost, cost of text messages, cost of surfing the Internet. Promotions change some of the cost items only for a well-defined period of time.
  • Allows users to access their information, change rates, and activate promotions.
  • Manages user billing based on information retrieved from the network management system. This last system sends to the service management system data concerning the voice calls (call duration, and the user location in case of roaming), SMSs (the information that messages have been sent, and the corresponding user location in case of roaming), and Internet surfing (connection duration, amount of downloaded data, user location) of each user.

ILFs

The application stores the information about:

  • users
  • rates
  • promotions
  • invoices

Each of these entities has a simple structure as it is composed of a small number of fields. Thus, we can decide to adopt for all the four the simple weight. Thus, 4 x 7 = 28 FPs concerning ILFs.

ELFs

The application manages the interaction with the network management system for acquiring information about:

  • calls
  • SMSs
  • Internet usage

Three entities with a simple structure. Thus, we decide to adopt a simple weight for the three of them. We get 3 x 5 = 15 FPs.

External inputs

With the customers:

  • Login/logout: these are simple operations, so we can adopt the simple weight for them. 2 x 3 = 6 FPs
  • Select a rate: this operation involves two entities, the rate and the user. It can still be considered simple, so, again we adopt the simple weight. 1 x 3 = 3 FPs
  • Select/eliminate a promotion: These two operations involve three entities, the user, the rate and the promotion. As such, we can considered them of medium complexity. 2 x 4 = 8 FPs

The application also interacts with the company operators to allow them to:

  • Insert/delete information about a new rate or promotion.
  • Insert/delete information about a new user.

Both the above operations can be consider of average complexity. 4 x 4 = 16 FPs In summary, we have FPs = 6+3+8+16 = 33

External inquiries

The application allows customers to request information about:

  • their profiles
  • rates
  • promotions
  • invoices

The application also allows the operator to visualize the information of all customers.

In summary, we have 5 different external inquiries that we can consider of medium complexity. Thus, 5 x 4 = 20 FPs.

External outputs

The application allows the creation of invoices. This is a quite complex operation as it needs to collect information from IFLs and EFLs. Thus, we can apply the weight for the complex cases: FP = 1 x 7.

Total number of FPs

  • ILFs: 28
  • ELFs: 15
  • External Inputs: 33
  • External Inquiries: 20
  • External Outputs: 7
  • Total: 103