Software Engineering: Function Points
Software Engineering: Function Points
Function Points
Function point metric
Data Functions
Transactional Functions
• External Inputs
• External Outputs
• External Inquiries
Data Storage
• Internal Logical File
(ILF)
– Logical group of data
maintained by the
application (e.g.,
Employee file)
• External Interface File
(EIF)
– Logical group of data
referenced but not
maintained (e.g., Global
state table)
Transactions
Internal External
Logical File Interface File
External Input
External Output
3 5 7 10 =
External Interface Files ( EIFs)
Count total
Value Adjustment Factor
3 5 7 10 =
External Interface Files ( EIFs)
Count total
Example
• Count total
FP = count total (0.65 + 0.01Fi)
• Where count total is the sum of all FP
entries.
• Fi (I = 1 to 14) are value adjustment factor.
• For this example we assume that VAF =
46
• FP = 50 X [0.65 + (0.01 X 46)] = 56
Function Point
• Based on the projected FP value derived from the
analysis model:
– The project team can estimate the overall implemented
size of the safeHome user interaction function.
– Assume one FP translate 60 LOC (OOL is to be used)
– 12FP are produced for each person-month of effort
– An average 3 errors/FP during analysis and design
reviews
– 4 errors/FP during unit and integration testing
• One FP translate 60 LOC
• 56X60 = 3360 LOC or 3.360KLOC
• 12FP produced one person-month effort
• 56/12 = 4.67 ~ 5 person-month effort
Spell-Checker Specification
The checker accepts as input a document file and an
optional personal dictionary file. The checker lists all
words not contained in either of these files. The user can
query the number of words processed and the number of
spelling errors found at any stage during processing.
Dictionary
Spell-Checker Specification
A. The two external inputs: document filename, personal
dictionary-name
B. The three external outputs: misspelled word report,
number of words processed message, number of errors
so far message
C. The two external inquiries: words processed, errors so
far
D. The two external files: document file, personal
dictionary
E. The one internal file: dictionary A= # external inputs = 2
B= # external outputs = 3
C= # inquiries = 2
D= # external files = 2
E= # internal files = 1
Example
3 5 7 10 =
External Interface Files ( EIFs)
Count total
Example
• Count total
FP = count total (0.65 + 0.01Fi)
• Where count total is the sum of all FP
entries.
• Fi (I = 1 to 14) are value adjustment factor.
• For this example we assume that VAF =
28
• FP = 55 X [0.65 + (0.01 X 28)] = 51
Table 2. Components of the technical complexity factor.
F1 Reliable back-up and recovery F2 Data communications
F3 Distributed functions F4 Performance
F5 Heavily used configuration F6 Online data entry
F7 Operational ease F8 Online update
F9 Complex interface F10 Complex processing
F11 Reusability F12 Installation ease
F13 Multiple sites F14 Facilitate change
The factor varies from 0.65 (if each Fi is set to 0) to 1.35 (if each
Fi is set to 5) (Fenton, 1997). The final function point calculation
is:
FP = UFC x TCF
Language SLOC per Function Point
Java = 51 x 63
= 3.213 KLOC