CIS210: Software Engineering and Development

Empirical Estimation Models

1. Software Project Estimation

Software project estimation is necessary to achieve reliable cost and effort prediction. A project estimation method usually involves the following steps:

- identify the project scope

- perform project decomposition

- compute the empirical metrics KLOC and/or FP

- apply an empirical model to obtain estimates of

software cost, effort and duration

- use for comparison automated estimation tools (optional)

The contemporary software projects are usually extremely large,

and require decomposition and recharacterization as a set of smaller,

more manageable subproblems.

The decomposition techniques take the "divide and conquer" approach

to software project estimation. Software estimation activities can be

performed in a stepwise fashion when the project is decomposed in

major functions and related tasks.

The expected values for KLOC and FP can be computed as follows:

E = ( a + 4 m + b ) / 6

where: a is the optimistic value

m is the most likely value

b is the pessimistic value

2. Empirical Estimation Models

An estimation model for computer software uses empirically derived

formulas to predict effort as a function of LOC or FP.

2.1. Structure of the Estimation Models

E = A + B * ( ev )C

where: E is effort in person-months

A, B, and C are empirically derived constants

ev is the estimated variable (LOC or FP).

2.2. Concrete Estimation Models

LOC oriented models

E = 5.2 * ( KLOC )0.91 Walston-Felix model

E = 5.5 + 0.73 * ( KLOC )1.16 Bailey-Basili model

E = 3.2 * ( KLOC )1.05 Boehm simple model

E = 5.288 * ( KLOC )1.047 Doty model

FP oriented models

E = -13.39 + 0.0545 * FP Albrecht and Gaffney model

E = 60.62 * 7.728 * 10-8 * FP3 Kemerer model

E = 585.7 + 15.12 FP Matson, Barnett, Mellichamp


6.3. The COCOMO Models: Constructive Cost MOdels

The COCOMO model is an hierarchy of models as follows:

Model 1: The Basic COCOMO model- computes software

development effort and cost as a function of program

size expressed in estimated lines of code.

Model 2: The Intermediate COCOMO -computes software

development effort and cost as a function of program

size and a set of cost drivers that include subjective

assessments of product, hardware, personel, and

project attributes.

Model 3: The Advanced COCOMO model- incorporates all

characteristics of the intermediate model with an

assessment of the impact on each step of the software

development process.

The COCOMO can be applied to three different

kinds of software project classes:

- organic mode projects: small, simple projects developed by

small teams of software engineers, that work with

less than rigid requirements;

- semi-detached mode projects: medium in size and complexity

projects, developed by teams with mixed experience,

that work with mixed requirements;

- embedded mode projects: projects that have to be developed

under tight hardware and software constraints.

Model 1: The Basic COCOMO equations have the following form:

E = ab * ( KLOC )exp( bb )

D = cb *( E )exp( db )

where: E is effort in person-months

D is development time in chronological months

the coefficients are given in the table below:

Project class / 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

Example: Let the expected size of a semidetached software project

is 33.3 KLOC. Using the coefficients in the above table, the

BasicCOCOMO estimates can be produced as follows:

E = ab * ( KLOC )exp( bb )

= 3.0 * ( 33.3 )exp( 1.12 )

= 3.0 * 33.31.12

= 152 [person-months]

D = cb *( E )exp( db )

= 2.5( 152 )exp( 0.35 )

= 2.5*1520.35

= 14.5 [months]

The recommended number of people is:

N = E / D

= 152 / 14.5

= 11 [people]

Model 2: The Intermediate COCOMO equation takes the form:

E = ai * ( LOC )exp( bi ) * EAF

where: E is effort in person-months

EAF is error adjustment factor [0.9 ¸ 1.4] determined with

respect to cost driver attributes (given in a table)

the coefficients are given in the table below:

Project class / ai / bi
organic / 3.2 / 1.05
semidetached / 3.0 / 1.12
embedded / 2.8 / 1.20

Web Resources:

http://sunset.usc.edu/research/COCOMOII/index.html