In 1979, IBM’s Allan J. Albrecht created function point analysis, later enhanced by the International Function Point Users Group (IFPUG). The International Function Point Users Group (IFPUG) was created in 1986 as a non-profit, member-governed organisation. The IFPUG owns Function Point Analysis (FPA). It is specified in ISO standard 20296:2009, which describes the definitions, criteria, and methods for using the IFPUG’s available size measuring (FSM) approach.
Functional Point (FP) Analysis
A Function Point (FP) Analysis measures the amount of business functionality provided to a user by an information system (as a product). FPA is used to estimate the amount of a software project’s functionality, its function size, as well as its testing. The function point is a standard of measurement for measuring software applications that is used to determine the available size of the software product.
It assesses how much functionality a user requests and receives.
It analyses software development and maintenance independent of the implementation technology.
It should be simple enough to reduce the measuring procedure’ overhead.
It should be a metric that is used consistently across projects and companies
Types of Functional Point Analysis
There are two types of Functional Point Analysis
Transactional Functional Type
Data Functional Type
Transactional Functional Type
According to IFPUG(International Function Point Users Group):
An External Input (EI) is a simple application procedure that handles data or controls information that enters from outside the program's boundaries.
An External Output (EO) is a simple application procedure that creates data or controls information outside the program's boundaries. An external output's main purpose is to convey information to a user using processing logic in addition to, or instead of, data retrieval or control information.
An External Inquiry (EQ) is a simple application operation that leads to the retrieval of data or control information that is sent beyond the application border. The main goal is to provide the user with information by retrieving or controlling information from an ILF(Internal Logical Files) or EIF(External Interface Files).
Data Functional Type
Internal Logical File (ILF): It is a set of logically connected data that can be identified by a specific user and is totally contained within the program boundary. It is updated using external inputs. A file that is internally maintained has some logical structure and is stored in a file that is said to be an internal logical file.
External Interface Files (EIF): It is a user-identifiable collection of logically connected data that is exclusively utilized as a source of reference. The data is completely outside the application boundaries and is maintained by external inputs from other apps. An internal logical file for another application houses the external interface file. A file can only be counted as an EIF or ILF by one application, not both.
FPA is a tool used to calculate the size of an application package that has been purchased by adding up all of the functions that are part of the package.
It is a tool that assists users in determining the value of an application bundle to their company by keeping track of features that closely match their needs.
It is a tool for measuring software product units in order to support productivity and quality analysis.
It is a tool for estimating the price and resources needed for software development and upkeep.
It serves as a normalizing factor when comparing software.
Drawbacks of Functional Point Analysis
The process of implementing it in software is time-consuming.
The estimating model is expensive.
As a result of the involvement of numerous elements, FPA accuracy is particularly challenging.
Numerous internal, external, or future parameters are needed.
After the design configuration, it is carried out.
Characteristics Of Functional Point (FP)
FPs of an application is calculated by counting the number and types of functions used in the software applications. As stated in Table, many functions utilised in an application may be classified into five types:
FP Attribute Types or Information Domain Characteristics.
Measurements Parameters
Examples
1.Number of External Inputs(EI)
Input screen and tables
2. Number of External Output (EO)
Output screens and reports
3. Number of external inquiries (EQ)
Prompts and interrupts.
4. Number of internal files (ILF)
Databases and directories
5. Number of external interfaces (EIF)
Shared databases and shared routines.
FP describes the software system’s complexity and shows project timelines and labour requirements.
FP is an independent programming language used for business systems like information systems.
The effort required to build the project is determined by the software’s capabilities using FP Analysis.
The mentioned parameters have been given weights that have been determined empirically and are listed in the following table:
Weights of 5 Functional Point Attributes
Measurement Parameter
Low
Average
High
1. Number of external inputs (EI)
3
4
6
2. Number of external outputs (EO)
4
5
7
3. Number of external inquiries (EQ)
3
4
6
4. Number of internal files (ILF)
7
10
15
5. Number of external interfaces (EIF)
5
7
10
These functional complexities are multiplied with their corresponding weights against each function, and the values are added up to determine the subsystem’s UFP (Unadjusted Function Point).
Computing FPs
Measurement Parameter
Count
Weighing Factor
Simple
Average
Complex
Number of external inputs (EI)
32
*
3
4
6 = 128
Number of external outputs (EO)
60
*
4
5
7 = 300
Number of external inquiries (EQ)
24
*
3
4
6 = 96
Number of internal files (ILF)
8
*
7
10
15 = 80
Number of external interfaces (EIF)
2
*
5
7
10 = 40
Algorithms used Count total →
618
Therefore, FP is calculated as:
The feature point is calculated with the following formula:
FP = Count-total * [0.65 + 0.01 *∑(fi)]
= Count-total * CAF
Here, count-total has been taken from the above tabular chart.
CAF = [0.65 + 0.01 * ∑(fi)]
∑(fi) = sum of all 14 questionnaires and show the complexity adjustment value/factor-CAF (where i ranges from 1 to 14).
CAF varies from 0.65 to 1.35 because:
When ∑(fi) = 0 then CAF = 0.65
When ∑(fi) = 70 then CAF = 0.65 + (0.01 * 70) = 0.65 + 0.7 = 1.35
Also ∑(fi) ranges from 0 to 70, i.e.,
0 <= ∑(fi) <=70
The size of Management Information System (MIS) software is typically measured using FP metrics.
However, the function points generated in the above are unadjusted (UFPs). These (UFPs) of a subsystem are further improved by considering some additional General System Characteristics (GSCs). This group of14 GSCs are taken into account.
The following is the technique for modifying UFPs:
The degree of Influence (DI) for each of these 14 GSCs is assessed on a scale of 0 to 5.
All 14 GSCs score is totalled to determine the Total Degree of Influence (TDI).
Then Value Adjustment Factor (VAF) is computed from TDI by using the formula: VAF = (TDI * 0.01) + 0.65
Function points determine the size of an application system based on the functional aspect of the system. Inputs, outputs, queries, internal files, and external files are added together to determine the size, which is then multiplied by the functional complexity of the system.
How do you calculate the function point?
Function points are calculated by assessing the software's functionality based on user requirements. This includes evaluating inputs, outputs, queries, internal logical files, and external interface files, assigning complexity values to each, and applying a weighted formula to compute the function point count.
How many types of function points are there?
There are two types of function points that are transactional functional type and data functional type. The transactional functional type describes functionality related to transactional operations, such as data input, processing, and storage. On the other hand, the Data functional type describes functionality related to data retrieval, display, or manipulation without involving transactional operations.
What is function point and feature point?
Function points and feature points are similar metrics used to measure software functionality. However, feature points are often considered an extension of function points and can include additional criteria like user experience and business value, offering a more comprehensive assessment of software features.
Conclusion
In this article we have extensively discussedthe ‘Functional Point Analysis (FP Analysis)’ and it’s characteristics.