π Function Point Analysis (FPA)
πΉ 1. Definition
Function Point Analysis (FPA) is a software size estimation technique that measures software based on the functionality delivered to the user, rather than lines of code.
π In simple words:
It estimates software size by asking: βWhat does the system do for the user?β
πΉ 2. Key Idea β
- Focus on user requirements
- Independent of programming language
- Measures functional size of software
πΉ 3. Components of Function Point Analysis
FPA is based on five functional components:
πΈ 1. External Inputs (EI) β¨οΈ
- Data entering the system
π Example: Login details, form submission
πΈ 2. External Outputs (EO) π€
- Data leaving the system
π Example: Reports, invoices, results
πΈ 3. External Inquiries (EQ) π
- Requests for data without updating system
π Example: Searching a record
πΈ 4. Internal Logical Files (ILF) ποΈ
- Internal data stored in the system
π Example: Student database
πΈ 5. External Interface Files (EIF) π
- Data used from external systems
π Example: Payment gateway data
πΉ 4. Function Point Calculation Steps
πΈ Step 1: Identify Components
- Count EI, EO, EQ, ILF, EIF
πΈ Step 2: Assign Weights
- Each component has simple, average, complex weights
πΈ Step 3: Calculate Unadjusted Function Points (UFP)
UFP = Ξ£ (Count Γ Weight)
πΈ Step 4: Calculate Value Adjustment Factor (VAF)
VAF = 0.65 + (0.01 Γ Ξ£Fi)
π Fi = 14 general system characteristics
(e.g., performance, security, complexity)
πΈ Step 5: Final Function Points
FP = UFP Γ VAF
πΉ 5. Example (Simple Idea)
| Component |
Count |
| Inputs |
4 |
| Outputs |
3 |
| Queries |
2 |
| Files |
2 |
| Interfaces |
1 |
π These are multiplied by weights β FP is calculated.
πΉ 6. Diagram Description
π Function Point Analysis flow:
User Requirements
β
Identify Functions (EI, EO, EQ, ILF, EIF)
β
Assign Weights
β
Calculate UFP
β
Apply VAF
β
Final Function Points (FP)
πΉ 7. Advantages of Function Point Analysis
β Language independent
β Focuses on user functionality
β Useful in early project stages
β Better than LOC-based estimation
β Helps in cost and effort estimation
πΉ 8. Limitations β
- Requires expert judgment
- Weight assignment can be subjective
- Time-consuming process
- Not suitable for very small systems
πΉ 9. Function Points vs LOC
| Feature |
Function Point |
LOC |
| Basis |
Functionality |
Code size |
| Language dependency |
No |
Yes |
| Accuracy |
High |
Medium |
| Stage |
Early estimation |
After coding |
πΉ 10. Importance in Software Engineering
- Used in cost estimation models
- Helps in project planning
- Improves productivity measurement
- Used in COCOMO and other models
πΉ 11. Key Exam Points
- Measures software functionality
- Based on 5 components: EI, EO, EQ, ILF, EIF
- Uses formula: FP = UFP Γ VAF
- Independent of programming language
- Used for early estimation
πΉ 12. Short Summary
- Function Point Analysis measures software size based on user functionality
- It uses five functional components
- It is widely used for cost and effort estimation
- It is more accurate than LOC-based methods
πΉ 13. Quick Exam Answer (2β3 lines)
Function Point Analysis (FPA) is a software sizing technique that measures software based on its functionality using inputs, outputs, inquiries, files, and interfaces. It is used to estimate effort, cost, and project size independent of programming language.
πΉ 14. Likely Exam Questions
- Define Function Point Analysis.
- What are the components of FPA?
- Write formula for Function Points.
- Differentiate between LOC and FPA.
- What is UFP and VAF?
- Why is FPA better than LOC-based estimation?
- Draw diagram of Function Point Analysis process.