0% found this document useful (0 votes)
193 views41 pages

Cocomo (Estimation)

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

Cocomo (Estimation)

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

Cost Estimation: How much effort? How much time?

Common attributes:
1. Project scope must be established in advance
2. S/W metrics are used as a basis from which estimates are made.
3. The project is broken into small pieces which are estimated
individually.
Four approaches:
1. Delay estimation until late in the project.
2. Base estimates on similar projects that have already been
completed.
3. Use relatively simple decomposition techniques to generate
project cost and effort estimates.
4. Use one or more empirical models for software cost and effort
estimation

LOC based estimation:


1. Decompose all functions into sub functions
2. Estimate a range of values for each function.
3. Using the historical data, the planner estimates an optimistic,
most likely and pessimistic size value for each function
4. An expected value for the estimation variable(size) is then
calculated as :

S = (Sopt + 4Sm + Spess) / 6


FP Based estimation:

FPestimated =count-total x [0.65 + 0.01 x (Fi)

Function Point

08/03/15

STTP OOSE

12

To compute function points (FP), the following relationship is


used:
FP = count total _ [0.65 + 0.01* (Fi)]
The Fi (i = 1 to 14) are "complexity adjustment values" based
on responses to the
following questions :
1. Does the system require reliable backup and recovery?
2. Are data communications required?
3. Are there distributed processing functions?
4. Is performance critical?
5. Will the system run in an existing, heavily utilized
operational environment?
6. Does the system require on-line data entry?
14

Formulate the detailed statement of


admission process in an engineering
college.
Estimate the Function point and LOC.
Estimate the cost using COCOMO model
to develop the system.

To compute function points (FP), the following relationship is


used:
FP = count total _ [0.65 + 0.01* (Fi)]
The Fi (i = 1 to 14) are "complexity adjustment values" based
on responses to the
following questions :
1. Does the system require reliable backup and recovery?
2. Are data communications required?
3. Are there distributed processing functions?
4. Is performance critical?
5. Will the system run in an existing, heavily utilized
operational environment?
6. Does the system require on-line data entry?
08/03/15

STTP OOSE

16

Empirical Estimation Models


An estimation model for computer s/w uses empirically derived
formulas to predict effort as a function of LOC or FP.
LOC and FP estimates are plugged into the estimation model.
No estimation model is appropriate for all classes of s/w and in all
development environments.
The structure of Estimation models:
E = A + B x (ev)C
Where A,B,C are empirically derived constants
E= effort in person-months
ev=estimation variable(LOC or FP)

LOC based estimation Models:


E=5.2 x (KLOC)0.91
Walston-Felix Model
E= 5.5 + 0.73 x (KLOC)1.16 Bailey-Basili model
E=3.2 x (KLOC)1.05
Boehm simple Model
E=5.288 x (KLOC)1.047
Doty model for KLOC > 9

FP oriented Models:
E= -13.39 + 0.0545 FP
E= 60.62 x 7.728 x 10 -8FP3
E= 585.7 + 15.12 FP
model

Albretch and Gaffney model


Kemerer model
Matson, Barnett and Mellichamp

The COCOMO model:


COCOMO is a hierarchy of s/w cost estimation models that
Include- Basic, intermediate and detailed submodels.
Basic Model:
-Estimating most of the small to medium sized projects in quick and
rough fashion.

COCOMO applied to

Semidetached
Organic
Embedded
mode
mode
mode

Mode

Organic

Project size

Typically
2-50 KLOC

Semi
detache
d

Embedde
d

Typically
50-300 KLOC

Typically
over
300 KLOC

Nature of Project

Small
size
project,
experienced developers in
the familiar environment. For
example, pay roll, inventory
projects etc.
Medium
size
project,
Medium size team, Average
previous
experience
on
similar project. For example:
Utility
systems
like
compilers,
database
systems, editors etc.
Large project, Real time
systems,
Complex
interfaces,
Very
little
previous experience. For
example: ATMs, Air Traffic
Control etc.

Innovation

Deadline of
the project

Development
Environment

Little

Not tight

Familiar & In
house

Medium

Medium

Medium

Significant

Tight

Complex
Hardware/
customer
Interfaces
required

Table 4: The comparison of three COCOMO modes

21

Basic COCOMO model takes the form

E ab ( KLOC ) bb

D cb ( E )

db

Where E is effort applied in person-months


D is develop. Time in months
ab

bb

cb

db

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

Software
Project

Table 4(a): Basic COCOMO coefficients

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

Solution
The basic COCOMO equation take the form:

E ab ( KLOC ) bb
D cb ( KLOC )

db

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
24

(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

Example2:
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.
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
Average staff
size

E
( SS ) Persons
D

1133 .12

38.67 Persons
29.3

Productivity

KLOC
200

0.1765 KLOC / PM
E
1133 .12

P 176 LOC / PM

Intermediate Model:
Boehm introduced an additional set of 15 predictors(cost drivers ) to
take account of s/w development environment.
Cost drivers are used to adjust the nominal cost of a project to actual
project environment, thus increasing the accuracy of the estimate
Cost drivers: 4 categories
(i) Product Attributes
Required s/w reliability
Size of application database
Complexity of the product
(ii) Hardware Attributes
Run time performance constraints
Memory constraints
Virtual machine volatility

(iii) Personal Attributes


Analyst capability
Programmer capability
Application experience
Virtual m/c experience
Programming language experience
(iv) Project Attributes
Modern programming practices
Use of software tools
Required development Schedule
Each cost driver is rated for a given project environment.
The rating describes to what extent the cost driver applies to the
project being estimated.

Multipliers of different cost drivers


Cost Drivers

RATINGS
Very low

Low

Nominal

High

Very
high

Extra
high

0.75

0.88

1.00

1.15

1.40

--

--

0.94

1.00

1.08

1.16

--

0.70

0.85

1.00

1.15

1.30

1.65

TIME

--

--

1.00

1.11

1.30

1.66

STOR

--

--

1.00

1.06

1.21

1.56

VIRT

--

0.87

1.00

1.15

1.30

--

TURN

--

0.87

1.00

1.07

1.15

-30

Product Attributes
RELY
DATA
CPLX
Computer Attributes

Cost Drivers

RATINGS
Very low

Low

Nominal

High

Very
high

Extra
high

1.46

1.19

1.00

0.86

0.71

--

1.29

1.13

1.00

0.91

0.82

--

1.42

1.17

1.00

0.86

0.70

--

1.21

1.10

1.00

0.90

--

--

1.14

1.07

1.00

0.95

--

--

1.24

1.10

1.00

0.91

0.82

--

1.24

1.10

1.00

0.91

0.83

--

1.23

1.08

1.00

1.04

1.10

--

Personnel Attributes
ACAP
AEXP
PCAP
VEXP
LEXP
Project Attributes
MODP
TOOL
SCED

Table 5: Multiplier values for effort calculations

31

Intermediate COCOMO equations

E ai ( KLOC ) bi * EAF
D ci ( E ) d i
Project

ai

bi

ci

di

Organic

3.2

1.05

2.5

0.38

Semidetached

3.0

1.12

2.5

0.35

Embedded

2.8

1.20

2.5

0.32

Table 6: Coefficients for intermediate COCOMO

Multiplying factors for all 15 cost drivers are multiplied to get EAF
EAF: 0.9 to 1.4

COCOMO II
A hierarchy of estimation models that address the following areas:
1. Application composition Model: Used during early stages of SE.
when prototyping of user interfaces, consideration of software
and system interaction, assessment of performance, and
evaluation of technology maturity are paramount.
2. Early Design Stage Model: Used once requirements have been
stabilized and basic s/w architecture has been established.
3. Post-Architecture-Stage Model: Used during the construction of
the s/w

Total Object point count = sum(original no. of


object instances x weighting factor)

COCOMO II uses object points: screens, reports, components


Steps req for estimation of efforts in person-months
Step 1: Assess object counts :
Estimate the no of screens, reports and components in the application.
Step 2: Classification of complexity levels:
Classify each object instance into simple, medium and difficult complexity levels depending on
the values of its characteristics.
Complexity: a function of number and source of the client and server data tables that are required to
generate the screen or report and the no. of views or sections presented as a part of screen or report.

TABLE : For Screens


# and sources of data tables
No. of views
contained

Total<4
(<2 server ,3 client)

Total<8
(2-3 server, 3-5 client)

Total 8+
(>3 server >5 client)

<3

Simple

Simple

Medium

3-7

Simple

Medium

Difficult

>8

Medium

Difficult

Difficult

TABLE: For Reports


# and sources of data tables
No. of
sections
contained

Total<4
(<2 server ,3 client)

Total<8
(2-3 server, 3-5 client)

Total 8+
(>3 server >5 client)

<3

Simple

Simple

Medium

3-7

Simple

Medium

Difficult

>8

Medium

Difficult

Difficult

Step 3: Assign complexity weight to each object:


Weight reflect the relative effort req to implement an
instance of that complexity level

TABLE: Complexity weighting for object types

Step 4: Determine the object points:


Add all the weighted object instances to get object point count.
Step 5: Compute New Object Points
When component based development or general s/w reuse is to be applied , the
%reuse is estimated and the object point count is adjusted:
NOP=(object points) x [(100 - %reuse) / 100]
[ NOPs are the object points that will need to be developed and differ from
object point count because there may be reuse]

Step 6: Calculation of productivity Rate:


Productivity Rate PROD = NOP / person-month
Table: Productivity Rates for Object points

Step 7: Compute the effort in person months


Estimated effort in PM = NOP / PROD

You are appointed as the software designer to develop an


Engineering College Information System
College has three departments. Students pay the fees and enroll
into the various departments in the college.
For each department, specific labs are assigned. Each lab has
equipments pertaining to the department.
Professors teach the students in the college.
Staff is of three types: Professors, Lab assistants and Non-teaching
staff. Each professor teaches only one subject.
Students may or may not stay in the hostel.
Staff can stay in hostel.
College prepares results, conducts exams and distributes results to
the students.
Each lab has a lab assistant assigned to it.
Roll numbers are assigned to the students.
Estimate the Function point and LOC
Estimate the cost and number of persons required on monthly
basis.

You are appointed as the software designer to develop Airline Reservation


System
British Airways wants an online reservation system to be designed for the
customer in order to reserve and cancel the tickets online.
The customer can view the time-table of various flights (only international) via
database maintained by the company. This will allow the user to see the
timings, dates, flight number and status of reservation of the flights that are
currently available.
The user can use to reserve on any of the flights subject to availability of seats.
The user can also cancel the reservation with partial refund of the amount of
the tickets considering the time limitations. The reservation and cancellation is
maintained by another database which is constantly updated and acts as
reservation manager.
The transaction will be carried out online where the user will have to give the
credit card number. Security needs are very high as there is vulnerability for
misuse of credit card number if intercepted by an outsider.
Estimate the Function point and LOC.
Also estimate the Cost and Duration to complete the development of the
system

You might also like