COCOMO Model in Software Engineering - CodeTextPro

 COCOMO Model in Software Engineering:

Constructive Cost Estimation Model (COCOMO) was proposed by Boehm in 1981. It prescribes a three-stage process for project estimation. In the first stage, an initial estimate arrives. Over the next two stages, the initial estimate refines to arrive at a more accurate estimate. COCOMO uses both single and multi-variable estimation models at different stages of estimation. 

In Software Engineering, There are three stages of the COCOMO Model estimation technique are:

i. Basic COCOMO Model 
ii. Intermediate COCOMO Model 
iii. Complete COCOMO Model

Basic COCOMO Model:  

Boehm postulated that any software development project. It classifies into one of the following three categories based on the development complexity – 
i. Organic 
ii. Semi-detached 
iii. Embedded


We can classify a development project to be of the organic type if the project deals with developing a well-understood application program, the size of the development team is reasonably small, and the team members are experienced in developing similar types of projects.


A development project classifies the semidetached type if the development team. It consists of a mixture of experienced and inexperienced staff. Team members may have limited experience in related systems but may be unfamiliar with some aspects of the system being developed.


A development project considers the embedded type, if the software being developed is strongly coupled to hardware, or if stringent regulations on the operational procedures exist. Team members may have limited experience in related systems but they may be unfamiliar with some aspects of the system being developed.

General form of the Basic COCOMO Expressions:

The basic COCOMO model is a single variable heuristic model that gives an approximate estimate of the project parameters. The basic COCOMO estimation model is of the following forms:

Effort = a1 × (KLOC)a2 PM 
Tdev = b1 × (Effort)b2 months

i. KLOC: It is the estimated size of the software product expressed in Kilo Lines Of Code. 
ii. a1, a2, b1, b2 are constants for each category of software product. iii. Tdev: It is the estimated time to develop the software, expressed in months. iv. Effort: It is the total effort required to develop the software product, expressed in person- months (PMs).

1. Suppose a project was estimated to be 400 KLOC. Calculate the effort and development time for each of the three model i.e., organic, semi-detached & embedded. 

Solution: The basic COCOMO equation takes the form: 

Effort=a1*(KLOC) a2 PM 
Tdev=b1*(efforts)b2 Months 
Estimated Size of project= 400 KLOC

(i)Organic Mode 
E = 2.4 * (400)1.05 = 1295.31 PM 
D = 2.5 * (1295.31)0.38=38.07 PM

(ii)Semidetached Mode 
E = 3.0 * (400)1.12=2462.79 PM 
D = 2.5 * (2462.79)0.35=38.45 PM

(iii) Embedded Mode 
E = 3.6 * (400)1.20 = 4772.81 PM 
D = 2.5 * (4772.8)0.32 = 38 PM

Example2: A project size of 200 KLOC is to be developed. Software development team has average experience on similar type of projects. The project schedule is not very tight. Calculate the Effort, development time, average staff size, and productivity of the project.

Solution: The semidetached mode is the most appropriate mode, keeping in view the size, schedule and experience of development time.

Hence   E=3.0(200)1.12=1133.12PM                                                               D=2.5(1133.12)0.35=29.3PM

P = 176 LOC/PM

Intermediate COCOMO Model: 

The basic COCOMO model assumes that effort and development time are functions of the product size alone. However, a host of other project parameters besides the product size affect the effort as well as the time required to develop the product. 

It uses a set of 15 cost drivers (multipliers) that determines based on various attributes of software development. These cost drivers multiply with the initial cost and effort estimates to appropriately scale those up or down.

Complete COCOMO model: 

A major shortcoming of both the basic and the intermediate COCOMO models is that they consider a software product as a single homogeneous entity. However, most large systems are made up of several smaller sub-systems. These sub-systems often have widely different characteristics. 

The Complete COCOMO model considers these differences in characteristics of the subsystems and estimates the effort and development time as the sum of the estimates for the individual sub-systems. In other words, the cost to develop each sub-system estimates separately. The complete system cost determines as the subsystem costs. This approach reduces the margin of error in the final estimate.

Post a Comment