Difference between COCOMO 1 and COCOMO 2 Model

The COCOMO 1 and COCOMO 2 models are the cost-estimating models that are commonly utilized in the waterfall model. These models were introduced by Barry Boehm. These cost-estimating models are utilized for calculating the cost of software development. The basic COCOMO model was released first, followed by upgraded variants of the COCOMO model. The main distinction between these two COCOMO models is that the COCOMO 1 model assists in providing estimates for efforts and schedules. In contrast, the COCOMO 2 model gives estimates that indicate a standard deviation near the most common estimate.

In this article, you will learn about the difference between COCOMO 1 and COCOMO 2. But before discussing the differences, you must know about COCOMO 1 and COCOMO 2.

What is COCOMO 1?

COCOMO is an abbreviation for "Constructive Cost Model". It was the first model that was designed to calculate the software development cost. The linear reuse formula and the premise of stable reasonability needs underpin the COCOMO 1 model. The COCOMO model was designed and developed by Barry W. Boehm in the 1980s. It is the simplest model that is offered for calculating the development time, software cost, average team size, and effort necessary to produce a software project. This approach is based on the number of lines of code delivered (in thousands).

COCOMO 1 model provides estimates of schedule and effort. It uses the total number of code lines delivered to produce estimations. Three development modes define the exponent of COCOMO 1's effort equation. The COCOMO 1 model is allocated 15 cost drivers. It is important in the waterfall models of SDLC. The software projects are divided mainly into 3 types to estimate the effort accurately. These are as follows:

1. Organic Projects

Organic projects are not particularly large in size, and it only contains 50 KDLOC (a kilo of delivered lines of codes or less). It necessitates a pre-experienced team and a deep knowledge of the software project. These projects are simple to create and have no time constraints. Some examples of organic projects are business systems, inventory management systems, payroll management systems, and many others.

2. Embedded Projects

These types of projects are highly sophisticated and contain 300 KDLOC or more. The team necessary to complete these projects does not require being highly experienced and new developers can also readily participate in these initiatives. However, when developing these projects, users must adhere to strict constraints (hardware, software, people, and deadlines) and must meet the user's stringent requirements. These projects include software systems that are utilized in avionics and military technology.

3. Semi-detached Projects

This category falls between organic and embedded initiatives. Similarly, the complexity of these COCOMO projects falls somewhere between embedded and organic projects, where less than 300,000 lines of code may be delivered. An averagely experienced user and a medium timeframe are required to make the goods. These projects could include the design of OS, databases, compilers, and other things.

COCOMO Formula to Estimate Software Development Efforts

Here is the formula that you may utilize to estimate the software development efforts:

Effort (E) = a1 * (KLOC) a2 PM
Scheduled Time (D) = b1 * (Effort) b2 Months

In this formula,

  1. E represents the effort that is utilized in person months.
  2. D represents the development time in chronological months.
  3. KLOC represents the Kilo code lines for the project.
  4. P represents the total number of users that need to finish the project.

This formula utilizes the coefficients a1, b1, a2, and c2 for 3 modes. These coefficients for 3 modes are as follows: 

ProjectA1B1A2B2
Organic2.41.052.50.38
Semi-detached3.01.122.50.35
Embedded3.61.202.50.32

What is COCOMO 2?

COCOMO 2 is another cost-estimating methodology utilized to calculate the cost of software development. It is a modified version of the original COCOMO that was developed at the University of Southern California. It was mainly designed to resolve the shortcomings of the COCOMO 1 model. Its primary goal is to offer methodologies, quantitative analytic structure, and tools. It computes the total development time and effort that is based on the estimates of all individual subsystems.

It is based on the non-linear reuse formula. This approach assists in offering estimates that represent one standard deviation of the most common estimate. Five scale factors define its effort equation exponent, and it has 17 cost drivers attributed to it. It is useful in the software development cycle (SDLC) non-sequential, reuse, rapid development, and reengineering models.

COCOMO 2 estimation models

There are mainly 4 types of COCOMO 2 estimation models. These models are as follows:

1. Application Composition Model

It is intended for usage with reusable components to create prototype development estimates and operates on the basis of object points. It is more suited to prototype system development.

2. Early Design Model

After gathering requirements, the model is utilized during the system design phase. It generates estimates based on function points, which are subsequently converted into numerous lines of source code. The estimates at this level are based on the basic algorithm model formula. You may utilize the following formula:

Effort = A x Size B x M

In this formula,

  • A is a constant whose value should be 94.
  • B represents the increase in effort ranges from 1 to 1.24 depending on scaling factors such as development flexibility, precedentedness, team cohesion, and many others.
  • The M is determined by the cost drivers or the project parameters.

3. Reuse Model

This model computes the effort that is required to join reusable components and/or program code generated by design or program conversion tools. There are mainly two kinds of reused codes: white-box and black-box code. When there is no knowledge of the code, and no alteration is conducted in it, black box code is employed. In contrast, the white box is utilized when the new code is added. The effort needed to integrate this code is estimated as follows:

E = (ALOC x AT/100)/ATPROD

In this formula,

  • ALOC represents the number of LOC that must be modified in a component.
  • AT represents the automatically produced adapted code percentage.
  • ATPROD represents the productivity in code combining. It may be worth up to 2400 LOC every month.

4. Post Architecture Model

A more accurate software estimate may be generated after designing the system architecture, and it is regarded as the most detailed of all models capable of producing an accurate estimate. The post-architecture model effort may be calculated using the following formula:

Effort = A x Size B x M

Key differences between COCOMO 1 and COCOMO 2

Difference between COCOMO 1 and COCOMO 2 Model

There are various key differences between COCOMO 1 and COCOMO 2. Some of the key differences between COCOMO 1 and COCOMO 2 are as follows:

  1. COCOMO 1 is very useful in waterfall model of the software development cycle (SDLC). In contrast, COCOMO 2 is useful in quick development, non-sequential, and reuses software models.
  2. COCOMO 1 is mainly based on the assumption of reasonable stable needs. In contrast, COCOMO 2 is based on the reuse model, which emphasizes the effort necessary to understand and estimate.
  3. COCOMO 1 offers time estimations and effort. In contrast, COCOMO 2 offers estimates that are one standard deviation from the most common estimate.
  4. COCOMO 1 development begins after the needs are assigned to the software. In contrast, COCOMO 2 employs the spiral development strategy.
  5. The size of the program in COCOMO 1 is indicated in lines of code. In contrast, COCOMO 2 has extra factors for expressing software size, including lines of code, object points, and function points.
  6. In COCOMO 1, no scaling factors are employed. In contrast, in COCOMO 2, scaling factors are utilized to estimate work.
  7. COCOMO 1 has 3 submodels (basic, intermediate, and advanced). In contrast, COCOMO 2 has 4 submodels (application development model, post-architectural model, early design model, and reuse model).
  8. COCOMO 1 makes utilize of 15 cost drivers. In contrast, COCOMO 2 makes utilize 17 different cost drivers.
  9. As compared to the COCOMO 1 model, COCOMO 2 may reduce the amount of risk.
  10. In COCOMO 1, the effort formula's exponent is calculated utilizing three different development modes. In contrast, in COCOMO 2, the effort formula's exponent is based on five scale factors.

Head-to-head comparison between COCOMO 1 and COCOMO 2

Here, you will learn the head-to-head comparisons between COCOMO 1 and COCOMO 2. The main differences between COCOMO 1 and COCOMO 2 are as follows:

FeaturesCOCOMO 1COCOMO 2
Full FormsCOCOMO 1 is an abbreviation for Constructive Cost Model 1.COCOMO 2 is an abbreviation for Constructive Cost Model 2.
Utilization ModelsIt is utilized in the waterfall model of SDLC.It is useful in quick development, non-sequential, and reuses software models.
BasicIt is based on the linear reuse formula.It is based on the non-linear formula.
Estimation PrecisionIt offers estimates of the effort and timeline.It offers estimates that are one standard deviation from the most common estimate.
Size of program statementsThe program's size is indicated in code lines.It has extra factors for expressing software size, including lines of code, object points, and function points.
Model frameworkThe requirements given to the software come first in the development process.It utilizes the spiral type of development.
Effort equation's exponentThe 3 development methods define the exponent of the effort equation.The 5 scale methods define the exponent of the effort equation.
Sub modelsIt has 3 submodels.It has 4 submodels.
Cost DriversIt utilizes 15 cost drivers.It utilizes 17 cost drivers.

Conclusions

COCOMO models have evolved over time according to programming and software developments. The primary distinction between these two cost-estimating models is that COCOMO 1 model is based on the linear reuse formula. In contrast, COCOMO 2 model is based on the non-linear reuse formula. COCOMO 1 model was mainly designed for software-generated using procedural languages and constructs. However, in today's settings, most languages and software are designed utilizing object-oriented paradigms that make COCOMO 2 model more appropriate.






Latest Courses