Function Point (FP) is an element of software development which helps to approximate the
cost of development early in the process. It may measures functionality from user’s point of
view.
Counting Function Point (FP):
Step-1:
F = 14 * scale
Scale varies from 0 to 5 according to character of Complexity Adjustment Factor
(CAF). Below table shows scale:
0 - No Influence
1 - Incidental
2 - Moderate
3 - Average
4 - Significant
5 - Essential
Step-2: Calculate Complexity Adjustment Factor (CAF).
CAF = 0.65 + ( 0.01 * F )
Step-3: Calculate Unadjusted Function Point (UFP).
TABLE (Required)
Function Units Low Avg High
EI 3 4 6
EO 4 5 7
EQ 3 4 6
ILF 7 10 15
EIF 5 7 10
Multiply each individual function point to corresponding values in TABLE.
Step-4: Calculate Function Point.
FP = UFP * CAF
Example:
Given the following values, compute function point when all complexity adjustment factor
(CAF) and weighting factors are average.
User Input = 50
User Output = 40
User Inquiries = 35
User Files = 6
External Interface = 4
Explanation:
Step-1: As complexity adjustment factor is average (given in question), hence,
scale = 3.
F = 14 * 3 = 42
Step-2:
CAF = 0.65 + ( 0.01 * 42 ) = 1.07
Step-3: As weighting factors are also average (given in question) hence we will
multiply each individual function point to corresponding values in TABLE.
UFP = (50*4) + (40*5) + (35*4) + (6*10) + (4*7) = 628
Step-4:
Function Point = 628 * 1.07 = 671.96
This is the required answer.
14 Factors in Function Point Analysis Complexity
1 Will the application use data communications?
2 Are data or functions distributed?
3 Are there specific performance objectives that must be met?
4 Will the application run on a heavily used configuration requiring special design considerations?
5 Will the transaction rate of the application be high?
6 Will there be on-line data entry?
7 Will the application be designed for end-user efficiency?
8 Will there be on-line updates?
9 Is complex processing logic involved?
10 Is there an intent to provide usability for other applications?
11 How important are installation ease and conversion?
12 How important is operational ease?
13 Will the application be accessed from multiple sites?
14 Is there an intent with the design to facilitate change?