1. COCOMO MODEL
Presented by:
Ali Raza (038)
Yasir Mahmood(037)
Introduction to
COCOMO Model
• The COCOMO model is one of the most popular cost estimating
model in software engineering domain which is based upon LOC (Line
Of Code).
• COCOMO stands for Constructive Cost Model.
• It is a procedural cost estimate model for software projects.
• It was proposed by Barry Boehm in 1970 and published in 1981.
2. • COCOMO predicts the effort and schedule for a software product
development based on inputs related to the size of the software.
• There are three modes of software development project based on
development complexity.
1.Organic Mode
2. Semi-detached Mode
3. Embedded Mode
Organic Mode
•Relatively small, simple software projects.
•problem is well understood and has been solved in the past.
• Relatively small and requires little innovation.
•Team size is small and team members have a good experience.
Examples:
• In this type of projects are simple business systems, simple Inventory
management systems, and data processing systems.
2.Semi-Detached:
•The projects classified as Semi-Detached are comparatively less
familiar and difficult to develop compared to the organic ones.
• Require better guidance and creativity. •Team size is medium with
mixed experience.
Example:
• Semidetached system includes developing a new operating system
(OS), a Database Management System (DBMS), and comples Inventory
management system.
Embedded Mode:
• It is combination of organic and semi detach mode.
•A software project with requiring the highest level of complexity,
creativity, and experience requirement fall under this category.
• Such software requires a larger team size than the other two mode.
• Developers need to be sufficiently experienced and creative to develop
such complex models.
Example:
•ATM
3. •Air Traffic control
Comparison of Three COCOMO MODEs
Mode Project
Size
Nature of
project
Innovat
ion
Deadli
ne of
the
project
Develop
ment
environ
ment
Organic
Mode
•Typically
2-50
KLOC
•Small Size
proj,
•Little •Not
Tight
•Familiar
And in
house
Semi-Det
ached
Mode
•Typically
50-300
KLOC
•Medium Size
proj,
•Average
previous
experiencon
similar
project
•Mediu
m
•Mediu
m
•Medium
Embedd
ed Mode
•Typically
Over
300KLOC
•Large Size
proj,
•Complex
interface
•Signific
ant
•Tight •Complex
Hardware
•Custome
r
interface
required
Types of COCOMO MODEL
1. Basic COCOMO MODEL
2.Intermediate COCOMO MODEL
3.Complete Details COCOMO MODEL
1.Basic COCOMO MODEL
• Basic COCOMO is good for quick, early, rough of software
costs.
• It does not account for differences in hardware constraints,
Team quality and experience, use of modern tools and
techniques, and other project attributes.
4. •Project estimations: • Approximate estimate of project
parameters(cost, development Time, persons required to
complete a task).
•Software development effort is estimated using LOC(Line Of
Code).
Basic COCOMO Model Equation :
•(Effort-applied)E=bb(KLOC)^bb
•(Development-Time)D=cb(E)^db
•(Productivity)P= KLOC/E
•(Staff Size)SS = E/D persons
Where
• KLOC→ Kilo Line Of Code (Thousands of line).
•A,b,c,d are coefficients.
Project ab bb Cb Db
Organic
mode
2.4 1.05 2.5 0.38
Semi-Deta
ched mode
3.0 1.12 2.5 0.35
Embedded
mode
3.6 1.20 2.5 0.32
Example:
Suppose that a project was estimated to be 400 KLOC. Calculate the
effort and development time for each of the three modes i.e. organic,
semi detached and embedded.
Solution:
The basic COCOMO equations take the form:
E = ab (KLOC)^bb
Estimated size of the project = 400 KLOC
1. Organic Mode
E = 2.4 (400) ^1.05
= 1295.31
D = 2.5 (1295.31)^0.38
= 38.07
2. Semi detached Mode
5. E=3.0(400)^1.12
= 2462.79
D = 2.5 (2462.79)^0.35
=38.45
3.Embedded Mode
E=3.6 (400)^1.20
=4772.81
D =2.5 (4772.81)^0.32
=37.59
2.Intermediate COCOMO MODEL
• It is extension of Basic COCOMO model. In the Intermediate
model,additional set of 15 predictors called cost drivers are introduced.
• It refine estimates obtained by Basic COCOMO model.
•It refines cost estimations using 15 cost drivers.
• Classification of Cost Drivers and their attributes
• The cost drivers are grouped into 4 categories:-
1.Product attributes
a. Required software reliability (RELY) b. Database size (DATA)
c. Product complexity (CPLX)
2. Computer attributes
a. Execution time constraint (TIME)
b. Main store constraint (STOR)
c. Virtual machine volatility (VIRT)
d. Computer turnaround time (TURN)
3.Personnel attributes
a.Analyst capability (ACAP)
b.Application experience (AEXP)
c.Programmer capability (PCAP)
d.Virtual machine experience (VEXP)
e.Programming Language experience (LEXP)
4.Project attributes
a.Modern programming practices (MODP)
b.Use of software tool (TOOL)
c.Required development schedule (SCED)
6. Intermediate COCOMO Model Equations:
•(Effort)E=ai(KLOC)^bi *EAF
•(Development Time)D = ci(E)^di
(Staff Size)SS = E/D persons •(Productivity)P = KLOC/E
Where
EAF Effort Adjustment Factor
Where EAF Effort Adjustment Factor Co-efficients for Intermediate
COCOMO:
Project ai bi Ci di
Organic
Mode
3.2 1.05 2.5 0.38
Semi-Deta
ched Mode
3.0 1.12 2.5 0.35
Embedded
Mode
2.8 1.20 2.5 0.32
Example: or 30KLOC
Consider a project having 30,000 lines of code which in an
embedded software with critical area hence reliability is high.
The estimation can be E=ai(KLOC)*(EAF)
As reliability is high EAF 1.15(product attribute)
ai=2.8
7. bi=1.20
Embedded Mode
E =2.8(30)^1.20 * 1.15
=191 person month
D=ci(E)^di
=2.5(191)^0.32
=13 (months approximately)
N=E/D
=191/13
N=15( persons approx)
3.CompleteDetail COCOMO Model:
Detailed COCOMO Model
•It refine intermediate COCOMO Model.
In detailed cocomo, the whole software is divided into different modules
and then we apply
COCOMO in different modules to estimate effort and then sum the effort.
The Development phases:
• Plan/ requirements: This is the first phase of the development cycle.
The requirement is analyzed, the product plan is set up and a full
product specification is generated. This phase
consumes from 6% to 8% of the effort and 10% to 40% of the
development time.
• Product Design: The second phase of the COCOMO development
cycle is concerned with
the determination of the product architecture and the specification of the
subsystem. This
phase requires from 16% to 18% of the nominal effort and can last from
19% to 38% of
the development time.
•Programming: The third phase of the COCOMO development cycle is
divided into
two sub phases: detailed design and code/unit test. This phase requires
from 48% to
68% of the effort and lasts from 24% to 64% of the development time.
• Integration/test: This phase of the COCOMO development cycle
occurs before
8. delivery. This mainly consist of putting the tested parts together and then
testing the
final product this phase requires from 16% to 34% of the nominal effort
and can last
from 18% to 34% of the development time
Detailed COCOMO Model :Equations
(Effort) E =ai (KLOC)^bi * EAF
• (Development Time) D= ci (E)^di
• Ep = μpE
• Dp=OpD
(staff size ) SS = E/D persons
μp = Used for effort
Op = Used for schedule
• (productivity )P = KLOC/E