Upload
luigina-cappelli
View
238
Download
4
Embed Size (px)
Citation preview
Software Cost, Effort,Time and H-resource Estimation:
Introduction and COCOMO Model
Software Estimating Methods
• Price-to-win
• Analogy
• Expert judgement
• Algorithmic Models (they constraint eventually other estimations)
What we measure• 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• Productivity (L) L = LOC/E: lines of codes corresponding to a
deployed effort• Personal productivity ( ): lines of codes produced by a person
per month (year)• H-resources (P) P=E/T: average number of persons delivering
the effort E in a 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/month: usually each category of personnel has a recognised cost per hour/per month
pL
The Constructive Cost Model
COCOMOCOCOMOModes of Development
Organic Semi-detached
Embedded
Basic
Inter- mediate
Detailed
Level of m
odel
E,T in term of KLOC to be delivered
Organic Mode: Characteristics
• 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
Semi-detached Mode
• Large size – up to 300,000 lines• 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
Embedded Mode• 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
Organic Mode: Examples
• Standard engineering, scientific and business modeling systems
EKLOC
38.0
05.1
5.2T
4.2E
Semi-detached Mode
• Standard transaction processing systems
• New usual DBMS
• Innovative command & control systems for inventory and production
EKLOC
35.0
12.1
5.2T
0.3E
Embedded Mode• Avionic software systems
• Large and complex transaction processing systems
• Real-time systems
• New operating systems
EKLOC
32.0
20.1
5.2T
6.3E
Esempio COCOMO (Basic): comparazione di E
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
The Intermediate COCOMO
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
The Intermediate COCOMO
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
The Intermediate COCOMO
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
The Intermediate COCOMO
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
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
The Constructive Cost ModelCOCOMOCOCOMO
Organic Semi-detached
Embedded
Basic
Inter- mediate
Modes of Development
Level of m
odel
2.4, 1.05 3.0, 1.12 3.6, 1.2
2.8, 1.23.0, 1.123.2, 1.05
1521 CCCC
C___E KLOC___
Range of C0.09 - 9.42nominal
effort
COCOMO Detailed Model
• Phase sensitive Effort Multipliers
– Plans&requirements– Software design– Coding&test– Integration&test
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
Phase-sensitive Efforts Distribution
Nominal manpower cost
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%
COCOMO: Stime E,TKLOC anche per singolo modulo!
EE E
E
E E
E
E
E
E
E
E
E E
E
Esempio COCOMO
E PM
(basic)
Divisione in Effort Organic: COCOMO dettagliato
Divisione Tempo Organic: COCOMO dettagliato
Effort e TempoPM
PM PM
Interpolazione Lineare
32 128
55
51
70
(51-55)/(128-32)*(70-32)+55
y=mx+n
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)
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
Stime usabili e significative
30%
Precision Improvement Simple
Understanding Tools-supported Trusted
Stima delle linee di codice (LOC o KLOC)
• La stime può essere per l’intero codice da sviluppare oppure per “pezzo di codice”
• Il “pezzo di codice” cui viene associata la stima può essere definito in base a:– Casi d’uso– Funzioni in un DFD– Componenti singoli o parti di architetture– …
Struttura dei Modelli 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