Sre Assignment 3
Sre Assignment 3
Prepared by:
Subject:
Submitted to:
Date:
23-December-2022
COCOMO Model
Introduction:
COnstructive COst MOdel was introduced by Dr. Barry Boehm’s textbook Software Engineering
Economics. This model is now generally called “COCOMO 81”.It refers to a group of models and is
used to estimate the development efforts which are involved in a project. COCOMO is based upon the
estimation of lines of code in a system and the time. COCOMO has also considered the aspects like
project attributes, hardware, assessment of produce, etc. This provides transparency to the model which
allows software managers to understand why the model gives the estimates it does. Moreover, the
baseline COCOMO originally underlies a waterfall model lifecycle. The developments are done on
multiple COCOMO models in parallel for cost estimates that cover a broader scope that exceeds the
boundaries of traditional software development are discussed. The COCOMO model has basically two
parameters like effort calculation and development time to define the quality of any software product:
Efforts calculation: Efforts can be calculated by the number of persons required to complete the task
successfully. It is calculated in the unit person-month.
Development time: the time that is required to complete the task.it is calculated in the unit of time like
months, weeks, and days. It depends on the effort calculation, if the number of persons is greater than
definitely the development time is low.
There are various types of models of COCOMO that have been proposed to check the correctness of the
software products and to calculate the cost estimations at the different levels. These levels also depend on
the strategies to develop accurate software products. These strategies are as follows:
Software projects under COCOMO model strategies are classified into 3 categories, organic, semi-
detached, and embedded.
COCOMO consists of a hierarchy of three increasingly detailed and accurate forms. Any of the three
forms can be adapted according to our requirements. These are types of COCOMO model:
Basic COCOMO Model: The first level, Basic COCOMO can be used for quick and slightly rough
calculations of Software Costs. This is because the model solely considers based on lines of source code
together with constant values obtained from software project types rather than other factors which have
major influences on the Software development process as a whole. It requires to calculate the efforts
which are required to develop in three modes of development that are organic mode, semi-detached mode,
and embedded.
The basic COCOMO estimation model is given by the following expressions:
E = ax (KLOC) b
D = c x (Effort) d
P = effort/time
Where,
The constant values a, b, c, and d for the Basic Model for the different categories of the system
Example:
Consider a software project using semi-detached mode with 300 Kloc. Find out effort estimation,
development time, and person estimation.
Solution:
Intermediate COCOMO model is an extension of the Basic COCOMO model which includes a set of cost
drivers into account in order to enhance more accuracy to the cost estimation model as a result. The
estimation model makes use of a set of “cost driver attributes” to compute the cost of the software. The
estimated effort and scheduled time are given by the relationship:
Effort (E) = a*(KLOC)b *EAF PM
D = c x (Effort)d
Where,
EAF = It is an Effort Adjustment Factor, which is calculated by multiplying the parameter values of
different cost driver parameters. For ideal, the value is 1.
Product attributes
Hardware attributes
Personal attributes –
Analyst capability
Software engineering capability
Applications experience
Virtual machine experience
Programming language experience
Project attributes
Use of software tools
Application of software engineering methods
Required development schedule
The values of a and b in the case of the intermediate model are as follows:
Example: For a given project was estimated with a size of 300 KLOC. Calculate the Effort, Scheduled
time for development by considering the developer having high application experience and very low
experience in programming.
Solution –
Given the estimated size of the project is: 300 KLOC
Developer having highly application experience: 0.82 (as per above table)
Developer having very low experience in programming: 1.14(as per above table)
The model incorporates all qualities of both Basic COCOMO and Intermediate COCOMO strategies on
each software engineering process. The model accounts for the influence of the individual development
phase (analysis, design, etc.) of the project.it uses multipliers for each phase of the project .it is a complex
mode.it includes more factors that influence the software projects and give more accurate estimations. In
this, the whole software is divided into different modules and then we apply COCOMO in different
modules to estimate effort and then sum the effort.
In the Detailed COCOMO Model, the cost of each subsystem is estimated separately. This approach
reduces the margin of error in the final estimate.
Example: A distributed Management Information System (MIS) product for an organization having
offices at several places across the country can have the following sub-components:
Database part
Graphical User Interface (GUI) part
Communication part
Of these, the communication part can be considered as embedded software. The database part could be
Semi-detached software, and the GUI part Organic software. The costs for these three components can be
estimated separately, and summed up to give the overall cost of the system.
COCOMO is transparent, one can see how it works unlike other models such as SLIM
Drivers are particularly helpful to the estimator to understand the impact of different factors that
affect project costs.
COCOMO Provides ideas about historical projects.
The COCOMO model is easy to estimate the total cost of the project.
The drivers are very helpful to understand the impact of the different factors that affect project
crises.
It is hard to estimate KDSI early on in the project when most effort estimates are required.
KDSI, actually, is not a size measure, it is a length measurement.
Extremely vulnerable to misclassification of the development mode.
Success depends largely on tuning the model to the needs of the organization, using historical
data which is not always available.
It limits the accuracy of software costs.
It also ignores customer skills, cooperation, and knowledge.
PERT Model
Introduction:
Project Evaluation and Review Technique (PERT) is a procedure through which activities of a
project are represented in its appropriate sequence and timing. It is a scheduling technique used to
schedule, organize and integrate tasks within a project. PERT is basically a mechanism for management
planning and control which provides blueprint for a particular project. All of the primary elements or
events of a project have been finally identified by the PERT.
In this technique, a PERT Chart is made which represent a schedule for all the specified tasks in the
project. The reporting levels of the tasks or events in the PERT Charts is somewhat same as defined in
the work breakdown structure (WBS).
How Does a PERT Chart Work?
A project manager creates a PERT chart in order to analyze all of a project's tasks while estimating the
amount of time required to complete each one. Using this information, the project manager can estimate
the minimum amount of time required to complete the entire project.
This information also helps the manager develop a project budget and determine the resources needed to
accomplish the project.
A PERT chart uses circles or rectangles, called nodes, to represent project events or milestones. The
nodes are linked by vectors or lines that represent various tasks.
Dependent tasks are items that must be performed in a specific manner. For example, if an arrow is
drawn from Task No. 1 to Task No. 2 on a PERT chart, Task No. 1 must be completed before work on
Task No. 2 begins.
Items at the same stage of production but on different task lines within a project are referred to as
parallel tasks. They're independent of each other, and occur at the same time.
Dotted activity lines represent dummy activities items that are located on another PERT path. Numbers
and time allotments are assigned and shown inside each vector.
These charts have their distinct definitions and terms, the most important of which anticipate how long it
will take to finalize a project. "Optimistic time" refers to the shortest duration. "Pessimistic time" is the
longest it might take. The "most likely time" indicates a reasonable estimate of the best-case scenario,
whereas "expected time" accounts for problems and obstacles.
Advantages of PERT:
Disadvantages of PERT: