Software Project Management: Durga Prasad Mohapatra Professor CSE Deptt. NIT Rourkela

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Software Project Management

Durga Prasad Mohapatra


Professor
CSE Deptt.
NIT Rourkela
Project Estimation Techniques cont…
• Parametric models
• Some more examples on Albrecht/IFPUG
function points

• Symons/Mark II function points

• COSMIC function points

• Object points
Parametric models for Size
1.Albrecht/IFPUG function points

2.Symons/Mark II function points

3.COSMIC function points

4.COCOMO 81 and COCOMO II


Example on Albrecht/IFPUG FP
Consider a project with the following functional units:
 50 user inputs, 40user outputs, 35 user enquiries,
6 user files, 4 external interfaces. Assume all complexity
adjustment factors and weighting factors are average.
 Compute the function points for the project.
 Suppose that program needs 70 LOC per FP.
 Find out the size of complete project.

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

 ‘Software sizing and estimating - Mk II FPA’, Wiley & Sons,


1991.

 Builds on work by Albrecht

 Developed in parallel to IFPUG FPs

 A simpler and more usable method


Function points Mk II cont…
 For each transaction, count
◦ data items input (Ni)
◦ data items output (No)
◦ entity types accessed (Ne)
Function points Mk II cont…
#entities  Simpler than FP
accessed  Widely used in UK

Process
#input #output
items items

FP count = Ni * 0.58 + Ne * 1.66 + No * 0.26


Function points for embedded systems
 Mark II and IFPUG function points were designed for
information systems, and not suitable for embedded systems:
 Dominated by input and output operations
 COSMIC Full FPs attempt to extend the concept to
embedded systems
 In an embedded system, its features will be hidden, because
the software’s user will probably not be a human,
◦ it will be hardware device or another software component
Function points for embedded systems
cont...
 COSMICS deals with this by decomposing the system
architecture into a hierarchy of software layers.
 Embedded software is seen as being in a particular ‘layer’ in
the system
◦ Communicates with other layers and also other
components at same level
• The software component to be sized, can receive requests
for services from layers above and can request services from
those below it.
Layered software

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.

 Entries: movement of data into software component from a


higher layer or a peer component

 Exits: movements of data out

 Reads: data movement from persistent storage

 Writes: data movement to persistent storage

Each counts 1 ‘COSMIC functional size unit’ (Cfsu).


COSMIC FPs cont ...
 The overall FP count is derived by simply adding up the
counts for each of the 4 types of data movement.

 COSMIC FPs have been incorporated into ISO standard.


COSMIC FPs cont ...
Cons:
 Does not take into account any processing of the data
groups once they have been moved into the software
component.
 Not recommended for use in systems involving complex
mathematical algorithms.
Function Points: Pros and Cons
 Cons:
 Pros: ◦ Labor intensive
◦ Language independent ◦ Extensive training
◦ Inexperience may result in
◦ Understandable by client inaccuracy
◦ Weighted to file manipulation and
◦ Simple modeling transactions
◦ Errors may be introduced by
◦ Hard to fudge single person, multiple raters
advised…
◦ Visible feature creep
◦ Does not consider algorithmic
complexity of a function.
Feature Point Metric
 FP metric Suffers from a major drawback:
◦ the size of a function is considered to be independent of
its complexity.
• In order to overcome this problem, an extension to the
function point metric, called feature point metric has been
proposed.
◦ considers an extra parameter:
 Algorithm Complexity.

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

DEFINITION Situation Adjustments ESTIMATE

Schedule
REQUIREMENT PROJECT X PROJECT X RISK
SIZE COMPLEXITY FACTORS
Adjustments Effort Costs
Adjustments

FUNCTION POINT ANALYSIS


Object Points
 Object points has nothing to do with object-oriented
programming
 Number of object points is estimated based on
◦ Number of separate screens displayed
◦ Number of reports that are produced
◦ Number of modules in the code
 Object points are simpler to estimate
◦ they take GUI into account
Summary
• Solved some more examples on Albrecht/IFPUG function
points
• Discussed Symons/Mark II function points and COSMIC
function points.
• Also, discussed the concepts feature points and object
points.
References :
1. B. Hughes, M. Cotterell, R. Mall, Software Project Management, Sixth Edition,
McGraw Hill Education (India) Pvt. Ltd., 2018.
2. R. Mall, Fundamentals of Software Engineering, Fifth Edition, PHI Learning Pvt.
Ltd., 2018.
Thank you

You might also like