Chapter 4 Software Project Planning
Chapter 4 Software Project Planning
Chapter 4 Software Project Planning
K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 1
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 2
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 3
Software Project Planning
Software planning begins before technical work starts, continues as
the software evolves from concept to reality, and culminates only
when the software is retired.
Size estimation
Resources
requirements
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 4
Software Project Planning
Size Estimation Fig. 2: Function for sorting an array
1. int. sort (int x[ ], int n)
Lines of Code (LOC) 2. {
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 5
Software Project Planning
Furthermore, if the main interest is the size of the program
for specific functionality, it may be reasonable to include
executable statements. The only executable statements in
figure shown above are in lines 5-17 leading to a count of
13. The differences in the counts are 18 to 17 to 13. One
can easily see the potential for major discrepancies for
large programs with many comments or programs written
in language that allow a large number of descriptive but
non-executable statement. Conte has defined lines of code
as:
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 6
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 7
Software Project Planning
Function Count
Alan Albrecht while working for IBM, recognized the
problem in size measurement in the 1970s, and
developed a technique (which he called Function Point
Analysis), which appeared to be a solution to the size
measurement problem.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 8
Software Project Planning
The principle of Albrecht’s function point analysis (FPA)
is that a system is decomposed into functional units.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 9
Software Project Planning
The FPA functional units are shown in figure given below:
User
Inquiries
Other
ILF
applications
Inputs
EIF
User
Outputs ILF: Internal logical files
System EIF: External interfaces
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 12
Software Project Planning
Special features
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 13
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 14
Software Project Planning
Weighting factors
Functional Units
Low Average High
External Inputs (EI) 3 4 6
External Output (EO) 4 5 7
External Inquiries (EQ) 3 4 6
Internal logical files (ILF) 7 10 15
External Interface files (EIF) 5 7 10
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 17
Software Project Planning
The procedure for the calculation of UFP in mathematical
form is given below:
5 3
UFP Z ij wij
i 1 J 1
Where i indicate the row and j indicates the column of Table 1
Wij : It is the entry of the ith row and jth column of the table 1
FP = UFP * CAF
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 19
Software Project Planning
Table 3 : Computing function points.
Rate each factor on a scale of 0 to 5.
0 1 2 3 4 5
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 21
Software Project Planning
Example: 4.1
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 22
Software Project Planning
Solution
We know
5 3
UFP Z ij wij
i 1 J 1
UFP = 50 x 4 + 40 x 5 + 35 x 4 + 6 x 10 + 4 x 7
= 200 + 200 + 140 + 60 + 28 = 628
CAF = (0.65 + 0.01 ΣFi)
= (0.65 + 0.01 (14 x 3)) = 0.65 + 0.42 = 1.07
FP = UFP x CAF
= 628 x 1.07 = 672
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 23
Software Project Planning
Example:4.2
An application has the following:
10 low external inputs, 12 high external outputs, 20 low
internal logical files, 15 high external interface files, 12
average external inquiries, and a value of complexity
adjustment factor of 1.10.
What are the unadjusted and adjusted function point counts ?
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 24
Software Project Planning
Solution
Unadjusted function point counts may be calculated using
as:
5 3
UFP Z ij wij
i 1 J 1
= 10 x 3 + 12 x 7 + 20 x 7 + 15 + 10 + 12 x 4
= 30 + 84 +140 + 150 + 48
= 452
FP = UFP x CAF
= 452 x 1.10 = 497.2.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 25
Software Project Planning
Example: 4.3
Consider a project with the following parameters.
(i) External Inputs:
(a) 10 with low complexity
(b)15 with average complexity
(c) 17 with high complexity
(ii) External Outputs:
(a) 6 with low complexity
(b)13 with high complexity
(iii) External Inquiries:
(a) 3 with low complexity
(b) 4 with average complexity
(c) 2 high complexity
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 26
Software Project Planning
(iv) Internal logical files:
(a) 2 with average complexity
(b)1 with high complexity
(v) External Interface files:
(a) 9 with low complexity
In addition to above, system requires
i. Significant data communication
ii. Performance is very critical
iii. Designed code may be moderately reusable
iv. System is not designed for multiple installation in different
organizations.
Other complexity adjustment factors are treated as average. Compute
the function points for the project.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 27
Software Project Planning
Solution: Unadjusted function points may be counted using table 2
Functional Count Complexity Complexity Functional
Units Totals Unit Totals
External 10 Low x 3 = 30
Inputs 15 Average x 4 = 60
(EIs) 17 High x 6 = 102 192
External 6
Low x 4 = 24
Outputs 0 Average x 5 = 0
(EOs) 13 High x 7 = 91 115
External 3
Low x 3 = 9
Inquiries 4 Average x 4 = 16
(EQs) 2 High x 6 = 12 37
External 0 Low x 7 = 0
logical 2 Average x 10 = 20
Files (ILFs) 1 High x 15 = 15 35
External 9
Low x 5 = 45
Interface 0 Average x 7 = 0
Files (EIFs) 0 High x 10 = 0 45
424
Total Unadjusted Function Point Count
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 28
Software Project Planning
14
F 3+4+3+5+3+3+3+3+3+3+2+3+0+3=41
i 1
i
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 30
Software Project Planning
200
180
160
140
120
100
Cost
80
60
40
20
0
Req Des Int
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 31
Software Project Planning
Cost Estimation
A number of estimation techniques have been developed and are
having following attributes in common :
Project scope must be established in advance
Software metrics are used as a basis from which estimates are made
The project is broken into small pieces which are estimated individually
MODELS
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 33
Software Project Planning
Static, Single Variable Models
Methods using this model use an equation to estimate the desired
values such as cost, time, effort, etc. They all depend on the same
variable used as predictor (say, size). An example of the most
common equations is :
C = a Lb (i)
C is the cost, L is the size and a,b are constants
E = 1.4 L0.93
DOC = 30.4 L0.90
D = 4.6 L0.26
Effort (E in Person-months), documentation (DOC, in number of
pages) and duration (D, in months) are calculated from the number
of lines of code (L, in thousands of lines) used as a predictor. 34
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007
Software Project Planning
Static, Multivariable Models
These models are often based on equation (i), they actually depend
on several variables representing various aspects of the software
development environment, for example method used, user
participation, customer oriented changes, memory constraints, etc.
E = 5.2 L0.91
D = 4.1 L0.36
The productivity index uses 29 variables which are found to be
highly correlated to productivity as follows:
29
Wi X i
i 1
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 35
Software Project Planning
Example: 4.4
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 36
Software Project Planning
Solution
The amount of manpower involved = 8 PY = 96 person-months
(a) Number of lines of source code can be obtained by reversing
equation to give:
L = (E/a)1/b
Then
L(SEL) = (96/1.4)1/0.93 = 94264 LOC
L(SEL) = (96/5.2)1/0.91 = 24632 LOC.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 37
Software Project Planning
(b) Duration in months can be calculated by means of equation
D(SEL) = 4.6 (L)0.26
= 4.6 (94.264)0.26 = 15 months
D(W-F) = 4.1 L0.36
= 4.1(24.632)0.36 = 13 months
(c) Productivity is the lines of code produced per person/month (year)
94264
P( SEL) 11783 LOC / Person Years
8
24632
P (W F ) 3079 LOC / Person Years
8
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 38
Software Project Planning
(d) Average manning is the average number of persons required per
month in the project.
96 P M
M ( SEL ) 6.4 Persons
15 M
96 P M
M (W F ) 7.4 Persons
13 M
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 39
Software Project Planning
The Constructive Cost Model (COCOMO)
Constructive Cost model
(COCOMO)
Model proposed by
B. W. Boehm’s
through his book
Software Engineering Economics in 1981
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 40
Software Project Planning
COCOMO applied to
Semidetached
Organic mode Embedded
mode mode
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 41
Software Project Planning
Mode Project size Nature of Project Innovation Deadline of Development
the project Environment
Organic Typically Small size project, Little Not tight Familiar & In
experienced developers in the house
2-50 KLOC
familiar environment. For
example, pay roll, inventory
projects etc.
Embedded Typically over Large project, Real time Significant Tight Complex
systems, Complex interfaces, Hardware/
300 KLOC customer
Very little previous experience.
For example: ATMs, Air Traffic Interfaces
Control etc. required
Basic Model
Basic COCOMO model takes the form
E ab ( KLOC ) bb
D cb ( E ) db
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 43
Software Project Planning
Software ab bb cb db
Project
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 44
Software Project Planning
When effort and development time are known, the average staff size
to complete the project may be calculated as:
E
Average staff size ( SS ) Persons
D
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 45
Software Project Planning
Example: 4.5
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 46
Software Project Planning
Solution
The basic COCOMO equation take the form:
E ab ( KLOC ) bb
D cb ( KLOC ) db
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 47
Software Project Planning
(ii) Semidetached mode
E = 3.0(400)1.12 = 2462.79 PM
D = 2.5(2462.79)0.35 = 38.45 PM
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 48
Software Project Planning
Example: 4.6
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 49
Software Project Planning
Solution
E
Average staff size ( SS ) Persons
D
1133.12
38.67 Persons
29.3
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 50
Software Project Planning
KLOC 200
Productivity 0.1765 KLOC / PM
E 1133 .12
P 176 LOC / PM
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 51
Software Project Planning
Intermediate Model
Cost drivers
(i) Product Attributes
Required s/w reliability
Size of application database
Complexity of the product
(ii) Hardware Attributes
Run time performance constraints
Memory constraints
Virtual machine volatility
Turnaround time
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 52
Software Project Planning
(iii) Personal Attributes
Analyst capability
Programmer capability
Application experience
Virtual m/c experience
Programming language experience
(iv) Project Attributes
Modern programming practices
Use of software tools
Required development Schedule
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 53
Software Project Planning
Multipliers of different cost drivers
Cost Drivers RATINGS
Very low Low Nominal High Very Extra
high high
Product Attributes
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 54
Software Project Planning
Cost Drivers RATINGS
Very low Low Nominal High Very Extra
high high
Personnel Attributes
MODP --
1.24 1.10 1.00 0.91 0.82
TOOL 1.24 1.10 1.00 0.91 0.83 --
SCED
1.23 1.08 1.00 1.04 1.10 --
E ai ( KLOC ) bi * EAF
D ci ( E ) d i
Project ai bi ci di
Development Phase
Plan / Requirements
EFFORT : 6% to 8%
DEVELOPMENT TIME : 10% to 40%
% depend on mode & size
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 58
Software Project Planning
Design
Effort : 16% to 18%
Time : 19% to 38%
Programming
Effort : 48% to 68%
Time : 24% to 64%
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 59
Software Project Planning
Principle of the effort estimate
Size equivalent
As the software might be partly developed from software already
existing (that is, re-usable code), a full development is not always
required. In such cases, the parts of design document (DD%), code
(C%) and integration (I%) to be modified are estimated. Then, an
adjustment factor, A, is calculated by means of the following
equation.
A = 0.4 DD + 0.3 C + 0.3 I
The size equivalent is obtained by
S (equivalent) = (S x A) / 100
Ep pE
Dp p D
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 60
Software Project Planning
Lifecycle Phase Values of p
Mode & Code Plan & System Detailed Module Integration
Size Requirements Design Design Code & Test & Test
Organic Small
0.06 0.16 0.26 0.42 0.16
S≈2
Organic
0.06 0.16 0.24 0.38 0.22
medium S≈32
Semidetached
0.07 0.17 0.25 0.33 0.25
medium S≈32
Semidetached
0.07 0.17 0.24 0.31 0.28
large S≈128
Embedded
0.08 0.18 0.25 0.26 0.31
large S≈128
Embedded
extra large 0.08 0.18 0.24 0.24 0.34
S≈320
Table 7 : Effort and schedule fractions occurring in each phase of the lifecycle
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 61
Software Project Planning
Lifecycle Phase Values of p
Mode & Code Plan & System Detailed Module Code Integration
Size Requirements Design Design & Test & Test
Organic Small
0.10 0.19 0.24 0.39 0.18
S≈2
Organic
0.12 0.19 0.21 0.34 0.26
medium S≈32
Semidetached
0.20 0.26 0.21 0.27 0.26
medium S≈32
Semidetached
0.22 0.27 0.19 0.25 0.29
large S≈128
Embedded
0.36 0.36 0.18 0.18 0.28
large S≈128
Embedded
extra large 0.40 0.38 0.16 0.16 0.30
S≈320
Table 7 : Effort and schedule fractions occurring in each phase of the lifecycle
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 62
Software Project Planning
Distribution of software life cycle:
1. Requirement and product design
(a) Plans and requirements
(b)System design
2. Detailed Design
(a) Detailed design
3. Code & Unit test
(a) Module code & test
4. Integrate and Test
(a) Integrate & Test
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 63
Software Project Planning
Example: 4.7
A new project with estimated 400 KLOC embedded system has to be
developed. Project manager has a choice of hiring from two pools of
developers: Very highly capable with very little experience in the
programming language being used
Or
Developers of low quality but a lot of experience with the programming
language. What is the impact of hiring all developers from one or the
other pool ?
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 64
Software Project Planning
Solution
This is the case of embedded mode and model is intermediate
COCOMO.
Hence E ai ( KLOC ) di
Case I: Developers are very highly capable with very little experience
in the programming being used.
Case II requires more effort and time. Hence, low quality developers
with lot of programming language experience could not match with
the performance of very highly capable developers with very litter
experience.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 66
Software Project Planning
Example: 4.8
Consider a project to develop a full screen editor. The major components
identified are:
I. Screen edit
II. Command Language Interpreter
III. File Input & Output
IV. Cursor Movement
V. Screen Movement
The size of these are estimated to be 4k, 2k, 1k, 2k and 3k delivered source
code lines. Use COCOMO to determine
1. Overall cost and schedule estimates (assume values for different
cost drivers, with at least three of them being different from 1.0)
2. Cost & Schedule estimates for different phases.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 67
Software Project Planning
Solution
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 68
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 69
Software Project Planning
(a) The initial effort estimate for the project is obtained from the
following equation
E = ai (KLOC)bi x EAF
= 3.2(12)1.05 x 1.2169 = 52.91 PM
Development time D = Ci(E)di
= 2.5(52.91)0.38 = 11.29 M
(b) Using the following equations and referring Table 7, phase wise
cost and schedule estimates can be calculated.
Ep pE
Dp p D
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 70
Software Project Planning
Since size is only 12 KLOC, it is an organic small model. Phase wise
effort distribution is given below:
System Design = 0.16 x 52.91 = 8.465 PM
Detailed Design = 0.26 x 52.91 = 13.756 PM
Module Code & Test = 0.42 x 52.91 = 22.222 PM
Integration & Test = 0.16 x 52.91 = 8.465 Pm
Now Phase wise development time duration is
System Design = 0.19 x 11.29 = 2.145 M
Detailed Design = 0.24 x 11.29 = 2.709 M
Module Code & Test = 0.39 x 11.29 = 4.403 M
Integration & Test = 0.18 x 11.29 = 2.032 M
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 71
Software Project Planning
COCOMO-II
The following categories of applications / projects are identified by
COCOMO-II and are shown in fig. 4 shown below:
Application
generators &
composition aids
System
integration
Stage II Early design estimation Application generators, Used in early design stage of a
model infrastructure & system project, when less is known about
integration the project.
Stage III Post architecture Application generators, Used after the completion of the
estimation model infrastructure & system detailed architecture of the project.
integration
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 76
Software Project Planning
iii. Assign complexity weight to each object : The weights are used
for three object types i.e., screen, report and 3GL components using
the Table 10.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 77
Software Project Planning
iv. Determine object points: Add all the weighted object instances to
get one number and this known as object-point count.
NOP are the object points that will need to be developed and differ from
the object point count because there may be reuse.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 78
Software Project Planning
vi. Calculation of productivity rate: The productivity rate can be
calculated as:
Productivity rate (PROD) = NOP/Person month
NOP
Effort in PM = ------------
PROD
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 80
Software Project Planning
Example: 4.9
Consider a database application project with the following characteristics:
I. The application has 4 screens with 4 views each and 7 data tables
for 3 servers and 4 clients.
II. The application may generate two report of 6 sections each from 07
data tables for two server and 3 clients. There is 10% reuse of
object points.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 81
Software Project Planning
Solution
This project comes under the category of application composition
estimation model.
Number of screens = 4 with 4 views each
Number of reports = 2 with 6 sections each
From Table 9 we know that each screen will be of medium
complexity and each report will be difficult complexity.
Using Table 10 of complexity weights, we may calculate object point
count.
= 4 x 2 + 2 x 8 = 24
24 * (100 -10)
NOP = -------------------- = 21.6
100
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 82
Software Project Planning
NOP
Efforts in PM = -----------
PROD
21.6
Efforts = ----------- = 3.086 PM
7
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 83
Software Project Planning
The Early Design Model
The COCOMO-II models use the base equation of the form
PMnominal = A * (size)B
where
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 84
Software Project Planning
Scale factor Explanation Remarks
Development flexibility Reflect the degree of flexibility Very low means a well defined process
in the development process. is used. Extra high means that the client
gives only general goals.
Architecture/ Risk Reflect the degree of risk Very low means very little analysis and
resolution analysis carried out. Extra high means complete and through
risk analysis.
Cont…
Table 12: Scaling factors required for the calculation of the value of B
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 85
Software Project Planning
Scale factor Explanation Remarks
Table 12: Scaling factors required for the calculation of the value of B
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 86
Software Project Planning
Scaling factors Very Low Nominal High Very Extra
low high high
Precedent ness 6.20 4.96 3.72 2.48 1.24 0.00
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 87
Software Project Planning
Early design cost drivers
There are seven early design cost drivers and are given below:
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 88
Software Project Planning
Post architecture cost drivers
There are 17 cost drivers in the Post Architecture model. These are rated
on a scale of 1 to 6 as given below :
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 90
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 91
Software Project Planning
Mapping of early design cost drivers and post architecture cost
drivers
The 17 Post Architecture Cost Drivers are mapped to 7 Early Design Cost
Drivers and are given in Table 14
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 93
Software Project Planning
ii. Required Reuse (RUSE) : This early design model cost driver is same as
its Post architecture Counterpart. The RUSE rating levels are (as per
Table 16):
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 94
Software Project Planning
iii. Platform Difficulty (PDIF) : This cost driver combines TIME, STOR
and PVOL of Post Architecture Cost Drivers.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 95
Software Project Planning
iv. Personnel Capability (PERS) : This cost driver combines three Post
Architecture Cost Drivers. These drivers are ACAP, PCAP and PCON.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 96
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 97
Software Project Planning
vi. Facilities (FCIL): This depends on two Post Architecture Cost Drivers,
which are TOOL and SITE.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 98
Software Project Planning
vii.Schedule (SCED) : This early design cost driver is the same as Post
Architecture Counterpart and rating level are given below using table
16.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 99
Software Project Planning
The seven early design cost drivers have been converted into numeric
values with a Nominal value 1.0. These values are used for the calculation
of a factor called “Effort multiplier” which is the product of all seven early
design cost drivers. The numeric values are given in Table 15.
7
PM adjusted PM nominal EM i
i 7
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 101
Software Project Planning
Example: 4.10
A software project of application generator category with estimated 50
KLOC has to be developed. The scale factor (B) has low
precedentness, high development flexibility and low team cohesion.
Other factors are nominal. The early design cost drivers like platform
difficult (PDIF) and Personnel Capability (PERS) are high and others
are nominal. Calculate the effort in person months for the
development of the project.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 102
Software Project Planning
Solution
Here B = 0.91 + 0.01 * (Sum of rating on scaling factors for the project)
= 0.91 + 0.01 * (4.96 + 2.03 + 4.24 + 4.38 + 4.68)
= 0.91 + 0.01(20.29)=1.1129
PMnominal = A*(size)B
= 2.5 * (50)1.1129 = 194.41 Person months
The 7 cost drivers are
PDIF = high (1.29)
PERS = high (0.83)
RCPX = nominal (1.0)
RUSE = nominal (1.0)
PREX = nominal (1.0)
FCIL = nominal (1.0)
SCEO = nominal (1.0)
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 103
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 104
Software Project Planning
Post Architecture Model
The post architecture model is the most detailed estimation model and is
intended to be used when a software life cycle architecture has been
completed. This model is used in the development and maintenance of
software products in the application generators, system integration or
infrastructure sectors.
17
PM adjusted PM nominal EM i
i 7
EM : Effort multiplier which is the product of 17 cost drivers.
The 17 cost drivers of the Post Architecture model are described in the
table 16.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 105
Software Project Planning
The numeric values of these 17 cost drivers are given in table 18 for the
calculation of the product of efforts i.e., effort multiplier (EM). Hence PM
adjusted is calculated which will be a better and fine tuned value of effort in
person months.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 110
Software Project Planning
Control Computational Device- Data management User Interface
Operations Operations dependent Operations Management
Operations Operations
Very Straight-line code Evaluation of Simple read, Simple arrays in Simple input
Low with a few non- simple write statements main memory. forms, report
nested structured expressions: e.g., with simple Simple COTSDB generators.
programming A=B+C*(D-E) formats. queries, updates.
operators: Dos.
Simple module
composition via
procedure calls or
simple scripts.
Low Straight forward Evaluation of No cognizance Single file sub User of simple
nesting of moderate-level needed of setting with no data graphics user
structured expressions: e.g., particular structure changes, interface (GUI)
programming D=SQRT(B**2- processor or I/O no edits, no builders.
operators. Mostly 4*A*C) device intermediate files,
simple predicates characteristics. Moderately
I/O done at complex COTS-DB
GET/PUT level. queries, updates.
Nominal Mostly simple nesting. Use of standard I/O processing Multi-file input Simple use of
Some inter module maths and includes and single file widget set.
control Decision tables. statistical device output. Simple
Simple callbacks or routines. Basic selection, structural
message passing, matrix/ vector status changes, simple
including middleware operations. checking and edits. Complex
supported distributed error COTS-DB
processing. processing. queries,
updates.
High Highly nested Basic numerical Operations at Simple triggers Widget set
structured analysis: physical I/O activated by development
programming operators multivariate level (physical data stream and
with many compound interpolation, storage contents. extension.
predicates. Queue and ordinary address Complex data Simple voice
stack control. differential translations; restructuring. I/O
Homogeneous, equations. Basic seeks, read multimedia.
distributed processing. truncation, round etc.)
Single processor soft off concerns. Optimized I/O
real time control. overlap.
Table 17: Module complexity ratings Cont…
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 112
Software Project Planning
Control Operations Computational Device-dependent Data User
Operations Operations management Interface
Operations Management
Operations
Very Reentrant and Difficult but Routines for Distributed Moderately
High recursive coding. structured interrupt database complex
Fixed-priority numerical analysis: diagnosis, coordination. 2D/3D,
interrupt handling. near singular servicing, Complex dynamic
Task matrix equations, masking. triggers. Search graphics,
synchronization, partial differential Communication optimization. multimedia.
complex callbacks, equations. Simple line handling.
heterogeneous parallelization. Performance
distributed intensive
processing. Single embedded
processor hard real systems.
time control.
Extra Multiple resource Difficult and Device timing Highly coupled, Complex
High scheduling with unstructured dependent dynamic multimedia,
dynamically numerical analysis: coding, micro relational and virtual
changing priorities. highly accurate programmed object reality.
Microcode-level analysis of noisy, operations. structures.
control. Distributed stochastic data. Performance Natural
hard real time Complex critical embedded language data
control. parallelization. systems. management.
Cost Rating
Driver
Very Low Low Nominal High Very Extra High
High
PCON 1.24 1.10 1.00 0.92 0.84
AEXP 1.22 1.10 1.00 0.89 0.81
PEXP 1.25 1.12 1.00 0.88 0.81
LTEX 1.22 1.10 1.00 0.91 0.84
TOOL 1.24 1.12 1.00 0.86 0.72
SITE 1.25 1.10 1.00 0.92 0.84 0.78
SCED 1.29 1.10 1.00 1.00 1.00
Development time can be calculated using PMadjusted as a key factor and the
desired equation is:
SCED%
TDEVnominal [ ( PM adjusted ) ( 0.28 0.2 ( B 0.091))]
100
where Φ = constant, provisionally set to 3.67
TDEVnominal = calendar time in months with a scheduled constraint
B = Scaling factor
PMadjusted = Estimated effort in Person months (after adjustment)
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 116
Software Project Planning
Size measurement
Size can be measured in any unit and the model can be calibrated
accordingly. However, COCOMO II details are:
Early design model uses unadjusted function points. These function points
are converted into KLOC using Table 19. Post architecture model may
compute KLOC after defining LOC counting rules. If function points are
used, then use unadjusted function points and convert it into KLOC using
Table 19.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 117
Software Project Planning
Language SLOC/UFP
Ada 71
AI Shell 49
APL 32
Assembly 320
Assembly (Macro) 213
ANSI/Quick/Turbo Basic 64
Basic-Compiled 91
Basic-Interpreted 128
C 128
C++ 29
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 120
Software Project Planning
Solution
Here B = 1.1129
PMnominal = 194.41 Person-months
17
PM adjusted PM nominal EM i
i 7
= 194.41 x (1.15 x 1.19 x 1.11 x 0.67 x 0.87)
= 194.41 x 0.885
= 172.05 Person-months
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 121
Software Project Planning
Putnam Resource Allocation Model
Norden of IBM
Rayleigh curve
Persons
Time
Fig.6: The Rayleigh manpower loading curve
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 122
Software Project Planning
Putnam observed that this curve was a close
approximation at project level and software subsystem
level.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 123
Software Project Planning
dy at 2
m(t ) 2kate --------- (1)
dt
dy
dt = manpower utilization rate per unit time
a = parameter that affects the shape of the curve
K = area under curve in the interval [0, ∞ ]
t = elapsed time
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 124
Software Project Planning
On Integration on interval [o, t]
y(0) = 0
y(∞) = k
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 125
Software Project Planning
d2y at 2
2
2 kae [1 2 at 2
]0
dt
1
td
2
2a
“td”: time where maximum effort rate occurs
Replace “td” for t in equation (2)
t d2
E y (t ) k 1 e 2 t d2 K (1 e 0.5 )
E y (t ) 0.3935k
1
a
2t d2
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 126
Software Project Planning
1
Replace “a” with 2 in the Norden/Rayleigh model. By
2t d
making this substitution in equation we have
t2
2K 2t d2
m(t ) te
2t d2
t2
K 2td2
2 te
td
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 127
Software Project Planning
a=2
a=0.5
a=0.222
m (t)
Person
a=0.125
Time (years)
k
mo
td e
k = Total project cost/effort in person-years.
td = Delivery time in years
m0 = No. of persons employed at the peak
e = 2.71828
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 129
Software Project Planning
Example: 4.12
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 130
Software Project Planning
Solution
Software development cost k=95 MY
Peak development time td = 1.75 years
k
Peak manning mo= t e
d
95
32.94 33 persons
1.75 1.648
m0 33
18.8 persons / year or 1.56 person / month
td 1.75
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 131
Software Project Planning
Example: 4.13
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 132
Software Project Planning
Solution
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 133
Software Project Planning
(b) We know
at 2
y (t ) K 1 e
t = 1 year and 2 months
= 1.17 years
1 1
a 0.041
2t d 2 (3.5)
2 2
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 134
Software Project Planning
Difficulty Metric
Slope of manpower distribution curve at start time t=0 has
some useful properties.
d2y at 2
m' (t ) 2 2kae (1 2at 2 )
dt
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 135
Software Project Planning
K
The ratio t 2 is called difficulty and denoted by D,
d
which is measured in person/year :
k
D= 2 persons/year
td
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 136
Software Project Planning
Project is difficult to develop
if
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 137
Software Project Planning
Peak manning is defined as:
k
m0
td e
k m0 e
D 2
td td
Manpower buildup
2 k
D' (t d ) persons / year 2
t d3
1
D' (k ) 2 year 2
td
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 139
Software Project Planning
D1(K) will always be very much smaller than the absolute value of
D1(td). This difference in sensitivity is shown by considering two
projects
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 140
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 141
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 142
Software Project Planning
Example: 4.14
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 143
Software Project Planning
Solution
We know
K
Difficulty D 2
td
600
2
49 person / year
(3.5)
Manpower build up can be calculated by following equation
K
D0 3
td
600
14 person / year 2
(3.5)3
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 144
Software Project Planning
P ∞ Dβ
Avg. productivity
LOC produced
P=
cumulative manpower
used to produce code
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 145
Software Project Planning
P = S/E
P D 2 / 3
S D 2 / 3 E
D 2 / 3 (0.3935 K )
2
k 3
S 2 k (0.3935)
td
1/ 3
S 0.3935 K
4/3
td
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 146
Software Project Planning
0.39 c
Technology Factor
1 / 3 4 / 3
C S .K
td
C = 5000 1
K 4 (100) 3
S = 5,00,000 LOC td
td (years) K (P-Y)
5.0 1600
4.0 3906
3.5 6664
3.0 12346
yd (t) = Kd [1-e-bt2]
An examination of md(t) function shows a non-zero value of md
at time td.
This is because the manpower involved in design & coding is
still completing this activity after td in form of rework due to
the validation of the product.
Nevertheless, for the model, a level of completion has to be
assumed for development.
It is assumed that 95% of the development will be completed
by the time td.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 152
Software Project Planning
yd (t ) bt 2
1 e 0.95
Kd
1
We may say that b 2
2tod
Kd=K/6
K Kd
D 2 2
td tod
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 154
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 155
Software Project Planning
Example: 4.15
A software development requires 90 PY during the total development
sub-cycle. The development time is planned for a duration of 3 years
and 5 months
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 156
Software Project Planning
Solution
(a) Duration td = 3.41 years
yd (t ) btd
We know from equation 1 e 0.95
Kd
yd (t d )
0.95
Kd
Yd (t d ) 0.95 90
= 85.5 PY
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 157
Software Project Planning
td
(b) We know from equation tod
6
td
tod 3.41 / 2.449 1.39 years
6
17 months
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 158
Software Project Planning
K d yd (t d ) / 0.95
= 85.5 / 0.95 = 90
K 6 K d 90 6 540 PY
K
Do 3 540 /(3.41) 3 13.6 persons/years2
td
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 159
Software Project Planning
Example:4.16
A software development for avionics has consumed 32 PY
up to development cycle and produced a size of 48000
LOC. The development of project was completed in 25
months. Calculate the development time, total manpower
requirement, development peak time, difficulty,
manpower build up and technology factor.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 160
Software Project Planning
Solution:
Development time td = 25 months = 2.08 years
Yd (t d ) 32
Total manpower development k d 33.7 PY
0.95 0.95
(t d )
Development peak time t od 0.85 years 10 months
6
k 202
D 2 2
46.7 pesons / years
t d (2.08)
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 161
Software Project Planning
k 202
D0 22.5 Persons / year 2
t d3 ( 2.08)3
Technology factor
1 / 3 4 / 3
C SK td
= 3077
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 162
Software Project Planning
Example 4.17
What amount of software can be delivered in 1 year 10 months in
an organization whose technology factor is 2400 if a total of 25 PY
is permitted for development effort.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 163
Software Project Planning
Solution:
td = 1.8 years
Kd = 25 PY
K = 25 x 6 = 150 PY
C = 2400
4/3
We know S CK 1/ 3t d
= 2400 x 5.313 x 2.18 = 27920 LOC
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 164
Software Project Planning
Example 4.18
The software development organization developing real time
software has been assessed at technology factor of 2200. The
maximum value of manpower build up for this type of
software is Do=7.5. The estimated size to be developed is
S=55000 LOC.
(a) Determine the total development time, the total
development manpower cost, the difficulty and the
development peak manning.
(b) The development time determined in (a) is considered too
long. It is recommended that it be reduced by two months.
What would happen?
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 165
Software Project Planning
Solution
4/3
We have S CK t d 1/ 3
3
s
ktd
4
c
3
S
which is also equivalent to Do t d7
C
3 1/ 7
1 S
then td
D0 C
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 166
Software Project Planning
S
Since 25
C
td = 3 years
-bt2
Md(t) = 2kd bte
-bt2
Yd(t) = kd (1-e )
Here t = tod
1 / 2
Peak manning mod Dtod e
= 22.5 x 1.2 x .606 = 16 persons
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 168
Software Project Planning
Developing Producing
s/w at higher less software
manpower
build-up
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 169
Software Project Planning
(i) Increase Manpower Build-up
3
1 S
Do 7
td C
Now td = 3 years – 2 months = 2.8 years
Do ( 25)3 /( 2.8) 7 11.6 persons / years
k D0t d3 254 PY
254
Kd 42.4 PY
6
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 170
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 171
Software Project Planning
(ii) Produce Less Software
3
S
D t
0 d
7
7 .5 ( 2. 8) 7
10119.696
C
3
S
21.62989
C
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 173
Software Project Planning
Solution
Size (S) = 12500 LOC
Technology factor (C) = 1200
Manpower buildup (Do) = 15
Now S CK 1/ 3t d4 / 3
S
K 1/ 3t d4 / 3
C
3
S
Kt d
4
C
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 174
Software Project Planning
K
Also we know Do 3
td
K Dot d3 Dot d3
3
S
Hence Dotd
7
C
3
12500
15t d
7
Substituting the values, we get
1200
1/ 7
(10.416) 3
td
15
t d 1.85 years
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 175
Software Project Planning
(i) Hence Minimum development time (td)=1.85 years
K
(ii) Total development manpower cost K d
6
Hence K 15 t d3
=15(1.85)3=94.97 PY
K 94.97
Kd 15.83 PY
6 6
K 94.97
(iii) Difficulty D 27.75 Persons / year
t d2 (1.85) 2
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 176
Software Project Planning
K
(iv) Peak Manning m0
td e
94.97
31.15 Persons
1.85 1.648
td
(v) Development Peak time tod
6
1.85
0.755 years
2.449
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 177
Software Project Planning
12500
789.6 LOC / PY
15.83
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 178
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 179
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 180
Software Project Planning
What is risk ?
Tomorrow’s problems are today’s risks.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 181
Software Project Planning
Potential Problems
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 182
Software Project Planning
Typical Software Risk
Capers Jones has identified the top five risk factors that
threaten projects in different applications.
1. Dependencies on outside agencies or factors.
• Availability of trained, experienced persons
• Inter group dependencies
• Customer-Furnished items or information
• Internal & external subcontractor relationships
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 183
Software Project Planning
2. Requirement issues
Uncertain requirements
Wrong product
or
Right product badly
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 185
Software Project Planning
3. Management Issues
Project managers usually write the risk management
plans, and most people do not wish to air their
weaknesses in public.
• Inadequate planning
• Inadequate visibility into actual project status
• Unclear project ownership and decision making
• Staff personality conflicts
• Unrealistic expectation
• Poor communication
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 186
Software Project Planning
4. Lack of knowledge
• Inadequate training
• Poor understanding of methods, tools, and
techniques
• Inadequate application domain experience
• New Technologies
• Ineffective, poorly documented or neglected
processes
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 187
Software Project Planning
5. Other risk categories
• Unavailability of adequate testing facilities
• Turnover of essential personnel
• Unachievable performance requirements
• Technical approaches that may not work
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 188
Software Project Planning
Risk Management Activities
Risk Identification
Risk
Management Risk Management
Planning
Risk Control
Risk Monitoring
Fig. 9: Risk Management
Activities Risk Resolution
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 189
Software Project Planning
Risk Assessment
Identification of risks
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 190
Software Project Planning
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 191
Software Project Planning
Risk Control
Risk Management Planning produces a plan for dealing with
each significant risks.
Record decision in the plan.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 192
Multiple Choice Questions
Note: Choose most appropriate answer of the following questions:
4.1 After the finalization of SRS, we may like to estimate
(a) Size (b) Cost
(c) Development time (d) All of the above.
4.2 Which one is not a size measure for software
(a) LOC (b) Function Count
(c) Cyclomatic Complexity (d) Halstead’s program length
4.3 Function count method was developed by
(a) B.Beizer (b) B.Boehm
(c) M.halstead (d) Alan Albrecht
4.4 Function point analysis (FPA) method decomposes the system into functional
units. The total number of functional units are
(a) 2 (b) 5
(c) 4 (d) 1
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 193
Multiple Choice Questions
4.5 IFPUG stand for
(a) Initial function point uniform group
(b) International function point uniform group
(c) International function point user group
(d) Initial function point user group
4.6 Function point can be calculated by
(a) UFP * CAF (b) UFP * FAC
(c) UFP * Cost (d) UFP * Productivity
4.7 Putnam resource allocation model is based on
(a) Function points
(b) Norden/ Rayleigh curve
(c) Putnam theory of software management
(d) Boehm’s observation on manpower utilisation rate
4.8 Manpower buildup for Putnam resource allocation model is
( a ) K / t d2 persons / year 2 (b ) K / t d3 persons / year 2
(c ) K / t d2 persons / year ( d ) K / t d3 persons / year
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 194
Multiple Choice Questions
4.9 COCOMO was developed initially by
(a) B.W.Bohem (b) Gregg Rothermal
(c) B.Beizer (d) Rajiv Gupta
4.10 A COCOMO model is
(a) Common Cost estimation model
(b) Constructive cost Estimation model
(c) Complete cost estimation model
(d) Comprehensive Cost estimation model
4.11 Estimation of software development effort for organic software is COCOMO
is
(a) E=2.4(KLOC)1.05PM (b) E=3.4(KLOC)1.06PM
(c) E=2.0(KLOC)1.05PM (d) E-2.4(KLOC)1.07PM
4.12 Estimation of size for a project is dependent on
(a) Cost (b) Schedule
(c) Time (d) None of the above
4.13 In function point analysis, number of Complexity adjustment factor are
(a) 10 (b) 20
(c) 14 (d) 12
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 195
Multiple Choice Questions
4.14 COCOMO-II estimation model is based on
(a) Complex approach (b) Algorithm approach
(c) Bottom up approach (d) Top down approach
4.15 Cost estimation for a project may include
(a) Software Cost (b) Hardware Cost
(c) Personnel Costs (d) All of the above
4.16 In COCOMO model, if project size is typically 2-50 KLOC, then which
mode is to be selected?
(a) Organic (b) Semidetached
(c) Embedded (d) None of the above
4.17 COCOMO-II was developed at
(a) University of Maryland (b) University of Southern California
(c) IBM (d) AT & T Bell labs
4.18 Which one is not a Category of COCOMO-II
(a) End User Programming (b) Infrastructure Sector
(c) Requirement Sector (d) System Integration
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 196
Multiple Choice Questions
4.19 Which one is not an infrastructure software?
(a) Operating system (b) Database management system
(c) Compilers (d) Result management system
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 197
Multiple Choice Questions
4.23 In Putnam resource allocation model, technology factor ‘C’ is defined as
(a ) C SK 1/ 3t d4 / 3 (b) C SK 1/ 3t d4 / 3
(c) C SK 1/ 3t d4 / 3 (d ) C SK 1/ 3t d4 / 3
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 198
Exercises
4.1 What are various activities during software project planning?
4.2 Describe any two software size estimation techniques.
4.3 A proposal is made to count the size of ‘C’ programs by number of
semicolons, except those occurring with literal strings. Discuss the
strengths and weaknesses to this size measure when compared with the
lines of code count.
4.4 Design a LOC counter for counting LOC automatically. Is it language
dependent? What are the limitations of such a counter?
4.5 Compute the function point value for a project with the following
information domain characteristics.
Number of user inputs = 30
Number of user outputs = 42
Number of user enquiries = 08
Number of files = 07
Number of external interfaces = 6
Assume that all complexity adjustment values are moderate.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 199
Exercises
4.6 Explain the concept of function points. Why FPs are becoming
acceptable in industry?
4.7 What are the size metrics? How is function point metric advantageous
over LOC metric? Explain.
4.8 Is it possible to estimate software size before coding? Justify your answer
with suitable example.
4.9 Describe the Albrecht’s function count method with a suitable example.
4.10 Compute the function point FP for a payroll program that reads a file of
employee and a file of information for the current month and prints
cheque for all the employees. The program is capable of handling an
interactive command to print an individually requested cheque
immediately.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 200
Exercises
4.11 Assume that the previous payroll program is expected to read a file
containing information about all the cheques that have been printed. The
file is supposed to be printed and also used by the program next time it is
run, to produce a report that compares payroll expenses of the current
month with those of the previous month. Compute functions points for
this program. Justify the difference between the function points of this
program and previous one by considering how the complexity of the
program is affected by adding the requirement of interfacing with
another application (in this case, itself).
4.12 Explain the Walson & Felix model and compare with the SEL model.
4.13 The size of a software product to be developed has been estimated to be
22000 LOC. Predict the manpower cost (effort) by Walston-Felix Model
and SEL model.
4.14 A database system is to be developed. The effort has been estimated to
be 100 Persons-Months. Calculate the number of lines of code and
productivity in LOC/Person-Month.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 201
Exercises
4.15 Discuss various types of COCOMO mode. Explain the phase wise
distribution of effort.
4.16 Explain all the levels of COCOMO model. Assume that the size of an
organic software product has been estimated to be 32,000 lines of code.
Determine the effort required to developed the software product and the
nominal development time.
4.17 Using the basic COCOMO model, under all three operating modes,
determine the performance relation for the ratio of delivered source code
lines per person-month of effort. Determine the reasonableness of this
relation for several types of software projects.
4.18 The effort distribution for a 240 KLOC organic mode software
development project is: product design 12%, detailed design 24%, code
and unit test 36%, integrate and test 28%. How would the following
changes, from low to high, affect the phase distribution of effort and the
total effort: analyst capability, use of modern programming languages,
required reliability, requirements volatility?
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 202
Exercises
4.19 Specify, design, and develop a program that implements COCOMO.
Using reference as a guide, extend the program so that it can be used as a
planning tool.
4.20 Suppose a system for office automation is to be designed. It is clear
from requirements that there will be five modules of size 0.5 KLOC, 1.5
KLOC, 2.0 KLOC, 1.0 KLOC and 2.0 KLOC respectively. Complexity,
and reliability requirements are high. Programmer’s capability and
experience is low. All other factors are of nominal rating. Use COCOMO
model to determine overall cost and schedule estimates. Also calculate
the cost and schedule estimates for different phases.
4.21 Suppose that a project was estimated to be 600 KLOC. Calculate the
effort and development time for each of the three modes i.e., organic,
semidetached and embedded.
4.22 Explain the COCOMO-II in detail. What types of categories of projects
are identified?
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 203
Exercises
4.23 Discuss the Infrastructure Sector of COCOMO-II.
4.24 Describe various stages of COCOMO-II. Which stage is more popular
and why?
4.25 A software project of application generator category with estimated size
of 100 KLOC has to be developed. The scale factor (B) has high
percedentness, high development flexibility. Other factors are nominal.
The cost drivers are high reliability, medium database size, high
Personnel capability, high analyst capability. The other cost drivers are
nominal. Calculate the effort in Person-Months for the development of
the project.
4.26 Explain the Putnam resource allocation model. What are the limitations
of this model?
4.27 Describe the trade-off between time versus cost in Putnam resource
allocation model.
4.28 Discuss the Putnam resources allocation model. Derive the time and
effort equations.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 204
Exercises
4.29 Assuming the Putnam model, with S=100,000 , C=5000, Do=15,
Compute development time td and manpower development Kd.
4.30 Obtain software productivity data for two or three software development
programs. Use several cost estimating models discussed in this chapter.
How to the results compare with actual project results?
4.31 It seems odd that cost and size estimates are developed during software
project planning-before detailed software requirements analysis or design
has been conducted. Why do we think this is done? Are there
circumstances when it should not be done?
4.32 Discuss typical software risks. How staff turnover problem affects
software projects?
4.33 What are risk management activities? Is it possible to prioritize the risk?
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 205
Exercises
4.34 What is risk exposure? What techniques can be used to control each
risk?
4.36 There are significant risks even in student projects. Analyze a student
project and list all the risk.
Software Engineering (3 rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright © New Age International Publishers, 2007 206