## COCOMO Model in Software Engineering

In this Tutorial, we discuss the project estimation model COCOMO, which defines the effort and development time of the software project. It describes the various projects with an estimate of the effort and scheduled time based on many parameters.

## Introduction

The COCOMO (Constructive Cost Model) is a widely used software cost estimation model that evaluates or predicts the amount of effort necessary for a project, the final project cost, as well as the project’s anticipated time. For software product development, this approach is based on the number of program code. It was created in 1981 by software engineer Barry Boehm.

## What is COCOMO Model?

Depending on the size of the software platform, the COCOMO predicts the expense of software application progress in terms of activity (resources necessary to finish the project activities) and scheduling (time necessary to finish the project activities). It calculates the number of Man-Months (MM) necessary for complete software development.

## Categories of COCOMO model

Here on basic principle of production complexity, software architectures are divided into three areas: organic, semi-detached, and embedded.

1. Organic: If indeed the project scope is the same, the team seems to be well, and the project involves constructing a very well software application, it is deemed organically.
2. Semi-detached: A development project is defined as semi-detached when it contains both experienced and inexperienced team members such as a database management system.
3. Embedded: A software project is considered to be embedded if the program is strongly coupled to complex hardware or if strong regulations on how a program works are imposed. An ATM is an example imbedded development because it has strict restrictions on how it can be used.

## Types of COCOMO Model

There are three types of COCOMO models are as follows.

Basic model:

The COCOMO model was used to determine the exact volume of the planning objectives. It’s useful for a quick estimated cost. The following relationship gives the predicted efforts and timeframes.

```Effort (E) = a*(KLOC)b  MM
Scheduled Time (D) = c*(E)d  Months(M)
Where,
E            = Total effort required for the project in Man-Months (MM).
a, b, c, d   = The constant parameters for a software project.
D            = Total time required for project development in Months (M).
KLOC         = The size of the code for the project in Kilo lines of code.
```

Intermediate model:Intermediate model:

Intermediate COCOMO calculates software development efforts based on programme size and a collection of “costing systems” that comprise subjectively product, hardware, staff, and project variables. The following relationship gives the predicted effort and timeframes.

```Effort (E) = a*(KLOC)b *EAF  MM
Scheduled Time (D) = c*(E)d  Months(M)
E           = Total effort required for the project in Man-Months (MM).
a, b, c, d  = The constant parameters for a software project.
D           = Total time required for project development in Months (M).
KLOC        = the size of the code for the project in Kilo lines of code.
```

Detailed model:

Detailed COCOMO combines all of the benefits of the standard model plus an analysis of the pricing driver’s impact on every software engineering methodology.

• Unlike other concepts including such SLIM, COCOMO is transparent, allowing users to understand how it works.
• Estimators can use drivers to better understand the influence of various elements that determine project costs.
• COCOMO offers suggestions for historical initiatives.
• The COCOMO model makes estimating the development’s overall cost simple.
• The variables are quite useful in determining the influence of various elements on project crises.

• Estimating KDSI early stages of the project, whereas most exertion predictions are needed, is difficult.
• The KDSI is a dimension parameter, not a size standard measure.
• Extremely sensitive to development phase misunderstanding.
• Customizing the modeling to the requirements of the organization, using previous data that is not always accessible, is critical to success.
• It excludes customer skills, participation, and understanding while limiting the reliability of programming prices.

## FAQs

### Q1. What does Cocomo model do?

The Cocomo (Constructive Cost Model) prediction model is depending on the amount of programming language, or LOC. It is a systematic cost estimate component of software programs that is frequently used as a method of accurately estimating numerous project factors such as length, energy, price, duration, and reliability.

### Q2. What are different types of Cocomo model?

These are types of COCOMO model:

• Basic COCOMO Model.
• Intermediate COCOMO Model.
• Detailed COCOMO Model.

### Q3. What are the limitations of Cocomo model?

It overlooks hardware faults as well as high employee turnover. It disregards all paperwork and specifications. It is largely determined by the passage of time. It reduces the precision of software costs.

### Q4. What is COCOMO 1 and COCOMO 2 model?

COCOMO 1 is used in waterfall software development cycle models. COCOMO 2 is beneficial in software engineering and reuse models that are not consecutive. It provides estimations of time and effort. It gives you estimates that are one standard deviation away from the most common prediction.

### Q5. Where we use spiral model?

The Spiral Model is commonly employed in the software industry because it is in line with any product’s organic development phase, i.e. learning with maturity while posing the least amount of risk to both the client and the development business. Whenever there is a financial restriction, risk assessment is critical.