ne after SRS document, before starting your project.
Unadjusted Function Points (UFP): Calculate UFP by multiplying the number of
each type of component by its corresponding weight and summing them up.
5 key factors are considered. Unadjusted because the project is not started
yet.
Value Adjustment Factor (VAF): A factor that adjusts the UFP based on general
system characteristics (GSCs), which include considerations like performance,
usability, and complexity. 14 VAF factors
FP= UFP x (0.65+ 0.01 x Sum of GSCs)
List of 5 Unadjusted Function Points
1. External Inputs (El):
2. External Outputs (EO):
3. External Inquiries (EQ):
4. Internal Logical Files (ILF):
5. External Interface Files (EIF):
Key Components of Function Point Analysis
FPA measures software size based on five types of components:
External Inputs (EI):
User inputs that modify system data (e.g., forms, data entry screens).
User registration form, product search form, add to cart form.
External Outputs (EO):
Processed information sent out (e.g., reports, calculations, messages).
Confirmation email, order summary page, invoice generation.
External Inquiries (EQ):
Requests for information that do not modify data (e.g., search queries,
lookups). Product availability check, order status check.
Internal Logical Files (ILF):
Logical files maintained within the system (e.g., customer database,
transaction logs). User data, product catalog, order data.
External Interface Files (EIF):
Logical files referenced but not maintained by the system (e.g., shared
data from other applications). Payment gateway interface, third-party
shipping service interface
Steps in Function Point Analysis
1. Identify and classify functional components (EI, EO, EQ, ILF, EIF).
2. Assign complexity (low, average, high) to each component.
3. Calculate unadjusted function points (UFP) using predefined weights.
4. Adjust for complexity using a Value Adjustment Factor (VAF), which accounts for
system characteristics like performance, security, and reusability.
5. Compute final function points (FP):FP=UFP×VAF where VAF is based on 14
general system characteristics (GSCs).
For example: if you have low complexity then multiply by the weight given in the low
column.
Complexity
Component Low Average High
External Inputs (El) 3 4 6
External Outputs (EO) 4 5 7
External Inquiries (EQ) 3 4 6
Internal Logical Files (ILF) 7 10 15
External Interface Files
(EIF) 5 7 10
Value Adjustment Factor (VAF): The VAF adjusts the Unadjusted Function Points
(UFP) based on general system characteristics (GSCs) that influence the
development effort.
There are 14 General System Characteristics (GSCs) like:
• Data communications
• Performance requirements
• Heavily used configuration
• Transaction rate
• End-user efficiency
• Complex processing
• Reusability
• Installation ease
• etc.
Each GSC is rated from 0 (no influence) to 5 (strong influence).
So, Total Degree of Influence (DI) ranges from 0 to 70. How if all set to 0 then 14*0=0 if
all have set to value 5 then 14*5= 70 so it should be between 0-70.
Numerical Example:
Consider a software project with the following information domain characteristic for the
calculation of function point metric.
Number of external inputs (I) = 30
Number of external output (O) = 60
Number of external inquiries (E) = 23
Number of files (F) = 08
Number of external interfaces (N) = 02
It is given that the complexity weighting factors for I, O, E, F, and N are 4, 5, 4, 10, and 7,
respectively. It is also given that, out of fourteen value adjustment factors that influence the
development effort, four factors are not applicable, each of the other four factors has value 3,
and each of the remaining factors has value 4. The computed value of the function point
metric is
FP = UFP * VAF
UFP= ∑ factors * weight
UFP=30*4 + 5* 60 + 4* 23 +10*08+ 7*02
UFP=606
VAF= 0.65 + 0.01 * [∑GSC]
= 0.65 + 0.01 * [4*0+4*3+6*4]
= 0.65 + 0.01 * [36]
VAF=1.01
FP = UFP * VAF
FP=606*1.01
FP=612.06
✅ 1. Effort Estimation (Person-Hours or Person-Months)
You can estimate how much effort the project will take using this formula:
Effort (in person-hours)=FP×Effort Rate (hours per FP)Effort (in person-
hours)=FP×Effort Rate (hours per FP)
• The effort rate depends on the team’s productivity, complexity, and past project data.
• Typical effort rate: 5 to 20 hours per FP (varies by organization or domain)
Example:
If FP = 120 and effort rate = 10 hours per FP
→ Effort = 120 × 10 = 1,200 person-hours
✅ 2. Cost Estimation
Once you have the effort in hours or months, you can calculate the project cost:
Cost=Effort (in hours)×Hourly RateCost=Effort (in hours)×Hourly Rate
Example:
Effort = 1,200 hours, hourly rate = $50/hour
→ Cost = 1,200 × 50 = $60,000
✅ 3. Duration Estimation
To estimate the project duration:
Duration (in months)=Effort (person-
months)Team Size (persons)Duration (in months)=Team Size (persons)Effort (person-
months)
Example:
Effort = 6 person-months, Team size = 2
→ Duration = 6 ÷ 2 = 3 months
✅ 4. Productivity Measurement
After the project is completed, FP helps assess team productivity:
Productivity=FPEffort (person-months)Productivity=Effort (person-months)FP
This is useful for benchmarking and future project estimation.
✅ 5. Quality Metrics
You can relate FP to defects or errors:
Defects per FP
Testing effort per FP
Defect density = Total defects ÷ Total FP
✅ 6. Comparing and Benchmarking Projects
FPs allow fair comparison across projects regardless of programming language, platform, or
tools used, since it's a size measure that's independent of code.
Summary Table
Use Formula / Purpose
Effort Estimation FP × Effort per FP
Cost Estimation Effort × Hourly Rate
Duration Estimation Effort ÷ Team Size
Productivity FP ÷ Effort
Quality Metrics Defects ÷ FP
Benchmarking Compare FP, effort, and cost across projects
Numerical 1: Basic FP Calculation with VAF
You are analyzing a small software module with the following components:
5 External Inputs (EI) – Average complexity → weight = 4
4 External Outputs (EO) – Simple complexity → weight = 4
3 External Inquiries (EQ) – Simple complexity → weight = 3
2 Internal Logical Files (ILF) – Average complexity → weight = 10
1 External Interface File (EIF) – Simple complexity → weight = 5
🔹 UFP = (5×4) + (4×4) + (3×3) + (2×10) + (1×5) = 20 + 16 + 9 + 20 + 5 = 70
Assume TDI = 25
🔹 VAF = 0.65 + (0.01 × 25) = 0.90
🔹 AFP = 70 × 0.90 = 63
Numerical 2: Higher Complexity System
Given:
6 EI (Complex) → 6 × 6 = 36
5 EO (Average) → 5 × 5 = 25
4 EQ (Average) → 4 × 4 = 16
3 ILF (Complex) → 3 × 15 = 45
2 EIF (Average) → 2 × 7 = 14
🔹 UFP = 36 + 25 + 16 + 45 + 14 = 136
Assume TDI = 38
🔹 VAF = 0.65 + (0.01 × 38) = 1.03
🔹 AFP = 136 × 1.03 = 140.08 ≈ 140
Numerical 3: Low Complexity, High Adjustment
Given:
4 EI (Simple) → 4 × 3 = 12
2 EO (Simple) → 2 × 4 = 8
2 EQ (Simple) → 2 × 3 = 6
1 ILF (Simple) → 1 × 7 = 7
1 EIF (Simple) → 1 × 5 = 5
🔹 UFP = 12 + 8 + 6 + 7 + 5 = 38
Assume TDI = 60
🔹 VAF = 0.65 + (0.01 × 60) = 1.25
🔹 AFP = 38 × 1.25 = 47.5 ≈ 48
Problem 1: Inventory Management System
An inventory management software is being developed with the following functional
components:
External Inputs (I): 22
External Outputs (O): 36
External Inquiries (E): 18
Internal Logical Files (F): 10
External Interface Files (N): 5
The assigned complexity weighting factors are:
Inputs = 3, Outputs = 4, Inquiries = 3, Files = 7, Interfaces = 5
Out of the 14 general system characteristics:
3 are rated 0 (no influence)
6 are rated 2
5 are rated 3
Calculate the final function point value for the system.
Problem 2: Library Automation System
A library automation system includes the following components:
External Inputs (I): 15
External Outputs (O): 28
External Inquiries (E): 12
Internal Logical Files (F): 7
External Interface Files (N): 3
Complexity weighting factors:
Inputs = 4, Outputs = 5, Inquiries = 4, Files = 10, Interfaces = 6
Among the 14 value adjustment factors:
2 are rated 0
4 are rated 1
8 are rated 4
Determine the function point metric for this project.
Problem 3: Online Booking System
An online booking system has the following functional elements:
External Inputs (I): 40
External Outputs (O): 45
External Inquiries (E): 20
Internal Logical Files (F): 12
External Interface Files (N): 4
Weighting factors used:
Inputs = 5, Outputs = 4, Inquiries = 3, Files = 10, Interfaces = 7
Out of 14 general system characteristics:
1 is rated 0
5 are rated 3
8 are rated 5
Compute the function point value for the system.