Open In App

Functional Point (FP) Analysis – Software Engineering

Last Updated : 02 Apr, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

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). 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.

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:

1. Transactional Functional Type

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

2. Data Functional Type

  1. Internal Logical File (ILF): A user-identifiable group of logically related data or control information maintained within the boundary of the application.
  2. External Interface File (EIF): A group of users recognizable logically related data allusion to the software but maintained within the boundary of another software.
functional-point-analysis

Functional Point Analysis

Benefits of Functional Point Analysis

  1. Technological Independence: It calculates a software system’s functional size independent of the underlying technology or programming language used to implement it. As a result, it is a technology-neutral metric that makes it easier to compare projects created with various technologies.
  2. Better Accurate Project Estimation: It helps to improve project estimation accuracy by measuring user interactions and functional needs. Project managers can improve planning and budgeting by using the results of the FPA to estimate the time, effort and resources required for development.
  3. Improved Interaction: It provides a common language for business analysts, developers, and project managers to communicate with one another and with other stakeholders. By communicating the size and complexity of software in a way that both technical and non-technical audiences can easily understand this helps close the communication gap.
  4. Making Well-Informed Decisions: FPA assists in making well-informed decisions at every stage of the software development life cycle. Based on the functional requirements, organizations can use the results of the FPA to make decisions about resource allocation, project prioritization, and technology selection.
  5. Early Recognition of Changes in Scope: Early detection of changes in project scope is made easier with the help of FPA. Better scope change management is made possible by the measurement of functional requirements, which makes it possible to evaluate additions or changes for their effect on the project’s overall size.

Characteristics of Functional Point Analysis

We 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:

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.

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) 5 7 10

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_Count Simple Average Complex

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

Questions on Functional Point

1. Consider a software project with the following information domain characteristic for the calculation of function point metric.

Number of external inputs (I) = 30

Number of external output (O) = 60

Number of external inquiries (E) = 23

Number of files (F) = 08

Number of external interfaces (N) = 02

It is given that the complexity weighting factors for I, O, E, F, and N are 4, 5, 4, 10, and 7, respectively. It is also given that, out of fourteen value adjustment factors that influence the development effort, four factors are not applicable, each of the other four factors has value 3, and each of the remaining factors has value 4. The computed value of the function point metric is _____. [GATE CS 2015]

(A) 612.06
(B) 404.66
(C) 305.09
(D) 806.9

Solution: Correct Answer is (B).

For more, refer to GATE CS 2015 | Question 65.

2. While estimating the cost of the software, Lines of Code(LOC) and Function Points (FP) are used to measure which of the following? [UGC-NET CSE 2013]

(A) Length of Code

(B) Size of Software

(C) Functionality of Software

(D) None of the Above

Solution: Correct Answer is (B).

3. In functional point analysis, the number of complexity adjustment factors is [UGC-NET CS 2014]

(A) 10

(B) 12

(C) 14

(D) 20

Solution: Correct Answer is (C).

FAQs

1. What do you mean by Functional Point?

Ans: Functional Point basically determines the size of the application system on the basis of the functionality of the system.

2. How do you find the Functional Point?

Ans: The functional Point is calculated with the total count factor. It is simply calculated using the formula FP = TC * [0.65 + 0.01*⅀(Xi)].

3. List the five components of the Functional Point?

Ans: The five components of the functional point are listed below:

  1. Internal Logical Files (ILF)
  2. External Interface Files (EIF)
  3. External Inputs (EI)
  4. External Outputs (EO)
  5. External Enquiries (EQ)


    Like Article
    Suggest improvement
    Previous
    Next
    Share your thoughts in the comments

    Similar Reads