$RE7L56J
$RE7L56J
• COCOMO Model
• Types of COCOMO
Model
• COCOMO – II
Software Project
Planning
The Constructive Cost Model
(COCOMO)
Constructive Cost model
(COCOMO)
Model proposed by
B. W.
Boehm’s
through his 3
Software Project
Planning
COCOMO applied
to
Semidetach
Organi ed Embedde
c mode d
mode mode
4
In COCOMO, projects are categorized into three types:
• Organic
• Semidetached
• Embedded
1.Organic: A development project can be treated of the organic type,
if the project deals with developing a well-understood application
program, the size of the development team is reasonably small, and
the team members are experienced in developing similar methods of
projects.
Examples of this type of projects are simple business systems,
simple inventory management systems, and data processing
systems.
2. Semidetached: A development project can be treated with
semidetached type if the development consists of a mixture of
experienced and inexperienced staff. Team members may have finite
experience in related systems but may be unfamiliar with some
aspects of the order being developed.
Example of Semidetached system includes developing a new
operating system (OS), a Database Management System (DBMS),
and complex inventory management system.
3. Embedded: A development project is treated to be of an
embedded type, if the software being developed is strongly coupled
to complex hardware, or if the stringent regulations on the
operational method exist.
For Example: ATM, Air Traffic control.
For three product categories, Bohem provides a different set of
expression to predict effort (in a unit of person month)and
development time from the size of estimation in KLOC(Kilo Line of
code) efforts estimation takes into account the productivity loss due
to holidays, weekly off, coffee breaks, etc.
Software projects under COCOMO model strategies are classified into
3 categories, organic, semi-detached, and embedded.
Organic: A software project is said to be an organic type if-
Project is small and simple.
Project team is small with prior experience.
The problem is well understood and has been solved in the past.
Requirements of projects are not rigid, such a mode example is
payroll processing system.
Semi-Detached Mode: A software project is said to be a Semi-
Detached type if-
Project has complexity.
Project team requires more experience,better guidance and creativity.
The project has an intermediate size and has mixed rigid
requirements such a mode example is a transaction processing system
which has fixed requirements.
It also includes the elements of organic mode and embedded mode.
Few such projects are- Database Management System(DBMS), new
unknown operating system, difficult inventory management system.
Embedded Mode: A software project is said to be an Embedded
mode type if-
A software project has fixed requirements of resources .
Product is developed within very tight constraints.
A software project requiring the highest level of complexity, creativity,
and experience requirement fall under this category.
Such mode software requires a larger team size than the other two
models.
Software Project
Mode Project size
Planning Nature of Project Innovation Deadline of Development
the
project Environment
Organic Typically Small size project, Little Not tight Familiar & In
experienced developers in house
2-50 KLOC
the familiar environment.
For example, pay roll,
inventory projects etc.
12
Software Project
Planning
Software ab bb cb db
Project
13
Software Project
Planning
When effort and development time are known, the average staff size
to complete the project may be calculated as:
Average staff E
size (SS) D
Persons
When project size is known, the productivity level may be
calculated as:
Productivi KLOC
ty (P) E KLOC / PM
14
Software Project
Planning
Example: 4.5
15
Software Project
Solution
Planning
The basic COCOMO equation take the
form:
E ab (KLOC)bb
db
D cb (KLOC)
Estimated size of the project = 400
KLOC
E = 2.4(400)1.05 = 1295.31
PM
D = 2.5(1295.31)0.38 = 38.07
PM
16
Software Project
Planning
(ii) Semidetached mode
E = 3.0(400)1.12 = 2462.79
PM
D = 2.5(2462.79)0.35 = 38.45
PM
(iii) Embedded mode
E = 3.6(400)1.20 = 4772.81
PM
D = 2.5(4772.8)0.32 = 38
PM
17
Software Project
Planning
Example: 4.6
18
Software Project
Solution
Planning
The semi-detached mode is the most appropriate mode; keeping in
view the size,
schedule and experience of the development team.
Average staff E
size (SS) D
Persons
1133.12
29.3 38.67Persons
19
Software Project
Planning
P 176 LOC /
PM
20
Software Project
Planning
Intermediate Model
Cost drivers
(i) Product Attributes
Required s/w reliability
Memory constraints
Turnaround time
21
Software Project
(iii
Planning
Personal Attributes
)
Analyst capability
Programmer capability
Application experience
Programming language
AEXP --
1.29 1.13 1.00 0.91 0.82
PCAP 0.86 0.70 --
1.42 1.17 1.00
VEXP 1.00 0.90 -- --
1.21 1.10
LEXP 1.14 1.07 1.00 0.95 -- --
Project Attributes
MODP --
1.24 1.10 1.00 0.91 0.82
TOOL 1.24 1.10 1.00 0.91 0.83 --
SCED
1.23 1.08 1.00 1.04 1.10 --
Table 5: Multiplier values for effort
calculations 24
Intermediate COCOMO
equations
31
Software Project
Planning
Desig
n : 16% to
: 18%
Effor
19% to
t
Programmi
Tim
38%
ngeEffor : 48% to
t : 68%
Tim 24% to
Integration
e & Test
64%
Effort : 16%
to 34%
Time : 18%
to 34%
32
Software Project
Principle of Planning
the effort estimate
Size equivalent
S (equivalent) = (S x A) / 100
Ep
p E Dp
33
Software Project
Lifecycle Phase Planning
Values p
of
Mode & Code Plan & System Detailed Module Integration
Size Requirements Design Code & Test & Test
Design
Organic
0.06 0.16 0.26 0.42 0.16
Small S≈2
Organic
0.06 0.16 0.24 0.38 0.22
medium
S≈32
Semidetach
0.07 0.17 0.25 0.33 0.25
ed medium
S≈32
Semidetach
0.07 0.17 0.24 0.31 0.28
ed large
S≈128
Embedded
0.08 0.18 0.25 0.26 0.31
large
S≈128
Embedde
d extra 0.08 0.18 0.24 0.24 0.34
Table
large 7 : Effort and schedule fractions occurring in each
phase of the
S≈320 lifecycl 34
Software Project
Lifecycle Phase Planning
Values p
of
Mode & Code Plan & System Detailed Module Code Integration
Size Requirements Design & Test & Test
Design
Organic
0.10 0.19 0.24 0.39 0.18
Small S≈2
Organic
0.12 0.19 0.21 0.34 0.26
medium
S≈32
Semidetach
0.20 0.26 0.21 0.27 0.26
ed medium
S≈32
Semidetach
0.22 0.27 0.19 0.25 0.29
ed large
S≈128
Embedded
0.36 0.36 0.18 0.18 0.28
large
S≈128
Embedde
d extra 0.40 0.38 0.16 0.16 0.30
Table
large 7 : Effort and schedule fractions occurring in each
phase of the
S≈320 lifecycl 35
Software Project
Planning
Distribution of software life cycle:
2. Detailed Design
(a) Detailed design
37
Software Project
Solution
Planning
This is the case of embeddedmode and model is
intermediate
di
COCOMO.
Henc Ea i
e (KLOC)
= 2.8 (400)1.20 = 3712 PM
39
Software Project
Example: 4.8 Planning
Consider a project to develop a full screen editor. The
major
components identified are:
I. Screen edit
II. Command Language Interpreter
III. File Input & Output
IV. Cursor Movement
V. Screen Movement
The size of these are estimated to be 4k, 2k, 1k, 2k
and 3k delivered source code lines. Use COCOMO to
determine
1. Overall cost and schedule estimates (assume values
for different cost drivers, with at least three of them
2. Cost & Schedule estimates for different 30
being different from 1.0)
Software Project
Planning
Solution
E = ai (KLOC)bi x EAF
= 3.2(12)1.05 x 1.2169 = 52.91
Development PM
time D = Ci(E)di
= 2.5(52.91)
(b) Using the following equations0.38
and= 11.29 M Table 7,
referring
phase wise cost and schedule estimates can be
calculated.
Ep p E
Dp pD 47
Software Project
Planning
Since size is only 12 KLOC, it is an organic small model.
Phase wise effort distribution is given below:
System Design = 0.16 x 52.91 = 8.465
Detailed Design PM
Module Code & = 0.26 x 52.91 = 13.756
PM
Test Integration
= 0.42 x 52.91 = 22.222
& Test
Now Phase wise development time
PM
duration is
System Design == 0.19
0.16 xx 11.29
52.91== 8.465
Detailed Design 2.145
Pm M
Module Code & = 0.24 x 11.29 =
2.709 M
Test Integration
= 0.39 x 11.29 =
& Test 4.403 M 48
Software Project Estimation
Techniques
What are project estimation techniques?
An estimate is a rough calculation of something. For example, a project cost
estimate is a general idea of the price model for a project.
Estimation techniques are ways to create project estimates. When your
client or another project stakeholder asks you to estimate an aspect of the
project, these techniques help you come up with a realistic number to give
them.
Why are project estimates important?
Without accurate estimates, it’s impossible to plan your project. If you don’t
have an idea of how long the project will take or what resources you will
need, there is no way to ensure you’ll have the right people, materials, or
tools available when you need them.
What types of estimations take place during a project?
There are six key areas of a project that benefit from the use of project estimating
techniques:
1. Cost
Cost is one of the three main constraints in project management. If you don’t have enough
money to complete the project, it will fail. If you can accurately estimate project costs early
on, you can help set client expectations and ensure you have enough money to get the work
done.
Cost estimation involves predicting how much money you will need for the project as well as
when you will need the funds.
2. Time
Time is another of the three main project constraints. Being able to estimate both the overall
project duration and when individual tasks will take place is vital to project planning.
Estimating your project schedule enables you to arrange for people and resources to be
available when you need them. It also allows you to manage client expectations around when
they should receive key deliverables.
3.Scope
Scope is the third key project constraint. Project scope is all the work that must be
done to finish the project or deliver a product. By estimating how much work is
involved and exactly what tasks need to occur, you can ensure that you have the
right materials and expertise for the project.
The three main constraints are often referred to as three sides of a triangle. This is
because whatever changes are made to one constraint will inevitably impact the
other two. To accurately estimate the budget, you must know the scope and
schedule. If one of the three ends up being greater or less than you expected, it
will likely result in the other two estimates being off as well.
4. Risk
Project risk is an unexpected event that could impact your project, for better or
for worse. Estimating risk involves predicting what events may occur during the
project’s life cycle and how seriously they could impact the project.
By estimating what risks could impact your project and how they will affect it, you
are better able to plan for potential issues and create risk management plans.
5. Resources
Project resources are the assets you need to get the project done.
Resources can be tools, people, materials, subcontractors,
software, and more. Resource management helps you ensure you
have all the resources you need and use them as efficiently as
possible.
Without estimating what resources you will need, and when, it’s
challenging to plan how you will manage them. This can lead to
6. Quality