What is the Cocomo Model?
The Cocomo Model is a cost estimate model for software projects and is
often used as a reliably predicting the various parameters such as size,
effort, cost, time, and quality.
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.
Outcome of the Cocomo are primarily
Effort and schedule
Effort: Amount of labor that will be required to complete a task. It is
measured in person-months units.
Schedule: This simply means the amount of time required for the
completion of the job.
Types of Project
1. Organic
A software project is said to be an organic type if the required team size
is small
The problem is well understood and has been solved in the past.
Team members have a nominal experience regarding the problem.
Types of Project
2. Semi-detached
A software project is said to be a Semi-detached type if the
characteristics such as team size, experience, and knowledge of the
various programming environments lie in between organic and
embedded.
Eg: Compilers or different Embedded Systems can be considered Semi-
Detached types.
Types of Project
3. Embedded
• A software project requiring the highest level of complexity, creativity,
and experience requirement falls under this category.
• Such software requires a larger team size
• sufficiently experienced
• ATM, Air Traffic control
Detailed Structure of COCOMO Model
The Six phases of detailed COCOMO are:
• Planning and requirements
• System design
• Detailed design
• Module code and test
• Integration and test
• Cost Constructive model
Detailed Structure of COCOMO Model
Importance of the COCOMO Model
• Cost Estimation: To help with resource planning and project
budgeting, COCOMO offers a methodical approach to software
development cost estimation.
• Resource Management: By taking team experience, project size, and
complexity into account, the model helps with efficient resource
allocation.
• Project Planning: COCOMO assists in developing practical project
plans that include attainable objectives, due dates, and benchmarks.
Importance of the COCOMO Model
• Risk management: Early in the development process, COCOMO
assists in identifying and reduce potential hazards by including risk
elements.
• Support for Decisions: During project planning, the model provides a
quantitative foundation for choices about scope, priorities, and
resource allocation.
• Benchmarking: To compare and assess various software development
projects to industry standards, COCOMO offers a benchmark.
• Resource Optimization: The model helps to maximize the use of
resources, which raises productivity and lowers costs.
1. Basic model
The basic model is used for quick and rough cost calculations for the
software.
It calculates the effort, time, and number of people required to use a
project's kLOC (kilo lines of code).
1. Basic model
The following are the constant values for the basic model:
2. Intermediate model
The intermediate model is an extension of the basic model.
Includes a set of cost drivers to calculate the estimates with better
accuracy.
2. Intermediate model
The following are the constant values for the basic model:
2. Intermediate model
Cost drivers
1. Product Attributes
• Required software reliability extent
• Size of the application database
• The complexity of the product
2. Intermediate model
Cost drivers
2. Hardware attributes
• Run time performance constraints
• Memory constraints
• The volatility of the virtual machine environment
• Required turnabout time
2. Intermediate model
Cost drivers
Personal attributes
• Analyst capabilities
• Software engineering capabilities
• Applications experience
• Virtual machine experience
• Programming language experience
2. Intermediate model
Cost drivers
3. Project attributes
• Use of software tools
• Application of software engineering methods
• Required development schedule