Open In App

Functional Point (FP) Analysis - Software Engineering

Last Updated : 21 Aug, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

Functional Point Analysis (FPA) is a software measurement technique used to assess the size and complexity of a software system based on its functionality. It involves categorizing the functions of the software, such as input screens, output reports, inquiries, files, and interfaces, and assigning weights to each based on their complexity. By quantifying these functions and their associated weights, FPA provides an objective measure of the software's size and complexity.

What is Functional Point Analysis?

Function Point Analysis was initially developed by Allan J. Albrecht in 1979 at IBM and has been further modified by the International Function Point User's Group (IFPUG) in 1984, to clarify rules, establish standards, and encourage their use and evolution. Allan J. Albrecht gave the initial definition, Functional Point Analysis gives a dimensionless number defined in function points which we have found to be an effective relative measure of function value delivered to our customer. A systematic approach to measuring the different functionalities of a software application is offered by function point metrics. Function point metrics evaluate functionality from the perspective of the user, that is, based on the requests and responses they receive.

Objectives of Functional Point Analysis

  1. Encourage Approximation: FPA helps in the estimation of the work, time, and materials needed to develop a software project. Organizations can plan and manage projects more accurately when a common measure of functionality is available.
  2. To assist with project management: Project managers can monitor and manage software development projects with the help of FPA. Managers can evaluate productivity, monitor progress, and make well-informed decisions about resource allocation and project timeframes by measuring the software's functional points.
  3. Comparative analysis: By enabling benchmarking, it gives businesses the ability to assess how their software projects measure up to industry standards or best practices in terms of size and complexity. This can be useful for determining where improvements might be made and for evaluating how well development procedures are working.
  4. Improve Your Cost-Benefit Analysis: It offers a foundation for assessing the value provided by the program concerning its size and complexity, which helps with cost-benefit analysis. Making educated judgements about project investments and resource allocations can benefit from having access to this information.
  5. Comply with Business Objectives: It assists in coordinating software development activities with an organization's business objectives. It guarantees that software development efforts are directed toward providing value to end users by concentrating on user-oriented functionality.

Types of Functional Point Analysis

There are two types of Functional Point Analysis:

Types-of-Functional-Points-Analysis
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.