Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering...

21
cost13 1 Cost Estimation Estimates based on LOC

Transcript of Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering...

Page 1: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 1

Cost Estimation

Estimates based on LOC

Page 2: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 2

Boehm's COCOMO

Software Engineering Economics Prentice-Hall c1981 type COCOMO in a search engine - many

www sites

Page 3: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 3

COnstructive COst MOdel

Basic– macro - overview of whole project with one

metric of KSLOC Intermediate

– multiplicative adjustment factors Detailed

– applying model to each phase

Page 4: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 4

Modes of Software Development

Organic– detached, often batch

Semidetached– e.g. transaction processing

Embedded– e.g. os kernel

Page 5: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 5

Programmer Effort

Application Programs– PM = 2.4 * (KDSI)1.05

Utility Programs– PM = 3.0 * (KDSI)1.12

Systems Programs– PM = 3.6 * (KDSI)1.20

Page 6: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 6

Example for effort Size Appl Util Sys 5K 13.0 18.2 24.8 10K 26.9 39.5 57.1 15K 41.2 62.2 92.8 20K 55.8 86.0 131.1 25K 70.5 110.4 171.3 30K 85.3 135.3 213.2 35K 100.3 160.8 256.6 40K 115.4 186.8 301.1 45K 130.6 213.2 346.9 50K 145.9 239.9 393.6

Page 7: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 7

Development Time (Months)

Application Programs– TDEV = 2.5 * (PM) 0.38

Utility Programs– TDEV = 2.5 * (PM) 0.35

Systems Programs– TDEV = 2.5 * (PM) 0.32

Page 8: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 8

Example for development time

size appl util sys 5K 6.63 6.90 6.99 10K 8.74 9.06 9.12 15K 10.27 10.62 10.66 20K 11.52 11.88 11.90 25K 12.60 12.97 12.96 30K 13.55 13.93 13.91 35K 14.40 14.80 14.75 40K 15.19 15.59 15.53 45K 15.92 16.33 16.25 50K 16.61 17.02 16.92

Page 9: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 9

Average Staffing Levels

Calculate by dividing PM by TDEV

Page 10: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 10

Example for staffing levels

size appl util sys 5K 1.96 2.63 3.55 10K 3.08 4.37 6.26 15K 4.01 5.87 8.71 20K 4.84 7.23 11.02 25K 5.60 8.51 13.21 30K 6.30 9.72 15.33 35K 6.97 10.87 17.39 40K 7.60 11.98 19.39 45K 8.20 13.05 21.35 50K 8.79 14.09 23.27

Page 11: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 11

Productivity

The productivity is defined as LOC per time unit.

The usual units are LOC/Programmer-Day

Divide final size of project by total programmer-days of effort for the whole software development

Page 12: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 12

TTYP1

What is the effort, productivity, staffing and delivery time for an application project that takes 175K loc?

What is the effort, productivity, staffing and delivery time for a system project that take 400K loc?

Page 13: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 13

COCOMO Effort Multipliers

product attributes – required reliability 0.75 - 1.40

– data-base size 0.94 - 1.16

– product complexity 0.70 - 1.65 computer attributes

– execution time constraint 1.00 - 1.66

– main storage constraint 1.00 - 1.56

– virtual machine volatility 0.87 - 1.30

– computer turnaround time 0.87 - 1.15

Page 14: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 14

Putnam's Cost Estimation Model

macro-estimation model that uses LOC relationship between cost and the amount of

time available for the development effort. The model supports the 'mythical man-

month' idea

Page 15: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 15

Putnam's Model

Uses the Rayleigh Curve– Shows Instantaneous Programmer-power vs

Time– Empirically verified on other projects

Page 16: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 16

Rayleigh Curve

The rayleigh curve is a product of at times e raised to the -bt squared

The at dominates at first giving a steep rise and then the negative power of e lowers the value slowly

Page 17: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 17

Rayleigh Curve

y : instantaneous programmer-power K : total lifecycle cost ( in programmer-years) t : time from beginning of project td: delivery time e= 2.71828...

y Kt

te

d

ttd

22

22

Page 18: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 18

Software Equation

There must be a relationship between the lifecycle development effort, the development time and the size of the project.

This relationship is given in the Software Equation

Page 19: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 19

Software Equation

Ss = C*K1/3 td4/3

– where:

– Ss is the estimated size of the software system

– K is the total lifecycle effort in programmer-years

– C is the technology constant

– td is the development time (in years) )/1(][ 433/1 tPBlocE

B is “special skills factor”; P is “productivity parameter”

Page 20: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 20

Putnam by spread-sheetS td (years) K .4K ProgProd

100000 1 100000 40000 0.0125100000 1.5 19753 7901 0.0633100000 2 6250 2500 0.2000100000 2.5 2560 1024 0.4883100000 3 1235 494 1.0125100000 3.5 666 267 1.8758100000 4 391 156 3.2000100000 4.5 244 98 5.1258100000 5 160 64 7.8125100000 5.5 109 44 11.4383100000 6 77 31 16.2000100000 6.5 56 22 22.3133100000 7 42 17 30.0125

Page 21: Cost13 1 Cost Estimation Estimates based on LOC. cost13 2 Boehm's COCOMO u Software Engineering Economics u Prentice-Hall c1981 u type COCOMO in a search.

cost13 21

Thursday, Oct 19

Function Point Estimation Read Pressman pp 440-444 and 653-654 Read SOS sec 4.4.4 PLQ Wednesday