JavaScript isn't enabled in your browser, so this file can't be opened. Enable and reload.
1 of 23
2 of 23
COCOMO (
CO
nstructive
CO
st
MO
del) proposed by Boehm.
Divides software product developments into 3 categories:
Organic
Semidetached
Embedded
3 of 23
Roughly correspond to:
application, utility and system programs respectively.
Data processing and scientific programs are considered to be
application programs.
Compilers, linkers, editors, etc., are
utility programs.
Operating systems and real-time system programs, etc. are
system programs.
4 of 23
Organic:
Relatively small groups
working to develop well-understood applications.
Semidetached:
Project team consists of a mixture of experienced and inexperienced staff.
Embedded:
The software is strongly coupled to complex hardware, or real-time systems.
5 of 23
For each of the three product categories:
From size estimation (in KLOC),
Boehm provides equations to predict:
project duration in months
effort in person-months
Boehm obtained these equations:
examined historical data collected from a large number of actual projects.
6 of 23
Software cost estimation is done through three stages:
Basic COCOMO,
Intermediate COCOMO,
Complete COCOMO.
7 of 23
Gives only an approximate estimation:
Effort = a1
(KLOC)
a2
Tdev = b1
(Effort)
b2
KLOC is the estimated kilo lines of source code,
a1,a2,b1,b2 are constants for different categories of software products,
Tdev is the estimated time to develop the software in months,
Effort estimation is obtained in terms of person months (PMs).
8 of 23
Organic :
Effort = 2.4 (KLOC)
1.05
PM
Semi-detached:
Effort = 3.0(KLOC)
1.12
PM
Embedded:
Effort = 3.6 (KLOC)
1.20
PM
9 of 23
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
10 of 23
Effort is somewhat super-linear in problem size.
Effort
Size
Embedded
Semidetached
Organic
11 of 23
Development time
sublinear function of product size.
When product size increases two times,
development time does not double.
Time taken:
almost same for all the three product categories.
Size
Dev
. Time
Embedded
Semidetached
Organic
60K
18 Months
14 Months
30K
12 of 23
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.
13 of 23
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.
14 of 23
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
15 of 23
Basic 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
16 of 23
For accurate estimation,
the effect of all relevant parameters must be considered:
Intermediate COCOMO model
recognizes this fact:
refines the initial estimate obtained by the basic COCOMO by using a set of 15 cost drivers (multipliers).
17 of 23
If modern programming practices are used,
initial estimates are scaled downwards.
If there are stringent reliability requirements on the product :
initial estimate is scaled upwards.
18 of 23
Rate different parameters on a scale of one to three:
Depending on these ratings,
multiply cost driver values with the estimate obtained using the basic COCOMO.
19 of 23
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.
20 of 23
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.
21 of 23
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.
22 of 23
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.
23 of 23
Provided By : Ally