| SAFe-QA-4 :👈 | 👉:Function-Point-Estimation-2 |
Function Point (FP) estimation |
Function Point Estimation in .NET Core Web API
Function Point (FP) estimation involves assessing the size and complexity of a system based on its functional requirements, rather than just counting lines of code. This method focuses on user-facing functionality and assigns weights based on complexity.
Steps for FP Estimation:
1. Understand the Core Components:
- External Inputs (EIs): Data entered into the system, e.g., API endpoints accepting data.
- External Outputs (EOs): Data sent from the system, e.g., API responses.
- External Inquiries (EQs): Data retrieval transactions that do not alter data.
- Internal Logical Files (ILFs): Data maintained internally, such as database tables.
- External Interface Files (EIFs): Files shared with external systems.
2. Identify and Classify Components:
Analyze the API functionality and classify each component (EI, EO, EQ, ILF, EIF) by complexity: Low, Average, High.
3. Assign Weights:
Apply standard weights based on complexity (e.g., IFPUG guidelines).
4. Calculate Unadjusted Function Points:
Multiply each component count by its weight and sum them.
5. Adjust for Environmental Factors:
Evaluate 14 system characteristics, rate their impact, and apply a Value Adjustment Factor (VAF).
6. Calculate Adjusted Function Points:
Adjusted FP = Unadjusted FP × VAF
Example Calculation:
For a .NET Core API with:
- 5 EIs (Low),
- 3 EOs (Average),
- 2 EQs (Low),
- 2 ILFs (Average),
- 1 EIF (High)
Using standard weights:
- EIs/EQs: Low=3
- EOs: Average=4
- ILFs: Average=10
- EIF: High=15
Unadjusted FP = (5×3) + (3×4) + (2×3) + (2×10) + (1×15) = 68
Adjusted FP = 68 × 1.05 (VAF) = 71.4
.NET Core Specific Considerations:
- API Endpoints: Identify if endpoints act as EIs, EOs, or EQs.
- Data Models: Use DTOs to find Data Element Types (DETs) and Record Element Types (RETs).
- Database Interactions: Assess complexity with tools like Entity Framework Core.
- External Services: Treat integrations as EIFs.
| SAFe-QA-4 :👈 | 👉:Function-Point-Estimation-2 |