Function Point Analysis was initially developed by Allan J. Albercht in 1979 at IBM and it has been further modified by the International Function Point Users Group (IFPUG).
Initial Definition given by Allan J. Albrecht:
FPA 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.
FPA provides standardized method to functionally size the software work product. This work product is the output of software new development and improvement projects for subsequent releases. It is the software which is relocated to the production application at project implementation. It measures functionality from the users point of view i.e. on the basis of what the user requests and receives in return.
Function Point Analysis (FPA) is a method or set of rules of Functional Size Measurement. It assesses the functionality delivered to its users, based on the user’s external view of the functional requirements. It measures the logical view of an application not the physically implemented view or the internal technical view.
The Function Point Analysis technique is used to analyse the functionality delivered by software and Unadjusted Function Point (UFP) is the unit of measurement.
Objectives of FPA:
- The objective of FPA is to measure functionality that the user requests and receives.
- The objective of FPA is to measure software development and maintenance independently of technology used for implementation.
- It should be simple enough to minimize the overhead of the measurement process.
- It should be a consistent measure among various projects and organizations.
Types of FPA:
- Transactional Functional Type –
- (i) External Input (EI): EI processes data or control information that comes from outside the application’s boundary. The EI is an elementary process.
- (ii) External Output (EO): EO is an elementary process that generates data or control information sent outside the application’s boundary.
- (iii) External Inquiries (EQ): EQ is an elementary process made up of an input-output combination that results in data retrieval.
- Data Functional Type –
- (i) Internal Logical File (ILF): A user identifiable group of logically related data or control information maintained within the boundary of the application.
- (ii) External Interface File (EIF): A group of user recognizable logically related data allusion to the software but maintained within the boundary of another software.
Benefits of FPA:
- FPA is a tool to determine the size of a purchased application package by counting all the functions included in the package.
- It is a tool to help users discover the benefit of an application package to their organization by counting functions that specifically match their requirements.
- It is a tool to measure the units of a software product to support quality and productivity analysis.
- It s a vehicle to estimate cost and resources required for software development and maintenance.
- It is a normalization factor for software comparison.