Cost Estimation: CIS 375 Bruce R. Maxim UM-Dearborn
Cost Estimation: CIS 375 Bruce R. Maxim UM-Dearborn
Cost Estimation: CIS 375 Bruce R. Maxim UM-Dearborn
CIS 375
Bruce R. Maxim
UM-Dearborn
1
Static
derived using regression techniques
doesnt change with time
Dynamic
derived using regression techniques
often includes the effects of time
2
Expert Guessing
A = The most pessimistic estimate.
B = The most likely estimate.
C = The most optimistic estimate.
= (A + 4B + C)
6
(Weighted average; where = estimate).
3
Delphi Technique
1. Group of experts, make "secret" guesses.
2. "secret" guesses are used to compute group
average.
3. Group average is presented to the group.
4. Group, once again makes "secret" guesses.
5. Individual guesses are again averaged.
6. If new average is different from previous,
then goto (4).
7. Otherwise = new average.
4
Wolverton Model - 1
Uses a software type matrix where the
column headings come from the cross
product
{old, new} X {easy, moderate, hard}
For example:
Type
OE
OM
OH
NE
NM
NH
Control
21
27
30
33
40
49
I/O
Wolverton Model -2
Estimate models in terms of LOC:
C(k)
= Ss(k)
* Ci,j(k)
Cost of = Size
matrix cost entry
module k = of module k for modules like K
System Cost = C(k) where k = 1 to n
Function Points
Parameter
Simple
Average
Complex
Fi
3( )
4( )
6( )
Output screens/reports
4( )
5( )
7( )
3( )
4( )
6( )
Number of files
7( )
10( )
15( )
External interface
5( )
7( )
10( )
Total
Backup.
Data communication.
Distributed processes.
Optimal performance.
Heavily used operating
system.
6. On-line data security.
7. Multiple screens.
8. On-line master file
update.
9. Complex inputs,
queries, outputs.
10. Complex internal
processing.
11. Reusable code.
12. Conversion or
installation.
13. Multiple user sites.
14. Ease of use.
10
11
or
Effort = (a + b S C) * m(X)
where S is size in KLOC
a, b, and c are regression constants
12
Halstead Equations
Effort
E = N2 * log2 (n) / 4
To compute N
N = k * Ss
k = average # operators per LOC
k is language specific
To compute n
N = n * log2 (n / 2)
14
15
if R < 1
16
COCOMO - I
Model E = a Sb * m(x)
BASIC
MODE
INTERMEDIATE
Organic
2.4
1.05
3.2
1.05
Semidetached
3.0
1.12
3.0
1.12
Embedded
3.6
1.20
2.8
1.20
17
Basic COCOMO
Computes software development effort
(and cost) as a function of program
size, expressed in estimated lines of
code.
m(x) = 1
18
Intermediate COCOMO
Computes software development effort
as a function of program size and a set
of "cost drivers" that include subjective
assessments of product, hardware,
personnel, and project attributes.
m(x) = m(xi)
19
20
Detailed COCOMO
Includes all characteristics of the
intermediate version with an
assessment of the cost drivers impact
on each step (analysis, design, ect.) of
the software engineering process
m(x) based on similar questionnaire
21
Dynamic Models
It is helpful to know when effort will be
required on a project as well as how
much total effort is required
Most models are time or phase
sensitive in their effort computations
23
Putnam Model
Putnam Equations
E = y(T) = 0.3945 * K
K = area under curve [0 , 1)
measured in programmer year
T = optimal development time in years
D = K / T2
difficulty
P = ci * D 2/3
productivity
S = c * K 1/3 * T 4/3 lines of code
26
Parr Model
27
Parr Equation
Putnam variation
Staff may already be familiar with
project tools, methods, and
requirements
Staff(t) = (sech2 (a*t + c) / 2) / 4
28
Jensen Model
Putnam variation
Less sensitive to schedule compression
than Putnam
S = Cte * T * K1/2
29
31