0% found this document useful (0 votes)
698 views10 pages

Function Point Analysis

Function point analysis is a method to estimate the time and cost of developing or maintaining software based on measuring functions like inputs, outputs, inquiries and interfaces. It assigns complexity weights and adjustment factors to calculate the size of a project in unadjusted and adjusted function points. This allows estimating things like the labor cost and time of a project based on the function point count and the productivity of programmers. Function point analysis is useful for comparing projects, technologies and organizations but has limitations for very complex systems.

Uploaded by

Asma Azam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
698 views10 pages

Function Point Analysis

Function point analysis is a method to estimate the time and cost of developing or maintaining software based on measuring functions like inputs, outputs, inquiries and interfaces. It assigns complexity weights and adjustment factors to calculate the size of a project in unadjusted and adjusted function points. This allows estimating things like the labor cost and time of a project based on the function point count and the productivity of programmers. Function point analysis is useful for comparing projects, technologies and organizations but has limitations for very complex systems.

Uploaded by

Asma Azam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 10

Function Point Analysis

What is Function Point Analysis (FPA)?


It is designed to estimate and measure the time, and
thereby the cost, of developing new software applications
and maintaining existing software applications.
The main other approach used for measuring the size, and
therefore the time required, of software project is lines of
code (LOC)

Function Point Analysis


How is Function Point Analysis done?
Working from the project design specifications, the
following system functions are measured
(counted):
Inputs
Outputs
Files
Inquires
Interfaces

Function Point Analysis


These function-point counts are then weighed
(multiplied) by their degree of complexity:
Degree of complexity Simple Average Complex
Inputs
2
4
6
Outputs
3
5
7
Files
5
10
15
Inquires
2
4
6
Interfaces
4
7
10

Function Point Analysis


A simple example:
inputs
3 simple X 2 = 6
4 average X 4 = 16
1 complex X 6 = 6
outputs
6 average X 5 = 30
2 complex X 7 = 14
files
5 complex X 15 = 75
inquiries
8 average X 4 = 32
interfaces
3 average X 7 = 21
4 complex X 10 = 40
Unadjusted function points 240

Function Point Analysis


In addition to these individually weighted function points, there are
factors that affect the project and/or system as a whole. There are a
number (~35) of these factors that affect the size of the project
effort, and each is ranked from 0- no influence to 5- essential.
The following are some examples of these factors:
Is high performance critical?
Is the internal processing complex?
Is the system to be used in multiple sites and/or by multiple
organizations?
Is the code designed to be reusable?
Is the processing to be distributed?
and so forth . . .

Function Point Analysis


Continuing our example . . .
Complex internal processing
Code to be reusable
High performance
Multiple sites
Distributed processing
Project adjustment factor

= 3
= 2
= 4
= 3
= 5
= 17

Adjustment calculation:
Adjusted FP = Unadjusted FP X [0.65 + (adjustment factor /100)]
=
240
X [0.65 + (
17 /100)]
=
240
X [0.82]
=
197 Adjusted function points

Function Point Analysis


Adjustment calculation:
Adjusted FP = Unadjusted FP X [0.65 + (adjustment factor /100)]
=
240
X [0.65 + (
17 /100
)]
=
240
X [0.82]
=
197 Adjusted function points
For General System Characteristics the Value Adjustment factor (VAF)
is 0.65 (Low GSCs) and 1.35 (High GSCs)

Function Point Analysis


But how long will the project take and how much
will it cost?
As previously measured, programmers in our
organization average 18 function points per
month. Thus . . .
197 FP divided by 18 = 11 man-months
If the average programmer is paid $5,200 per
month (including benefits), then the [labor] cost
of the project will be . . .
11 man-months X $5,200 = $57,200

Function Point Analysis


Because function point analysis is independent of
language used, development platform, etc. it can
be used to identify the productivity benefits of . . .
One programming language over another
One development platform over another
One development methodology over another
One programming department over another
Before-and-after gains in investing in programmer
training
And so forth . . .

Function Point Analysis


But there are problems and criticisms:
Function point counts are affected by project size
Difficult to apply to massively distributed systems or to
systems with very complex internal processing
Difficult to define logical files from physical files
Different companies will calculate function points slightly
different, making intercompany comparisons
questionable

You might also like