Innovation Software Engineering
Aim:- To use the Constructive Cost Model (COCOMO) for cost estimation of cricket
organizing management system.
COCOMO:- The Constructive Cost Model (COCOMO) is an algorithmic
software cost estimation model developed by Barry Boehm. The model uses a basic
regression formula, with parameters that are derived from historical project data and
current project characteristics.
1. Basic Model:- Basic COCOMO computes software development effort (and
cost) as a function of program size. Program size is expressed in estimated thousands
of lines of code (KLOC).
COCOMO applies to three classes of software projects:
• Organic projects - "small" teams with "good" experience working with "less than
rigid" requirements
• Semi-detached projects - "medium" teams with mixed experience working with a
mix of rigid and less than rigid requirements
• Embedded projects - developed within a set of "tight" constraints (hardware,
software, operational, ...)
The basic COCOMO equations take the form
Effort Applied = ab(KLOC)bb [ person-months ]
Development Time = cb(Effort Applied)db [months]
People required = Effort Applied / Development Time [count]
The coefficients ab, bb, cb and db are given in the following table.
Software project ab bb cb db
Organic 2.4 1.05 2.5 0.38
Semi-detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32
Assuming Project size= 100 KLOC
Software development team has average experience on similar type of projects. The
project schedule is not very tight.
The semi-detached mode is the most appropriate mode; keeping in view the size,
schedule and experience of the development team.
E= 3.0(100)1.12 =521.340 PM
D= 2.5(521.340).35 = 22.3 M
Average staff size( SS) = E/D = 521.34/22.3 = 23.34 Persons.
Productivity = KLOC/E = 100/521.34 = 0.1918 KLOC/PM
2. Intermediate Model:-
Intermediate COCOMO computes software development effort as function of program
size and a set of "cost drivers" that include subjective assessment of product, hardware,
personnel and project attributes. This extension considers a set of four "cost drivers",each
with a number of subsidiary attributes:-
• Product attributes
o Required software reliability
o Size of application database
o Complexity of the product
• Hardware attributes
o Run-time performance constraints
o Memory constraints
o Volatility of the virtual machine environment
o Required turnabout time
• Personnel attributes
o Analyst capability
o Software engineering capability
o Applications experience
o Virtual machine experience
o Programming language experience
• Project attributes
o Use of software tools
o Application of software engineering methods
o Required development schedule
Each of the 15 attributes receives a rating on a six-point scale that ranges from
"very low" to "extra high" (in importance or value). An effort multiplier from the
table below applies to the rating. The product of all effort multipliers results in an
effort adjustment factor (EAF). Typical values for EAF range from 0.9 to 1.4.
Ratings
Very Very Extra
Cost Drivers Low Low Nominal High High High
Product attributes
Required software reliability 0.75 0.88 1.00 1.15 1.40
Size of application database 0.94 1.00 1.08 1.16
Complexity of the product 0.70 0.85 1.00 1.15 1.30 1.65
Hardware attributes
Run-time performance constraints 1.00 1.11 1.30 1.66
Memory constraints 1.00 1.06 1.21 1.56
Volatility of the virtual machine environment 0.87 1.00 1.15 1.30
Required turnabout time 0.87 1.00 1.07 1.15
Personnel attributes
Analyst capability 1.46 1.19 1.00 0.86 0.71
Applications experience 1.29 1.13 1.00 0.91 0.82
Software engineer capability 1.42 1.17 1.00 0.86 0.70
Virtual machine experience 1.21 1.10 1.00 0.90
Programming language experience 1.14 1.07 1.00 0.95
Project attributes
Application of software engineering methods 1.24 1.10 1.00 0.91 0.82
Use of software tools 1.24 1.10 1.00 0.91 0.83
Required development schedule 1.23 1.08 1.00 1.04 1.10
The Intermediate Cocomo formula now takes the form:
E=ai(KLoC)(bi).EAF
where E is the effort applied in person-months, KLoC is the estimated number of
thousands of delivered lines of code for the project, and EAF is the factor calculated
above. The coefficient ai and the exponent bi are given in the next table.
Software project ai bi
Organic 3.2 1.05
Semi-detached 3.0 1.12
Embedded 2.8 1.20
The Development time D calculation uses E in the same way as in the Basic COCOMO.
Required software reliability is high, i.e., 1.15
Product complexity is high, i.e., 1.15
Analyst capability is high, i.e., 0.86
All other drivers are nominal.
EAF=1.15*1.15*0.86 = 1.137
The initial effort estimate for the project is obtained from the following equation
E = 3.0(100) 1.12 * 1.137
= 592.763 PM
Development Time D = 2.5 ( 592.763) 0.35
= 23.36 M
3. Detailed COCOMO Model:-
Detailed COCOMO - incorporates all characteristics of the intermediate version with an
assessment of the cost driver's impact on each step (analysis, design, etc.) of the software
engineering process [Link] Detailed model introduces two more capabilities:-
Phase Sensitive Effort Multipliers:- Some phases are more affected than others by factors
defined by the cost drivers. The deatiled model provides a set of phase sensitive effort
multipliers for each cost driver. This helps in determining the manpower allocation for each
phase of the project.
Three Level product hierarchy:- 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.
Principle of Effort Estimate:- There are assumed to be five distinct life cycle phases, and the
effort schedule for each phase are assumed to be given in terms of the overall effort and
schedule by
Ep=µpE
Dp=τpD
Where µp and τp are given in table. There exists more sophisticated versions of this
development that result in multipliers µp and τp that not only depend on the particular phase
of the life cycle and mode of operation of the software but also contain the correction terms
for the 15 attributes.
Mode Plan & System Detail Module Integration
Requirement Design Design code & & Test
test
Lifecycle Phase Value of µp
Organic 0.06 0.16 0.26 0.42 0.16
small
Organic 0.06 0.16 0.24 0.38 0.22
medium
Semidetached 0.07 0.17 0.25 0.33 0.25
medium
Semidetached 0.07 0.17 0.24 0.31 0.28
large
Embedded 0.08 0.18 0.25 0.26 0.31
large
Embedded 0.08 0.18 0.24 0.24 0.34
extra large
Lifecycle Phase Value of τp
Organic 0.10 0.19 0.24 0.39 0.18
small
Organic 0.12 0.19 0.21 0.34 0.26
medium
Semidetached 0.20 0.26 0.21 0.27 0.26
medium
Semidetached 0.22 0.27 0.19 0.25 0.29
large
Embedded 0.36 0.36 0.18 0.18 0.28
large
Embedded 0.40 0.38 0.16 0.16 0.30
extra large
Plan & requirement Phase:
Ep=µpE = 0.07*592.763 = 41.493 PM
Dp=τpD = 0.22*23.36 = 5.139 M
System design phase:
Ep=µpE = 0.17*592.763 = 100.77 PM
Dp=τpD = 0.27*23.36 = 6.307 M
Detail Design phase:
Ep=µpE = 0.24*592.763 = 142.263 PM
Dp=τpD = 0.19*23.36 = 4.44 M
Module code & test phase:
Ep=µpE = 0.31*592.73 = 183.756 PM
Dp=τpD = 0.25*23.36= 5.84 M
Integration & test phase:
Ep=µpE = 0.28*592.73 = 165.973 PM
Dp=τpD = 0.29*23.36 = 6.78 M