COCOMO
COCOMO
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
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:
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
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