Functional Point (FP) Analysis

Last Updated : 24 Sep, 2026

Functional Point (FP) Analysis is a standardized software sizing technique used to estimate project effort, cost, and complexity based on the functionality delivered to the user.

  • Measures software size based on user-visible functionality.
  • Evaluates inputs, outputs, files, inquiries, and interfaces.
types_of_functional_points_analysis
Types of Functional Point Analysis

Objectives

  • Project Estimation: Estimates the effort, time, cost, and resources required for software development.
  • Project Management: Helps monitor project progress, productivity, and resource utilization.
  • Benchmarking: Compares software projects based on size and complexity to identify improvements.
  • Cost-Benefit Analysis: Evaluates whether the software's functionality justifies its development cost.
  • Business Alignment: Ensures software development focuses on delivering business value and meeting user requirements.

Types of Functional Point Analysis

1. Transactional Functional Type

  • External Input (EI): EI processes data or control information that comes from outside the application’s boundary. The EI is an elementary process.
  • External Output (EO): EO is an elementary process that generates data or control information sent outside the application’s boundary. 
  • External Inquiries (EQ): EQ is an elementary process made up of an input-output combination that results in data retrieval. 

2. Data Functional Type

  • Internal Logical File (ILF): A user-identifiable group of logically related data or control information maintained within the boundary of the application.
  • External Interface File (EIF): A group of users recognizable logically related data allusion to the software but maintained within the boundary of another software.
fpas_functional_units_system
Functional Point Analysis

Characteristics of Functional Point Analysis

We can calculate the functional point with the help of the number of functions and types of functions used in applications. These are classified into five types:

Types of FP Attributes or Information Domain Characteristics

Measurement Parameters

Examples

Number of External Inputs (EI)

Input screen and tables

Number of External Output (EO)

Output screens and reports

Number of external inquiries (EQ)

Prompts and interrupts

Number of internal files (ILF)

Databases and directories

Number of external interfaces (EIF)

Shared databases and shared routines

  • Functional Point helps in describing system complexity and also shows project timelines.
  • It is majorly used for business systems like information systems.
  • FP is language and technology independent, meaning it can be applied to software systems developed using any programming language or technology stack.
  • All the factors mentioned above are given weights, and these weights are determined through practical experiments in the following table.

Weights of 5 Functional Point Attributes

Measurement Parameter

Low

Average

High

Number of external inputs (EI)

3

4

6

Number of external outputs (EO)

4

5

7

Number of external inquiries (EQ)

3

4

6

Number of internal files (ILF)

7

10

15

Number of External Interfaces (EIF)5710

Functional Complexities help us in finding the corresponding weights, which results in finding the Unadjusted Functional point (UFp) of the Subsystem. Consider the complexity as average for all cases. Below-mentioned is the way how to compute FP.

Measurement Parameter

Count

Weighing Factor

Total_CountSimpleAverageComplex

Number of external inputs (EI)

32

32*4=128

3

4

6

Number of external outputs (EO)

60

60*5=300

4

5

7

Number of external inquiries (EQ)

24

24*4=96

3

4

6

Number of internal files (ILF)

8

8*10=80

7

10

15

Number of external interfaces (EIF)

2

2*7=14

5

7

10

Algorithms used Count total →


618




From the above tables, Functional Point is calculated with the following formula

FP = Count-Total * [0.65 + 0.01 * ⅀(fi)]

= Count * CAF

Here, the count-total is taken from the chart.

CAF = [0.65 + 0.01 * ⅀(fi)]

  1. ⅀(fi) = sum of all 14 questions and it also shows the complexity factor - CAF.
  2. CAF varies from 0.65 to 1.35 and ⅀(fi) ranges from 0 to 70.
  3. When ⅀(fi) = 0, CAF = 0.65 and when ⅀(fi) = 70, CAF = 0.65 + (0.01*70) = 0.65 + 0.7 = 1.35

Advantages

  • Technology Independent: Measures software size regardless of the programming language or technology used.
  • Accurate Project Estimation: Helps estimate development effort, time, cost, and resources more accurately.
  • Better Communication: Provides a common metric that is easy for both technical and non-technical stakeholders to understand.
  • Supports Better Decision-Making: Assists in resource allocation, project planning, and prioritization.
  • Early Scope Change Detection: Helps identify and assess the impact of requirement changes early in the project.

Disadvantages

  • Subjective Evaluation: Results depend on the analyst's judgment, which can affect consistency.
  • Lower Accuracy: Subjective assessment may lead to less accurate size estimation.
  • Time-Consuming: Requires detailed analysis of functional requirements.
  • Steep Learning Curve: Understanding and applying FPA correctly requires training and experience.
  • Costly: Detailed analysis increases the time and cost of project estimation.
Comment