How to use the Function Point Calculator
- 1. Count functionsEnter EI, EO, EQ, ILF and EIF counts as simple, average or complex.
- 2. Rate 14 factorsRate each general system characteristic from 0 to 5, or use one value for all.
- 3. Get FPSee UFP by type, the total degree of influence, VAF and the adjusted function points.
How function points are counted
Function point analysis measures software size by what it does for the user, not by lines of code. There are five function types, each weighted as simple, average or complex:
- External inputs (EI): 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.
UFP = sum of (count × weight). Next, rate 14 general system characteristics from 0 (no influence) to 5 (essential). Examples are data communications, performance and reusability. The total is the degree of influence (TDI). Then VAF = 0.65 + 0.01 × TDI and FP = UFP × VAF.
Worked example
A system has 24 EI, 16 EO, 22 EQ, 4 ILF and 2 EIF, all of average complexity.
- UFP = 24×4 + 16×5 + 22×4 + 4×10 + 2×7 = 96 + 80 + 88 + 40 + 14 = 318.
- If all 14 characteristics are rated 3, TDI = 42 and VAF = 0.65 + 0.42 = 1.07.
- FP = 318 × 1.07 = 340.26.
VAF can only range from 0.65 to 1.35, so the adjustment changes UFP by at most ±35%.
Using function points
FP can be turned into effort or size. To convert to lines of code, enter your own LOC-per-FP figure for the language. Figures vary by source, so the tool does not assume one. Defect density per FP is covered by the defect density calculator. To turn size in KLOC into effort and schedule, use the COCOMO calculator.
Frequently asked questions
What is the difference between ILF and EIF?
An ILF is data your application maintains. An EIF is data your application only reads, which another application maintains.
What is the range of VAF?
From 0.65 (all 14 rated 0) to 1.35 (all rated 5).
Is this IFPUG or a simplified method?
It uses the standard IFPUG weights and the 14-characteristic VAF from the textbook method. Complexity ratings come from you.
How do I decide simple, average or complex?
IFPUG rates each function by the data elements and files (or record types) it touches. If your question does not say, use average.