# Difference between COCOMO 1 and COCOMO 2

**COCOMO 1 Model****:**

The Constructive Cost Model was first developed by Barry W. Boehm. The model is for estimating effort, cost, and schedule for software projects. It is also called as Basic COCOMO. This model is used to give an approximate estimate of the various parameters of the project. Example of projects based on this model is business system, payroll management system and inventory management systems.

**COCOMO 2 Model****:**

The COCOMO-II is the revised version of the original Cocomo (Constructive Cost Model) and is developed at the University of Southern California. This model calculates the development time and effort taken as the total of the estimates of all the individual subsystems. In this model, whole software is divided into different modules. Example of projects based on this model is Spreadsheets and report generator.

**Difference between COCOMO 1 and COCOMO 2:**

COCOMO I | COCOMO II |
---|---|

COCOMO I is useful in the waterfall models of the software development cycle. | COCOMO II is useful in non-sequential, rapid development and reuse models of software. |

It provides estimates of effort and schedule. | It provides estimates that represent one standard deviation around the most likely estimate. |

This model is based upon the linear reuse formula. | This model is based upon the non linear reuse formula |

This model is also based upon the assumption of reasonably stable requirements. | This model is also based upon reuse model which looks at effort needed to understand and estimate. |

Effort equation’s exponent is determined by 3 development modes. | Effort equation’s exponent is determined by 5 scale factors. |

Development begins with the requirements assigned to the software. | It follows a spiral type of development. |

Number of submodels in COCOMO I is 3 and 15 cost drivers are assigned | In COCOMO II, Number of submodel are 4 and 17 cost drivers are assigned |

Size of software stated in terms of Lines of code | Size of software stated in terms of Object points, function points and lines of code |