Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

30
Software Cost, Effort,Time and H- resource Estimation: Introduction and COCOMO Model G.Berio

Transcript of Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Page 1: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Software Cost, Effort,Time and H-resource Estimation:

Introduction and COCOMO Model

G.Berio

Page 2: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Estimating Methods

• Price-to-win

• Analogy

• Expert judgement

• Algorithmic Models (may constraint other estimations)

Page 3: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

What it is measured• Effort (E): usually measured in Person-Month (PM) or Person-

Year (PY) (Month and Year are working quantities, not calendar)• LOC: lines of code; KLOC: kilo lines of code; DSI: delivered

source instructions; KDSI: kilo delivered source instructions• Productivity (L) L = LOC/E: lines of codes corresponding to a

deployed effort• Personal productivity (Lp): - maximal - lines of codes produced

by a person per month (year) • H-resources (P) P=E/T: average number of (full-time) persons

delivering the effort E within time T (if E is in PM or PY)• Cost=(Costhour*hoursmonth)*(#months*P) usually measured

in Currency (Euro, Dollar etc.) = (Costhour*hoursmonth)*E (E in PM)

• Costhour, Costmonth: usually each category of personnel has a recognised cost per hour/per month

Page 4: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

COCOMO: COnstructive COst MOdelModes of Development (generic features of software and development)

Organic Semi-detached

Embedded

Basic

Inter- mediate

Detailed

Level of th

e mod

el (sp

ecific features of

software an

d

develop

men

t)

E,T in term of KLOC to be delivered

(DKSI)

Page 5: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Organic Mode: features of software and development

• Small size – up to 50,000 lines of code• small, in-house development team• experienced in application area• non-stringent specifications of function,

performance, acceptance tests, interfaces• minimal communication overhead• stable development environment• minimal schedule pressure• existing, proven technology

Page 6: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Semi-detached Mode: features of software and development

• Large size – up to 300,000 lines of code• mix of experienced and non-experienced

team members in application domain and development environment

• mix of stringent and non-stringent specifications of function, performance, acceptance tests, interfaces

• moderate schedule pressure

Page 7: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Embedded Mode: features of software and development

• Any size• Poor experience with the same type of

software• Stringent specifications of function,

performance, acceptance tests, interfaces• Rigid, formal quality standards• Close development among hardware,

software, and operational procedures• Leading technology employed• Strong schedule pressure

Page 8: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Organic Mode: Examples, E,T

• Standard engineering, scientific and business modeling systems

EKLOC

38.0

05.1

5.2T

4.2E

Page 9: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Semi-detached Mode: Examples, E,T

• Standard transaction processing systems

• New usual DBMS

• Innovative command & control systems for inventory and production

EKLOC

35.0

12.1

5.2T

0.3E

Page 10: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Embedded Mode: Examples, E,T • Avionic software systems

• Large and complex transaction processing systems

• Real-time systems

• New operating systems

EKLOC

32.0

20.1

5.2T

6.3E

Page 11: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

COCOMO (Basic): variabilità di E delle linee di codice

KLOC 2.4 * KLOC 1.05 3.0 * KLOC 1.12 3.6 * KLOC 1.20

1 2.4 3.0 3.6

10 26.9 39.6 57.1

50 145.9 239.4 392.9

100 302.1 521.3 904.2

1000 3390.1 6872.0 14333.0

Page 12: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Intermediate COCOMO: E, T

Organic Semi-detached

Embedded

Basic

Inter- mediate

Modes of Development

Level of th

e mod

el

2.4, 1.05 3.0, 1.12 3.6, 1.2

2.8, 1.23.0, 1.123.2, 1.05

1521 CCCC CKLOCE ___

___

Range of C0.09 - 9.42nominal

effort

Page 13: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Intermediate COCOMO: C

VL L N H VH XH Reliability .75 .88 1 1.15 1.4 Database size .94 1 1.08 1.16 Complexity .7 .85 1 1.15 1.3 1.65

Product Attributes

C1

C2

C3

VL very low

L low

N nominal

H high

VH very high

XH extra high

Page 14: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Intermediate COCOMO: C

VL L N H VH XH

Exec time constraints

1 1.11 1.3 1.66

Storage constr.

1 1.06 1.21 1.56

Virtual machine volat.

.87 1 1.15 1.3

Turn around .87 1 1.07 1.15

Computer Attributes

C4

C5

C6

C7

Virtual machine = software likes DBMS, SO, Network, Middleware, VM and so on used to realise the requested software; platform or infrastructure are also applicable terms

Page 15: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Intermediate COCOMO: C

VL L N H VH Designer capability

1.46 1.19 1 .86 .71

Application experience

1.29 1.13 1 .91 .82

Programmer capability

1.42 1.17 1 .86 .7

Virtual machine experience

1.21 1.1 1 .9

Language experience

1.14 1.07 1 .95

Personnel Attributes

C8

C9

C10

C11

C12

Page 16: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Intermediate COCOMO: C

VL L N H VH XH Modern program practice

1.24 1.10 1 0.91 0.82

Tools usage 1.24 1.10 1 0.91 0.83 Schedule constraints

1.23 1.08 1 1.04 1.10

Project Attributes

C13

C14

C15

Page 17: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Ratings

Cost Drivers (Ci) Very low Low Nominal High Very High

Extra High

Product attributes

Required software

reliability

.75 .88 1.00 1.15 1.40

Data base size .94 1.00 1.08 1.16

Product complexity .70 .85 1.00 1.15 1.30 1.65

Computer attributes

Execution time constraints 1.00 1.11 1.30 1.66

Main storage constraints 1.00 1.06 1.21 1.56

Virtual machine volatility .87 1.00 1.15 1.30

Computer turnaround time .87 1.00 1.07 1.15

Personnel attributes

Analyst capability 1.46 1.19 1.00 .86 .71

Applications experience 1.29 1.13 1.00 .91 .82

Programmer capability 1.42 1.17 1.00 .86 .70

Virtual machine

experience

1.21 1.10 1.00 .90

Programming language

experience

1.14 1.07 1.00 .95

Project attributes

Use of modern

programming practices

1.24 1.10 1.00 .91 .82

Use of software tools 1.24 1.10 1.00 .91 .83

Required development

schedule

1.23 1.08 1.00 1.04 1.10

Rie

pilo

go C

oeff

icie

nti C

i del

CO

CO

MO

Page 18: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

COCOMO Detailed

• Phase sensitive effort distribution on– Plans&requirements

– Software design

– Coding&test

– Integration&test

Page 19: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Waterfall and COCOMOWaterfall milestones

LCR = Lifecycle Concepts Review

SRR = Software Requirements Review

PDR = Product Design Review

CDR = Critical Design Review (design walkthrough)

UTC = Satisfaction of Unit Test Criteria

SAR = Software acceptance review

Plans & Requirements

Product Design

Detailed Design

Code& Unit Test

Deployment

Operations & Maintenance

Phaseout

LCR

SRR

PDR

CDR

UTC

SAR

Integration

& Test

Waterfall

COCOMO

Design Engineering ConstructionArchitecture

Design

Page 20: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Phase-sensitive Effort Distribution

Nominal manpower

Nominal development time

Plans/ requirements

6%-8% 10%-40%

Software design

16%-18% 19%-38%

Coding/ test

48%-68% 24%-64%

Integration /test

16%-34% 18%-34%

Page 21: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

COCOMO: Stime E,TKLOC anche per singolo modulo!

EE E

E

E E

E

E

E

E

E

E

E E

E

Page 22: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Esempio COCOMO

E PM

(basic)

Si può verificare il calcolo ahttp://cost.jsc.nasa.gov/COCOMO.html

Page 23: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Divisione di Effort - Organic: COCOMO dettagliato

Page 24: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Divisione Tempo - Organic: COCOMO dettagliato

Page 25: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Effort e TempoPM

PM PM

Si può verificare il calcolo ahttp://cost.jsc.nasa.gov/COCOMO.html

Page 26: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Interpolazione Lineare

32 128

55

51

70

(51-55)/(128-32)*(70-32)+55

y=mx+n

Si può verificare il calcolo ahttp://cost.jsc.nasa.gov/COCOMO.html

Page 27: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Convalida di COCOMO

• COCOMO è stato convalidato con i seguenti risultati:

• Tuttavia, se è presente un controllo di processo (basato su un archivio storico dei progetti passati) è possibile valutare l’applicabilità di COCOMO nell’organizzazione specifica (analisi Post-Mortem)

Page 28: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Ipotesi COCOMO

Cioè si ipotizza solo il tempo di comprensione dei requisiti e non la loro definizione (si tratta di un modello di processo a cascata)

PM

Richiede la stima delle linee di codice da fornire (KDSI)

Page 29: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Stima delle linee di codice (LOC, KLOC, DSI, KDSI)

• La stima delle linee di codice può essere relativa all’intero codice da sviluppare oppure a singoli “pezzi di codice”

• I “pezzi di codice” cui può essere associata la stima possono essere definiti in base a– Casi d’uso,– Funzioni in un DFD,– Componenti singoli o package di un’architettura,– …

via via che tali informazioni diventano disponibili durante lo sviluppo del software

Page 30: Software Cost, Effort,Time and H-resource Estimation: Introduction and COCOMO Model G.Berio.

Struttura dei Modelli Algoritmici di Costo

effort = const+tuning coefficient * sizeeffort = const+tuning coefficient * sizeexponentexponent

usually derivedusually derivedas person-monthsas person-monthsof effort requiredof effort required

either a constant oreither a constant ora number derived based a number derived based on complexity of projecton complexity of project

Software size in term of LOC (or FP)Software size in term of LOC (or FP)

empiricallyempiricallyderivedderived