Bird
Raised Fist0
Software Engineeringknowledge~10 mins

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

Choose your learning style10 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.

Practice

(1/5)
1. What is the main purpose of Function Point Analysis in software engineering?
easy
A. To design the user interface
B. To write the actual code for software
C. To measure the size of software based on its features
D. To test software for bugs

Solution

  1. Step 1: Understand the goal of Function Point Analysis

    Function Point Analysis is used to measure software size by counting its features, not for coding or testing.
  2. Step 2: Match the purpose with the options

    Among the options, only measuring software size by features matches the purpose.
  3. Final Answer:

    To measure the size of software based on its features -> Option C
  4. Quick Check:

    Function Point Analysis = software size measurement [OK]
Hint: Focus on measuring software features, not coding or testing [OK]
Common Mistakes:
  • Confusing Function Point Analysis with coding or testing
  • Thinking it designs UI
  • Assuming it measures time instead of size
2. Which of the following is a correct step in the Function Point Analysis process?
easy
A. Counting the number of functions in the software
B. Writing test cases for each function
C. Compiling the source code
D. Deploying the software to users

Solution

  1. Step 1: Identify the steps in Function Point Analysis

    The process involves counting functions, weighting them, and adjusting for complexity.
  2. Step 2: Compare options with the process steps

    Only counting the number of functions matches the process; other options relate to later stages.
  3. Final Answer:

    Counting the number of functions in the software -> Option A
  4. Quick Check:

    Function Point Analysis step = counting functions [OK]
Hint: Remember: counting functions is the first step [OK]
Common Mistakes:
  • Mixing analysis steps with coding or deployment
  • Thinking testing is part of Function Point Analysis
  • Confusing compilation with analysis
3. If a software project has 10 input functions, 5 output functions, and 3 inquiry functions, and each input counts as 4 points, output as 5 points, and inquiry as 3 points, what is the total unadjusted function point count?
medium
A. 85
B. 80
C. 90
D. 74

Solution

  1. Step 1: Calculate points for each function type

    Input: 10 x 4 = 40 points; Output: 5 x 5 = 25 points; Inquiry: 3 x 3 = 9 points.
  2. Step 2: Sum all points to get total function points

    Total = 40 + 25 + 9 = 74 points.
  3. Step 3: Verify if any other function types are included

    No other types given, so total unadjusted function points = 74.
  4. Final Answer:

    74 -> Option D
  5. Quick Check:

    Sum of weighted functions = 74 [OK]
Hint: Multiply counts by weights, then add all [OK]
Common Mistakes:
  • Adding counts without weights
  • Multiplying weights incorrectly
  • Forgetting to sum all function types
4. A software project's function point count was calculated as 120, but the complexity adjustment factor was mistakenly applied as 0.8 instead of 1.2. What is the corrected adjusted function point count?
medium
A. 96
B. 144
C. 120
D. 100

Solution

  1. Step 1: Understand the adjustment factor application

    Adjusted function points = Unadjusted count x Complexity factor.
  2. Step 2: Calculate corrected adjusted function points

    Corrected = 120 x 1.2 = 144.
  3. Final Answer:

    144 -> Option B
  4. Quick Check:

    120 x 1.2 = 144 [OK]
Hint: Multiply by correct factor, not the wrong one [OK]
Common Mistakes:
  • Using the wrong adjustment factor
  • Confusing multiplication with division
  • Ignoring adjustment factor altogether
5. A project has the following function counts: 8 inputs, 6 outputs, 4 inquiries, 5 internal logical files, and 3 external interface files. The weights are: inputs=4, outputs=5, inquiries=3, internal files=7, external files=5. The complexity adjustment factor is 1.1. What is the final adjusted function point count?
hard
A. 136.4
B. 176
C. 165
D. 190

Solution

  1. Step 1: Calculate unadjusted function points

    Inputs: 8x4=32; Outputs: 6x5=30; Inquiries: 4x3=12; Internal files: 5x7=35; External files: 3x5=15. Sum = 32+30+12+35+15=124.
  2. Step 2: Apply complexity adjustment factor

    Adjusted = 124 x 1.1 = 136.4.
  3. Final Answer:

    136.4 -> Option A
  4. Quick Check:

    124 x 1.1 = 136.4 [OK]
Hint: Multiply counts by weights, sum, then multiply by factor [OK]
Common Mistakes:
  • Forgetting to multiply by adjustment factor
  • Adding weights instead of multiplying
  • Misreading counts or weights
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard