Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

COCOMO Model

Definition of COCOMO Model

The COCOMO (Constructive Cost Model) is one of the most popularly used Software cost estimation models i.e. it estimates or predicts the effort required for the project, total project cost and scheduled time for the project. This model depends on the number of lines of code for software product development. It was developed by a software engineer Barry Boehm in 1981.

What is COCOMO Model?

The COCOMO estimates the cost for software product development in terms of effort (resources required to complete the project work) and schedule (time required to complete the project work) based on the size of the software product. It estimates the required number of Man-Months (MM) for the full development of software products. According to COCOMO, there are three modes of software development projects that depend on complexity. Such as:

1. Organic Project

It belongs to small & simple software projects which are handled by a small team with good domain knowledge and few rigid requirements.

Example: Small data processing or Inventory management system.

2. Semidetached Project

It is an intermediate (in terms of size and complexity) project, where the team having mixed experience (both experience & inexperience resources) to deals with rigid/nonrigid requirements.

Example: Database design or OS development.

3. Embedded Project

This project having a high level of complexity with a large team size by considering all sets of parameters (software, hardware and operational).

Example: Banking software or Traffic light control software.

Types of COCOMO Model

Depending upon the complexity of the project the COCOMO has three types. Such as:

1. The Basic COCOMO

It is the one type of static model to estimates software development effort quickly and roughly. It mainly deals with the number of lines of code and the level of estimation accuracy is less as we don’t consider the all parameters belongs to the project. The estimated effort and scheduled time for the project are given by the relation:

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).
  • D = Total time required for project development in Months (M).
  • KLOC = the size of the code for the project in Kilo lines of code.
  • a, b, c, d = The constant parameters for a software project.
PROJECT TYPE a b c d
Organic 2.4 1.05 2.5 0.38
Semidetached 3 1.12 2.5 0.35
Embedded 3.6 1.2 2.5 0.32

Example: For a given project was estimated with a size of 300 KLOC. Calculate the Effort, Scheduled time for development. Also, calculate the Average resource size and Productivity of the software for Organic project type.

Ans: Given estimated size of project is: 300 KLOC

For Organic

Effort (E) = a*(KLOC)b = 2.4*(300)1.05 = 957.61 MM

Scheduled Time (D) = c*(E)d  = 2.5*(957.61)0.38 = 33.95 Months(M)

Avg. Resource Size = E/D = 957.61/33.95 = 28.21 Mans

Productivity of Software = KLOC/E = 300/957.61 = 0.3132 KLOC/MM = 313 LOC/MM

For Semidetached

Effort (E) = a*(KLOC)b = 3.0*(300)1.12 = 1784.42 MM

Scheduled Time (D) = c*(E)d  = 2.5*(1784.42)0.35 = 34.35 Months(M)

For Embedded

Effort (E) = a*(KLOC)b = 3.6*(300)1.2 = 3379.46 MM

Scheduled Time (D) = c*(E)d  = 2.5*(3379.46)0.32 = 33.66 Months(M)

2. The Intermediate COCOMO

The intermediate model estimates software development effort in terms of size of the program and other related cost drivers parameters (product parameter, hardware parameter, resource parameter, and project parameter) of the project. The estimated effort and scheduled time are given by the relationship:

Effort (E) = a*(KLOC)b *EAF  MM
Scheduled Time (D) = c*(E)d  Months(M)

Where,

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

EAF = It is an Effort Adjustment Factor, which is calculated by multiplying the parameter values of different cost driver parameters. For ideal, the value is 1.

COST DRIVERS PARAMETERS VERY LOW LOW NOMINAL HIGH VERY HIGH
Product Parameter
Required Software 0.75 0.88 1 1.15 1.4
Size of Project Database NA 0.94 1.08 1.16
Complexity of The Project 0.7 0.85 1.15 1.3
Hardware Parameter
 Performance Restriction NA NA 1 1.11 1.3
Memory Restriction NA NA 1.06 1.21
 virtual Machine Environment NA 0.87 1.15 1.3
Required Turnabout Time NA 0.94 1.07 1.15
Personnel Parameter
Analysis Capability 1.46 1.19 1 0.86 0.71
Application Experience 1.29 1.13 0.91 0.82
Software Engineer Capability 1.42 1.17 0.86 0.7
Virtual Machine Experience 1.21 1.1 0.9 NA
Programming  Experience 1.14 1.07 0.95 NA
Project Parameter
Software Engineering Methods 1.24 1.1 1 0.91 0.82
Use of Software Tools 1.24 1.1 0.91 0.83
Development Time 1.23 1.08 1.04 1.1

Example: For a given project was estimated with a size of 300 KLOC. Calculate the Effort, Scheduled time for development by considering developer having high application experience and very low experience in programming.

Ans:

Given the estimated size of the project is: 300 KLOC

Developer having highly application experience: 0.82 (as per above table)

Developer having very low experience in programming: 1.14(as per above table)

EAF = 0.82*1.14 = 0.9348

Effort (E) = a*(KLOC)b *EAF = 3.0*(300)1.12 *0.9348 = 1668.07 MM

Scheduled Time (D) = c*(E)d  = 2.5*(1668.07)0.35 = 33.55 Months(M)

3. The Detailed COCOMO

It is the advanced model that estimates the software development effort like Intermediate COCOMO in each stage of the software development life cycle process.

Advantages and Disadvantages of COCOMO Model

Following are some advantages and disadvantages of the COCOMO model.

Advantages

  • Easy to estimate the total cost of the project.
  • Easy to implement with various factors.
  • Provide ideas about historical projects.

Disadvantages

  • It ignores requirements, customer skills, and hardware issues.
  • It limits the accuracy of the software costs.
  • It mostly depends on time factors.

Conclusion

In this article, we discuss the project estimation model COCOMO, which describes the effort and development time of the software project. It describes the different projects with an estimate of the effort and scheduled time by considering multiple factors.

Recommended Articles

This is a guide to the COCOMO Model. Here we discuss the Definition and What is COCOMO model along with its types, advantages, and disadvantages. You may also have a look at the following articles to learn more –

  1. Tutorials on UML Deployment Diagram
  2. Understand the Phases of Waterfall Model
  3. What is Spiral Model and How is it Used?
  4. Iterative Model in Software Development

The post COCOMO Model appeared first on EDUCBA.



This post first appeared on Best Online Training & Video Courses | EduCBA, please read the originial post: here

Share the post

COCOMO Model

×

Subscribe to Best Online Training & Video Courses | Educba

Get updates delivered right to your inbox!

Thank you for your subscription

×