📘 Software Project Estimation: Decomposition Techniques
🔹 1. Definition of Software Project Estimation
Software project estimation is the process of predicting the effort, cost, time, and resources required to complete a software project.
👉 In simple words:
It tells us how much work, time, and money a project will need.
🔹 2. What are Decomposition Techniques?
Decomposition techniques are estimation methods in which a project is broken down into smaller parts (modules/tasks), and each part is estimated separately.
👉 Then, all estimates are combined to get the total project estimate.
🔹 3. Key Idea ⭐
Big Project → Small Modules → Individual Estimation → Final Total Estimate
🔹 4. Types of Decomposition Techniques
🔸 1. Line of Code (LOC) Based Estimation 📏
👉 Concept:
Estimate project size using Lines of Code (LOC).
🔹 Steps:
- Estimate LOC for each module
- Sum all LOC
- Convert LOC into effort using productivity rate
🔹 Formula:
Effort = LOC / Productivity
💡 Example:
- Total LOC = 10,000
- Productivity = 500 LOC/person-month
👉 Effort = 20 person-months
🔸 2. Function Point (FP) Based Estimation ⚙️
👉 Concept:
Estimate based on software functionality.
🔹 Steps:
- Identify function components (EI, EO, EQ, ILF, EIF)
- Calculate Function Points
- Convert FP into effort
🔹 Formula:
Effort = Function Points / Productivity Rate
💡 Example:
- 200 FP / 20 FP per month = 10 person-months
🔸 3. Object Point Estimation 🧩
👉 Concept:
Used in object-oriented systems.
🔹 Measures:
- Screens
- Reports
- Components
💡 Example:
- 50 screens + 10 reports → total object points
- Converted into effort using productivity
🔸 4. Use Case Point (UCP) Estimation 🎯
👉 Concept:
Based on use cases and system complexity.
🔹 Steps:
- Identify use cases
- Classify complexity (simple, average, complex)
- Assign weights
- Calculate total UCP
💡 Example:
- Login system (simple) + payment system (complex)
🔹 5. Process of Decomposition Estimation
📌 Step-by-step:
🔹 Step 1: Break Project (WBS)
Divide project into small modules
🔹 Step 2: Estimate Each Module
Use LOC, FP, or other methods
🔹 Step 3: Convert to Effort
Convert size into effort using productivity
🔹 Step 4: Combine Estimates
Add all module efforts
🔹 Step 5: Add Buffer
Include risk and contingency time
🔹 6. Diagram Description
📊 Decomposition process looks like:
Project
↓
Modules (WBS)
↓
Individual Estimation
↓
Effort Calculation
↓
Total Project Estimate
🔹 7. Advantages of Decomposition Techniques
✔ More accurate than top-down methods
✔ Reduces estimation errors
✔ Easy to manage large projects
✔ Helps in detailed planning
✔ Improves cost and time control
🔹 8. Limitations ❌
- Time-consuming process
- Requires detailed project knowledge
- Difficult in early project stages
- Needs experienced estimators
🔹 9. Top-Down vs Decomposition (Bottom-Up)
| Feature |
Decomposition (Bottom-Up) |
Top-Down |
| Approach |
Small to large |
Large to small |
| Accuracy |
High |
Medium |
| Effort |
High |
Low |
| Detail level |
Very detailed |
General |
🔹 10. Important Exam Points
-
Decomposition = divide and estimate
-
Based on WBS (Work Breakdown Structure)
-
Methods include:
- LOC-based
- Function Point
- Object Point
- Use Case Point
-
Most accurate estimation technique
-
Used for detailed project planning
🔹 11. Short Summary
- Decomposition techniques break a project into small modules
- Each module is estimated separately
- Final estimate is the sum of all parts
- Provides high accuracy in software estimation
🔹 12. Quick Exam Answer (2–3 lines)
Decomposition techniques are software estimation methods in which a project is divided into smaller components, and each component is estimated separately. The total effort is obtained by combining all individual estimates, making it a more accurate approach.
🔹 13. Likely Exam Questions
- Define decomposition techniques.
- Explain LOC-based estimation.
- What is function point estimation?
- List types of decomposition techniques.
- Why is decomposition more accurate than top-down estimation?
- Explain steps of decomposition estimation.
- Draw diagram of decomposition process.