ESC501 (COCOMO Model & Cost Estimation) : - Prof. Poulami Dutta
ESC501 (COCOMO Model & Cost Estimation) : - Prof. Poulami Dutta
06/18/2024 2
COCOMO Model
COCOMO (COnstructive COst MOdel) proposed by Boehm.
Organic,
Semidetached,
Embedded.
06/18/2024 3
COCOMO Product classes
Operating systems and real-time system programs, etc. are system programs.
06/18/2024 4
Elaboration of Product classes
Organic:
The project deals with developing a well understood application.
The development team is small.
The team members have prior experience in working with similar types of projects.
Semidetached:
The team consists of some experienced as well as inexperienced staff.
Team members may have some experience on the type of system to be developed.
Embedded:
Aims to develop a software strongly related to machine hardware or real-time systems.
Team size is usually large.
06/18/2024 5
Comparative Study of Product Classes
06/18/2024 6
COCOMO Model (CONT.)
effort in programmer-months/person-months
estimation of project parameters should be done through three stages: Basic COCOMO,
Intermediate COCOMO, and Complete COCOMO.
06/18/2024 7
COCOMO Model (CONT.)
Software cost estimation is done through three stages:
Basic COCOMO,
Intermediate COCOMO,
Complete COCOMO.
06/18/2024 8
Basic COCOMO Model
The basic COCOMO model helps to obtain a rough estimate of the project parameters.
It estimates effort and time required for development in the following way:
Effort = a * (KDSI)b PM
Tdev = 2.5 * (Effort)c Months
where,
KDSI is the estimated size of the software expressed in Kilo Delivered Source Instructions,
a, b, c are constants determined by the category of software project,
Effort denotes the total effort required for the software development, expressed in person months (PMs),
Tdev denotes the estimated time required to develop the software (expressed in months).
06/18/2024 9
Basic COCOMO Model (CONTD)….
Software project a b c
06/18/2024 10
Development Effort Estimation
Organic :
Effort = 2.4 x (KLOC)1.05 PM.
Semi-detached:
Effort = 3.0 x (KLOC)1.12 PM.
Embedded:
Effort = 3.6 x (KLOC)1.20 PM.
06/18/2024 11
Development Time Estimation
Organic:
Tdev = 2.5 (Effort)0.38 Months.
Semi-detached:
Tdev = 2.5 (Effort)0.35 Months.
Embedded:
Tdev = 2.5 (Effort)0.32 Months.
06/18/2024 12
Basic COCOMO Model (CONTD)….
Size
06/18/2024 13
Basic COCOMO Model (CONTD)….
Development time:
Dev. Time
sublinear function of product size.
When product size increases two times, dded a ched
be id et
development time does not double. 18 Months Em Sem
Time taken:
14 Months
almost same for all the three product nic
g a
categories. Or
30K 60K
Size
06/18/2024 14
Basic COCOMO Model (CONTD)….
Development time does not increase linearly with product size:
For larger products more parallel activities can be identified:
can be carried out simultaneously by a number of engineers.
06/18/2024 15
Basic COCOMO Model (CONTD)….
Development time is roughly the same for all the three categories of products:
For example, a 60 KLOC program can be developed in approximately 18 months.
regardless of whether it is of organic, semi-detached, or embedded type.
There is more scope for parallel activities for system and application programs, than utility programs.
Effort = 2.4 x (60)1.05 PM. = 176.713 PM.
Effort = 3.0 x (60)1.12 PM. = 294.205 PM.
Effort = 3.6 x (60)1.20 PM. = 489.873 PM.
06/18/2024 16
Example
The size of an organic software product has been estimated to be
32,000 lines of source code.
Effort = 2.4*(32)1.05 = 91 PM
Nominal development time = 2.5*(91)0.38 = 14 months
06/18/2024 17
Intermediate COCOMO Model
Intermediate COCOMO model assumes:
effort and development time depend on product size alone.
However, several parameters affect effort and development time:
Reliability requirements.
Availability of CASE tools and modern facilities to the developers.
Size of data to be handled.
06/18/2024 18
Intermediate COCOMO Model
(CONTD)…...
The intermediate COCOMO take those other factors into consideration by defining a set of 15
cost drivers (multipliers).
Each of the 15 such attributes can be rated on a six-point scale ranging from "very low" to
"extra high" in their relative order of importance.
The product of effort multipliers of all the 15 attributes gives the Effort Adjustment Factor
(EAF).
06/18/2024 19
Intermediate COCOMO Model
(CONTD)…...
Cost driver classes:
Product: Inherent complexity of the product, reliability requirements of the product, etc.
Computer: Execution time, storage requirements, etc.
Personnel: Experience of personnel, etc.
Development Environment: Sophistication of the tools used for software development.
06/18/2024 20
Intermediate COCOMO Model
(CONTD)…...
06/18/2024 21
Intermediate COCOMO Model
(CONTD)…...
EAF is used to refine the estimates obtained by basic COCOMO as follows:
Effort|corrected = Effort * EAF
Tdev|corrected = 2.5 * (Effort| corrected) c
06/18/2024 22
Intermediate COCOMO Model
(CONTD)…...
Software project a b c
06/18/2024 23
Example
The size of a software product has been estimated to be 200 KLOC. Cost drivers are as follows:
Low Reliability 0.88
High Product Complexity 1.15
Low Application Experience 1.13
High Programming Language Experience 0.95
EAF = 0.88 * 1.15 * 1.13 * 0.95 = 1.086
Semi-Detached:
Effort|corrected = Effort * EAF
= 3.0 X (200)1.12 X 1.086 = 1230.56 = 1231 PM
Tdev|corrected = 2.5 * (Effort| corrected) c
=
2.5 x (1231)0.35
= 30.16 months = 30 months
06/18/2024 24
Shortcomings of Basic and Intermediate COCOMO
Models
Both models:
consider a software product as a single homogeneous entity.
However, most large systems are made up of several smaller sub-systems.
Some sub-systems may be considered as organic type, some may be considered embedded,
etc.
for some the reliability requirements may be high, and so on.
06/18/2024 25
Complete COCOMO Model
Cost of each sub-system is estimated separately.
Costs of the sub-systems are added to obtain total cost.
Reduces the margin of error in the final estimate.
06/18/2024 26
Complete COCOMO Model (CONTD)
A Management Information System (MIS) for an organization having offices at several
places across the country:
Database part (semi-detached)
Graphical User Interface (GUI) part (organic)
Communication part (embedded)
Costs of the components are estimated separately:
summed up to give the overall cost of the system.
06/18/2024 27
Complete COCOMO Model (CONTD) ..
To illustrate this, consider a very popular distributed application: the ticket booking system of the Indian
Railways. There are computerized ticket counters in most of the railway stations of our country. Tickets can be
booked / cancelled from any such counter. Reservations for future tickets, cancellation of reserved tickets
could also be performed. On a high level, the ticket booking system has three main components:
Database
Graphical User Interface (GUI)
Networking facilities
Among these, development of the GUI is considered as an organic project type; the database module could be
considered as a semi-detached software. The networking module can be considered as an embedded software.
To obtain a realistic cost, one should estimate the costs for each component separately, and then add it up.
06/18/2024
28
Advantages & Disadvantages of COCOMO
06/18/2024 29
COCOMO II Model
COCOMO-II is the revised version of the original Cocomo (Constructive Cost Model) and is
developed at University of Southern California.
It is the model that allows one to estimate the cost, effort and schedule when planning a new
software development activity.
06/18/2024 30
06/18/2024 31