0% found this document useful (0 votes)
47 views13 pages

Chapter 5 Software Cost Estimation

Uploaded by

Yosief Dagnachew
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)
47 views13 pages

Chapter 5 Software Cost Estimation

Uploaded by

Yosief Dagnachew
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/ 13

Software Cost Estimation

For any new software project, it is necessary to know how much it will cost to develop and

how much development time will it take. These estimates are needed before development
is initiated, but how is this done? Several estimation procedures have been developed and

are having the following attributes in common.


1. Project scope must be established in advanced.

2. Software metrics are used as a support from which evaluation is made.


3. The project is broken into small PCs which are estimated individually.

To achieve true cost & schedule estimate, several option arise.


4. Delay estimation

5. Used symbol decomposition techniques to generate project cost and schedule


estimates.

6. Acquire one or more automated estimation tools.

Uses of Cost Estimation


1. During the planning stage, one needs to choose how many engineers are required

for the project and to develop a schedule.


2. In monitoring the project's progress, one needs to access whether the project is

progressing according to the procedure and takes corrective action, if necessary.

Cost Estimation Models


A model may be static or dynamic. In a static model, a single variable is taken as a key
element for calculating cost and time. In a dynamic model, all variable are interdependent,

and there is no basic variable.

Page 1 of 13
Static, Single Variable Models: When a model makes use of single variables to calculate

desired values such as cost, time, efforts, etc. is said to be a single variable model. The

most common equation is:


C=aLb

Where C = Costs
L= size

a and b are constants


The Software Engineering Laboratory established a model called SEL model, for

estimating its software production. This model is an example of the static, single variable
model.

E=1.4L0.93
DOC=30.4L0.90

D=4.6L0.26
Where E= Efforts (Person Per Month)

DOC=Documentation (Number of Pages)


D = Duration (D, in months)

L = Number of Lines per code


Static, Multivariable Models: These models are based on method (1), they depend on

several variables describing various aspects of the software development environment. In


some model, several variables are needed to describe the software development process,

Page 2 of 13
and selected equation combined these variables to give the estimate of time & cost. These

models are called multivariable models.


WALSTON and FELIX develop the models at IBM provide the following equation gives a

relationship between lines of source code and effort:


E=5.2L0.91

In the same manner duration of development is given by


D=4.1L0.36

The productivity index uses 29 variables which are found to be highly correlated
productivity as follows:

Where Wi is the weight factor for the ithvariable and Xi={-1,0,+1} the estimator

gives Xione of the values -1, 0 or +1 depending on the variable decreases, has no effect
or increases the productivity.

Example: Compare the Walston-Felix Model with the SEL model on a software
development expected to involve 8 person-years of effort.

a. Calculate the number of lines of source code that can be produced.


b. Calculate the duration of the development.

c. Calculate the productivity in LOC/PY


d. Calculate the average manning
Solution:
The amount of manpower involved = 8PY=96persons-months

(a)Number of lines of source code can be obtained by reversing equation to give:

Then
L (SEL) = (96/1.4)1⁄0.93=94264 LOC
L (SEL) = (96/5.2)1⁄0.91=24632 LOC

Page 3 of 13
(b)Duration in months can be calculated by means of equation
ADVERTISEMENT

D (SEL) = 4.6 (L) 0.26


= 4.6 (94.264)0.26 = 15 months

D (W-F) = 4.1 L0.36


= 4.1 (24.632)0.36 = 13 months

(c) Productivity is the lines of code produced per persons/month (year)

(d)Average manning is the average number of persons required per month in the
project

COCOMO Model
Boehm proposed COCOMO (Constructive Cost Estimation Model) in 1981.COCOMO is
one of the most generally used software estimation models in the world. COCOMO

predicts the efforts and schedule of a software product based on the size of the software.

The necessary steps in this model are:


1. Get an initial estimate of the development effort from evaluation of thousands of

delivered lines of source code (KDLOC).


2. Determine a set of 15 multiplying factors from various attributes of the project.

3. Calculate the effort estimate by multiplying the initial estimate with all the
multiplying factors i.e., multiply the values in step1 and step2.

Page 4 of 13
The initial estimate (also called nominal estimate) is determined by an equation of the

form used in the static single variable models, using KDLOC as the measure of the size.
To determine the initial effort Ei in person-months the equation used is of the type is

shown below
Ei=a*(KDLOC)b

The value of the constant a and b are depending on the project type.
In COCOMO, projects are categorized into three types:

1. Organic
2. Semidetached

3. 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

Page 5 of 13
KLOC (Kilo Line of code) efforts estimation takes into account the productivity loss due to

holidays, weekly off, coffee breaks, etc.


According to Boehm, software cost estimation should be done through three stages:

1. Basic Model
2. Intermediate Model

3. Detailed Model
1. Basic COCOMO Model: The basic COCOMO model provide an accurate size of the

project parameters. The following expressions give the basic COCOMO estimation model:
Effort=a1*(KLOC) a2 PM

Tdev=b1*(efforts)b2 Months
Where

KLOC is the estimated size of the software product indicate in Kilo Lines of Code,
a1,a2,b1,b2 are constants for each group of software products,

Tdev is the estimated time to develop the software, expressed in months,


Effort is the total effort required to develop the software product, expressed in person

months (PMs).
Estimation of development effort

For the three classes of software products, the formulas for estimating the effort based

on the code size are shown below:


Organic: Effort = 2.4(KLOC) 1.05 PM

Semi-detached: Effort = 3.0(KLOC) 1.12 PM


Embedded: Effort = 3.6(KLOC) 1.20 PM
Estimation of development time

For the three classes of software products, the formulas for estimating the development

time based on the effort are given below:


Organic: Tdev = 2.5(Effort) 0.38 Months
Semi-detached: Tdev = 2.5(Effort) 0.35 Months

Page 6 of 13
Embedded: Tdev = 2.5(Effort) 0.32 Months

Some insight into the basic COCOMO model can be obtained by plotting the estimated
characteristics for different software sizes. Fig shows a plot of estimated effort versus

product size. From fig, we can observe that the effort is somewhat superliner in the size
of the software product. Thus, the effort required to develop a product increases very

rapidly with project size.

The development time versus the product size in KLOC is plotted in fig. From fig it can be

observed that the development time is a sub linear function of the size of the product, i.e.
when the size of the product increases by two times, the time to develop the product

does not double but rises moderately. This can be explained by the fact that for larger
products, a larger number of activities which can be carried out concurrently can be

identified. The parallel activities can be carried out simultaneously by the engineers. This
reduces the time to complete the project. Further, from fig, it can be observed that the

development time is roughly the same for all three categories of products. For example,
a 60 KLOC program can be developed in approximately 18 months, regardless of whether
it is of organic, semidetached, or embedded type.

Page 7 of 13
From the effort estimation, the project cost can be obtained by multiplying the required

effort by the manpower cost per month. But, implicit in this project cost computation is

the assumption that the entire project cost is incurred on account of the manpower cost
alone. In addition to manpower cost, a project would incur costs due to hardware and

software required for the project and the company overheads for administration, office
space, etc.

It is important to note that the effort and the duration estimations obtained using the
COCOMO model are called a nominal effort estimate and nominal duration estimate. The

term nominal implies that if anyone tries to complete the project in a time shorter than
the estimated duration, then the cost will increase drastically. But, if anyone completes

the project over a longer period of time than the estimated, then there is almost no
decrease in the estimated cost value.

Example1: Suppose a project was estimated to be 400 KLOC. Calculate the effort and
development time for each of the three model i.e., organic, semi-detached & embedded.

Solution: The basic COCOMO equation takes the form:


Effort=a1*(KLOC) a2 PM

Tdev=b1*(efforts)b2 Months
Estimated Size of project= 400 KLOC

Page 8 of 13
(i)Organic Mode

E = 2.4 * (400)1.05 = 1295.31 PM


D = 2.5 * (1295.31)0.38=38.07 PM

(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 semidetached mode is the most appropriate mode, keeping in view the

size, schedule and experience of development time.


Hence E=3.0(200)1.12=1133.12PM

D=2.5(1133.12)0.35=29.3PM

P = 176 LOC/PM
2. Intermediate Model: The basic Cocomo model considers that the effort is only a

function of the number of lines of code and some constants calculated according to the
various software systems. The intermediate COCOMO model recognizes these facts and

refines the initial estimates obtained through the basic COCOMO model by using a set of
15 cost drivers based on various attributes of software engineering.
Classification of Cost Drivers and their attributes:

Page 9 of 13
(i) Product attributes -

o Required software reliability extent


o Size of the application database

o The complexity of the product


Hardware attributes -

o Run-time performance constraints


o Memory constraints

o The volatility of the virtual machine environment


o Required turnabout time

Personnel attributes -
o Analyst capability

o Software engineering capability


o Applications experience

o Virtual machine experience


o Programming language experience

Project attributes -
o Use of software tools

o Application of software engineering methods


o Required development schedule

The cost drivers are divided into four categories:

Page 10 of 13
Page 11 of 13
Intermediate COCOMO equation:

E=ai (KLOC) bi*EAF

D=ci (E)di
Coefficients for intermediate COCOMO

Project ai bi ci di

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

Page 12 of 13
3. Detailed COCOMO Model: Detailed COCOMO incorporates all qualities of the

standard version with an assessment of the cost driver?s effect on each method of the
software engineering process. The detailed model uses various effort multipliers for each

cost driver property. In detailed cocomo, the whole software is differentiated into multiple
modules, and then we apply COCOMO in various modules to estimate effort and then

sum the effort.


The Six phases of detailed COCOMO are:

1. Planning and requirements


2. System structure

3. Complete structure
4. Module code and test

5. Integration and test


6. Cost Constructive model

The effort is determined as a function of program estimate, and a set of cost drivers are
given according to every phase of the software lifecycle.

Page 13 of 13

You might also like