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.
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Modern Principles Of Software Development
- Software Engineering | Project size estimation techniques
- Types of Software Testing
- Software Testing | Basics
- Software Engineering | Architectural Design
- Software Engineering | Halstead’s Software Metrics
- Beta Testing | Software Testing
- Software Engineering | Debugging Approaches
- Personal Software Process (PSP)
- Pairwise Software Testing
- Software Engineering | COCOMO Model
- Software Engineering | Classification of Software Requirements
- Software Engineering | Classical Waterfall Model
- Software Engineering | Iterative Waterfall Model
- Software Engineering | Spiral Model
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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