Top Banner
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn
31

1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

Dec 23, 2015

Download

Documents

Jessica Page
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

1

Cost Estimation

CIS 375

Bruce R. Maxim

UM-Dearborn

Page 2: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

2

Types of Cost Models

• Experiential– derived from past experience

• Static– derived using “regression” techniques– doesn’t change with time

• Dynamic– derived using “regression” techniques– often includes the effects of time

Page 3: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

3

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

Page 4: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

4

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.

Page 5: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

5

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

Page 6: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

6

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

Page 7: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

7

Problems with Expert Judgement

• It is subjective. (consensus is difficult to achieve)

• Extrapolating from one project to another may be difficult.

• Users and project managers tend not to estimate costs very well.

• Cost matrices require periodic updates.

Page 8: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

8

Function PointsParameter Simple + Average + Complex = Fi

Distinct input items 3( ) + 4( ) + 6( ) = ?

Output screens/reports 4( ) + 5( ) + 7( ) = ?

Types of user queries 3( ) + 4( ) + 6( ) = ?

Number of files 7( ) + 10( ) + 15( ) = ?

External interface 5( ) + 7( ) + 10( ) = ?

          Total = ?

Page 9: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

9

Function Point Equation

F.P.’s = T * (0.65 + 0.01 * Q)

T = unadjusted table total

Q = score from questionnaire (14 items with values 0 to 5)

• Cost of producing one function point? May be organization specific.

Page 10: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

10

Function Point Questionnaire

1. Backup.2. Data communication.3. Distributed processes.4. Optimal performance.5. 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.

Page 11: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

11

Static Linear Models

Often built using regression analysis

Effort = c0 + ci * xi

C = regression coefficient

X = product or process attribute

Page 12: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

12

Static Non-Linear Models

ExamplesEffort = c0 + ci * xi

di

Ci and di are non-linear regression constants

orEffort = (a + b S C) * m(X)

where S is size in KLOC

a, b, and c are regression constants

Page 13: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

13

Halstead’s Software Science

Assumptions

• complete algorithm specification exists

• programmer works alone

• programmer knows what to do

• Based onN = # of unique operators

n = # of unique operands

Page 14: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

14

Halstead Equations

Effort E = N2 * log2 (n) / 4

To compute NN = k * Ss

k = average # operators per LOC

k is language specific

To compute nN = n * log2 (n / 2)

Page 15: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

15

Watson and Felix Model

E = 5.25 * S 0.91

composite productivity factor

p = wi * xi

L = LOC per person-month = f(p)

E = S / L

Page 16: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

16

Bailey and Basili Model

E` = 5.5 + 0.73 * S 1.6

R = E / E’ = actual effort/predicted effort

Adjusted effort is

ERadj = R – 1 if R >= 1

= 1 – 1/R if R < 1

Eadj = (1 + ERadj) * E if R >= 1

= E / (1 + ERadj) if R < 1

Page 17: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

17

COCOMO - I

• Model E = a Sb * m(x)

  BASIC INTERMEDIATE

MODE a b a b

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

Page 18: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

18

Basic COCOMO

• Computes software development effort (and cost) as a function of program size, expressed in estimated lines of code.

• m(x) = 1

Page 19: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

19

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)

Page 20: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

20

Page 21: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

21

Detailed COCOMO

• Includes all characteristics of the intermediate version with an assessment of the cost driver’s impact on each step (analysis, design, ect.) of the software engineering process

• m(x) based on similar questionnaire

Page 22: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

22

Static Model Problems

• Existing models rely at least in part on expert judgment

• Most static estimates require estimation of the product in lines of code (LOC)

• Not clear which cost factors are significant in all development environments

Page 23: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

23

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

Page 24: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

24

Putnam Model

Based on Rayliegh curve - > skewed, median & mean offset from one another

Page 25: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

25

Putnam Model Details

• Volume of work• Difficulty gradient for measuring complexity• Project technology factor measuring staff

experience• Delivery time constraints• Staffing model based on

– Total cumulative staff– How quickly new staff can be absorbed– # days in project month

Page 26: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

26

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

Page 27: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

27

Parr Model

Page 28: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

28

Parr Equation

• Putnam variation

• Staff may already be familiar with project tools, methods, and requirements

Staff(t) = (sech2 (a*t + c) / 2) / 4

Page 29: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

29

Jensen Model

• Putnam variation

• Less sensitive to schedule compression than Putnam

S = Cte * T * K1/2

Page 30: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

30

Cooperative Programming Model

• Includes size of project team in estimate as well as code size

E = E1(S) + E2(M)

S = code size

M = average # team members

E1(S) = a + b * S

effort of single team member

E2(M) = c * Md

effort required for coordination with other members

Page 31: 1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.

31

Dynamic Model Problems

• Still rely on expert judgment

• Not clear that all project costs have been accommodated here either