0
0
Software Engineeringknowledge~10 mins

Function Point Analysis in Software Engineering - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Function Point Analysis
Identify Functions
Classify Functions
Assign Complexity Weights
Calculate Unadjusted Function Points
Determine Value Adjustment Factors
Calculate Adjusted Function Points
Use FP for Estimation and Planning
The process starts by identifying and classifying software functions, assigning weights, calculating unadjusted points, adjusting for complexity, and finally using the result for project estimation.
Execution Sample
Software Engineering
Identify functions: EI=3, EO=2, ILF=4
Assign weights: EI=4, EO=5, ILF=10
Calculate UFP = (3*4)+(2*5)+(4*10)
Value Adjustment Factor (VAF) = 1.1
Adjusted FP = UFP * VAF
This example calculates function points by counting function types, applying weights, summing for unadjusted points, then adjusting by a factor.
Analysis Table
StepActionCalculationResult
1Count External Inputs (EI)EI = 33
2Count External Outputs (EO)EO = 22
3Count Internal Logical Files (ILF)ILF = 44
4Assign weightsEI=4, EO=5, ILF=10Weights set
5Calculate Unadjusted Function Points (UFP)(3*4)+(2*5)+(4*10)12 + 10 + 40 = 62
6Determine Value Adjustment Factor (VAF)VAF = 1.11.1
7Calculate Adjusted Function Points62 * 1.168.2
💡 Calculation ends after adjusted function points are computed for estimation.
State Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 5After Step 7
EI033333
EO002222
ILF000444
WeightsNoneNoneNoneNoneEI=4, EO=5, ILF=10EI=4, EO=5, ILF=10
UFP00006262
VAF111111.1
Adjusted FP0000068.2
Key Insights - 3 Insights
Why do we multiply counts by weights instead of just summing counts?
Weights reflect the complexity or effort of each function type, so multiplying counts by weights (see Step 5 in execution_table) gives a more accurate size measure than just counting.
What is the purpose of the Value Adjustment Factor (VAF)?
VAF adjusts the unadjusted function points to account for general system characteristics like performance or usability (see Step 6 and 7). It fine-tunes the estimate beyond raw counts.
Can function points be fractional like 68.2?
Yes, because the VAF is a decimal multiplier, adjusted function points can be fractional, representing a more precise size estimate (see Step 7).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at Step 5, what is the Unadjusted Function Points (UFP) value?
A62
B68.2
C12
D40
💡 Hint
Check the 'Result' column at Step 5 in the execution_table.
At which step is the Value Adjustment Factor (VAF) applied?
AStep 4
BStep 7
CStep 6
DStep 3
💡 Hint
Look for the step where UFP is multiplied by VAF in the execution_table.
If the number of External Inputs (EI) increased from 3 to 5, how would the UFP change at Step 5?
AIncrease by 10
BIncrease by 20
CIncrease by 8
DNo change
💡 Hint
Each EI has weight 4, so extra 2 EIs add 2*4=8 to UFP (see Step 5 calculation).
Concept Snapshot
Function Point Analysis (FPA) measures software size by counting functions.
Steps: Identify functions → Classify types → Assign complexity weights → Calculate Unadjusted FP → Adjust with Value Adjustment Factor → Use for estimation.
Weights reflect effort; VAF adjusts for system characteristics.
Result is a numeric size estimate to help plan and estimate projects.
Full Transcript
Function Point Analysis is a method to measure software size by counting and weighting different types of functions like inputs, outputs, and files. The process starts by identifying these functions and classifying them. Each function type is assigned a weight based on complexity. Multiplying counts by weights gives the Unadjusted Function Points (UFP). Then, a Value Adjustment Factor (VAF) is determined to adjust for general system characteristics such as performance or usability. Multiplying UFP by VAF gives the Adjusted Function Points, which provide a more accurate size estimate. This estimate helps in project planning and effort estimation. For example, if there are 3 external inputs with weight 4, 2 external outputs with weight 5, and 4 internal logical files with weight 10, the UFP is calculated as (3*4)+(2*5)+(4*10) = 62. Applying a VAF of 1.1 results in 68.2 adjusted function points. This method helps teams understand software size in a standardized way.