0% found this document useful (0 votes)
0 views25 pages

COCOMO Class Upload

The document discusses the Constructive Cost Model (COCOMO) for software project planning, detailing its three modes: Organic, Semidetached, and Embedded, along with their respective project characteristics and coefficients. It outlines the basic COCOMO equations for estimating effort and development time based on project size, and provides examples to illustrate these calculations. Additionally, it introduces COCOMO-II, which categorizes applications and describes the Application Composition Estimation Model for estimating costs and efforts in early project stages.

Uploaded by

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

COCOMO Class Upload

The document discusses the Constructive Cost Model (COCOMO) for software project planning, detailing its three modes: Organic, Semidetached, and Embedded, along with their respective project characteristics and coefficients. It outlines the basic COCOMO equations for estimating effort and development time based on project size, and provides examples to illustrate these calculations. Additionally, it introduces COCOMO-II, which categorizes applications and describes the Application Composition Estimation Model for estimating costs and efforts in early project stages.

Uploaded by

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

Software Project Planning

The Constructive Cost Model (COCOMO)


Constructive Cost model
(COCOMO)

Basic Intermediate Detailed

Model proposed by
B. W. Boehm’s
through his book
Software Engineering Economics in 1981
1
Software Project Planning

COCOMO applied to

Semidetached
Organic mode Embedded
mode mode

2
Software Project Planning
Mode Project size Nature of Project Innovation Deadline of Development
the project Environment

Organic Typically Small size project, experienced Little Not tight Familiar & In
developers in the familiar house
2-50 KLOC
environment. For example, pay
roll, inventory projects etc.

Semi Typically Medium size project, Medium Medium Medium Medium


detached size team, Average previous
50-300 KLOC
experience on similar project.
For example: Utility systems
like compilers, database
systems, editors etc.

Embedded Typically over Large project, Real time Significant Tight Complex
systems, Complex interfaces, Hardware/
300 KLOC customer
Very little previous experience.
For example: ATMs, Air Traffic Interfaces
Control etc. required

Table 4: The comparison of three COCOMO modes


3
Software Project Planning

Basic Model

Basic COCOMO model takes the form

E  ab (KLOC) bb

D  cb (E) db

where E is effort applied in Person-Months, and D is the development time in


months. The coefficients ab, bb, cb and db are given in table 4 (a).

4
Software Project Planning

Software ab bb cb db
Project

Organic 2.4 1.05 2.5 0.38

Semidetached 3.0 1.12 2.5 0.35

Embedded 3.6 1.20 2.5 0.32

Table 4(a): Basic COCOMO coefficients

5
Software Project Planning

When effort and development time are known, the average staff size to complete
the project may be calculated as:

E
Average staff size (SS)  Persons
D

When project size is known, the productivity level may be calculated as:

KLOC
Productivity (P)  KLOC / PM
E

6
Software Project Planning

Example: 4.5

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, semidetached and embedded.

7
Software Project Planning
Solution

The basic COCOMO equation take the form:

E  ab (KLOC) bb
d
D  cb (E) b

Estimated size of the project = 400 KLOC

(i) Organic mode

E = 2.4(400)1.05 = 1295.31 PM
D = 2.5(1295.31)0.38 = 38.07 PM

8
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

9
Software Project Planning

Example: 4.6

A project size of 200 KLOC is to be developed. Software development team has


average experience on similar type of projects. The project schedule is not very
tight. Calculate the effort, development time, average staff size and productivity of
the project.

10
Software Project Planning
Solution

The semi-detached mode is the most appropriate mode; keeping in view the size,
schedule and experience of the development team.

Hence E = 3.0(200)1.12 = 1133.12 PM


D = 2.5(1133.12)0.35 = 29.3 PM

E
Average staff size (SS)  Persons
D

1133.12
  38.67Persons
29.3
11
Software Project Planning

KLOC 200
Productivity    0.1765 KLOC / PM
E 1133.12

P  176 LOC / PM

12
Assume that the size of an organic type software product has been estimated to be
32,000 lines of source code. Assume that the average salary of software engineers be Rs.
15,000/- per month. Determine the effort required to develop the software product and
the nominal development time. Also determine the cost incurred for the above product
development.

From the basic COCOMO estimation formula for organic software:


Effort = 2.4 х (32)1.05 = 91 PM
Nominal development time = 2.5 х (91)0.38 = 14 months
Cost required to develop the product = 14 х 15,000= Rs.
210,000/-
Software Project Planning
COCOMO-II

The following categories of applications / projects are identified


by COCOMO-II and are shown in fig. 4 shown below:
Application
generators &
composition
aids
End user Application
Infrastructure
programming composition

System
integration

Fig. 4 : Categories of applications / projects

14
Software Project Planning
Stage Model Name Application for the Applications
No types of projects

Stage I Application composition Application composition In addition to application


estimation model composition type of projects, this
model is also used for prototyping
(if any) stage of application
generators, infrastructure & system
integration.

Stage II Early design estimation Application generators, Used in early design stage of a
model infrastructure & system project, when less is known about
integration the project.

Stage III Post architecture Application generators, Used after the completion of the
estimation model infrastructure & system detailed architecture of the project.
integration

Table 8: Stages of COCOMO-II


15
Application Composition Estimation Model (COCOMO II
| Stage 1)
• Application Composition Estimation Model allows one to estimate the cost, effort
at the stage 1 of the COCOMO II Model.
• In this model, size is first estimated using Object Points.
• Object Points are easy to identify and count.
• Object Points defines screen, reports, third generation (3GL) modules as objects.
• steps taken to estimate effort to develop a project
Software Project Planning
i. Assess object counts: Estimate the number of screens, reports and
3 GL components that will comprise this application.

ii. Classification of complexity levels: We have to classify each


object instance into simple, medium and difficult complexity levels
depending on values of its characteristics.

Table 9 (a): For screens


17
Software Project Planning

Table 9 (b): For reports

18
Software Project Planning
iii. Assign complexity weight to each object : The weights are used
for three object types i.e., screen, report and 3GL components using
the Table 10.

Table 10: Complexity weights for each level

19
Software Project Planning
iv. Determine object points: Add all the weighted object instances to
get one number and this known as object-point count.

v. Compute new object points: We have to estimate the percentage


of reuse to be achieved in a project. Depending on the percentage
reuse, the new object points (NOP) are computed.

(object points) * (100-%reuse)


NOP =
100

NOP are the object points that will need to be developed and differ from
the object point count because there may be reuse.

20
Software Project Planning
vi. Calculation of productivity rate: The productivity rate can be
calculated as:
Productivity rate (PROD) = NOP/Person month

Table 11: Productivity values


21
Software Project Planning

vii. Compute the effort in Persons-Months: When PROD is known,


we may estimate effort in Person-Months as:

NOP
Effort in PM = ------------
PROD

22
Software Project Planning
Example: 4.9
Consider a database application project with the following
characteristics:
I. The application has 4 screens with 4 views each and 7 data
tables for 3 servers and 4 clients.
II. The application may generate two report of 6 sections each
from 07 data tables for two server and 3 clients. There is
10% reuse of object points.
The developer’s experience and capability in the similar
environment is low. The maturity of organization in terms of
capability is also low. Calculate the object point count, New object
points and effort to develop such a project.

23
Example:
• Consider a database application project.The application has four screens with four views each and
seven data tables for three servers and four clients. Application may generate two reports of six section
each from seven data tables for two servers and three clients. 10% reuse of object points.
Developer’s experience and capability in similar environment is low.
Calculate the object point count, New object point and effort to develop such project.
Step-1:
Number of screens = 4
Number of records = 2
Step-2:
For screens,
Number of views = 4
Number of data tables = 7
Number of servers = 3
Number of clients = 4
by using above given information and table (For Screens),
Complexity level for each screen = medium
For reports,
Number of sections = 6
Number of data tables = 7
Number of servers = 2
Number of clients = 3
by using above given information and table (For Reports),
Complexity level for each report = difficult
Step-3:
By using complexity weight table we can assign complexity weight to each object
instance depending upon their complexity level.
Complexity weight for each screen = 2
Complexity weight for each report = 8
Step-4:
Object point count= 4*2+2*8=24
Step-5:
NOP = [object points * (100 - %reuse)]/100
= [24 * (100 -10)]/100 = 21.6
Step-6:
Developer’s experience and capability is low (given)
Using information given about developer and productivity
rate table Productivity rate (PROD) of given project = 7
Step-7:
Effort = NOP/PROD
= 21.6/7
= 3.086 person-month

Therefore, effort to develop the given project = 3.086 person-month.

You might also like