0% found this document useful (0 votes)
44 views81 pages

Unit 2

The document discusses COCOMO cost estimation models for software projects, including the Intermediate and Post Architecture models. The Post Architecture model is the most detailed and considers 17 cost drivers related to product attributes, hardware attributes, personnel attributes, and project attributes. These cost drivers are used to calculate an effort multiplier to adjust the nominal effort estimate in person-months. The document provides tables rating different levels for each cost driver.

Uploaded by

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

Unit 2

The document discusses COCOMO cost estimation models for software projects, including the Intermediate and Post Architecture models. The Post Architecture model is the most detailed and considers 17 cost drivers related to product attributes, hardware attributes, personnel attributes, and project attributes. These cost drivers are used to calculate an effort multiplier to adjust the nominal effort estimate in person-months. The document provides tables rating different levels for each cost driver.

Uploaded by

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

Intermediate COCOMO

Cost Drivers
(i) Product Attributes (iii)Personal Attributes
• Analyst capability
• Required s/w reliability
• Programmer capability
• Size of application • Application experience
database
• Virtual m/c experience
• Complexity of the • Programming language
product experience
(ii) Hardware Attributes (iv) Project Attributes
• Run time performance • Modern programming
constraints practices
• Use of software tools
• Memory constraints
• Required development
• Virtual machine volatility Schedule
• Turnaround time
• 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 ?
Detailed COCOMO
COCOMO II
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.
106
Software Project Planning

Table 16: Post Architecture Cost Driver rating level summary Cont…
107
Software Project Planning

Table 16: Post Architecture Cost Driver rating level summary


Cont…
108
Software Project Planning

Table 16: Post Architecture Cost Driver rating level summary


Cont…
109
Software Project Planning

Table 16: Post Architecture Cost Driver rating level summary


110
Software Project Planning

Product complexity is based on control operations, computational


operations, device dependent operations, data management operations and
user interface management operations. Module complexity rating are given
in table 17.

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.

111
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-4* processor or I/O no edits, no builders.
operators. Mostly A*C) device intermediate files,
simple predicates characteristics. I/ Moderately
O done at GET/ complex COTS-DB
PUT level. queries, updates.

Table 17: Module complexity ratings Cont…


112
Software Project Planning
Control Operations Computational Device- Data User Interface
Operations dependent management Management
Operations Operations Operations

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 data development
programming operators multivariate level (physical stream contents. and
with many compound interpolation, storage Complex data extension.
predicates. Queue and ordinary address restructuring. Simple voice
stack control. differential translations; 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…
113
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 2D/
Fixed-priority numerical analysis: diagnosis, coordination. 3D, dynamic
interrupt handling. near singular servicing, Complex graphics,
Task matrix equations, masking. triggers. Search multimedia.
synchronization, partial differential Communication optimization.
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 coding, dynamic multimedia,
dynamically numerical analysis: micro relational and virtual reality.
changing priorities. highly accurate programmed object
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.

Table 17: Module complexity ratings


114
Software Project Planning
Cost Rating
Driver
Very Low Low Nominal High Very Extra High
High
RELY 0.75 0.88 1.00 1.15 1.39

DATA 0.93 1.00 1.09 1.19


CPLX 0.75 0.88 1.00 1.15 1.30 1.66
RUSE 0.91 1.00 1.14 1.29 1.49
DOCU 0.89 0.95 1.00 1.06 1.13
TIME 1.00 1.11 1.31 1.67
STOR 1.00 1.06 1.21 1.57
PVOL 0.87 1.00 1.15 1.30
ACAP 1.50 1.22 1.00 0.83 0.67
PCAP 1.37 1.16 1.00 0.87 0.74

Table 18: 17 Cost Drivers Cont…


115
Software Project Planning

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

Table 18: 17 Cost Drivers


116
Software Project Planning
Example: 4.11
Consider the software project given in example 4.10. Size and scale factor
(B) are the same. The identified 17 Cost drivers are high reliability (RELY),
very high database size (DATA), high execution time constraint (TIME),
very high analyst capability (ACAP), high programmers capability (PCAP).
The other cost drivers are nominal. Calculate the effort in Person-Months for
the development of the project.

121
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

122
Software Project Planning
Putnam Resource Allocation Model
Norden of IBM
Rayleigh curve

Model for a range of hardware development projects.


Overall Curve
Design and Coding

Persons

Time
Fig.6: The Rayleigh manpower loading curve
123
Software Project Planning
Putnam observed that this curve was a close
approximation at project level and software subsystem
level.

No. of projects = 150

124
Software Project Planning

The Norden / Rayleigh Curve

The curve is modeled by differential equation

dy − at 2 --------- (1)
m(t ) = = 2kate
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
125
Software Project Planning
On Integration on interval [o, t]

y(t) = K [1-e-at2] -------------(2)


Where y(t): cumulative manpower used upto time t.

y(0) = 0
y(∞) = k

The cumulative manpower is null at the start of the project, and


grows monotonically towards the total effort K (area under the
curve).

126
Software Project Planning
d2y − at 2 2
2
= 2 kae [1 − 2 at ]=0
dt
2 1
td =
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= 2
2t d
127
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 − 2
2t d
= 2 te
td
128
Software Project Planning

a=2

a=0.5
a=0.222
m (t)
Person
a=0.125

Time (years)

Fig.7: Influence of parameter ‘a’ on the manpower


distribution 129
Software Project Planning
At time t=td, peak manning m (td) is obtained and denoted by mo.

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

130
Software Project Planning

Example: 4.12
A software development project is planned to cost 95 MY in a period
of 1 year and 9 months. Calculate the peak manning and average rate
of software team build up.

131
Software Project Planning
Solution
Software development cost k=95 MY
Peak development time td = 1.75 years
k
Peak manning mo=
td e

95
= 32.94 = 33 persons
1.75 ×1.648
Average rate of software team build up

m0 33
= = = 18.8 persons / year or 1.56 person / month
t d 1.75
132
Software Project Planning

Example: 4.13
Consider a large-scale project for which the manpower requirement is
K=600 PY and the development time is 3 years 6 months.

(a)Calculate the peak manning and peak time.


(b)What is the manpower cost after 1 year and 2 months?

133
Software Project Planning

Solution

(a) We know td=3 years and 6 months = 3.5 years


K
NOW m0 =
td e

∴ m0 = 600/(3.5x1.648) ≅ 104 persons

134
Software Project Planning
(b) We know
[
y (t ) = K 1 − e − at 2
]
t = 1 year and 2 months
= 1.17 years
1 1
a= 2
= 2
= 0.041
2t d 2 × (3.5)

y (1.17) = 600 1 − e [ − 0.041(1.17 ) 2


]
= 32.6 PY

135

You might also like