Previous Team-Motivation Function-Point-Estimation-2 Next

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.
Previous Team-Motivation Function-Point-Estimation-2 Next
*