Other Tutorials by

Visual Basic - Visual Basic tutorials

VB6 beginners tutorial - Learn VB6

Advanced VB6 tutorial - Learn Advanced VB6

You are here: > Systems Analysis and Design

COCOMO, COnstructive COst MOdel

COCOMO, COnstructive COst MOdel is static single-variable model. Barry Boehm introduced COCOMO models. There is a hierarchy of these models.

Model 1:

Basic COCOMO model is static single-valued model that computes software development effort (and cost) as a function of program size expressed in estimated lines of code.

Model 2:

Intermediate COCOMO model computes software development effort as a function of program size and a set of "cost drivers" that include subjective assessments of product, hardware, personnel, and project attributes.

Model 3:

Advanced COCOMO model incorporates all characteristics of the intermediate version with an assessment of the cost driver's impact on each step, like analysis, design, etc.

COCOMO can be applied to the following software project's categories.

Organic mode:

These projects are very simple and have small team size. The team has a good application experience work to a set of less than rigid requirements. A thermal analysis program developed for a heat transfer group is an example of this.

Semi-detached mode:

These are intermediate in size and complexity. Here the team has mixed experience to meet a mix of rigid and less than rigid requirements. A transaction processing system with fixed requirements for terminal hardware and database software is an example of this.

Embedded mode:

Software projects that must be developed within a set of tight hardware, software, and operational constraints. For example, flight control software for aircraft.

The basic COCOMO model takes the form


E is the effort applied in person-month,
D is the development time in chronological month,
KLOC is the estimated number of delivered lines ( expressed in thousands ) of code for project,
The ab and cb and the exponents bb and db are given in the table below.


The basic model is extended to consider a set of "cost drivers attributes". These attributes can be grouped together into four categories.

  1. Product attributes

    a) Required software reliability.
    b) Complexity of the project.
    c) Size of application database.

  2. Hardware attributes

    a) Run-time performance constraints.
    b) Volatility of the virtual machine environment.
    c) Required turnaround time.
    d) Memory constraints.

  3. Personnel attributes

    a) Analyst capability.
    b) Software engineer capability.
    c) Virtual machine experience.
    d) Application experience.
    e) Programming language experience.

  4. Project attributes

    a) Application of software engineering methods.
    b) Use of software tools.
    c) Required development schedule.

Each of the 15 attributes is rated on a 6-point scale that ranges from "very low" to "very high" in importance or value. Based on the rating, an effort multiplier is determined from the tables given by Boehm. The product of all multipliers results in an effort adjustment factor (EAF). Typical values of EAF range from 0.9 to 1.4.

Example : Problem Statement same as LOC problem refer section 3.2.1

KLOC = 10.9
E = ab (KLOC)exp(bb)
= 2.4(10.9)exp(1.05)
= 29.5 person-month

D = Cb(E)exp(db)
= 2.5(29.5)exp(.38)
= 9.04 months

The intermediate COCOMO model takes the following form.

E = ai(LOC)exp(bi) X EAF

E is the effort applied in person-months,
LOC is the estimated number of delivered lines of code for the project.
The coefficient ai and the exponent bi are given in the table below.

Intermediate COCOMO
Intermediate COCOMO


<< Previous Page | Contents | Next Page >>


Home | About Us | Privacy Policy | Contact Us

Copyright © | All Rights Reserved