The COCOMO Model notes provide a comprehensive overview of software cost estimation techniques developed by Barry Boehm. This resource covers the three types of projects in the COCOMO Model: Organic, Semi-detached, and Embedded, detailing their characteristics and development requirements. It also includes equations for estimating effort and time based on project size, making it essential for software engineers and project managers. Ideal for students and professionals looking to understand software project estimation methodologies.

Key Points

  • Explains the three types of projects in the COCOMO Model: Organic, Semi-detached, and Embedded.
  • Details the characteristics and team experience required for each project type.
  • Includes effort estimation equations for software development based on project size.
  • Provides insights into the planning and requirements phase of software projects.
Kamakshi Nandoyi
15 pages
Language:English
Type:Study Guide
Kamakshi Nandoyi
15 pages
Language:English
Type:Study Guide
382
/ 15
COCOMO Model
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.
COCOMO Model 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.
Types of Projects in COCOMO Model
In the COCOMO model, software projects are categorized into three types based on
their complexity, size, and the development environment. These types are:
1. Organic
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.
2. Semi-detached
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.
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 than the other two models and also the developers need to be sufficiently
experienced and creative to develop such complex models.
Comparison of Types of Projects in COCOMO Model
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
Structure of COCOMO Model
1. Planning and requirements: This initial phase involves defining the scope,
objectives, and constraints of the project. It includes developing a project plan that
outlines the schedule, resources, and milestones
2. System design: : In this phase, the high-level architecture of the software system
is created. This includes defining the system’s overall structure, including major
components, their interactions, and the data flow between them.
3. Detailed design: This phase involves creating detailed specifications for each
component of the system. It breaks down the system design into detailed
descriptions of each module, including data structures, algorithms, and interfaces.
4. Module code and test: This involves writing the actual source code for each
module or component as defined in the detailed design. It includes coding the
functionalities, implementing algorithms, and developing interfaces.
5. Integration and test: This phase involves combining individual modules into a
complete system and ensuring that they work together as intended.
6. Cost Constructive model: The Constructive Cost Model (COCOMO) is a widely
used method for estimating the cost and effort required for software development
projects.
Types of COCOMO Model
There are three types of COCOMO Model:
/ 15
End of Document
382

FAQs

What are the main types of projects in the COCOMO Model?
The COCOMO Model categorizes software projects into three main types: Organic, Semi-detached, and Embedded. Organic projects involve small teams with well-understood problems, while Semi-detached projects require a mix of experienced and inexperienced staff. Embedded projects are the most complex, necessitating larger teams and higher levels of expertise.
How does the COCOMO Model estimate software development effort?
The COCOMO Model uses specific equations to estimate the effort required for software development based on the size of the project, measured in KLOC (thousands of lines of code). Each project type has its constants, allowing for tailored estimates that reflect the complexity and requirements of the project.
What is the significance of the COCOMO Model in software engineering?
The COCOMO Model is significant in software engineering as it provides a structured approach to estimating project costs, effort, and timelines. By categorizing projects and applying specific equations, it helps project managers make informed decisions regarding resource allocation and project planning.
What are the phases outlined in the COCOMO Model?
The COCOMO Model outlines six key phases in software development: Planning and requirements, System design, Detailed design, Module code and test, Integration and test, and Cost Constructive model. Each phase plays a crucial role in ensuring the successful delivery of software projects.