– 03 – 2015-04-30 – main –
S
o
ftw
a
re
te
ch
n
ik
/
S
o
ftw
a
re
-E
n
g
in
ee
ri
n
g
L
ec
tu
re
0
3
:
P
ro
ce
d
u
re
a
n
d
P
ro
ce
ss
M
o
d
el
s
2 0 1 5 -0 4 -3 0 Pro f. D r. A n d re as P o d els ki, D r. B e rnd W e st pha l A lb er t-L u d w ig s-U n iv er sit ¨at F re ib u rg , G er m an yC
o
n
te
n
ts
&
G
o
a
ls
– 03 – 2015-04-30 – Sprelim – 2 / 7 7 L a st L e ct u re : • te rm s: p ro je ct , (li fe ) cy cle , p h a se , m ile st o n e, ro le , co st s • p ro je ct m a n a g em en t g o a ls a n d a ct iv it ie s; (c o st ) es tim a tio n : th e D elp h i m et h o d T h is L e ct u re : • E d u ca tio n a l O b je ct iv e s: C ap ab ilit ie s fo r fo llo w in g ta sks / q u es tio n s. • w h a t ar e th e b a sic co n ce p s o f C O C O M O , fu n ct io n p o in ts ? • es tim a te th is p ro je ct u sin g C O C O M O , fu n ct io n p o in ts • w h a t is a p ro ce ss ? a m o d el? a p ro ce ss m o d el? • g iv e a n ex a m p le fo r ro le , a ct iv ity , ar te fa ct , d ec is io n p o in t • w h a t is a p ro to ty p e? w h a t is ev o lu tio n ar y, in cr em en ta l, it er a tiv e? • w h a t’s th e fu n d a m en ta l id ea o f th e sp ira l m o d el? w h er e’ s th e sp ira l? • w h a t is th e d iff er en ce b et w ee n p ro ce d u re a n d p ro ce ss m o d el? • w h a t ar e th e co n st it u tin g ele m en ts o f “ V -M o d ell X T ” ? w h a t p ro je ct ty p es d o es it su p p o rt , w h a t is th e co n se q u en ce ? • w h a t is ta ilo rin g in th e co n te xt o f “ V -M o d ell X T ” ? • w h a t ar e ex a m p le s o f a g ile p ro ce ss m o d els ? w h a t ar e th e a g ile p rin cip le s? • d es cr ib e X P , S cr u m • C o n te n t: co st es tim at io n co n t’d (C O C O M O , F P ); p ro ce d u re an d p ro ce ss m o d elsC
o
st
E
st
im
a
tio
n
C
o
n
t’
d
– 03 – 2015-04-30 – main – 3 / 7 7A
lg
o
ri
th
m
ic
E
st
im
a
tio
n
:
C
O
C
O
M
O
– 03 – 2015-04-30 – Splan – 4 / 7 7 • C o n st ru ct iv e C o st M o d el: F or m u la e w h ic h fit a h u ge se t of ar ch iv ed pr oj ec t d at a (f ro m th e la te 70 ’s ). • F la vo u rs : • C O C O M O 8 1 ( B o eh m , 1 9 8 1 ): b as ic , in te rm ed ia te , d et ail ed • C O C O M O II ( B o eh m et al. , 2 0 0 0 ) • A ll b as ed on es tim at ed pr og ra m siz e S m ea su re d in D S I or kD S I (t h ou sa n d s of D eli ve re d S ou rc e In st ru ct io n s) . • F ac to rs lik e se cu rit y re q u ire m en ts or ex p er ie n ce of th e pr oj ec t te am ar e m ap p ed to va lu es fo r p ar am et er s of th e fo rm u la e. • C O C O M O ex am p le s: • te xt b o o ks lik e L u d ew ig an d L ic h te r ( 2 0 1 3 ) (m o st p ro b ab ly m ad e u p ) • an ex ce p tio n all y la rg e ex am p le : C O C O M O 8 1 fo r th e L in u x ke rn el ( W h ee le r , 2 0 0 6 ) (a n d fo llo w -u p s)C
O
C
O
M
O
8
1
– 03 – 2015-04-30 – Splan – 5 / 7 7 S of tw ar e P roje ct T y p e C ha ra ct e ris tic s of the T y p e a b c d S iz e Innov a tion D e a dl ine s/ C ons tra int s D e v . E nv ironm e nt O rg an ic S m all ( < 5 0 K L O C ) L itt le N o t tig h t S ta b le 2 .4 1 .0 5 2 .5 0 .3 8 S em i-d et ac h ed M ed iu m ( < 3 0 0 K L O C ) M ed iu m M ed iu m M ed iu m 3 .0 1 .1 2 2 .5 0 .3 5 E m b ed d ed L arg e G re at er T ig h t C o m p le x H W / In te rf ac es 3 .6 1 .2 0 2 .5 0 .3 2 B as ic C O C O M O : E (e ff or t re q u ire d ) = a ( S / k D S I )b [ p er so n -m on th s ] T D E V (t im e to d ev elo p ) = cE d [ m on th s ] In te rm ed ia te C O C O M O : E (e ff or t re q u ire d ) = M a ( S / k D S I )b [ p er so n -m on th s ]..
.w
h
er
e
– 03 – 2015-04-30 – Splan – 6 / 7 7 M = R E L Y · C P L X · T I M E · A C A P · P C A P · L E X P · T O O L · S C E D fa ct o r v e ry lo w lo w n o rm a l h ig h v e ry h ig h e x tr a h ig h R E LY re q u ire d so ft w ar e re lia b ili ty 0 .7 5 0 .8 8 1 1 .1 5 1 .4 0 C P L X p ro d u ct co m p le xi ty 0 .7 0 0 .8 5 1 1 .1 5 1 .3 0 1 .6 5 T IM E ex ec u tio n tim e co n st ra in t 1 1 .1 1 1 .3 0 1 .6 6 A C A P a n a ly st ca p a b ili ty 1 .4 6 1 .1 9 1 0 .8 6 0 .7 1 P C A P p ro g ra m m er ca p a b ili ty 1 .4 2 1 .1 7 1 0 .8 6 0 .7 L E X P p ro g ra m m in g la n g u a g e ex p er ie n ce 1 .1 4 1 .0 7 1 0 .9 5 T O O L u se o f so ft w ar e to o ls 1 .2 4 1 .1 0 1 0 .9 1 0 .8 3 S C E D re q u ire d d ev elo p m en t sc h ed u le 1 .2 3 1 .0 8 1 1 .0 4 1 .1 0C
O
C
O
M
O
II
– 03 – 2015-04-30 – Splan – 7 / 7 7 C on sis ts of • A p p lic a tio n C o m p o sit io n Mo d e l — co n fi g u ra tio n d o m in at es p ro g ra m m in g • E ar ly D e sig n Mo d e l — ad ap tio n o f F u n ct io n P o in t ap p ro ac h (in a m in u te ) • P o st -A rc h it e ct u re Mo d e l — lik e C O C O M O 8 1 , n ee d s ar ch ite ct u re d efi n ed E = 2 . 94 · S k S L O C X · M w h er e X = P R E C + F L E X + R E S L + T E A M + P M A T . S o-ca lle d sc a lin g fa ct o rs (a lth ou gh n ot u se d as sc ala r) : • P re ce d en tn es s (P R E C ) — ex p er ie n ce w ith sim ila r p ro je ct s • D ev elo p m en t fl ex ib ilit y (F L E X ) — d ev elo p m en t p ro ce ss fi xe d b y cu st o m er • A rc h ite ct u re / ris k re so lu tio n (R E S L ) — ris k m an ag em en t, ar ch ite ct u re siz e • T ea m co h es io n (T E A M ) — co m m u n ic at io n eff or t in te am • P ro ce ss m at u rit y (P M A T ) — se e C M MC
O
C
O
M
O
II
C
o
n
t’
d
– 03 – 2015-04-30 – Splan – 8 / 7 7 M n ow d ep en d s on : g ro u p fa ct o r d e sc rip tio n P ro d u ct fa ct o rs R E LY re q u ire d so ft w ar e re lia b ili ty D A T A siz e o f d a ta b a se C P L X co m p le xi ty o f sy st em R U S E d eg re e o f d ev elo p m en t o f re u sa b le co m p o n en ts D O C U a m o u n t o f re q u ire d d o cu m en ta tio n P la tf o rm fa ct o rs T IM E ex ec u tio n tim e co n st ra in t S T O R m em o ry co n su m p tio n co n st ra in t P V O L st a b ili ty o f d ev elo p m en t en vi ro n m en t T e a m fa ct o rs A C A P a n a ly st ca p a b ili ty P C A P p ro g ra m m er ca p a b ili ty P C O N co n tin u ity o f in vo lv ed p er so n n el A P E X ex p er ie n ce w it h a p p lic a tio n d o m a in P L E X ex p er ie n ce w it h d ev elo p m en t en vi ro n m en t LT E X ex p er ie n ce w it h p ro g ra m m in g la n g u a g e( s) a n d to o ls P ro je ct fa ct o rs T O O L u se o f so ft w ar e to o ls S IT E d eg re e o f d is tr ib u te d n es s S C E D re q u ire d d ev elo p m en t sc h ed u leA
lg
o
ri
th
m
ic
E
st
im
a
tio
n
:
F
u
n
ct
io
n
P
o
in
ts
– 03 – 2015-04-30 – Splan – 9 / 7 7 C o m p le x ity S u m T y p e lo w m ed iu m h ig h in p u t · 3 = · 4 = · 6 = o u tp u t · 4 = · 5 = · 7 = q u er y · 3 = · 4 = · 6 = u se r d at a · 7 = · 1 0 = · 1 5 = re fe re n ce d ata · 5 = · 7 = · 1 0 = U n ad ju st ed fu n ct io n p o in ts U F P V alu e ad ju st m en t fa ct or V A F A d ju st ed fu n ct io n p o in ts A F P = U F P · V A F V A F = 0 . 6 5 + P 1 4 i = 1 G S C i 1 0 0 , 0 ≤ G S C i ≤ 5 ,A
lg
o
ri
th
m
ic
E
st
im
a
tio
n
:
F
u
n
ct
io
n
P
o
in
ts
– 03 – 2015-04-30 – Splan – 9 / 7 7 C o m p le x ity S u m T y p e lo w m ed iu m h ig h in p u t · 3 = · 4 = · 6 = o u tp u t · 4 = · 5 = · 7 = q u er y · 3 = · 4 = · 6 = u se r d at a · 7 = · 1 0 = · 1 5 = re fe re n ce d ata · 5 = · 7 = · 1 0 = U n ad ju st ed fu n ct io n p o in ts U F P V alu e ad ju st m en t fa ct or V A F A d ju st ed fu n ct io n p o in ts A F P = U F P · V A F IB M a n d V W cu rv e fo r th e co n ve rs io n fr o m A F P s to P M a cc o rd in g to ( N o th a n d K re tz sc h m ar , 1 9 8 4 ) a n d ( K n ¨o ll a n d B u ss e , 1 9 9 1 ). V A F = 0 . 6 5 + P 1 4 i = 1G S C i 1 0 0 , 0 ≤ G S C i ≤ 5 ,C
O
C
O
M
O
vs.
F
u
n
ct
io
n
P
o
in
ts
– 03 – 2015-04-30 – Splan – 1 0 / 7 7 ( L u d ew ig an d L ic h te r , 20 13 ) sa ys : • fu n ct io n p oin t ap pr oa ch u se d in pr ac tic e, in p ar tic u la r co m m er cia l so ftw ar e (b u sin es s so ftw ar e? ) • C O C O M O te n d s to ov er es tim at e in th is d om ain ; n ee d s to b e ad ju st ed by co rr es p on d in g fa ct or sIn
T
h
e
E
n
d
..
.
– 03 – 2015-04-30 – Splan – 1 1 / 7 7.
.
.
it
’s
e
x
p
e
rie
n
ce
,
e
x
p
e
rie
n
ce
,
e
x
p
e
rie
n
ce
.
“ es tim at e, d o cu m en t, es tim at e b et te r” ( L u d ew ig an d L ic h te r , 2 0 1 3 ) S ugge st ion : st art to ex p lic at e yo u r ex p eri en ce no w . • T ak e n ot es on yo u r pr oj ec ts (S of tw ar ep ra kt ik u m , B ac h elo r P ro je kt , M as te r B ac h er lo r’s T h es is , T ea m P ro je kt , M as te r’s T h es is , .. .) • tim es ta m p s • siz e o f p ro g ra m cr ea te d • n u m b er o f er ro rs fo u n d • n u m b er o f p ag es w rit te n • .. .( m or e m ea su re s/ m et ric s: la te r) • T ry to id en tif y fa ct or s: w h at h in d er ed pr o d u ct iv ity , w h at b o os te d pr o d u ct iv ity , .. . • W h ic h d et ou rs an d m is ta ke s w er e av oid ab le in h in d sig h t? H ow ?O
ka
y,
est
im
a
tio
n
is
d
o
n
e,
a
n
d
n
o
w
..
.?
– 03 – 2015-04-30 – Splan – 1 2 / 7 7S
o
m
e
F
in
a
l
P
ro
je
ct
M
a
n
a
g
em
en
t
W
is
d
o
m
...
– 03 – 2015-04-30 – Splan – 1 4 / 7 7 M o st so ftw ar e p ro je ct s ar e su cc es sf u l (c f. S U C C E S S su rv ey ( B u sc h er m ¨o h le et al., 2 0 0 6 )) ; if th ey fa il, th ey te n d to fa il d u e to : • in su ffi cie n t ed u ca tio n (in p ar tic u la r p ro je ct m an ag em en t) • u n re ali st ic ex p ec ta tio n s o f h ig h er m an ag em en t • im p lic it cu st o m er ex p ec ta tio n s • b eh av io u r o f te am m em b er s • ow n ex p ec ta tio n s ( L u d ew ig a n d L ic h te r , 2 0 1 3 ) R u le s o f b eh av io u r fo r su cc es sf u l p ro je ct m an ag em en t: (i) T h in k p eo p le fi rs t, th e b u sin es s is se co n d . A ll a b u sin es s is , is its p eo p le . T ak e ca re o f th em . (ii ) E st ab lis h a cle ar d efi n itio n o f yo u r p ro je ct ’s d ev elo p me n t cy cle an d st ic k to it. (ii i) E m p h as iz e th e fr o n t-en d o f th e p ro je ct so th at th e re ar -e n d w o n ’t b e d ra g g in g . (iv ) E st ab lis h b as eli n es ea rly an d p ro te ct th em fr o m u n co n tr o lle d ch an g e. (v ) S ta te cle ar ly th e re sp o n sib ilit ie s o f ea ch p er so n o n th e p ro je ct . (v i) D efi n e a sy st em o f d o cu m en ts cle ar ly an d ea rly . (v ii) N ev er g iv e an es tim ate or an an sw er yo u d o n ’t b eli ev e in . (v iii) N ev er fo rg et R u le (i) . ( M et zg er , 1 9 8 1 )P
ro
ce
ss
– 03 – 2015-04-30 – main – 1 5 / 7 7P
ro
ce
ss
– 03 – 2015-04-30 – Sprocess – 1 6 / 7 7 p ro ce ss — (1 ) A se q u en ce of st ep s p er fo rm ed fo r a giv en p u rp os e; fo r ex am p le , th e so ftw ar e d ev elo p m en t pr o ce ss . (2 ) S ee als o: ta sk ; jo b . (3 ) T o p er fo rm op er at io n s on d at a. IE E E 6 1 0 .1 2 ( 1 9 9 0 ) so ft w ar e d e ve lo p m e n t p ro ce ss T h e pr o ce ss by w h ic h u se r n ee d s ar e tr an s-la te d in to a so ftw ar e pr o d u ct . T h e pr o ce ss in vo lv es tr an sla tin g u se r n ee d s in to so ft w ar e re q u ire m e n ts , tr an sfo rm in g th e so ftw ar e re q u ire m en ts in to d e sig n , im p le m en tin g th e d es ig n in co d e , te st in g th e co d e, an d so m et im es , in st all in g an d ch ec kin g ou t th e so ftw ar e fo r o p e ra tio n a l u se . IE E E 6 1 0 .1 2 ( 1 9 9 0 ) • T h e pr o ce ss of a so ftw ar e d ev elo p m en t pr oj ec t m ay b e • im p lic it, • in fo rm all y ag re ed on , or • pr es cr ib ed (b y a p ro ce d u re or p ro ce ss m o d e l ). • B u t: ea ch so ftw ar e d ev elo p m en t h a s a pr o ce ss !E
xa
m
p
le
P
ro
ce
ss
– 03 – 2015-04-30 – Sprocess – 1 7 / 7 7 A ss u m e • T h e d es ire d so ftw ar e pr o d u ct S is ob ta in ed fro m tw o m o d u le s A an d B . • T h er e is a sp e cifi ca tio n fo r b ot h A an d B . • T h er e is a te st p la n fo r b ot h A an d B . • A an d B , af te r h av in g b ee n te st ed , ar e in te g ra te d to ob ta in S .O
n
e
E
xa
m
p
le
P
ro
ce
ss
C
re
a
tin
g
S
– 03 – 2015-04-30 – Sprocess – 1 8 / 7 7 co d e B B .. . re v. 1 39 . te st B B .. . re v. 13 9. ✔ A ,B re ad y? A ,B re ad y? in te g ra te S co d e A A .. . rev.12 7. te st A A .. . rev.127 . ✘ co d e A A .. . re v. 2 54 . te st A A .. . re v. 25 4. ✔ sp ec . o f B te st s fo r B prg tst sp ec . o f A te st s fo r A prg tst prg tst in t • C an w e d es cr ib e ( m o d e l ) th e u n d er ly in g p rin cip le s? • In te rm s o f ro le s, ac tiv iti es , ar te fa ct s — ab st ra ct in g fr o m A , B , an d p ar tic u la r p eo p le .E
xc
u
rsi
o
n
:
M
o
d
el
– 03 – 2015-04-30 – main – 1 9 / 7 7M
o
d
el
– 03 – 2015-04-30 – Smodel – 2 0 / 7 7 D e fi n it io n . [F o lk] A m o d e l is an ab st ra ct , fo rm al, m ath em at ic al re p re se n ta tio n or d es cr ip tio n o f st ru ct u re or b eh av io u r o f a (s o ftw ar e) sy st em . D e fi n it io n . ( G lin z , 2 0 0 8 , 4 2 5 ) A m o d e l is a co n cr et e or m en ta l im ag e ( A b b ild ) o f so m et h in g or a co n cr et e or m en ta l ar ch et yp e ( V or b ild ) fo r so m et h in g . T h re e p ro p er tie s ar e co n st itu en t: (i) th e im a g e a tt rib u te ( A b b ild u n g sm er km al ), i.e . th er e is an en tit y (c all ed or ig in al ) w h o se im ag e or ar ch et yp e th e m o d el is , (ii ) th e re d u ct io n a tt rib u te ( V er k ¨u rz u n g sm er km al ), i.e . o n ly th o se at tr ib u te s o f th e or ig in al th at ar e re le va n t in th e m o d ell in g co n te xt ar e re p re se n te d , (ii i) th e p ra g m a tic a tt rib u te , i.e . th e m o d el is b u ilt in a sp ec ifi c co n te xt fo r a sp ec ifi c p u rp o se .M
o
d
el
E
xa
m
p
le
:
F
lo
o
rp
la
n
– 03 – 2015-04-30 – Smodel – 2 1 / 7 7 1. R e qui re m e nt s • S h all fit on giv en p ie ce of la n d . • E ac h ro om sh all h av e a d o or . • F u rn itu re sh all fit in to liv in g ro om . • B at h ro om sh all h av e a w in d ow . • C ost sh all b e in b u d ge t. 2. D e signm o de lhttp://wikimedia.org (CC nc-sa 3.0, Ottoklages)
3. S y st e m http://wikimedia.org (CC nc-sa 3.0, Bobthebuilder82) O bs e rv a tion : F lo orp la n a bs tr a ct s fro m ce rt ain sy st em pro p ert ie s, e. g . .. . • kin d , n u m b er , an d p la ce m en t of br ic ks , • su b sy st em d et ails (e .g ., w in d ow st yle ), • w at er p ip es /w iri n g, an d • w all d ec or at io n → ar ch ite ct s ca n effic ie n tly w or k on ap pr op ria te le ve l of ab st ra ct io n
M
o
d
el
E
xa
m
p
le
:
F
lo
o
rp
la
n
– 03 – 2015-04-30 – Smodel – 2 1 / 7 7 1. R e qui re m e nt s • S h all fit on giv en p ie ce of la n d . • E ac h ro om sh all h av e a d o or . • F u rn itu re sh all fit in to liv in g ro om . • B at h ro om sh all h av e a w in d ow . • C ost sh all b e in b u d ge t. 2. D e signm o de lhttp://wikimedia.org (CC nc-sa 3.0, Ottoklages)
3. S y st e m http://wikimedia.org (CC nc-sa 3.0, Bobthebuilder82) O bs e rv a tion : F lo orp la n p re se rv e s / de te rm ine s ce rt ain sy st em pro p ert ie s, e. g ., • h ou se an d ro om ex te n sio n s (t o sc ale ), • pr es en ce /a b se n ce of w in d ow s an d d o or s, • p la ce m en t of su b sy st em s (s u ch as w in d ow s) . → fin d d es ig n er ro rs b ef or e b u ild in g th e sy st em (e .g . b at h ro om w in d ow s)
P
ro
ce
ss
a
n
d
P
ro
ce
d
u
re
M
o
d
el
s
– 03 – 2015-04-30 – main – 2 2 / 7 7A
n
A
d
-H
o
c
P
ro
ce
ss
M
o
d
el
– 03 – 2015-04-30 – Spmexa – 2 3 / 7 7 .. . ✘ co d ing .. . sp ec . of .. . pro gra m m er ro le ac tiv ity art ef ac t d ec is io n re sp o n sib le is in p u t to is in p u t to tri g g ersM
o
d
e
l:
P
ro
c
e
ss
M
o
d
e
l
In
st
a
n
c
e
:
P
ro
c
e
ss
code B B ... re v. 139. te st B B ... re v.139. ✔ A ,B re ad y? A ,B re ad y? in tegra te S code A A ... rev. 127. te st A A ... re v. 127. ✘ code A A ... re v. 254. te st A A ... re v.254. ✔ sp ec. of B te sts for B prg tst sp ec.of A te sts for A prg tst prg tst intA
n
A
d
-H
o
c
P
ro
ce
ss
M
o
d
el
– 03 – 2015-04-30 – Spmexa – 2 3 / 7 7 .. . ✘ co d ing .. . sp ec . of .. . pro gra m m er .. . te st ing .. . ✔ / ✘ te sts fo r ... te st er ro le ac tiv ity art ef ac t d ec is io n re sp o n sib le is in p u t to is in p u t to tri g g ersM
o
d
e
l:
P
ro
c
e
ss
M
o
d
e
l
In
st
a
n
c
e
:
P
ro
c
e
ss
code B B ... re v. 139. te st B B ... rev. 139. ✔ A ,B re ad y? A ,B re ad y? in tegra te S code A A ... rev. 127. te st A A ... re v. 127. ✘ code A A ... re v. 254. te st A A ... rev. 254. ✔ sp ec. of B te sts for B prg tst sp ec.of A te sts for A prg ts t prg tst intA
n
A
d
-H
o
c
P
ro
ce
ss
M
o
d
el
– 03 – 2015-04-30 – Spmexa – 2 3 / 7 7 .. . ✘ co d ing .. . sp ec . of .. . pro gra m m er .. . te st ing ... ✔ / ✘ te sts for ... te st er ... ✔ .. . ... ✔ in teg ra te .. . in teg ra to r ro le ac tiv ity art ef ac t d ec is io n re sp o n sib le is in p u t to is in p u t to tri g g ersM
o
d
e
l:
P
ro
c
e
ss
M
o
d
e
l
In
st
a
n
c
e
:
P
ro
c
e
ss
code B B ... re v. 139. te st B B ... rev. 139. ✔ A ,B re ad y? A ,B re ad y? in teg ra te S code A A ... re v. 127. te st A A ... re v. 127. ✘ code A A ... re v. 254. te st A A ... rev. 254. ✔ sp ec. of B tests for B prg tst sp ec .of A te sts for A prg ts t prg tst intA
d
-H
o
c
P
ro
ce
ss
M
o
d
el
R
efi
n
ed
– 03 – 2015-04-30 – Spmexa – 2 4 / 7 7 co d in g .. . sp ec . o f .. . pro g ra m m er .. . ✘ fi xin g .. . sp ec. o f .. . le ad pro g ra m m er pro g ra m m er ro le ac tiv ity art ef ac t d ec is io n re sp o n sib le is in p u t to is in p u t to tri g g ers • an (o rd in ar y) p ro g ra m m e r cr ea te s th e in iti al ve rs io n ac co rd in g to th e sp e cifi ca tio n • if te st in g d is co ve rs an er ro r, th e le a d d e v e lo p e r is re sp o n sib le fo r fi xin g it, a p ro g ra m m er su p p or ts th e ac tiv ityP
ro
ce
ss
a
n
d
P
ro
ce
d
u
re
M
o
d
el
s:
T
h
e
B
ig
g
er
P
ic
tu
re
– 03 – 2015-04-30 – main – 2 5 / 7 7A
n
tic
ip
a
te
d
B
en
efi
ts
..
.
– 03 – 2015-04-30 – Spm – 2 7 / 7 7 .. . of pr o ce ss m o d els : • “ e co n o m y o f th o u g h t” — d on ’t re -in ve n t pr in cip le s • on e ca n a ss e ss th e q u a lit y of h o w pr o d u ct s ar e cr ea te d ( → C M M I) • id en tif y w ea kn es se s, le ar n fro m (b ad ) ex p er ie n ce , im pr ov e th e pr o ce ss • fe w e r e rr o rs — te st in g a m o d u le ca n n ot b e fo rg ot te n b ec au se in te gr at io n d ep en d s on m o d u le w ith “t es t p as se d ” fla gg ed • cle ar re sp o n sib ili tie s — “I th ou gh t yo u ’d fix th e m o d u le !” P ro ce ss m o d e l is a to p ic as e m o tio n a l as p ro g a m m in g la n g u a g e , e d it o r , o p e ra tin g sy st e m , so cc e r clu b , .. . — le t’s tr y to ke ep th e d is cu ss io n o b je ct iv e. • p ro ce ss m o d e l-i n g is ea sil y o v e rd o n e — th e b es t p ro ce ss m o d el is w o rt h le ss if yo u r so ftw ar e p eo p le d o n ’t “ liv e” it • b ef or e in tro d u cin g a p ro ce ss m o d el • u n d er st a n d w h a t yo u h a ve , u n d er st a n d w h a t yo u n ee d • p ro ce ss -m o d el a s m u ch a s n ee d ed , n o t m o re ( → ta ilo rin g ) • a ss es s w h et h er n ew / ch a n g ed p ro ce ss m o d el m a ke s m a tt er s b et te r o r w o rs e ( → m et ric s) • b u t: cu st o m er m ay re q u ire a ce rt a in p ro ce ss m o d elP
ro
ce
ss
vs.
P
ro
ce
d
u
re
M
o
d
el
– 03 – 2015-04-30 – Spm – 2 6 / 7 7 • In th e lit er at u re , p ro ce ss m o d e l an d p ro ce d u re m o d e l ar e of te n u se d as sy n on ym s. • ( L u d ew ig an d L ic h te r , 20 13 ) pr op os e to d is tin gu is h : • p ro ce ss m o d e l (‘P ro ze ss m o d ell’) — 90 s/ 00 s “R U P , X P ”: co m pr is es • p ro ce d u re m o d e l (‘V or ge h en sm o d ell ’) — 70 s/ 80 s “w at er fa ll m o d el” • o rg a n is a tio n a l st ru ct u re co m pr is in g • re q u ire m en ts o n p ro je ct m an ag em en t an d re sp o n sib ilit ie s, • re q u ire m en ts o n q u ali ty as su ra n ce , • re q u ire m en ts o n d o cu m en ta tio n , d o cu m en t st ru ct u re , • re q u ire m en ts o n re vis io n co n tr o l. • A n alo gy : th ea tr e ( L u d ew ig an d L ic h te r , 20 13 ) • p ro ce d u re m o d e l : sc rip t • p ro ce ss m o d e l : st ag in g (s cr ip t p lu s ca st , co st u m es , st ag e se tt in g)P
ro
ce
d
u
re
M
o
d
el
s
– 03 – 2015-04-30 – main – 2 8 / 7 7P
ro
ce
d
u
re
M
o
d
el
:
C
o
d
e
a
n
d
F
ix
– 03 – 2015-04-30 – Sprocedure – 2 9 / 7 7 C o d e a n d F ix — d en ot es an ap pr oa ch , w h er e co d in g an d co rr ec tio n alt er n at -in g w ith ad -h o c te st s ar e th e on ly co n sc io u sly co n d u ct ed ac tiv iti es of so ftw ar e d ev elo p m en t. L u d e w ig & L ic h te r ( 2 0 1 3 ) A d v a n ta g e s : • C o rr es p o n d s to o u r d es ire to “ g et a h ea d ” , so lv e th e st a te d p ro b le m q u ic k ly . • T h er e ar e ex ec u ta b le p ro g ra m s ea rly . • T h e co n d u ct ed a ct iv it ie s (c o d in g a n d a d -h o c te st in g ) ar e ea sy . D is a d v a n ta g e s : • It is h ar d to p la n th e p ro je ct , th er e ar e n o ra tio n a l/ ex p lic it d ec is io n s. • It is h ar d to d is tr ib u te w o rk o ve r m u lt ip le p er so n s o r g ro u p s. • If re q u ire m en ts ar e n o t st a te d , th er e is n o n o tio n o f co rr e ct n e ss ( = m ee tin g re q u ire m en ts ). • T es ts ar e la ck in g e xp e ct e d o u tc o m e (o th er w is e, e. g ., d er iv ed fr o m re q u ire m en ts ). • R es u lt in g p ro g ra m s o ft en h ar d to m a in ta in . • E ff o rt fo r m a in te n a n ce h ig h : m o st er ro rs ar e o n ly d et ec te d in o p er a tio n . • Im p o rt a n t co n ce p ts a n d d e ci sio n s ar e n o t d o cu m e n te d , b u t o n ly in th e h ea d s o f th e d ev elo p er s, th u s h ar d to tr a n sf er .P
ro
ce
d
u
re
M
o
d
el
:
T
h
e
W
a
te
rf
a
ll
M
o
d
el
– 03 – 2015-04-30 – Sprocedure – 3 0 / 7 7 sy st em an aly sis so ftw ar e sp ec ifi ca tio n ar ch ite ctu re d es ig n re fi n ed d es ig n an d co d in g in te g ra tio n an d te st in g in st all at io n an d ac ce p ta n ce o p er at io n an d m ain te n an ce ( R o so ve , 1 9 6 7 )P
ro
ce
d
u
re
M
o
d
el
:
T
h
e
W
a
te
rf
a
ll
M
o
d
el
– 03 – 2015-04-30 – Sprocedure – 3 0 / 7 7 sy st em an aly sis so ftw ar e sp ec ifi ca tio n ar ch ite ctu re d es ig n re fi n ed d es ig n an d co d in g in te g ra tio n an d te st in g in st all at io n an d ac ce p ta n ce o p er at io n an d m ain te n an ce ( R o so ve , 1 9 6 7 ) W a te rf a ll o r D o cu m e n t-Mo d e l — S o ftw ar e d ev elo p m en t is se en as a se q u e n ce o f a ct iv it ie s co u p le d b y (p ar tia l) re su lts (d o cu m en ts ). T h es e ac tiv iti es ca n b e co n -d u ct ed co n cu rr en tly or ite ra tiv ely . A p ar t fr o m th at , th e se q u en ce o f ac tiv iti es is fi xe d as (b as ic all y) an aly se , sp ec ify , d es ig n , co d e, te st , in st all, m ain ta in . L u d e w ig & L ic h te r ( 2 0 1 3 )T
h
e
W
a
te
rf
a
ll
M
o
d
el
:
D
is
cu
ss
io
n
– 03 – 2015-04-30 – Sprocedure – 3 1 / 7 7 sy st em an aly sis so ftw are sp ec ifi ca tio n ar ch ite ctu re d esig n re fi n ed d es ign and cod ing in teg ra tion and te st in g in st all atio n an d ac cep ta n ce o p er at io n an d m ain te n an ce • T h e w at er fa ll m o d el h as b ee n su b je ct of h ea te d d is cu ss io n s. • W ith 40 ye ar s of d is ta n ce : • it g iv es ro o m fo r n u m er o u s in te rp re ta tio n s: a v e ry a b st ra ct m o d e l , h ar d ly u sa b le as a “ te m p la te ” fo r re al p ro je ct s, • in p ar tic u la r th e cy cle s (a n d th e la ck o f m ile st o n es ) m ak es is h ar d fo r p ro je ct m an ag em en t to a ss e ss a p ro je ct ’s p ro ce ss • st ill th er e’s so m e tr u th in it: “ D e ar p e o p le (o f th e 6 0 ’s ), th e re ’s m o re in so ft w ar e d e v e lo p m e n t th a n co d in g , a n d th e re ar e (o b v io u s) d e p e n d e n cie s. ” T h at m ay h av e b ee n n ew s b ac k th en .. . ( → so ftw ar e cr is is ) • G iv en th e co m p u te rs an d so ftw ar e o f th at tim e (n o ∗ p er so n al co m p u te rs , n o ∗ sm ar t p h o n es , n o ∗ w eb -s h o p s, n o ∗ co m p u te r g am es , n o ∗ au to m o tiv e so ftw ar e, n o ∗ .. .) .A
C
la
ssi
fi
ca
tio
n
o
f
S
o
ftw
a
re
– 03 – 2015-04-30 – Sprocedure – 3 2 / 7 7 L eh m an n ( L eh m an , 19 80 ; L eh m an an d R am il, 20 01 ) d is tin gu is h es th re e cla ss es of so ftw ar e (m y in te rp re ta tio n , m y ex am p le s) : • S -p ro g ra m s : so lv e m at h em at ic al, ab st ra ct p ro b le m s; ca n ex ac tly (in p ar tic u la r fo rm all y) b e sp ec ifi ed ; te n d to b e sm all ; ca n b e d ev elo p ed o n ce an d fo r all. E x a m p le s : so rt in g , co m p ile r (! ), co m p u te π or √ ·, cr yp to g ra p h y, te xt b o o k ex am p le s, .. . • P -p ro g ra m s : so lv e p ro b le m s in th e re al w or ld , e.g . re ad se n so rs an d d riv e ac to rs, m ay b e in fe ed b ac k lo o p ; sp ec ifi ca tio n n ee d s d o m a in m o d e l (c f. B jø rn er ( 2 0 0 6 ) , “ A tr yp tic h so ftw ar e d ev elo p m en t p ar ad ig m ” ); fo rm al sp ec ifi ca tio n (t o d ay ) p o ss ib le , in te rm s o f d o m ain m o d el, ye t te n d s to b e ex p en siv e E x a m p le s : cr u is e co n tr o l, au to p ilo t, tr affi c lig h ts co n tro lle r, p la n t au to m at is at io n , .. . • E -p ro g ra m s : em b ed d ed in so cio -t ec h n ic al sy st em s; in p ar tic u la r in vo lv e h u m an s; sp ec ifi ca tio n o ft en n o t cle ar , n o t ev en kn ow n ; ca n g ro w h u g e; d eli ve rin g th e so ftw ar e in d u ce s n ew n ee d s E x a m p le s : b as ic ally ev er yt h in g els e; w or d p ro ce ss or , w eb -s h o p , g am e, sm ar t-p h o n e ap p s, .. .N
o
n
-li
n
ea
r
P
ro
ce
d
u
re
M
o
d
el
s
– 03 – 2015-04-30 – Sprocedure – 3 3 / 7 7 A n aly sis o f R eq u ire m en ts U se o n T ar g et S ys te m D efi n ed S te p s P re lim in ar y R es u lts U se d C o m p le te P la n R a p id P ro to ty p in g E vo lu tio n ar y D ev elo p m en t It er a tiv e D ev elo p m en t In cr em en ta l D ev elo p m en t .. . ye s to so m e am o u n t to a lo w am o u n t(R
a
p
id
)
P
ro
to
yp
in
g
– 03 – 2015-04-30 – Sprocedure – 3 4 / 7 7 p ro to ty p e — A p re lim in ar y ty p e, fo rm , or in st an ce o f a sy st em th at se rv es as a m o d el fo r la te r st ag es or fo r th e fi n al, co m p le te ve rs io n o f th e sy st em . IE E E 6 1 0 .1 2 ( 1 9 9 0 ) p ro to ty p in g — A h ar d w ar e an d so ftw ar e d ev elo p m en t te ch n iq u e in w h ic h a p re lim -in ar y ve rs io n o f p ar t or all o f th e h ar d w ar e or so ftw ar e is d ev elo p ed to p er m it u se r fe ed b ac k, d et er m in e fe as ib ilit y, or in ve st ig ate tim in g or o th er is su es in su p p or t o f th e d ev elo p m en t p ro ce ss . IE E E 6 1 0 .1 2 ( 1 9 9 0 ) ra p id p ro to ty p in g — A ty p e o f p ro to ty p in g in w h ic h em p h as is is p la ce d o n d ev elo p in g p ro to yp es ea rly in th e d ev elo p m en t p ro ce ss to p er m it ea rly fe ed b ac k an d an aly sis in su p p or t o f th e d ev elo p m en t p ro ce ss . IE E E 6 1 0 .1 2 ( 1 9 9 0 ) • A pr ot ot yp e re ali se s se le ct e d a sp e ct s of th e fin al sy st em . • A pr ot ot yp e is ch e ck e d / te st e d a n d a ss e ss e d , at b es t in vo lv in g th e cu st om er . • S om et im es d is tin gu is h ed fro m p ro to ty p e (w h ic h is ex ec u ta b le ): m o ck-u p , lik e a d ra w in g of th e in te n d ed gr ap h ic al u se r in te rfa ce , or ga m e m en u sc re en s an d st ru ct u re sim u la te d w ith H T M L p ag es ( → re q u ire m en ts en gin ee rin g)P
ro
to
ty
p
in
g
– 03 – 2015-04-30 – Sprocedure – 3 5 / 7 7 A p p ro a ch : • cla rif y: w h ic h p u rp os e d o es th e pr ot ot yp e h av e, w h at ar e th e op en q u es tio n s? • w h ic h p er so n s (r ole s) p ar tic ip at e in d e ve lo p m e n t an d , m os t im p or ta n t, a ss e ss m e n t of th e pr ot ot yp e? • w h at is th e tim e/ co st b u d ge t fo r pr ot ot yp e d ev elo p m en t? q u es tion pr ot ot yp e sp ec ific at ion op er at ion en vir on m en t pr ot ot yp e as se ss m en t pr ot ot yp e d et er m in es d ev elop b as is of m o d ify as se ss ( L u d ew ig a n d L ic h te r , 2 0 1 3 )K
in
d
s
o
f
P
ro
to
ty
p
es
a
n
d
G
o
a
ls
o
f
P
ro
to
ty
p
in
g
– 03 – 2015-04-30 – Sprocedure – 3 6 / 7 7 • d e m o n st ra tio n p ro to ty p e (‘D em o n st ra tio n sp ro to ty p ’) “ th ro w aw ay p ro d u ct s” to d em o n st ra te lo o k-an d -fe el or p o te n tia l u sa g e o f p ro p o se d p ro d u ct ; ca n b e “ q u ic k an d d irt y” • fu n ct io n a l p ro to ty p e (‘F u n kt io n ale r P ro to ty p ’) u su ally re g ar d in g (g ra p h ic al) u se r in te rfa ce ; m ay b e m an y se p ar ate p ro to ty p es fo r sp ec ifi c q u es tio n s • la b sa m p le (‘L ab or m u st er ’) ad d re ss es o p en te ch n ic al q u es tio n s, p ro o f-o f-c o n ce p t; n ee d n o t b e p ar t o f th e fi n al sy st em • p ilo t sy st e m (‘P ilo ts ys te m ’) fu n ct io n ali ty an d q u ali ty ar e at le as t su ffi cie n t fo r a (t em p or ar y) u se in th e ta rg et en vir o n m en t F lo yd T ax on om y: • e xp lo ra tiv e p ro to ty p in g — su p p or t an aly sis • e xp e rim e n ta l p ro to ty p in g — d ev elo p n ew te ch on olo gy • e vo lu tio n ar y p ro to ty p in g — th e pr o d u ct is th e la st pr ot ot yp e (c at eg or ie s m ay ov er la p )R
ef
er
en
ce
s
– 03 – 2015-04-30 – main – 7 6 / 7 7R
ef
er
en
ce
s
– 03 – 2015-04-30 – main – 7 7 / 7 7 A b ra h a ms so n , P ., S a lo , O ., R o n ka in en , J ., a n d W ar sta , J . (2 0 0 2 ). A g ile so ftw are d ev elo p me n t me th o d s. re vie w a n d a n a ly sis . T ec h n ic a l R ep o rt 4 7 8 . B ec k , K . (1 9 9 9 ). E x tre me P ro g ra mmi n g E x p la in e d – E mb ra c e C h a n g e . A d d is o n -W es le y. B jø rn er, D . (2 0 0 6 ). S o ftw a re E n g in e e rin g , V o l. 3 : D o ma in s, R e q u ir e me n ts a n d S o ft w a re D e sig n . S p rin g er -V er la g . B o eh m, B . W . (1 9 8 1 ). S o ft w a re E n g in e e rin g E c o n o mi c s . P ren tic e-H a ll. B o eh m, B . W . (1 9 8 8 ). A sp ira l mo d el o f so ftw are d ev elo p me n t a n d en h a n ce me n t. IE E E C o mp u te r , 2 1 (5 ):6 1 – 7 2 . B o eh m, B . W ., H o row it z, E ., M a d a ch y, R ., R eif er , D ., C la rk, B . K ., S te ec e, B ., B ro w n , A . W ., C h u la n i, S ., a n d A b ts, C . (2 0 0 0 ). S o ft w a re C o st E st ima tio n w ith C O C O M O II . P ren tic e-H a ll. B u sch erm¨ o h le , R ., E ek h o ff , H ., a n d J o sk o , B . (2 0 0 6 ). su cc es s – E rfo lg s-u n d M is se rfo lg sfa k to ren b ei d er D u rch f¨u h ru n g vo n H ar d -u n d S o ftw ar ee n tw ic k lu n g sp ro je k te n in D eu ts ch la n d . T ec h n ic a l R ep o rt V S E K / 5 5 / D . G lin z, M . (2 0 0 8 ). M o d ell ie ru n g in d er L eh re a n H o ch sch u le n : T h es en u n d E rfa h ru n g en . In fo rma tik S p e k tru m , 3 1 (5 ):4 2 5 – 4 3 4 . IE E E (1 9 9 0 ). IE E E S ta n d a rd G lo ssa ry o f S o ft w a re E n g in e e rin g T e rmi n o lo g y . S td 6 1 0 .1 2 -1 9 9 0 . K n ¨o ll, H .-D . a n d B u ss e, J . (1 9 9 1 ). A u fw a n d ssc h ¨a tz u n g v o n S o ft w a re -P ro je k ten in d e r P ra x is : M e th o d e n , W e rk z e u g e in sa tz, F a llb e is p ie le . N u mb er 8 in R eih e A n g ew a n d te In fo rma tik . B I W is se n sc h a ft sv er la g . L eh ma n , M . M . (1 9 8 0 ). P ro g ra ms , life cy cle s, a n d la w s o f so ftw ar e ev o lu tio n . P ro c e e d in g s o f th e IE E E S p e c ia l Is su e o n S o ft w a re E n g in e e ring , 6 8 (9 ):1 0 6 0 – 1 0 7 6 . L eh ma n , M . M . a n d R a mi l, J . F . (2 0 0 1 ). R u le s a n d to o ls for so ftw are ev o lu tio n p la n n in g a n d ma n a g eme n t. A n n a ls o f S o ft w a re E n g in e e rin g , 1 1 (1 ):1 5 – 4 4 . L u d ew ig , J . a n d L ic h te r, H . (2 0 1 3 ). S o ft w a re E n g in e e rin g . d p u n k t.v er la g , 3 . ed it io n . M et zg er, P . W . (1 9 8 1 ). M a n a g in g a P ro g ra mmi n g P ro je c t . P ren tic e-H a ll, 2 ed it io n . N o th , T . a n d K re tz sc h ma r, M . (1 9 8 4 ). A u fw a n d ssc h ¨a tzu n g v o n D V -P ro je k ten , D a rs te llu n g u n d P ra x is v e rg le ic h d e r w ic h tig ste n V e rf a h re n . S p rin g er -V er la g . R o so ve , P . E . (1 9 6 7 ). D e v e lo p in g C o mp u te r-b a sed In fo rma tio n S y ste ms . J o h n W ile y a n d S o n s. S ch w a b er, K . (1 9 9 5 ). S C R U M d ev elo p me n t p ro ce ss. In S u th er la n d , J . et a l., ed it o rs, B u sin e ss O b je c t D e sig n a n d Imp le me n ta tio n , O O P S L A ’9 5 W o rk sh o p P ro c e e d in g s . S p rin g er -V er la g . V -M o d ell X T (2 0 0 6 ). V -M o d e ll X T . V er sio n 1 .4 . W h ee le r, D . A . (2 0 0 6 ). L in u x ke rn el 2 .6 : It ’s w o rt h mo re ! Z ¨u llig h o ve n , H . (2 0 0 5 ). O b je c t-O rien ted C o n st ru c tio n H a n d b o o k -D e v e lo p in g A p p lic a tion -O rien ted S o ft w a re w it h th e T o o ls a n d M a te ria ls A p p ro a c h . d p u n k t.v er la g / M o rga n K a u fma n n .