0% found this document useful (0 votes)
45 views4 pages

COCOMO Model

The COCOMO model is a software cost estimation framework that predicts effort, development time, and staffing needs based on project size, typically measured in lines of code. It includes three levels: Basic COCOMO for rough estimates, Intermediate COCOMO incorporating cost drivers, and Detailed COCOMO for phase-wise estimates. COCOMO II, introduced in 1997, adapts to modern software development practices and emphasizes function points over lines of code.

Uploaded by

deeptamayanayak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views4 pages

COCOMO Model

The COCOMO model is a software cost estimation framework that predicts effort, development time, and staffing needs based on project size, typically measured in lines of code. It includes three levels: Basic COCOMO for rough estimates, Intermediate COCOMO incorporating cost drivers, and Detailed COCOMO for phase-wise estimates. COCOMO II, introduced in 1997, adapts to modern software development practices and emphasizes function points over lines of code.

Uploaded by

deeptamayanayak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

KIRAN

Introduction to COCOMO Model:


Constructive Cost Model is a procedural software cost estimation model that predicts the effort,
development time, and staffing requirements for a software project based on the project size,
typically measured in lines of code (LOC). The model assumes that effort and development time
can be estimated using mathematical equations based on LOC and various project factors.

Types of COCOMO Models:

COCOMO has three levels of models based on the complexity and scale of the project:

1. Basic COCOMO:
• Purpose: Provides a rough estimate of effort and cost.

• Formula: Effort (Person-Months) = a * (𝑆𝑖𝑧𝑒)𝑏

Where:

o Generally Size measure in KLOC = Thousands of lines of code and Function Point
(FP)

o a, b = Constants that vary depending on the project type

• Project Types:

In the COCOMO model, projects are classified into three categories based on their size,
complexity, and the team's experience. These categories are Organic, Semi-Detached,
and Embedded

1. Organic:

• Definition: Simple, small-scale projects where both the development team and the
requirements are well understood.
• Characteristics:
o Small teams with good communication.
o Familiar technology and tools.
o Less complex and well-defined problems.
o Example: Basic business applications, small-scale web applications.
• Effort Parameters: Requires less effort due to fewer complications. (Effort formula
constants: a = 2.4, b = 1.05)

2. Semi-Detached:

• Definition: Medium complexity projects where the team has a mix of experience, and
the system to be developed is moderately complex.
• Characteristics:
o Teams may have both experienced and inexperienced members.
o Some parts of the system are familiar, while others may be new or challenging.
o Example: Larger information systems, some real-time systems.

• Effort Parameters: More effort is required compared to organic projects due to mixed
complexity. (Effort formula constants: a = 3.0, b = 1.12)

3. Embedded:

• Definition: Highly complex, real-time systems with strict hardware, software, and
operational constraints.
• Characteristics:
o Systems with rigorous requirements and constraints (e.g., real-time, safety-
critical).
o Little to no flexibility in design and implementation.
o Example: Embedded systems like flight control software, defence systems.
• Effort Parameters: Requires the most effort due to complexity and the need for
precision. (Effort formula constants: a = 3.6, b = 1.20)

o Organic: Simple projects, small teams, well understood.

o Semi-detached: Intermediate, larger projects with mixed team experience.

o Embedded: Complex, real-time systems with stringent requirements.

Project type a b

Organic 2.4 1.05

Semi-detached 3.0 1.12

Embedded 3.6 1.20

Development Time:

Time (Months)=C ∗ (𝐸𝑓𝑓𝑜𝑟𝑡)𝑑

Where:
c, d are constants that vary with project type.
2. Intermediate COCOMO:
• Purpose: Incorporates cost drivers like product attributes, hardware, personnel, and
project attributes.

• Effort Equation:

Effort (Person-Months) =a * (𝐾𝐿𝑂𝐶)𝑏 * EAF


Where:
EAF = Effort Adjustment Factor, a product of 15 cost drivers (e.g., reliability,
complexity, experience, etc.).

• Cost Drivers:
o Product attributes: Required reliability, size of the database.

o Hardware attributes: Time constraints, storage constraints.

o Personnel attributes: Team experience, software capability.

o Project attributes: Use of modern tools, development schedule constraints.

3. Detailed COCOMO:
• Purpose: Provides detailed phase-wise estimates of effort.

• Divides the project into various stages (e.g., requirements, design, coding, testing) and
estimates cost and effort for each stage.

• Involves the use of different multipliers for each phase.

COCOMO Effort Equation:


Basic Effort Equation:
The effort in person-months for a project is calculated using the formula:

Effort (PM)= a * (𝐾𝐿𝑂𝐶)𝑏

Where:

• a and b are model-specific constants.

• KLOC refers to the estimated lines of code (in thousands).

Time to Develop (TDEV):


Time to develop the software is calculated as:

TDEV (Months) = C ∗ (𝐸𝑓𝑓𝑜𝑟𝑡)𝑑


Where:
• c and d are constants depending on project type.

Advantages of COCOMO:
• Simple and well-structured model.

• Useful for early-stage estimations.

• Provides insights based on project size and type.

• Widely adopted and validated in practice.

Disadvantages of COCOMO:
• Based on the assumption that code size (KLOC) is known early.

• Ignores non-linearity in effort estimation.

• Less accurate for modern, agile, or iterative development processes.

• Requires adjustment for specific project scenarios.

COCOMO II:
In 1997, COCOMO II was introduced to address the changes in software development processes
and new challenges in software engineering.

Features of COCOMO II:


• Supports modern software development like object-oriented programming.

• Adjusts for software reuse, non-sequential and rapid application development models.

• Uses function points for estimation instead of LOC.

Conclusion:
COCOMO provides a structured framework for cost and effort estimation in software projects.
Though it has limitations, particularly in modern development environments, it remains a
foundational tool for software cost estimation.

You might also like