How Function Point Estimation Works
|
|
1. Identify and Categorize Functions
Function Point Analysis (FPA) involves identifying and categorizing various functional components of a software system. These typically include:
- External Inputs (EIs): Data entering the system from external sources.
- External Outputs (EOs): Data leaving the system to external sources.
- User Inquiries (UIs): Transactions where the system responds to a request from a user.
- Internal Logical Files (ILFs): Logical groups of data maintained within the system.
- External Interface Files (EIFs): Logical groups of data maintained by other systems that the current system interacts with.
2. Assign Complexity Weights
Each of these functional components is assigned a complexity weight based on its difficulty (Low, Average, or High), using predefined values.
3. Calculate Unadjusted Function Points (UFP)
The number of each type of component is multiplied by its assigned complexity weight, and the results are summed to get the Unadjusted Function Points (UFP).
4. Determine Value Adjustment Factor (VAF)
Fourteen General System Characteristics (GSCs) are assessed based on their influence on the system's functionality, and a Value Adjustment Factor (VAF) is calculated based on these characteristics.
5. Calculate Adjusted Function Points (AFP)
The UFP is multiplied by the VAF to arrive at the final Adjusted Function Points (AFP), which represent the software's size.
Benefits of Function Point Analysis
- Objective Measurement: FPA provides an objective measure of software size based on functionality, independent of technology or programming language.
- Project Management Tool: It aids in estimating project costs, schedules, and effort, and is useful for validating project estimates and contract negotiations.
- Industry Standard: Recognized by ISO, FPA offers credibility and consistency in software sizing.