Software Project Management: Durga Prasad Mohapatra Professor CSE Deptt. NIT Rourkela
Software Project Management: Durga Prasad Mohapatra Professor CSE Deptt. NIT Rourkela
Software Project Management: Durga Prasad Mohapatra Professor CSE Deptt. NIT Rourkela
• Object points
Parametric models for Size
1.Albrecht/IFPUG function points
5
Solution
UFP= 50 * 4 + 40 * 5 + 35 * 4 + 6 * 10 + 4 * 7
= 200+200+140+60+28 = 628
VAF=0.65 + 0.01 (14 * 3) = 1.07
AFP= UFP * VAF=628 * 1.07 = 672
Size = FP * (LOC per FP) = 672 * 70 = 47040 LOC
6
Another example
Compute the function-point value for a project with the
following information-domain characteristics.
◦ Number of user Inputs: 32
◦ Number of User Output: 60
◦ Number of User Inquiries: 24
◦ Number of Files: 8
◦ Number of External interface:2
Assume that all complexity adjustment values are average.
Solution
UFP = 32x4 + 60x5 + 24x4 + 8x10 + 2x7 = 128 + 300 + 96
+ 80 + 14 = 618
VAF = 0.65 + 0.01x(14x3) = 0.65+0.42 = 1.07
AFP = UFP x VAF = 618x1.07 = 661.26
8
Example: super market
Determine the function point measure of the size of the following
supermarket software. A supermarket needs to develop the following
software to encourage regular customers. For this, the customer needs to
supply his/her residence address with telephone number, and the driving
license number. Each customer who registers for this scheme is assigned a
unique customer number (CN) by the computer. Based on the generated
CN, a clerk manually prepares a customer identity card after getting the
market manager’s signature on it. A customer can present his customer
identity card to the check out staff when he makes any purchase. In this
case, the value of his purchase is credited against his CN. At the end of
each year, the supermarket intends to award surprise gifts to 10 customers
who make the highest total purchase over the year. Also, it intends to
award a 22 caret gold coin to every customer whose purchase exceeded
Rs. 10,000. The entries against the CN are reset on the last day of every
year after the prize winners’ lists are generated. Assume that various
project characteristics determining the complexity of software
development have significant influence.
Solution of Example: super market
Step 1: From an initial examination of the problem
description, we find that there are two inputs, three outputs,
two files (one for storing the customer details and another for
storing the daily purchase records), and no interfaces.
Now we get:
UFP = 2 × 4 + 3 × 5 + 1 × 4 + 10 × 2 + 0 × 7 = 47
Ref: UFP= # inputs*4+ # outputs*5+ # inquiries*4+ # files*10+ # interfaces*7
10
Solution of Example: super market cont…
Step 2: All the parameters are of medium complexity, except
the output parameter of customer registration, in which the
only output is the CN value. So, the complexity of the output
parameter of the customer registration function can be
categorized as simple or low. By consulting the table, we find
that the value for simple output is given to be 4.
The UFP can be refined as follows:
UFP = 2 × 4 + 1 × 4 + 2 × 5 + 1 × 4 + 10 × 2 + 0 × 7 = 46
So, the refined UFP will be 46.
11
Solution of Example: super market cont…
Step 3: Since the complexity adjustment factors have
significant influence values, therefore the total degrees of
influence would be: DI = 14 × 4 = 56
TCF = (56 * 0.01) + 0.65 = 1.21
Therefore,Adjusted FP=46*1.21=55.66
12
Function points Mark II
Developed by Charles R. Symons
Process
#input #output
items items
Higher layers
Receives request Supplies service
Data reads/ Peer to peer
communication
Persistent writes peer
storage Software component
component
Makes a request
for a service Receives service
Lower layers
Function points for embedded systems
cont...
This identifies the boundary of the software component to
be accessed and thus the points at which it receives inputs
and transmits outputs.
Inputs and outputs are aggregated into data groups, where
each group brings together data items that relate to the
same object of interest.
COSMIC FPs
Data groups can move about in 4 ways as follows.
24
Feature Point Metrics cont ...
This parameter ensures that
◦ the computed size using the feature point metric
reflects the fact that
higher the complexity of a function, the greater the effort
required to develop it
Therefore, it should have larger size compared to a
simpler function.
Critical comments on the function point and feature
point metrics
Proponents of function point and feature point metrics claim
that these two metrics are language-independent and can be
easily computed from the SRS document during project
planning stage itself.
On the other hand, opponents claim that these metrics are
subjective and require a sleight of hand.
An example of the subjective nature of the FP metric:
◦ the way one groups the input and output data items into logically
related groups can be very subjective.
Critical comments on the function point and feature
point metrics cont…
For example, consider that certain functionality requires the
employee name and employee address to be input. It is
possible that one can consider both these items as a single
unit of data, since after all, these describe a single employee.
It is also possible for someone else to consider an
employee’s address as a single unit of input data and name as
another.
Such ambiguities leave sufficient scope for debate and keep
open the possibility for different project managers to arrive
at different FP measures for essentially the same problem.
FP/SLOC Conversion
Median SLOC/function
Language
point
C 104
C++ 53
HTML 42
JAVA 59
Perl 60
J2EE 50
Visual
42
Basic
Accurate Size Estimation
Schedule
REQUIREMENT PROJECT X PROJECT X RISK
SIZE COMPLEXITY FACTORS
Adjustments Effort Costs
Adjustments