Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

GOVERNMENT POLYTECHNIC PUNE

(An Autonomous Institute of Government of Maharashtra)

DEPARTMENT OF COMPUTER ENGINEERING

Academic Year 2023-24

A Micro Project Report


On
“ C Porgram based on COCOMO Model for calculations ”

Submitted By

Group Members Enrollment Number


Ritesh Ganesh Chinchole 2106036
Rushikesh Pundlik Dawale 2106039
Shreyas Sunil Deobhankar 2106040
GOVERNMENT POLYTECHNIC PUNE
(An Autonomous Institute of Government of Maharashtra)

DEPARTMENT OF COMPUTER ENGINEERING


Academic Year-2023-24

CERTIFICATE

This is to certify that the mini-project work entitled “ C Porgram based on


COCOMO Model for calculations ” is a bonafide work carried out by

Group Members Enrollment Number


Ritesh Ganesh Chinchole 2106036
Rushikesh Pundlik Dawale 2106039
Shreyas Sunil Deobhankar 2106040

of class Third Year in partial fulfilment of the requirement for the completion of Course of Diploma
Software Engineering and Testing (CM4107) in Computer Engineering from Government Polytechnic
Pune. The report has been approved as it satisfies the academic requirements in respect of micro-project
work prescribed for the course.

……………………….. .……………………. ……………………..


Smt.S.S. Ingawale Smt. J. R. Hange Dr.Vitthal Bandal
Micro Project Guide H.O.D Principal
Index :
Sr. No Title Page. No

1 Acknowledgement 4

2 Introduction 5

3 Key Parameters of COCOCMO 6

4 Types of Project 7

5 Types of COCOMO Models 8-10

6 Advantages-Disadvantages 11
Of COCOMO MODEL
7 Program and Output 12-13

8 Conclusion 14

3|Page
Acknowledgement

My Sincere efforts have made me to accomplish the task of completing this project. However, it
would not have been possible without the kind support and help of many individuals.I would like to
express my sincere gratitude to my Principal Dr. Vitthal Bandal and the college for providing me
with facilities required to do my project.
I am highly indebted to my Project Guide Smt. S.S . Ingavale for her valuable guidance which has
promoted my efforts in all the stages of this project work. Assistant is developing my project and to
the people who have willingly helped me out with their abilities.
I am indebted to the creators and of COCOMO Model who provided tool to find Effort ,time
required for Developing Project and Persons required for Project Through which I enabled to find
out all of these which helped me to develop project. Lastly, I am grateful to my family and friends
for their unwavering support, encouragement, and understanding throughout this project.
This project has been a remarkable learning experience, and I am thankful to each and every one of
you for your contributions and support in bringing our smart home design to fruition.Finally, words
are not sufficient to express gratitude my cherished family members for supporting me without
their encouragement and support I would not reach this stage

4|Page
Introduction

COCOMO Model (Constructive Cost Model):


The Constructive Cost Model (COCOMO) is a widely recognized and extensively used software
cost estimation model in the field of software engineering. Developed by Dr. Barry Boehm in 1981,
COCOMO provides a structured and systematic approach to estimating the cost, effort, and
schedule of software development projects. It has evolved over the years and has multiple versions,
each offering different levels of complexity and accuracy.

COCOMO is invaluable in the software development process as it aids in making informed


decisions, allocating resources, and setting realistic project expectations. It helps software project
managers, developers, and stakeholders understand the magnitude and potential challenges of a
project before it commences. The primary objective of the COCOMO model is to address the
fundamental question of "How much will it cost and how long will it take to develop a software
product?" This question is of paramount importance in project planning, budgeting, and risk
management. By providing estimates based on various project characteristics and parameters,
COCOMO enables organizations to plan and execute software projects more effectively.

COCOMO operates on the principle that the size and complexity of a software project significantly
impact its development effort and cost. It achieves this through a mathematical model that
correlates the size of the software (often measured in lines of code) with effort and duration. The
model is further refined with various cost drivers and scale factors that account for other factors
affecting the project, such as the development environment, team experience, and the nature of the
software being developed.

Over time, COCOMO has evolved into several versions, including COCOMO I (the basic model),
COCOMO II (the intermediate model), and COCOMO III (the advanced model). Each of these
versions addresses different aspects of software project estimation and caters to a wide range of
project types and complexities. COCOMO III, in particular, provides a highly customizable and
detailed framework for estimating software development costs, including factors like maintenance,
reuse, and enhancements

5|Page
Key Parameters for Quality of Product:

Effort and schedule are indeed key parameters in software development and are essential outcomes
of the COCOMO (Constructive Cost Model) estimation process. These parameters play a
significant role in defining the quality of any software product

1. Effort:

Effort in the context of software development refers to the total human resources or person-
months required to complete a software project. It represents the number of work hours or
resources invested in the project. Effort is a crucial parameter because the quality of a software
product is often directly linked to the amount of effort invested in its development. Quality
assurance activities, thorough testing, and code reviews are resource-intensive and contribute to
overall software quality.

In COCOMO, effort estimation is a fundamental output. It helps project managers allocate the
appropriate number of team members and resources to ensure that the project is completed with the
desired quality standards.

2. Schedule:

Schedule refers to the planned timeline for completing a software project. It includes start and end
dates, milestones, and intermediate deadlines. The schedule is also vital for ensuring software
quality. Rushed development, unrealistic deadlines, and tight schedules can lead to poor quality
software. Quality assurance activities may be sacrificed in a haste to meet the timeline.

COCOMO provides estimates for project schedules based on the project's size, complexity, and
other characteristics. These estimates help project managers set realistic and achievable timelines,
which are essential for maintaining software quality.

6|Page
Types of Software project :

1. Organic :

Organic projects are characterized by their small to moderate size and relatively low complexity.
They typically involve well-understood requirements and are executed in a stable development
environment. The development team is experienced, cohesive, and skilled in the technology being
used.

Organic projects tend to have predictable and manageable effort and schedule requirements. The
estimation parameters for Organic mode reflect the optimism associated with such projects. These
projects often enjoy a higher degree of predictability because of the familiarity with the domain and
technology. Organic Project includes Line of Code Between 2 KLOC- 50 KLOC.

2. Semi-Detached :

Semi-Detached projects fall between the Organic and Embedded modes in terms of size,
complexity, and project characteristics. They are of moderate size and complexity and may involve
a mix of well-understood and partly understood requirements. The development team may consist
of both experienced and less experienced members, and the project environment may have some
variability.

In Semi-Detached mode, there's a need for a balance between optimism and caution. The
estimation parameters are set to account for the project's mixed nature. These projects may require
more careful planning and management than Organic projects, and thus the estimates are somewhat
more conservative than for Organic projects. Semi Detached Project Includes lines Between 50
KLOC-300 KLOC .

3. Embedded :

Characteristics: Embedded projects are large and highly complex, often involving real-time or
safety-critical systems. The requirements for these projects are usually vague, evolving, or
challenging to define. The development team may have limited experience with the technology or
domain, and the project environment can be unpredictable or hostile. Embedded mode projects are
the most challenging in terms of estimation. Effort and schedule estimates for these projects tend to
be more pessimistic due to the high level of complexity and uncertainty. These projects often
require substantial risk management, contingency planning, and

7|Page
adaptability in the face of evolving requirements. Embedded Project includes Lines from 300
KLOC and Above .

Types of COCOMO Model

The COCOMO (Constructive Cost Model) series of models consists of three main moodels:
COCOMO I (Basic Model), (Intermediate Model), and COCOMO III (Detailed Model).

These models build upon one another, offering progressively more detailed and accurate
estimations for software project effort, schedule, and cost. Here's a detailed explanation of each of
these models:

1.Basic Model:

Basic Model is the foundational model in the series, developed by Dr. Barry Boehm in 1981. It
serves as a quick and straightforward estimation tool for assessing software development effort
based on the size of the software product, usually measured in lines of code (LOC).

Basic model classifies projects into three development modes: Organic, Semidetached, and
Embedded. These modes are determined by the project's characteristics, such as complexity,
requirements, and team experience. The model uses a single equation for estimating effort, where

8|Page
Effort=a*(KLOC) b PM

Above one is formula for Effort In project

Tdev=c*(efforts)d Months

Above one is formula for time required for development of project.

Person-required= Effort/ Tdev

Above one is formula for Person’s required for project.

Effort (in Person-Months) = A * (Size in LOC) ^ B. The values of constants 'A' and 'B' vary for
each mode.

Basic Model provides relatively rough and high-level estimates. It is well-suited for initial project
assessments and quick planning when detailed data is limited. While it serves as a useful starting
point, it may not provide highly accurate estimates for more complex or varied projects.

2. Intermediate Model:

Intermediate Model, introduced in the early 2000s, extends and refines the COCOMO series. It is
designed to offer more accurate and detailed estimates of software project effort, schedule, and cost.
It builds upon the basic model while adding a comprehensive set of parameters and attributes.

Intermediate Model retains the three development modes: Organic, Semidetached, and Embedded.
However, it introduces a broader range of parameters that account for various project
characteristics, including software size, development environment, and team experience. The model
provides separate equations for estimating effort, schedule, and cost, taking into consideration
numerous cost drivers and scale factors.

9|Page
Intermediate Model is significantly more accurate than Basic Model because it considers a wider
range of project attributes. It is suitable for a broad spectrum of software development projects,
offering more refined and precise estimates, making it a valuable tool for project planning, resource
allocation, and risk management.

3. Detailed Model:

Detailed Model developed in the mid-2000s, is the most advanced and detailed version of the
COCOMO model. It was designed to meet the evolving needs of the software development
industry by offering even more customization and flexibility.

Detailed Model continues to categorize projects into the three development modes, much like its
predecessors. However, it extends its capabilities by including additional estimation equations that
are tailored for software maintenance, reuse, and enhancements. The distinguishing feature of .
Detailed Model is its high level of customization, allowing organizations to adapt the model to their
specific industry or project characteristics.

10 | P a g e
Detailed Model offers highly accurate estimates, provided that a substantial amount of data and
historical project information is available for calibration. It is best suited for organizations with
well-defined software processes and practices, where the model can be tailored to fit a wide variety
of software development scenarios, making it a powerful tool for detailed and precise cost
estimation.

Advantages And Disadvantages of COCOMO:

Advantages of the COCOMO model:

1. Provides a systematic way to estimate the cost and effort of a software project.
2. Can be used to estimate the cost and effort of a software project at different stages of
the development process.
3. Helps in identifying the factors that have the greatest impact on the cost and effort of a
software project.
4. Can be used to evaluate the feasibility of a software project by estimating the cost and
effort required to complete it.
5. Can be customized to fit the specific needs of a project.
6. Allows for the use of historical data to improve estimation accuracy.

Disadvantages of the COCOMO model:


1. Assumes that the size of the software is the main factor that determines the cost and
effort of a software project, which may not always be the case.
2. Does not take into account the specific characteristics of the development team, which
can have a significant impact on the cost and effort of a software project.
3. Does not provide a precise estimate of the cost and effort of a software project, as it is
based on assumptions and averages.

11 | P a g e
Program : -

#include<stdio.h>
#include<conio.h>
#include<math.h>
int fround(float x)
{
int a;
x=x+0.5;
a=x;
return(a);
}
void main()
{
float effort,time,staff,productivity;
float table[3][4]={2.4,1.05,2.5,0.38,3.0,1.12,2.5,0.35,3.6,1.20,2.5,0.32};
int size,model;
char mode[][15]={"Organic","Semi-Detached","Embedded"};
clrscr();
printf("\nEnter size of project (in KLOC) : ");
scanf("%d",&size);
if(size>=2 && size<=50)
model=0; //organic
else if(size>50 && size<=300)
model=1; //semi-detached
else if(size>300)
model=2; //embedded
printf("\nThe mode is %s\n",mode[model]);

12 | P a g e
effort=table[model][0]*pow(size,table[model][1]);
time=table[model][2]*pow(effort,table[model][3]);
staff=effort/time;
productivity=size/effort;
printf("\nEffort = %f Person-Month",effort);
printf("\n\nDevelopment Time = %f Months",time);
printf("\n\nAverage Staff Required = %d Persons",fround(staff));
printf("\n\nProductivity = %f KLOC/Person-Month",productivity);
getch();
}

Output :-

13 | P a g e
Conclusion:
In summery, We learned what is COCOMO model, Key parameters of COCOCOMO
Model ,Types of software Project which we implement in COCOMO Model , Types
of COCOMO Model, Then Advantages and Disadvantages of COCOMO Model and
Implementation COCOMO model in project (Library Management Application) .

References:
1. https://www.geeksforgeeks.org/software-engineering-cocomo-model/
2. https://www.educba.com/cocomo-model/
3. https://www.linkedin.com/advice/3/what-advantages-disadvantages-cocomo
4. https://athena.ecs.csus.edu
5. https://www.javatpoint.com/cocomo-model

14 | P a g e

You might also like