0% found this document useful (0 votes)
35 views7 pages

COCOMO

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views7 pages

COCOMO

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

4.

4 THE CONSTRUCTIVECOST MODEL (COCOMO)


This model gained rapid popularity following the publication of B.W. Boehm's excellent book
Software Engineering Economics in 1981 [BOEH81]. COCOMO is a hierarchy of software cost
estimation models, which include basic, intermediate and detailed sub models.o
4.4.1 Basic Model
The basic model aims at estimating, in a quick and rough fashion, most of the small to medium
sized software projects. Three modes of software development are considered in this model:
organic, semi-detached and embedded.
In the organic mode, a small team of experienced developers develops software in a very
familiar environment. The size of the software development in this mode ranges fromsmall
Software Project Planning 153

ia few KLOC) to medium (a few tens of KIOC), while in other two modes the size ranges from
smallto very large (a few hundreds of KLOC).
In the embedded mode of software development, the project has tight constraints, which
mightbe related to the target processor and its interface with the associated hardware. The
problem to be solved is unique and so it is often hard to find experienced persons, as the same
does not usually exist.
The semi detached mode is an intermediate mode between the organic mode and
ambedded mode. The comparision of all three modes is given in Table 4.4.
Table 4,4: The comparison of three COCOMO modes

Mode Project Nature of project Innova Deadline Development


" size tion of the environment
project
Organic |Typically Small size project, ex- Little Not tight Familiar &
In house
2-50 KLOC perienced developers
in the familiar envi
ronment. For exam
ple, pay roll, inventory
projects etc.
Semi Typically Medium size project, Medium Medium Medium
detached 50-300 KLOC Medium size team,
Average previous ex
holtbor perience on similar
projects.
Por Example: UtilityoMOD00.
systems like compil
ers, database systems,
editors etc.

Embedded Typically over Large project, Real | Signifi Tight Complex


300 KL0C time systems, Com- cant Hardware/
plex interfaces, Very customer
little previous experi Interfaces
ence. required
For Example: ATMs,
Air Traffic Control etc.
Depending on the problem at hand, the team might include a mixture of experienced
ana less experienced people with only a recent history of working together. The basic COCOMO
equations take the form
E= a,(KLOC) (4.8)

D= (E% (4.9)
Wiere E is effort applied in Person-Months, and D is the development time in months. The co
efficients , C, and d, are given in Table 4.4(a).
154
Software Engineerino
Table 4.4(a): Basic COCMO co-eficientso
Project d,
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

When effort and development time are known, the average staff size to complete ..
project may be calculated as:

Average staff size (SS) = D Persons.


When project size is known, the productivity level may be calculated as:
KLOC
Productivity (P) = E
KLOCPM.

With the basic model, the software estimator has a useful tool for estimating quickly, by
two runs on apocket calculator, the cost and development time of a software project, once the
size is estimated. The software estimator will have toassess by himself/herself which mode is
the most appropriate.
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.
Solution
The basic COCOMOequations take the form:
E= a,(KLOC)
D= c(KLOC)%
Estimated size of the project = 400 KLOC
) Organicmode
E- 2.4(400)1.05 = 1295.31 PM
D=2.5(1295.31)0.38 =38.07 M
(iü) Semidetached mode
E=3.0(400)12 =2462.79 PM
D=2.5(2462.79)-35 =38.45 M
(iü) Embedded mode
E=3.6(400)120 =4772.81 PM
D = 2.5(4772.8)32=38 M
As we have seen, effort calculated for embedded mode is
approximately 4 times, e
effort for organic mode. However, the effort calculated for semidetached mode is 2 times the
effort of organic mode. There is a large difference in these values, But, surprisingly, tne
development time is approximately the same for all three modes. It is clear from here that the
Software Project Planning 155

selection of mode is very important. Since, development time is approximately the same, the
onlyvarying parameter is the requirement of persons. Every mode will have different manpower
requirement. If we look to the Table 4.4, it is mentioned that for over 300 KLOC projects,
embedded mode is the right choice. The selection of a mode is not only dependent on project
hut, also on other parameters as mentioned in Table 4.4. We should be utmost careful
aboutthe selection of mode for the project.
Example 4.6
Aproject size of 200 KLOC is to be developed. Software development team has average expe-
rience on similar type of projects. The project schedule is not very tight. Caleulate the effort,
development time, average staff size and productivity of the project.
Solution
The semi-detached mode is the most appropriate mode; keeping in view the size, schedules
and experience
of the development team.
Hence E-3.0(200)1.12 = 1133.12 PM
D= 2.5(1133.12)35 = 29.3 M

Average staff size (SS) = D Persons


1133.12
=38.67 Persons.
29.3
KLOC 200
Productivity E 1133.12
= 0.1765 KLOCPM

P= 176LOCPM.
4.4.2 Intermediate Model
The basic model allowed for a quick and rough estimate, but it resulted in a lack of aceuracy.
Boehm introduced an additional set of 15 predictors called cost drivers in the intermediate
model to take account of the software development environment. Cost drivers are used to
adjust the nominal cost of a project to the actual project environment, hence increasing the
accuracy of the estimate.
The cost drivers are grouped into four categories:
1. Product attributes
(a) Required software reliability (RELY)
(6) Database size (DATA)
(c) Product complexity (CPLX)
2. Computer attributes
(a) Execution time constraint (TIME)
(6) Main storage constraint (STOR)
(c) Virtual machine volatility (VIRT)
(d)Computer turnaround time (TÜRN)
156

3. Personnel attributes
Software Engjine ring
(a) Analyst capability (ACAP)
(6) Application experience (AEXP)
(c) Programmer capability (PCAP)
(d) Virtual machine experience (VEXP)
(e) Programming language experience (LEXP)
4. Project attributes
(a) Modern programming practices (MODP)
(6) Use of software tools (TOOL)
(c) Required development schedule (SCED)
Each cost driver is rated for a given
project
low, low, nominal, high, very high, extra high environment. The rating uses a
which
applies to the project being estimated. Table 4.5 describes to what extent the costscale very
drivers and their rating as provided by Boehm gives the multiplier values for the 15driver
[BOEH81].
Table 4.5: Multiplier values for effort
calculations
RATINGS
Cost Drivers Very low Low Nominal High Very Extra
Product attributes high high
RELY 0.75 0.88 1.00
DATA 1.15 1.40
0.94 31.00
CPLX 1.08 1.16
0.70 0.85 1.00 1.15 1.30 1.65
Computer attributes
TIME
STOR 1.00 1.11 1.30 1.66
VIRT 1.00 1.06 1.21 l.56
0.87 1.00
TURN 1.15 1.30
0.87 1.00 1.07 1.15
Personnel attributes
ACAP
1.46 1.19
AEXP 1.00 0.86 0.71
1.29 1.13
PCAP 1.00 0.91 0.82
1.42 1.17
VEXP 1.00 0.86 0.70
1.21 1,10
LEXP 1.00 0.90
1.14 1.07 1.00 0.95
Project attributes
MODP
1.24 1.10
TOOL 1.00 0.91 0.82
1.24 1.10
SCED 1.00 0.91 0.83
1.23 1.08 1.00 1.04 1.10
Software Project Planning 157

mLa multiplying factors for all 15 cost drivers are multiplied to get the effort adjustment
factor(EAF). Typical values for EAF range fromn 0.9 to 1.4.
Theintermediate COCOMO equations take the form:
E= a,(KLOC)* EAF (4.10)
D= c(E)4 (4.11)
mhe co-efficientsa, b, C and d, are given in Table 4.6.
Table 4.6: Co-efficients for intermediate
COCOMO
Project
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

A4.3-Detailed COCOMO Model


AJorge amount of workhas been done by Boehm to capture all significant aspects of a software
development. It offers a means for processing all.the project characteristics to construct a
anfware estimate. The detailed model introduces two more capabilities:
1. Phase-sensitive effort multipliers:
Some phases (design, programming, integration/test) are more affected than others by
factors defined by the cost drivers. The detailed model provides a set of phase sensitive
effort multipliers for each cost driver. This helps in determining the manpower alloca
tion for each phase of the project.
2. Three-level product hierarchy:
Three product levels are defined. These are module, subsystem and system levels. The
ratings of the cost drivers are done at appropriate level; that is, the level at which it is
most susceptible to variation.
Development phases
Asoftware development is carried out in four successive phases:
design, programming and integration/test.
plans/requirements, product
1. Plan/requirements: This is the first phase of the development cycle. The
1S
requirement
analyzed, product plan is set up and a fullproduct specification is generated. This
the
phase consumes from 6% to 8% of the effort and 10% to 40% of the development time.
These percentages depend not only on mode (organic, semi-detached or embedded), but
also on the size.
2. Product design: The second phase of the C0COMO development cycle is
concerned
With the determination of the product architecture and the specification of the subsystem.
Iis phase requires from 16% to 18% the nominal effort and can last from 19% to 38% of
the development time.
158

3. Programming: The third phase of the COCOMO


Software Engine rig
sub phases: detailed design and code/unit test. This phase development
cycle is divided
requires from 48%
the effort and lasts from 24% to 64% of the development time. into two
4. Integration/Test: This phase of the COCOMO. development cycle occurss
This mainly consists of putting the tested parts together and
This phase requires from 16% to 34% of the nominal effort then testing the fir
and can last from
befefionrale deprliovduc.ery.
of the development time. 18% to 34%
Princjple of the effort estimate
Size equivalent: As the software might be
partly developed from
(that is, re-usable code), a full
design document (DD%), code ((%)
software
alteady
development is not always required. In such cases, existing
and the parts of
integration (1%) to be
an adjustment factor, A, is
calculated by means of the followingmodified are estimated Then
equation.
A= 0.4 DD +0.3 C +0.3I
The size equivalent i_ obtained by (4.12)
S(equivalent) =(S xAY100
where S represents the thousands of lines of (4.13)
code (KLOC) of the module.
developed that can be applied to the total project effort, E, Multipliers have been
Din order to allocate effort and total project
phase in the development
and schedule components to each time,
ware development program. There are life cycle of a soft
effort and schedule for each phase are assumed to be five distinct life cycle phases, and the
schedule by assumed to be given in terms of the overall effort
and
E, =,E
(4.14)
D,= ,D (4.15)
where , and , are given in Table 4.7.
ment that result in multipliers , and There exist more sophisticated versions of this
T, that not only depend on develop
life cycle and mode of the
of particular
attributes (BOEH81]. operation the software but also contain the correction termsphase
of e
for the l0
The COCOMO model is
able. It is very easy to use. certainly the most thoroughly documented model
tivity, particularly from theAnd by doing so, the
software manager can learn a
currently
lot about
avau
produe-
can be progressively very clear presentation of the cost
drivers. The size and cost drive
some difficulties, sinceadjusted to realistic values to some extent.
for a given software is not always possible to be sure which of theHowever,
it mode choice ole
development it might be a three modes is appropria
mixed mode.

You might also like