Lecture (13 14) COCOMO
Lecture (13 14) COCOMO
1
Objectives
At the end of this lesson the student would be
able to:
Differentiate among organic,
2
Project Planning
Boehm postulated that any software development project
can be classified into one of the following three categories
based on the development complexity:
Organic: A development project can be considered of organic
type, if the project deals with developing a well understood
application program, the size of the development team is
reasonably small, and the team members are experienced in
developing similar types of projects.
Semidetached: A development project can be considered of
semidetached type, if the development consists of a mixture of
experienced and inexperienced staff. Team members may
have limited experience on related systems but may be
unfamiliar with some aspects of the system being developed.
Embedded: A development project is considered to be of
embedded type, if the software being developed is strongly
coupled to complex hardware, or if the stringent regulations
on the operational procedures exist.
3
COCOMO
COCOMO (Constructive Cost Estimation Model)
was proposed by Boehm [1981]. According to
Boehm, software cost estimation should be done
through three stages: Basic COCOMO,
Intermediate COCOMO, and Complete
COCOMO.
4
Basic COCOMO Model
Where
KLOC is the estimated size of the software product
expressed in Kilo Lines of Code,
a1, a2, b1, b2 are constants for each category of software
products,
Tdev is the estimated time to develop the software,
expressed in months,
Effort is the total effort required to develop the software
product, expressed in person months (PMs).
5
Estimation of development effort
6
Estimation of development time
7
the effort required to develop a product increases very rapidly
with project size.
8
The development time is a sublinear function of the size of the
product, i.e. when the size of the product increases by two times,
the time to develop the product does not double but rises
moderately. 9
Example
Assume that the size of an organic type software product has
been estimated to be 32,000 lines of source code. Assume
that the average salary of software engineers be Rs. 15,000/-
per month. Determine the effort required to develop the
software product and the nominal development time.
From the basic COCOMO estimation formula for organic
software:
Effort = 2.4 х (32)1.05 = 91 PM
Nominal development time = 2.5 х (91)0.38 = 14
months
Cost required to develop the product = 14 х 15,000
= Rs. 210,000/-
10
Intermediate COCOMO model
13
The complete COCOMO model considers these
differences in characteristics of the subsystems
and estimates the effort and development time as
the sum of the estimates for the individual
subsystems.
The cost of each subsystem is estimated
separately.
This approach reduces the margin of error in the
final estimate.
14