[go: up one dir, main page]

0% found this document useful (1 vote)
915 views32 pages

Cocomo Model

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 32

Software Project Planning

The Constructive Cost Model (COCOMO)


Constructive Cost model
(COCOMO)

Basic

Intermediate

Detailed

Model proposed by
B. W. Boehms
through his book
Software Engineering Economics in 1981
1

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


COCOMO applied to

Organic
mode

Semidetached
mode

Embedded
mode

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Mode

Organic

Project size

Typically
2-50 KLOC

Semi
detached

Typically
50-300 KLOC

Embedded Typically over


300 KLOC

Nature of Project

Innovation

Deadline of
the project

Small
size
project,
experienced developers in the
familiar
environment.
For
example, pay roll, inventory
projects etc.

Little

Not tight

Medium size project, Medium


size team, Average previous
experience on similar project.
For example: Utility systems
like
compilers,
database
systems, editors etc.

Medium

Medium

Large project, Real time


systems, Complex interfaces,
Very little previous experience.
For example: ATMs, Air Traffic
Control etc.

Significant

Tight

Table 4: The comparison of three COCOMO modes


3

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Development
Environment
Familiar & In
house

Medium

Complex
Hardware/
customer
Interfaces
required

Software Project Planning


Basic Model
Basic COCOMO model takes the form

E ab ( KLOC )

D cb ( E )

bb

db

where E is effort applied in Person-Months, and D is the


development time in months. The coefficients ab, bb, cb and db are
given in table 4 (a).
4

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


ab

bb

cb

db

Organic

2.4

1.05

2.5

0.38

Semidetached

3.0

1.12

2.5

0.35

Embedded

3.6

1.20

2.5

0.32

Software
Project

Table 4(a): Basic COCOMO coefficients

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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
When project size is known, the productivity level may be
calculated as:

KLOC
KLOC / PM
Productivity ( P )
E

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Example: 4.5

Suppose that a project was estimated to be 400 KLOC.


Calculate the effort and development time for each of the three
modes i.e., organic, semidetached and embedded.

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Solution
The basic COCOMO equation take the form:

E ab ( KLOC )bb
D cb ( KLOC )

db

Estimated size of the project = 400 KLOC


(i) Organic mode
E = 2.4(400)1.05 = 1295.31 PM
D = 2.5(1295.31)0.38 = 38.07 PM

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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
(iii) Embedded mode
E = 3.6(400)1.20 = 4772.81 PM
D = 2.5(4772.8)0.32 = 38 PM

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Example: 4.6
A project size of 200 KLOC is to be developed. Software
development team has average experience on similar type of
projects. The project schedule is not very tight. Calculate the effort,
development time, average staff size and productivity of the project.

10

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Solution
The semi-detached mode is the most appropriate mode; keeping in
view the size, schedule and experience of the development team.
Hence

E = 3.0(200)1.12 = 1133.12 PM
D = 2.5(1133.12)0.35 = 29.3 PM

E
Average staff size ( SS )
Persons
D
1133 .12

38.67 Persons
29.3
11

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


KLOC
200
Productivity

0.1765 KLOC / PM
E
1133 .12

P 176 LOC / PM

12

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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
13

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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
14

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Multipliers of different cost drivers
Cost Drivers

RATINGS
Very low

Low

Nominal

High

Very
high

Extra
high

0.75

0.88

1.00

1.15

1.40

--

--

0.94

1.00

1.08

1.16

--

0.70

0.85

1.00

1.15

1.30

1.65

TIME

--

--

1.00

1.11

1.30

1.66

STOR

--

--

1.00

1.06

1.21

1.56

VIRT

--

0.87

1.00

1.15

1.30

--

TURN

--

0.87

1.00

1.07

1.15

--

Product Attributes
RELY
DATA
CPLX
Computer Attributes

15

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Cost Drivers

RATINGS
Very low

Low

Nominal

High

Very
high

Extra
high

1.46

1.19

1.00

0.86

0.71

--

1.29

1.13

1.00

0.91

0.82

--

1.42

1.17

1.00

0.86

0.70

--

1.21

1.10

1.00

0.90

--

--

1.14

1.07

1.00

0.95

--

--

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

--

Personnel Attributes
ACAP
AEXP
PCAP
VEXP
LEXP
Project Attributes

Table 5: Multiplier values for effort calculations


16

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Intermediate COCOMO equations

E ai ( KLOC ) bi * EAF
D ci ( E ) d i
Project

ai

bi

ci

di

Organic

3.2

1.05

2.5

0.38

Semidetached

3.0

1.12

2.5

0.35

Embedded

2.8

1.20

2.5

0.32

Table 6: Coefficients for intermediate COCOMO


17

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Detailed COCOMO Model
Detailed COCOMO

Phase-Sensitive
effort multipliers
Cost
drivers

Three level product


hierarchy
Modules subsystem

design
& test

System level

Manpower allocation for


each phase
18

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Development Phase
Plan / Requirements
EFFORT

: 6% to 8%

DEVELOPMENT TIME : 10% to 40%


% depend on mode & size

19

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Design
Effort
Time

:
:

16% to 18%
19% to 38%

Programming
Effort
Time

:
:

48% to 68%
24% to 64%

Integration & Test


Effort
Time

:
:

16% to 34%
18% to 34%

20

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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

21

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Lifecycle Phase Values of
Mode & Code
Size

Plan &
Requirements

System
Design

Detailed
Design

Module
Code & Test

Integration
& Test

Organic Small
S2

0.06

0.16

0.26

0.42

0.16

Organic
medium S32

0.06

0.16

0.24

0.38

0.22

Semidetached
medium S32

0.07

0.17

0.25

0.33

0.25

Semidetached
large S128

0.07

0.17

0.24

0.31

0.28

Embedded
large S128

0.08

0.18

0.25

0.26

0.31

Embedded
extra large
S320

0.08

0.18

0.24

0.24

0.34

Table 7 : Effort and schedule fractions occurring in each phase of the lifecycle
22

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Lifecycle Phase Values of
Mode & Code
Size

Plan &
Requirements

System
Design

Detailed
Design

Module Code
& Test

Integration
& Test

Organic Small
S2

0.10

0.19

0.24

0.39

0.18

Organic
medium S32

0.12

0.19

0.21

0.34

0.26

Semidetached
medium S32

0.20

0.26

0.21

0.27

0.26

Semidetached
large S128

0.22

0.27

0.19

0.25

0.29

Embedded
large S128

0.36

0.36

0.18

0.18

0.28

Embedded
extra large
S320

0.40

0.38

0.16

0.16

0.30

Table 7 : Effort and schedule fractions occurring in each phase of the lifecycle
23

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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
24

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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 ?

25

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Solution
This is the case of embedded mode and model is intermediate
COCOMO.

E ai ( KLOC )

Hence

di

= 2.8 (400)1.20 = 3712 PM


Case I: Developers are very highly capable with very little experience
in the programming being used.
EAF

= 0.82 x 1.14 = 0.9348

E = 3712 x .9348 = 3470 PM


D = 2.5 (3470)0.32 = 33.9 M
26

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Case II: Developers are of low quality but lot of experience with the
programming language being used.
EAF

= 1.29 x 0.95 = 1.22

E = 3712 x 1.22 = 4528 PM


D = 2.5 (4528)0.32 = 36.9 M
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.

27

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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.
28

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Solution
Size of five modules are:
Screen edit

= 4 KLOC

Command language interpreter


File input and output

= 2 KLOC

= 1 KLOC

Cursor movement

= 2 KLOC

Screen movement

= 3 KLOC

Total

= 12 KLOC
29

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

Software Project Planning


Let us assume that significant cost drivers are
i.

Required software reliability is high, i.e.,1.15

ii. Product complexity is high, i.e.,1.15


iii. Analyst capability is high, i.e.,0.86
iv. Programming language experience is low,i.e.,1.07
v. All other drivers are nominal
EAF = 1.15x1.15x0.86x1.07 = 1.2169

30

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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
31

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

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
32

Software Engineering (3rd ed.), By K.K Aggarwal & Yogesh Singh, Copyright New Age International Publishers, 2007

You might also like