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.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Differences between Functional and Non-functional Testing
- Functional vs Non Functional Requirements
- Functional and Non-functional Requirement of a System
- Non-functional Requirements in Software Engineering
- Functional Modelling in object oriented analysis and design
- Software Engineering | Introduction to Software Engineering
- Software Engineering | Structured analysis and design with CASE tools
- Analysis Modelling in Software Engineering
- Program Analysis Tools in Software Engineering
- Software Testing | Non-functional Testing
- Software Testing | Functional Testing
- Software Engineering | Requirements Engineering Process
- Software Engineering | Re-engineering
- Software Engineering | Reverse Engineering
- Difference between Software Engineering process and Conventional Engineering Processs
- Software Engineering | Calculation of Function Point (FP)
- Functional modeling and Information Flow modeling
- Various Approaches to Functional Testing
- Difference between Functional Testing and Implementational Testing Approach
- Difference between Forward Engineering and Reverse Engineering
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : Stranger1