![]() |
VOOZH | about |
The Constructive Cost Model (COCOMO) It was proposed by Barry Boehm in 1981 and is based on the study of 63 projects, which makes it one of the best-documented models.
It is a Software Cost Estimation Model that helps predict the effort, cost, and schedule required for a software development project.
Table of Content
COCOMO Model is a procedural cost estimate model for Software Projects and is often used as a process of reliably predicting the various parameters associated with making a project such as size, effort, cost, time, and quality.
The key parameters that define the quality of any Software Product, which are also an outcome of COCOMO, are primarily effort and schedule.
In the COCOMO model, software projects are categorized into three types based on their complexity, size, and the development environment. These types are:
A software project is said to be an organic type if the team size required is adequately small, the problem is well understood and has been solved in the past and also the team members have a nominal experience regarding the problem.
A software project is said to be a Semi-detached type if the vital characteristics such as team size, experience, and knowledge of the various programming environments lie in between organic and embedded.
The projects classified as Semi-Detached are comparatively less familiar and difficult to develop compared to the organic ones and require more experience better guidance and creativity. Eg: Compilers or different Embedded Systems can be considered Semi-Detached types.
A software project requiring the highest level of complexity, creativity, and experience requirement falls under this category. Such software requires a larger team size than the other two models and also the developers need to be sufficiently experienced and creative to develop such complex models.
Here is the Comparison in detail where the project types of COCOMO Model
Aspects | Organic | Semidetached | Embedded |
|---|---|---|---|
Project Size | 2 to 50 KLOC | 50-300 KLOC | 300 and above KLOC |
Complexity | Low | Medium | High |
Team Experience | Highly experienced | Some experienced as well as inexperienced staff | Mixed experience, includes experts |
Environment | Flexible, fewer constraints | Somewhat flexible, moderate constraints | Highly rigorous, strict requirements |
Effort Equation | E = 2.4(400)1.05 | E = 3.0(400)1.12 | E = 3.6(400)1.20 |
Example | Simple payroll system | New system interfacing with existing systems | Flight control software |
Detailed COCOMO incorporates all characteristics of the intermediate version with an assessment of the cost driver's impact on each step of theSoftware Engineering Process.
In detailed COCOMO, the whole software is divided into different modules and then we apply COCOMO in different modules to estimate effort and then sum the effort.
The Six phases of detailed COCOMO are:
Different models of COCOMO have been proposed to predict the cost estimation at different levels, based on the amount of accuracy and correctness required. All of these models can be applied to a variety of projects, whose characteristics determine the value of the constant to be used in subsequent calculations. These characteristics of different system types are mentioned below. Boehm’s definition of organic, semidetached, and embedded systems:
There are three types of COCOMO Model:
The Basic COCOMO model is a straightforward way to estimate the effort needed for a software development project. It uses a simple mathematical formula to predict how many person-months of work are required based on the size of the project, measured in thousands of lines of code (KLOC).
It estimates effort and time required for development using the following expression:
E = a*(KLOC)b PM
Tdev = c*(E)d
Person required = Effort/ Time
Where,
E is effort applied in Person-Months
KLOC is the estimated size of the software product indicate in Kilo Lines of Code
Tdev is the development time in months
a, b, c are constants determined by the category of software project given in below table.
The above formula is used for the cost estimation of the basic COCOMO model and also is used in the subsequent models. The constant values a, b, c, and d for the Basic Model for the different categories of the software projects are:
| Software Projects | a | b | c | d |
|---|---|---|---|---|
| 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 |
Suppose that a Basic project was estimated to be 400 KLOC (kilo lines of code). Calculate effort and time for each of the three modes of development. All the constants value provided in the following table:
Solution: From the above table we take the value of constant a,b,c and d.
Below are the programs for Basic COCOMO Model:
The mode is Organic Effort = 10.289 Person-Month Development Time = 6.06237 Months Average Staff Required = 2 Persons
The basic COCOMO model assumes that the effort is only a function of the number of lines of code and some constants evaluated according to the different software systems. However, in reality, no system's effort and schedule can be solely calculated based on Lines of Code. For that, various other factors such as reliability, experience, and Capability. These factors are known as Cost Drivers (multipliers) and the Intermediate Model utilizes 15 such drivers for cost estimation.
Classification of Cost Drivers and their Attributes:
The cost drivers are divided into four categories
Product attributes:
Hardware attributes:
Personal attributes:
Project attributes:
Each of the 15 such attributes can be rated on a six-point scale ranging from "very low" to "extra high" in their relative order of importance. Each attribute has an effort multiplier fixed as per the rating. Table give below represents Cost Drivers and their respective rating:
The Effort Adjustment Factor (EAF) is determined by multiplying the effort multipliers associated with each of the 15 attributes.
The Effort Adjustment Factor (EAF) is employed to enhance the estimates generated by the basic COCOMO model in the following expression:
Intermediate COCOMO Model equation:
E = a*(KLOC)b * EAF PM
Tdev = c*(E)d
Where,
- E is effort applied in Person-Months
- KLOC is the estimated size of the software product indicate in Kilo Lines of Code
- EAF is the Effort Adjustment Factor (EAF) is a multiplier used to refine the effort estimate obtained from the basic COCOMO model.
- Tdev is the development time in months
- a, b, c are constants determined by the category of software project given in below table.
The constant values a, b, c, and d for the Basic Model for the different categories of the software projects are:
| Software Projects | a | b | c | d |
|---|---|---|---|---|
| Organic | 3.2 | 1.05 | 2.5 | 0.38 |
| Semi-Detached | 3.0 | 1.12 | 2.5 | 0.35 |
| Embedded | 2.8 | 1.20 | 2.5 | 0.32 |
Detailed COCOMO goes beyond Basic and Intermediate COCOMO by diving deeper into project-specific factors. It considers a wider range of parameters, like team experience, development practices, and software complexity. By analyzing these factors in more detail, Detailed COCOMO provides a highly accurate estimation of effort, time, and cost for software projects. It's like zooming in on a project's unique characteristics to get a clearer picture of what it will take to complete it successfully.
Here we discussed the COCOMO Model in detail you learned the basic to advance things related to the COCOMO Model. The Software Development Models are really helpful for the completing the process of development of software easily.