Lec22 23 24
Lec22 23 24
By : Dr. Anjali
Assistant Professor
ABV-IIITM Gwalior
Model proposed by
B. W. Boehm’s
through his book
Software Engineering Economics in 1981
2
1
11/12/2024
COCOMO applied to
Semidetached
Organic mode Embedded
mode mode
Organic Typically Small size project, experienced Little Not tight Familiar & In
developers in the familiar house
2-50 KLOC
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
2
11/12/2024
BASIC MODEL
Basic COCOMO model takes the form
E ab (KLOC) bb
D cb (E) d b
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).
Software ab bb cb db
Project
3
11/12/2024
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
Productivity (P) KLOC / PM
E
EXAMPLE:
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.
4
11/12/2024
Solution
E ab (KLOC) bb
D cb (KLOC) d b
Estimated size of the project = 400 KLOC
E = 2.4(400)1.05 = 1295.31 PM
D = 2.5(1295.31)0.38 = 38.07 PM
E = 3.0(400)1.12 = 2462.79 PM
D = 2.5(2462.79)0.35 = 38.45 PM
E = 3.6(400)1.20 = 4772.81 PM
D = 2.5(4772.8)0.32 = 38 PM
10
10
5
11/12/2024
EXAMPLE:
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.
11
11
Solution
The semi-detached mode is the most appropriate mode; keeping in view the size,
schedule and experience of the development team.
E
Average staff size (SS) Persons
D
1133.12
38.67Persons
29.3
12
12
6
11/12/2024
KLOC 200
Productivity 0.1765 KLOC / PM
E 1133.12
P 176 LOC / PM
13
13
PRESENTATION TITLE
Hardware Attributes
14
14
7
11/12/2024
15
15
INTERMEDIATE COCOMO
EQUATIONS
E ai (KLOC) bi * EAF
D ci (E) d i
Project ai bi ci di
16
8
11/12/2024
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.
S (equivalent) = (S x A) / 100
Ep pE
Dp p D
17
17
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
18
9
11/12/2024
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
19
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 ?
20
20
10
11/12/2024
Solution
This is the case of embedded mode and model is intermediate
COCOMO.
Hence E ai (KLOC) d i
= 2.8 (400)1.20 = 3712 PM
Case I: Developers are very highly capable with very little experience
in the programming being used.
21
Case II: Developers are of low quality but lot of experience with the
programming language 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.
22
22
11
11/12/2024
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. 30
23
Solution
24
24
12
11/12/2024
25
25
(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
26
26
13
11/12/2024
27
27
STRENGTHS OF COCOMO
PRESENTATION TITLE
28
28
14
11/12/2024
LIMITATIONS OF COCOMO
PRESENTATION TITLE
• Outdated for Modern Practices: While useful in the 1980s and 1990s, COCOMO 81
does not fully account for modern software development practices like Agile, DevOps,
or object-oriented programming.
• Line of Code-Based: The reliance on KLOC for size estimation is limiting, as early-
stage projects often do not have accurate code size estimates.
• Complexity in Intermediate and Detailed Models: The addition of multiple effort
multipliers and cost drivers makes COCOMO more accurate but also more complex to
use, requiring extensive data collection.
• Limited in Handling Iterative Development: COCOMO is designed for traditional
waterfall-like models and is less applicable to iterative and incremental development
methodologies.
29
29
SUMMARY OF COCOMO
The Constructive Cost Model (COCOMO)
Constructive Cost model
(COCOMO)
Model proposed by
B. W. Boehm’s
through his book
Software Engineering Economics in 1981
30
30
15
11/12/2024
COCOMO II
31
32
32
16
11/12/2024
Three Stages of Estimation: COCOMO II breaks down the estimation process into three stages to handle projects at
different stages of development
Applications Composition Model: Used in the early stages of development (like prototyping or
using fourth-generation languages). It estimates effort based on object points, which measure
the number of screens, reports, and components.
Early Design Model: Used when the project's overall architecture and requirements are known
but details are still to be worked out. This model uses function points or a similar size metric,
along with seven scale drivers and seventeen effort multipliers to estimate the cost.
Post-Architecture Model: Used when the project has a well-defined architecture and detailed
33
design. This is the most detailed estimation model and uses size metrics (lines of code, function
points) and cost drivers to compute the final estimates.
33
34
17
11/12/2024
i. Assess object counts: Estimate the number of screens, reports and third-
generation (3GL) components that will comprise this application.
35
36
36
18
11/12/2024
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.
37
37
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.
38
38
19
11/12/2024
39
NOP
Effort in PM = ------------
PROD
40
40
20
11/12/2024
Example:
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.
41
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
42
21
11/12/2024
NOP
Efforts in PM = -----------
PROD
21.6
Efforts = ----------- = 3.086 PM
7
43
43
If B = 1.0, there is linear relationship between effort and size of product. If the
value of B is not equal to 1, there will be non-linear relationship between size
of product and effort. If B < 1.0, rate of increase of effort decreases as the size
44 of product increases. If B > 1.0, rate of increase of effort increase as the size of
product is increased.
44
22
11/12/2024
45
46
23
11/12/2024
47
47
48
24
11/12/2024
49
49
• When all scaling factors of project are rated as extra high, best value
of B is obtained which is equal to 0.91.
• When all scaling factors are very low worst case values of B is
obtained as 1.23.
• Hence value of B varies from 0.91 to 1.23.
50
50
25
11/12/2024
THANK YOU
51
26