📘 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.