0% found this document useful (0 votes)
22 views18 pages

Software Engineering ECNOMICS

COCOMO software estimation model assignment

Uploaded by

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

Software Engineering ECNOMICS

COCOMO software estimation model assignment

Uploaded by

Khizer Hayat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as ODT, PDF, TXT or read online on Scribd
You are on page 1/ 18

SOFTWARE ENGINEERING

ECNOMICS
ASSIGNMENT 1

Names: Khizer Hayat, Husnain Malik, Saif-ur-Rehman,


Momer Zulfiqar

Roll No: FA22-BSE-045


FA22-BSE-065
FA22-BSE-043
FA22-BSE-017

SEC A

DECEMBER 8, 2024
Written Report: Software Estimation Tool Analysis

Title: Analysis of COCOMO (Constructive Cost Model)

Objective

This report provides an in-depth analysis of the Constructive Cost Model (COCOMO),
a widely used software estimation tool. It evaluates COCOMO’s features, usability,
capabilities, and limitations, and concludes with recommendations for its application
in real-world projects.

1. Introduction

Accurate software cost estimation is a cornerstone of project success. Estimating


effort, time, and cost allows organizations to allocate resources effectively and deliver
projects on schedule. Among the various estimation tools, the Constructive Cost
Model (COCOMO), developed by Barry W. Boehm in 1981, is one of the most robust
and systematic methods for predicting software development effort and cost. Its
evolution into COCOMO II has adapted it to modern development paradigms, making
it suitable for a wide range of projects.

2. Tool Selection

2.1 Chosen Tool Overview

 Tool Name: COCOMO (Constructive Cost Model)


 Developer: Barry W. Boehm
 Purpose: Provides effort, schedule, and cost estimates for software
development projects based on size and complexity.
2.2 Rationale for Selection

COCOMO is a fundamental estimation model with historical significance and


practical value. Its structured methodology and reliance on empirical data make it
suitable for educational and real-world applications.

3. Tool Analysis

3.1 Overview of the COCOMO Model


COCOMO is a regression-based model that calculates software project effort in
person-months and schedules in calendar months. It uses project characteristics like
code size (measured in KLOC—thousands of lines of code) and cost drivers to provide
estimations.
Key Versions:
1. Basic COCOMO: Simplistic effort calculation based on KLOC and project type.
2. Intermediate COCOMO: Add 15 cost drivers to refine estimates.
3. Detailed COCOMO: Breaks down estimations at the module or subsystem level.
4. COCOMO II: Updated for modern development practices like Agile and
component-based systems.
3.2 Features

1. Effort Estimation Formula:


E=a×(KLOC)b
Where:
 E: Effort in person-months
 KLOC: Thousands of lines of code
 a, b: Constants based on project type (Organic, Semi-Detached, Embedded)

2. Effort Adjustment Factor (EAF):


COCOMO II incorporates 17 cost drivers (e.g., product reliability, team capability)
that scale effort estimates.

3. Adaptability to Modern Practices

COCOMO II includes extensions for modern software engineering techniques, such as


reuse and prototyping.
4. Identifies three development modes:
 Organic: Small, well-understood projects with minimal risk.
 Semi-detached: Medium complexity and size.
 Embedded: Complex projects with stringent constraints.
5. Provides estimates for:
 Effort (person-months)
 Time to complete (calendar months)
 Team size
3.3 Capabilities
COCOMO II provides:
 Effort Estimation: Accurate prediction of the effort (in person-months) required
for a project.

 Time Estimation: Forecasts the development schedule based on estimated


effort.

 Cost Estimation: Calculates the financial cost of development based on


personnel effort.

 Project Customization: Adapts to projects of different scales and levels of


complexity.

 Scalability: Adaptable to small, medium, and large projects.

 Accommodates adjustments for new methodologies through extensions like


COCOMO II.

 Provides a granular understanding of how factors like team experience and


toolset affect cost.

3.4 Limitations

 Complexity in Detailed Models: Requires advanced understanding to leverage


Intermediate and Detailed COCOMO.

 Dependency on Accurate Inputs: KLOC and cost drivers must be precisely


estimated.
 Outdated Assumptions: Original model assumes a waterfall methodology and
may require adaptation for Agile or DevOps practices.

 Heavy reliance on accurate KLOC estimates, which may be uncertain early in


the project.

 Assumes consistent development practices, which may not always hold true.

4. Usability Evaluation

To evaluate the usability of COCOMO, four real-world project scenarios were tested.
Results were visualized using tools and represented graphically.

Practical experiment via Scenario-Based Testing

4.1 Scenario1:

Small Organic Project

 A mobile app with a code size of 5 KLOC.

 Team of junior developers with moderate experience.

 Requires moderate reliability.

Input Parameters:

 Mode: Organic

 Effort Adjustment Factor (EAF): 1.05


4.2 Scenario 2:

Large Embedded Project

 A real-time system for air traffic control with a code size of 500 KLOC.

 Senior engineers and strict performance requirements.

Input Parameters:

 Mode: Embedded

 EAF: 1.35

Visual Representation
4.3 Scenario 3:

Medium enterprise project: Development of a medium-sized enterprise application


with 50 KLOC.

 Inputs:

o Size: 50 KLOC

o Development environment: Semi-structured

o Team experience: Intermediate

o Product complexity: High

 Result :
Estimation Results

The following table summarizes the estimation outputs based on the given test
scenario:

Parameter Value Description

Estimated size of the software in thousand


Software Size (KLOC) 50
lines of code.

Effort (Person- Total effort required for development,


120
Months) expressed in person-months.

Development Schedule Estimated project duration from start to


14
(Months) completion.

Total project cost, assuming a rate of


Cost Estimate ($) 1,200,000
$10,000 per person-month.

Reflects the impact of system requirements


Product Complexity High
on the development process.

Evaluation of the development team's


Team Experience Intermediate
expertise and familiarity with the domain.
Visual Representaion:

4.4 Scenario 4:

 Project Type: Semi-Detached

 Size: 100 KLOC (thousands of lines of code)

 Effort Multipliers (∏(Ei)): 1.2 (average value based on cost drivers)

 A (Constant): 2.94

 B (Scale Factor): 1.12

Calculations

1. Effort (Person-Months)

 Effort = 2.94 × (100)1.12 × 1.2

 Effort = 2.94 × 132.44 × 1.2 = 466.75 PM


3. Time/Duration (Months)

 Time = 2.5 × (Effort)0.38

 Time = 2.5 × (466.75)0.38 = 17.6 Months

4. Team Size

 Team Size = Effort / Time

 Team Size = 466.75 / 17.6 = 26.5 (rounded to 27 people)

5. Cost Estimation Assuming an average monthly salary of $5,000 per team


member:

 Cost = Effort × Monthly Salary

 Cost = 466.75 × $5,000 = $2,333,750

Visual Representation
6. Graphical Reprsentation of All Scenario Outputs with Development
Effort vs. Project Size (KLOC):

Graph plotting the effort required for different KLOC values.

Schedule vs. Project Size (KLOC):

Graph illustrating the relationship between project size and development schedule.

Comparison of Effort for Different Development Modes:

Table summarizing the effort for Organic, Semi-Detached, and Embedded projects
with similar sizes.

Project Type KLOC Effort (Person-Months) Schedule (Months)

Organic 50 120 9.6

Semi-Detached 50 192 10.5

Embedded 50 260 12.3


7. Recommendations

7.1 Use Cases for COCOMO:

 Ideal for Waterfall or predictive projects with clear requirements.

 Best suited for large-scale projects requiring precise effort estimations.

7.2 Improving Accuracy:

 Combine with modern estimation techniques like story points or function


points for Agile projects.

 Validate early project estimates (e.g., KLOC) through prototyping.

7.3 Training and Automation:

 Provide training to new users to understand cost drivers.


 Use automated tools (e.g., CocomoSuite) to streamline input and analysis.

7.4 Enhance for Modern Practices:

 Extend COCOMO II to account for iterative development cycles.

 Include metrics for sprint-based development.

7.5 Future Considerations

 Transition to COCOMO II for modern software practices.

 Integrate with automated metrics collection tools to enhance accuracy


and usability.

7.6 Deployment Advice

 Utilize COCOMO for effort and cost planning in conjunction with other
estimation tools for iterative projects.

 Train teams on key concepts like KLOC and attribute assessment for
accurate input gathering.

Conclusion
COCOMO is a powerful tool for software estimation, offering detailed effort and cost
breakdowns for projects of varying complexity. While its reliance on accurate input
data and traditional project assumptions may limit its utility in Agile workflows, its
adaptability through COCOMO II ensures relevance in contemporary software
engineering. By integrating COCOMO with modern practices and leveraging
automated tools, project managers can maximize its effectiveness in real-world
scenarios.

COCOMO II remains a robust and versatile estimation tool for software development
projects, offering detailed insights into cost, effort, and time requirements.

COCOMO SIX PHASES MODEL

You might also like