0% found this document useful (0 votes)
18 views114 pages

Software Engineering

Uploaded by

outofworld1100
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views114 pages

Software Engineering

Uploaded by

outofworld1100
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 114

Basi

cConcept
sinSof
twar
eEngineer
ingandSof
twar
ePr
oject
Management
Unit–I

Abst
ract
ionv
ersusDecomposi
ti
on
I
n sof
twar
e engi
neer
ing t
her
e ar
etwo mai
n basi
c concept
s abst
ract
ion and
decomposi
ti
on.Bot
h concept
s ar
e anal
ysi
s & desi
gn basi
ctechni
ques.Ther
e ar
e
i
nter
rel
atedandnor
mal
l
yusedt
oget
herdur
ingsof
twar
edev
elopment
.
Abst
ract
ion
Abst
ract
ioni
ngener
ali
spr
ocessofconsci
ousl
yignor
ingsomeaspect
sofasubj
ect
underanal
ysi
sinor
dert
obet
terunder
standot
heraspect
sofi
t.I
not
herwor
ds,
itki
ndof
si
mpl
i
ficat
ionofasubj
ect
.Insof
twar
einpar
ti
cul
ar,anal
ysi
s&desi
gnar
eal
labout
abst
ract
ion.Abst
ract
ion i
s one oft
he f
undament
alpr
inci
ples ofobj
ect
-or
ient
ed
pr
ogr
ammi
ng.Abst
ract
ional
l
owsust
onameobj
ect
sthatar
enotdi
rect
lyi
nst
ant
iat
ed
butser
veasabasi
sforcr
eat
ingobj
ect
swi
thsomecommonat
tri
but
esorpr
oper
ti
es.
Forexampl
e:i
nthecont
extofcomput
eraccessor
iesDat
aSt
orageDev
icei
sanabst
ract
t
erm becausei
tcanei
therbeaUSBpendr
ive,
har
ddi
sk,
orRAM.ButaUSBpendr
iveor
har
d di
sksar
econcr
eteobj
ect
sbecauset
hei
rat
tri
but
esand behav
ior
sar
eeasi
l
y
i
dent
if
iabl
e,whi
chi
snott
hecasef
orDat
aSt
orageDev
ice,bei
nganabst
ractobj
ectf
or
comput
eraccessor
ies.So,
abst
ract
ioni
susedt
ogener
ali
zeobj
ect
sint
oonecat
egor
yin
t
hedesi
gnphase.Forex
ampl
e,i
nat
rav
elmanagementsy
stem y
oucanuseVehi
cleas
anabst
ractobj
ectorent
it
ythatgener
ali
zeshowy
out
rav
elf
rom onepl
acet
oanot
her
.
Decomposi
ti
on
Decomposi
ti
oni
sanappl
i
cat
ionoft
heol
dgoodpr
inci
ple"
div
ideandconquer
"to
sof
twar
e dev
elopment
.Iti
sat
echni
que ofcl
assi
fyi
ng,st
ruct
uri
ng and gr
oupi
ng
compl
exel
ement
sinor
dert
oendupwi
thmor
eat
omi
cones,or
gani
zedi
ncer
tai
n
f
ashi
onandeasi
ert
omanage.Decomposi
ti
oni
sawayt
obr
eakdowny
oursy
stemsi
nto
modul
esi
nsuchawayt
hateachmodul
epr
ovi
desdi
ff
erentf
unct
ional
i
ty,
butmayaf
fect
ot
hermodul
es al
so.To under
stand decomposi
ti
on qui
te cl
ear
ly,y
ou shoul
dfi
rst
under
standt
heconcept
sofassoci
ati
on,
composi
ti
on,
andaggr
egat
ion.

Ev
olut
ionofSof
twar
eEngi
neer
ingTechni
ques
Sof
twar
eev
olut
ioni
sat
erm whi
chr
efer
stot
hepr
ocessofdev
elopi
ngsof
twar
eini
ti
all
y,

1
t
hent
imel
yupdat
ingi
tforv
ari
ousr
easons,i
.e.
,toaddnew f
eat
uresort
oremov
e
obsol
etef
unct
ional
i
tieset
c.Theev
olut
ionpr
ocessi
ncl
udesf
undament
alact
ivi
ti
esof
changeanal
ysi
s,r
eleasepl
anni
ng,sy
stem i
mpl
ement
ati
onandr
eleasi
ngasy
stem t
o
cust
omer
s.Thecostandi
mpactoft
hesechangesar
eaccessedt
oseehow much
sy
stem i
saf
fect
edbyt
hechangeandhowmuchi
tmi
ghtcostt
oimpl
ementt
hechange.
I
fthepr
oposedchangesar
eaccept
ed,
anewr
eleaseoft
hesof
twar
esy
stem i
spl
anned.
Dur
ingr
eleasepl
anni
ng,al
lthepr
oposedchanges(
faul
trepai
r,adapt
ati
on,andnew
f
unct
ional
i
ty)ar
econsi
der
ed.Adesi
gni
sthenmadeonwhi
chchangest
oimpl
ementi
n
t
henextv
ersi
onoft
hesy
stem.Thepr
ocessofchangei
mpl
ement
ati
oni
sani
ter
ati
onof
t
hedev
elopmentpr
ocesswher
ether
evi
sionst
othesy
stem ar
edesi
gned,
impl
ement
ed
andt
est
ed.
TheNecessi
tyofSof
twar
eEv
olut
ion
Sof
twar
eev
aluat
ioni
snecessar
yjustbecauseoft
hef
oll
owi
ngr
easons
a)Changei
nrequi
rementwi
tht
ime:Wi
tht
hepassesoft
ime,t
heor
gani
zat
ion’
sneeds
andmodusOper
andiofwor
kingcoul
dsubst
ant
ial
l
ybechangedsoi
nthi
sfr
equent
ly
changi
ngt
imet
het
ool
s(sof
twar
e)t
hatt
heyar
eusi
ngneedt
ochangef
ormaxi
mizi
ng
t
heper
for
mance.
b)Env
ironmentchange:Ast
hewor
kingenv
ironmentchangest
het
hings(
tool
s)t
hat
enabl
eust
owor
kint
hatenv
ironmental
sochangespr
opor
ti
onal
l
ysamehappensi
nthe
sof
twar
ewor
ld ast
hewor
king env
ironmentchangest
hen,t
heor
gani
zat
ionsneed
r
eint
roduct
ionofol
dsof
twar
ewi
thupdat
edf
eat
uresandf
unct
ional
i
tyt
oadaptt
henew
env
ironment
.
c)Er
ror
s and bugs:Ast
he age oft
hedepl
oyed sof
twar
e wi
thi
n an or
gani
zat
ion
i
ncr
easest
hei
rpr
eci
senessori
mpeccabi
l
itydecr
easeandt
heef
fi
ciencyt
obeart
he
i
ncr
easi
ngcompl
exi
tywor
kloadal
socont
inual
l
ydegr
ades.So,i
nthatcase,i
tbecomes
necessar
ytoav
oiduseofobsol
eteandagedsof
twar
e.Al
lsuchobsol
eteSof
twar
e’s
needt
ounder
got
heev
olut
ionpr
ocessi
nor
dert
obecomer
obustaspert
hewor
kload
compl
exi
tyoft
hecur
rentenv
ironment
.
d)Secur
it
yri
sks:Usi
ngout
dat
edsof
twar
ewi
thi
nanor
gani
zat
ionmayl
eady
out
oatt
he
v
ergeofv
ari
oussof
twar
e-basedcy
ber
-at
tacksandcoul
dexposey
ourconf
ident
ialdat
a
i
l
legal
l
yassoci
atedwi
tht
hesof
twar
ethati
sinuse.So,i
tbecomesnecessar
ytoav
oid
suchsecur
it
ybr
eachest
hroughr
egul
arassessmentoft
hesecur
it
ypat
ches/
modul
es
ar
eusedwi
thi
nthesof
twar
e.I
fthesof
twar
eisn’
trobustenought
obeart
hecur
rent
2
occur
ri
ngCy
ber
-at
tackssoi
tmustbechanged(
updat
ed)
.
e)New f
unct
ional
it
yandf
eat
ures:I
nor
dert
oincr
easet
heper
for
manceandf
astdat
a
pr
ocessi
ngandot
herf
unct
ional
i
ties,anor
gani
zat
ionneedt
ocont
inuousl
yev
olut
est
he
sof
twar
ethr
oughouti
tsl
i
fecy
clesot
hatst
akehol
der
s&cl
i
ent
soft
hepr
oductcoul
d
wor
kef
fi
cient
ly.

Lawsusedf
orSof
twar
eEv
olut
ion
Law ofcont
inui
ngchange:Thi
slaw st
atest
hatanysof
twar
esy
stem t
hatr
epr
esent
s
somer
eal
-wor
ldr
eal
i
tyunder
goescont
inuouschangeorbecomepr
ogr
essi
vel
yless
usef
uli
nthatenv
ironment
.
Lawofi
ncr
easi
ngcompl
exi
ty:Asanev
olv
ingpr
ogr
am changes,i
tsst
ruct
urebecomes
mor
ecompl
exunl
essef
fect
iveef
for
tsar
emadet
oav
oidt
hisphenomenon.
Lawofconser
vat
ionofor
gani
zat
ionst
abi
li
ty:Ov
ert
hel
i
fet
imeofapr
ogr
am,
ther
ateof
dev
elopmentoft
hatpr
ogr
am i
s appr
oxi
mat
ely const
antand i
ndependentoft
he
r
esour
cedev
otedt
osy
stem dev
elopment
.
Lawofconser
vat
ionoff
ami
li
ari
ty:Thi
slawst
atest
hatdur
ingt
heact
ivel
i
fet
imeoft
he
pr
ogr
am,
changesmadei
nthesuccessi
ver
eleasear
eal
mostconst
ant
.

Sof
twar
eDev
elopmentLi
feCy
cle(
SDLC)Model
s
Sof
twar
edev
elopmentl
i
fecy
cle(
SDLC)i
saser
iesofphasest
hatpr
ovi
deacommon
under
standi
ngoft
hesof
twar
ebui
l
dingpr
ocess.How t
hesof
twar
ewi
l
lber
eal
i
zedand
dev
eloped f
rom t
he busi
ness under
standi
ng and r
equi
rement
s el
i
cit
ati
on phase t
o
conv
ertt
hesebusi
nessi
deasandr
equi
rement
sint
ofunct
ionsandf
eat
uresunt
ili
ts
usageandoper
ati
ont
oachi
evet
hebusi
nessneeds.Thegoodsof
twar
eengi
neershoul
d
hav
eenoughknowl
edgeonhowt
ochooset
heSDLCmodel
basedont
hepr
ojectcont
ext
andt
hebusi
nessr
equi
rement
s.
TheSof
twar
ePr
ocess
Apr
ocesswasdef
inedasacol
l
ect
ionofwor
kact
ivi
ti
es,act
ions,andt
askst
hatar
e
per
for
medwhensomewor
kpr
oducti
stobecr
eat
ed.Eachoft
heseact
ivi
ti
es,act
ions,
andt
asksr
esi
dewi
thi
naf
ramewor
kormodelt
hatdef
inest
hei
rrel
ati
onshi
pwi
tht
he
pr
ocessandwi
thoneanot
her
.Apr
ocessf
ramewor
kest
abl
i
shest
hef
oundat
ionf
ora
compl
etesof
twar
eengi
neer
ingpr
ocessbyi
dent
if
yingasmal
lnumberoff
ramewor
k

3
act
ivi
ti
es t
hatar
e appl
i
cabl
eto al
lsof
twar
e pr
oject
s,r
egar
dless oft
hei
rsi
ze or
compl
exi
ty.Thepr
ocessf
ramewor
kencompassesasetofumbr
ell
aact
ivi
ti
est
hatar
e
appl
i
cabl
e acr
oss t
he ent
ir
e sof
twar
e pr
ocess.A gener
ic pr
ocess f
ramewor
kfor
sof
twar
eengi
neer
ingencompassesf
iveact
ivi
ti
es.
Fr
amewor
kAct
ivi
ti
es
Communi
cat
ion:Bef
oreanyt
echni
calwor
kcancommence,i
tiscr
it
ical
l
yimpor
tantt
o
communi
cat
eandcol
l
abor
atewi
tht
hecust
omer(
enduser
).Obj
ect
ivesf
ort
hepr
oject
andt
ogat
herr
equi
rement
sthathel
pdef
inesof
twar
efeat
uresandf
unct
ions.
Pl
anni
ng:Thepl
anni
ngact
ivi
tycr
eat
esa“
map”t
hathel
psgui
det
het
eam asi
tmakes
t
hej
our
ney
.Themapcal
l
edasof
twar
epr
ojectpl
an-def
inest
hesof
twar
eengi
neer
ing
wor
kbydescr
ibi
ngt
het
echni
cal
taskst
obeconduct
ed.
Model
ing:A sof
twar
eengi
neerdoest
hesamet
hingbycr
eat
ingmodel
sto bet
ter
under
standsof
twar
erequi
rement
sandt
hedesi
gnt
hatwi
l
lachi
evet
hoser
equi
rement
s.
Const
ruct
ion:Thi
sact
ivi
tycombi
nescodegener
ati
onandt
het
est
ingt
hati
srequi
red
uncov
eri
nger
ror
sint
hecode.
Depl
oyment
:Thesof
twar
eisdel
i
ver
edt
othecust
omerwhoev
aluat
est
hedel
i
ver
ed
pr
oductandpr
ovi
desf
eedbackbasedont
heev
aluat
ion.

4
Umbr
ell
aAct
ivi
ti
es
 Sof
twar
ePr
ojectTr
acki
ngandCont
rol
 Ri
skManagement
 Sof
twar
eQual
i
tyAssur
ance
 Techni
cal
Rev
iews
 Measur
ement
 Sof
twar
eConf
igur
ati
onManagement
 Reusabi
l
ityManagement
 Wor
kPr
oductPr
epar
ati
onandPr
oduct
ion
Not
e:Sof
twar
ePr
ocess=Fr
amewor
kAct
ivi
ti
es+Umbr
ell
aAct
ivi
ti
es

AGener
icPr
ocessModel
s
Pr
ocessmodeli
sast
andar
dfor
matf
orpl
anni
ng,
organi
zi
ngandr
unni
ngadev
elopment
pr
oject
.Ithel
psi
nthesof
twar
edev
elopment
.Thesemodel
sar
egui
dingt
hesof
twar
e
dev
elopmentt
eam.Anypr
ocessmodeli
ncl
udessetoff
ramewor
kact
ivi
ti
esbegi
nwi
th
communi
cat
ionendswi
thdepl
oyment
.Thesear
emodel
sar
e
1.Al
inearpr
ocessf
lowexecut
eseachoft
hef
ivef
ramewor
kact
ivi
ti
esi
nsequence,
begi
nni
ngwi
thcommuni
cat
ionandcul
minat
ingwi
thdepl
oyment
.

2.Ani
ter
ati
vepr
ocessf
lowr
epeat
soneormor
eoft
heact
ivi
ti
esbef
orepr
oceedi
ng
t
othenext
.

3.Anev
olut
ionar
ypr
ocessf
lowexecut
est
heact
ivi
ti
esi
na“
cir
cul
ar”manner
.Each
ci
rcui
tthr
ough t
he f
ive act
ivi
ti
esl
eadst
o a mor
e compl
etev
ersi
on oft
he

5
sof
twar
e.

4.A par
all
elpr
ocessf
low execut
esoneormor
eact
ivi
ti
esi
npar
all
elwi
thot
her
act
ivi
ti
es.

1.Wat
erf
allModel
Thewat
erf
allmodeli
stheol
destpar
adi
gm f
orsof
twar
eengi
neer
ing.I
tisal
socal
l
edas
t
he cl
assi
cli
fe cy
cle,suggest
s a sy
stemat
ic,sequent
ialappr
oach6 t
o sof
twar
e
dev
elopmentt
hatbegi
nswi
thcust
omerspeci
fi
cat
ionofr
equi
rement
sandpr
ogr
esses
t
hroughpl
anni
ng,model
i
ng,const
ruct
ionanddepl
oyment
.Thi
smodeli
sol
destand
wi
del
yusedmodel
fol
l
owedi
nsof
twar
eengi
neer
ing.

6
Phasesofwat
erf
allmodel
 Communi
cat
ion
 Pl
anni
ng
 Model
i
ng
 Const
ruct
ion
 Depl
oyment
Adv
ant
ages
 Si
mpl
eandeasyt
ounder
standanduse.
 I
tal
l
owsf
ordepar
tment
ali
zat
ionandcont
rol
.
 Wor
kswel
lforsmal
lpr
oject
sbecauser
equi
rement
sar
ever
ywel
lunder
stand.
 Aschedul
ecanbesetwi
thdeadl
i
nesf
oreachst
ageofdev
elopment
.
 Cl
ear
lydef
inedst
ages.
 Pr
ocessandr
esul
tsar
ewel
ldocument
.
Di
sadv
ant
ages
 Lat
epr
ocess.
 Hi
ghamount
sofr
iskanduncer
tai
nty
.
 Notgoodmodel
forcompl
ex,
longandongoi
ngpr
oject
s.
 I
ntegr
ati
oni
sdoneasabi
gbangatv
eryend.

2.V-
Model
Av
ari
ati
oni
nther
epr
esent
ati
onoft
hewat
erf
allmodeli
scal
l
edt
heV- .I
model nt
his
Ver
if
icat
ionandVal
i
dat
ionact
ionsar
eassoci
atedwi
thear
li
erengi
neer
ingact
ions.The
V-
modeldepi
ctst
her
elat
ionshi
pofqual
i
tyassur
anceact
ionst
otheact
ionsassoci
ated
wi
thcommuni
cat
ion,model
i
ng,andear
lyconst
ruct
ionact
ivi
ti
es.Assof
twar
eteam
mov
es down t
he l
eftsi
de oft
he V,basi
cpr
obl
em r
equi
rement
s ar
eref
ined i
nto
pr
ogr
essi
vel
ymor
e det
ail
ed and t
echni
calr
epr
esent
ati
ons oft
he pr
obl
em and i
ts
sol
uti
on.Oncecodehasbeengener
ated,t
het
eam mov
esupt
her
ightsi
deoft
heV,
essent
ial
l
yper
for
mingaser
iesoft
est
s(qual
i
tyassur
anceact
ions)t
hatv
ali
dat
eeachof
t
hemodel
scr
eat
edast
het
eam mov
eddownt
hel
eftsi
de.TheV-
modelpr
ovi
desaway
ofv
isual
i
zinghow v
eri
fi
cat
ionandv
ali
dat
ionact
ionsar
eappl
i
edt
oear
li
erengi
neer
ing
wor
k.

7
3.I
ter
ati
veWat
erf
allModel
I
napr
act
icalsof
twar
edev
elopmentpr
oject
,thecl
assi
calwat
erf
allmodeli
shar
dtouse.
So,t
heI
ter
ati
vewat
erf
allmodelcanbet
houghtofasi
ncor
por
ati
ngt
henecessar
y
changes t
othe cl
assi
calwat
erf
allmodelt
o make i
tusabl
ein pr
act
icalsof
twar
e
dev
elopmentpr
oject
s.I
tisal
mostt
hesameast
hecl
assi
calwat
erf
allmodelex
cept
somechangesar
emadet
oincr
easet
heef
fi
ciencyoft
hesof
twar
edev
elopment
.The
i
ter
ati
vewat
erf
allmodelpr
ovi
desf
eedbackpat
hsf
rom ev
eryphaset
oit
spr
ecedi
ng
phases,
whi
chi
sthemai
ndi
ff
erencef
rom t
hecl
assi
cal
wat
erf
all
model
.
I
ter
ati
veWat
erf
allModeli
stheex
tensi
onoft
heWat
erf
allmodel
.Thi
smodeli
sal
most
sameast
hewat
erf
allmodelexceptsomemodi
fi
cat
ionsar
emadet
oimpr
ovet
he
per
for
mance oft
he sof
twar
e dev
elopment
.The i
ter
ati
ve wat
erf
allmodelpr
ovi
des
cust
omer
’sf
eedbackpat
hsf
rom each phaset
oit
spr
evi
ousphases.Ther
eisno
f
eedbackpat
hpr
ovi
dedf
orf
easi
bil
i
tyst
udyphase,soi
fanychangei
srequi
redi
nthat
phaset
heni
ter
ati
vemodel
doesn’
thav
escopef
ormodi
fi
cat
ionormaki
ngcor
rect
ions.
I
ter
ati
ve wat
erf
allal
l
ows goi
ng back on t
he pr
evi
ous phase and change t
he
r
equi
rement
sandsomemodi
fi
cat
ioncandonei
fnecessar
y.Thi
smodelr
educest
he
dev
eloper
’sef
for
tand t
imer
equi
redt
o det
ectandcor
rectt
heer
ror
s. I
nit
erat
ive

8
wat
erf
allmodel
,nextphasecanonl
ybegi
nswhent
hepr
evi
ousphasei
scompl
etedas
wat
erf
all
model
.
PhasesofI
ter
ati
veWat
erf
allModel
 Requi
rementAnal
ysi
s
 Feasi
bil
i
tySt
udy
 Sof
twar
eDesi
gn
 Codi
ng/
Impl
ement
ati
on
 Sof
twar
eTest
ing
 Sof
twar
eDepl
oyment
 Sof
twar
eMai
ntenance
 I
ter
ati
veWat
erf
all
Model

Adv
ant
ages
 I
ter
ati
vewat
erf
all
model
isv
eryeasyt
ounder
standanduse.
 Ev
eryphasecont
ainsf
eedbackpat
htoi
tspr
evi
ousphase.
 Thi
sisansi
mpl
etomakechangesoranymodi
fi
cat
ionsatanyphase.
 Byusi
ngt
hismodel
,dev
elopercancompl
eterpr
ojectear
li
er.
 Cust
omeri
nvol
vementi
snotr
equi
reddur
ingt
hesof
twar
edev
elopment
.
 Thi
smodel
issui
tabl
eforl
argeandcompl
expr
oject
s.
Di
sadv
ant
ages
 Ther
eisnof
eedbackpat
hforf
easi
bil
i
tyst
udyphase.

9
 Thi
smodel
isnotsui
tabl
eifr
equi
rement
sar
enotcl
ear
.
 I
tcanbemor
ecost
ly.
 Ther
eisnopr
ocessf
orr
iskhandl
i
ng.
 Cust
omercanv
iew t
hef
inalpr
oject
.ther
eisnopr
otot
ypef
ort
aki
ngcust
omer
r
evi
ews.
 Thi
smodel
doesnotwor
kwel
lforshor
tpr
oject
s.
 I
fmodi
fi
cat
ionsar
erequi
redr
epeat
edl
ytheni
tcanbemor
ecompl
expr
oject
s.
4.I
ncr
ement
alModel
Thei
ncr
ement
almodelcombi
nesel
ement
sofwat
erf
allmodelwi
thi
ter
ati
vef
ashi
on.
Thei
ncr
ement
almodelappl
i
esl
i
nearsequencesi
nast
agger
edf
ashi
onascal
endar
t
ime pr
ogr
esses.Each l
i
nearsequence pr
oduces del
i
ver
abl
e“i
ncr
ement
s”oft
he
sof
twar
einamannert
hati
ssi
mil
art
othei
ncr
ement
spr
oducedbyanev
olut
ionar
y
pr
ocessf
low.

PhasesofI
ncr
ement
almodel
 Communi
cat
ion
 Pl
anni
ng
 Model
i
ng
 Const
ruct
ion
 Depl
oyment
10
Adv
ant
ages
 Thi
smodel
ismor
efl
exi
bleandl
esscost
lyt
ochangescopeandr
equi
rement
s.
 Easi
ert
otestanddebugdur
ingasmal
l
eri
ter
ati
ons.
 Easi
ert
omanager
isk.
 Cust
omercanr
espondt
oeachbui
l
t.
 Lowi
nit
ial
cost
.
Di
sadv
ant
ages
 Needsgoodpl
anni
nganddesi
gn.
 Needsacl
earandcompl
etedef
ini
ti
onoft
hewhol
esy
stem bef
oredev
elopment
.
 Tot
alcosti
shi
ghert
hanwat
erf
all
model
.
5.RADModel
RAD st
andsf
orRapi
dAppl
i
cat
ionDev
elopmenti
sani
ncr
ement
alsof
twar
epr
ocess
modelt
hatf
ocusesonshor
tdev
elopmentcy
clet
ime.Thi
smodeli
shi
ghspeedmodel
whi
chadapt
smanyst
epsf
rom wat
erf
allmodeli
nwhi
chr
api
ddev
elopmenti
sachi
eved
byusi
ngcomponentbasedconst
ruct
ionappr
oach.I
fpr
ojectr
equi
rement
sar
ewel
l
under
stoodandpr
ojectscopei
swel
lknownt
henRADpr
ocessenabl
esadev
elopment
t
eam t
ocr
eat
eaf
ull
funct
ional
syst
em.
PhasesofRADmodel
 Communi
cat
ion
 Pl
anni
ng
 Model
i
ng
o Busi
nessmodel
i
ng
o Dat
amodel
i
ng
o Pr
ocessmodel
i
ng
 Const
ruct
ion
 Depl
oyment

11
Adv
ant
ages
 Reduceddev
elopmentt
ime.
 I
ncr
easesr
eusabi
l
ityofcomponent
s.
 Encour
agecust
omerf
eedback.
 Qui
cki
nit
ial
rev
iews.
Di
sadv
ant
ages
 Hi
ghdependencyonmodel
i
ngski
l
ls.
 Unknowncostofpr
oduct
.
 Di
ff
icul
tformanyi
mpor
tantuser
stocommi
tthet
imer
equi
redf
orsuccessoft
he
RADpr
ocess.
6.Evol
uti
onar
yModel
s
Ev
olut
ionar
ypr
ocessmodel
spr
oduceani
ncr
easi
ngl
ymor
ecompl
etev
ersi
onoft
he
sof
twar
ewi
theachi
ter
ati
on.Thesemodel
sar
ethecompl
exsy
stems,ev
olv
esov
era
per
iodoft
ime.Ev
olut
ionar
ymodel
sar
eit
erat
iveandev
olut
ionar
ypr
ocessf
lowmodel
s.
Thesemodel
sar
e
 Pr
otot
ypemodel
 Spi
ral
model
PhasesofEv
olut
ionar
ymodel

12
 Communi
cat
ion
 Pl
anni
ng
 Model
i
ng
 Const
ruct
ion
 Depl
oyment
Pr
otot
ypeModel
A cust
omerdef
inesasetofgener
alobj
ect
ivesf
orsof
twar
e,butdoesnoti
dent
if
y
det
ail
edr
equi
rement
sforf
unct
ionsandf
eat
ures.I
not
hercases,t
hedev
elopermaybe
unsur
eoft
heef
fi
ciencyofanal
gor
it
hm,t
headapt
abi
l
ityofanoper
ati
ngsy
stem,ort
he
f
ormt
hathuman-machi
nei
nter
act
ionshoul
dtake.I
nthese,andmanyot
hersi
tuat
ions,
apr
otot
ypi
ngpar
adi
gm mayof
fert
hebestappr
oach.Pr
otot
ypi
ngcanbeusedasa
st
and-
alonepr
ocessmodel
;iti
smor
ecommonl
yusedasat
echni
quet
hatcanbe
i
mpl
ement
edwi
thi
nthecont
extofanyoneoft
hepr
ocessmodel
s.

Adv
ant
ages
 Aqui
ckdesi
gnoccur
 Qui
ckdesi
gnl
eadst
otheconst
ruct
ionofpr
otot
ype
 Pr
otot
ypei
sev
aluat
edbyt
hecust
omer
.
 Requi
rement
sar
eref
ined.
 Tur
nedt
osat
isf
ytheneedsofcust
omer
.
Di
sadv
ant
ages
 Cust
omerr
equi
rement
sdonotsat
isf
ythedev
eloper
.
 I
tissl
owpr
ocess,
notdel
i
ver
sint
ime.
 Toomuchi
nvol
vementofcl
i
ent
.
 Toomanychanges.

13
Spi
ralModel
Thespi
ralmodeli
sanev
olut
ionar
ysof
twar
epr
ocessmodelt
hatcoupl
est
hei
ter
ati
ve
nat
ureofpr
otot
ypi
ngwi
tht
hecont
rol
l
edandsy
stemat
icaspect
soft
hewat
erf
allmodel
.
I
tpr
ovi
dest
hepot
ent
ialf
orr
api
ddev
elopmentofi
ncr
easi
ngl
ymor
ecompl
etev
ersi
ons
oft
hesof
twar
e.Thespi
raldev
elopmentmodeli
sar
isk-
dri
venpr
ocessmodelgener
ator
t
hati
susedt
ogui
demul
ti
-st
akehol
derconcur
rentengi
neer
ingofsof
twar
eint
ensi
ve
sy
stems.I
thas t
wo mai
n di
sti
ngui
shi
ng f
eat
ures.One i
s a cy
cli
c appr
oach f
or
i
ncr
ement
all
y gr
owi
ng a sy
stem’
s degr
ee ofdef
ini
ti
on and i
mpl
ement
ati
on whi
l
e
decr
easi
ngi
tsdegr
eeofr
isk.Theot
heri
sasetofanchorpoi
ntmi
l
est
onesf
orensur
ing
st
akehol
dercommi
tmentt
ofeasi
bleandmut
ual
l
ysat
isf
act
orysy
stem sol
uti
ons.Usi
ng
t
hespi
ralmodel
,sof
twar
eisdev
elopedi
naser
iesofev
olut
ionar
yrel
eases.Dur
ingear
ly
i
ter
ati
ons,
ther
eleasemi
ghtbeamodelorpr
otot
ype.Aspi
ral
modeli
sdi
vi
dedi
ntoaset
off
ramewor
kact
ivi
ti
esdef
inedbyt
hesof
twar
eengi
neer
ingt
eam.

Adv
ant
ages
 Changi
ngr
equi
rement
scanbeaccommodat
ed.
 Al
l
owsext
ensi
veuseofpr
otot
ypes.
 Requi
rement
scanbecapt
uredmor
eaccur
atel
y.
 User
sseet
hesy
stem ear
ly.
 Hel
psi
nri
skmanagement(
div
idedi
ntosmal
lpar
tsandt
her
iskypar
tscanbe
dev
elopedear
li
er)
.
Di
sadv
ant
ages

14
 Managementi
smor
ecompl
ex.
 Endoft
hepr
ojectmaynotbeknownear
ly.
 Pr
ocessi
scompl
ex.
 Lar
genoofi
nter
medi
atest
agesr
equi
resexcessi
vedocument
ati
on.
 Spi
ral
maygooni
ndef
ini
tel
y.
 Notsui
tabl
eforsmal
lorl
owr
iskpr
oject
s.

Agi
leModel
s
Sof
twar
eengi
neer
ingi
sli
tt
eredwi
thdozensofobsol
etepr
ocessdescr
ipt
ionsand
met
hodol
ogi
es,model
i
ng met
hods and not
ati
ons,t
ool
s and t
echnol
ogy
.Wi
tht
he
i
ntr
oduct
ionofawi
dear
rayofagi
l
epr
ocessmodel
seachcont
endi
ngf
oraccept
ance
wi
thi
nthesof
twar
edev
elopmentcommuni
tyt
heagi
l
emov
ementi
sfol
l
owi
ngt
hesame
hi
stor
icalpat
h.Ot
heragi
l
epr
ocessmodel
shav
ebeenpr
oposedandar
einuseacr
oss
t
hei
ndust
ry.
 Ext
remePr
ogr
ammi
ng(
XP)
 Adapt
iveSof
twar
eDev
elopment(
ASD)
 Dy
nami
cSy
stemsDev
elopmentMet
hod(
DSDM)
 Scr
um
 Cr
yst
al
 Feat
ureDr
iveDev
elopment(
FDD)
 Agi
l
eModel
i
ng(
AM)
Ext
remePr
ogr
ammi
ng(
XP)
Ext
remepr
ogr
ammi
ng(
XP)i
sthemostwi
del
yusedagi
l
epr
ocess.Or
gani
zedasf
our
f
ramewor
kact
ivi
ti
espl
anni
ng,desi
gn,codi
ng,andt
est
ingXPsuggest
sanumberof
i
nnov
ati
veandpower
fult
echni
quest
hatal
l
owanagi
l
eteam t
ocr
eat
efr
equentsof
twar
e
r
eleasest
hatdel
i
verf
eat
uresandf
unct
ional
i
tyt
hathav
ebeendescr
ibedandt
hen
pr
ior
it
izedbyst
akehol
der
s.
Adapt
iveSof
twar
eDev
elopment(
ASD)
Adapt
iveSof
twar
eDev
elopment(
ASD)asat
echni
quef
orbui
l
dingcompl
exsof
twar
e
andsy
stems.Thephi
l
osophi
calunder
pinni
ngsofASDf
ocusonhumancol
l
abor
ati
on
andt
eam sel
f-
organi
zat
ion.ASDusesani
ter
ati
vepr
ocesst
hati
ncor
por
atesadapt
ive
cy
clepl
anni
ng,r
elat
ivel
yri
gor
ousr
equi
rementgat
her
ing met
hods,and an i
ter
ati
ve

15
dev
elopmentcy
clet
hati
ncor
por
atescust
omerf
ocusgr
oupsand f
ormalt
echni
cal
r
evi
ewsasr
eal
-t
imef
eedbackmechani
sms.AnASD“
li
fecy
cle”t
hati
ncor
por
atest
hree
phases:
specul
ati
on,
col
labor
ati
onandl
ear
ning.
Dy
nami
cSy
stemsDev
elopmentMet
hod(
DSDM)
TheDy
nami
cSy
stemsDev
elopmentMet
hod(
DSDM)i
sanagi
l
esof
twar
edev
elopment
appr
oacht
hat“
prov
idesaf
ramewor
kforbui
l
dingandmai
ntai
ningsy
stemswhi
chmeet
t
ightt
imeconst
rai
ntst
hrought
heuseofi
ncr
ement
alpr
otot
ypi
ngi
nacont
rol
l
edpr
oject
env
ironment
”.
DSDM i
sani
ter
ati
vesof
twar
epr
ocessi
nwhi
cheachi
ter
ati
onf
oll
owst
he80per
cent
r
ule.DSDM i
sapr
ocessf
ramewor
kthatcanadoptt
het
act
icsofanot
heragi
l
eappr
oach
suchasXP.
Funct
ionalmodeli
ter
ati
on,
Desi
gnandbui
ldi
ter
ati
onandI
mpl
ement
ati
on
Scr
um
Scr
um (
anact
ivi
ty)i
sanagi
l
esof
twar
edev
elopmentmet
hod.Scr
um pr
inci
plesar
e
consi
stentwi
tht
heagi
l
emani
fest
oandar
eusedt
ogui
dedev
elopmentact
ivi
ti
eswi
thi
n
apr
ocesst
hati
ncor
por
atest
hef
oll
owi
ngf
ramewor
kact
ivi
ti
es:r
equi
rement
s,anal
ysi
s,
desi
gn,
evol
uti
on,
anddel
iv
ery
.Wi
thi
neachf
ramewor
kact
ivi
ty,
wor
ktasksoccurwi
thi
n
apr
ocesspat
ter
ncal
l
edaspr
int
.
Cr
yst
al
Cr
yst
ali
saf
ami
l
yofagi
l
e pr
ocess model
sthatcan be adopt
ed t
othe speci
fi
c
char
act
eri
sti
csofapr
oject
.TheCr
yst
alf
ami
l
yisact
ual
l
yasetofexampl
eagi
l
e
pr
ocessest
hathav
ebeenpr
ovenef
fect
ivef
ordi
ff
erentt
ypesofpr
oject
s.Thei
ntenti
s
t
oal
l
owagi
l
eteamst
osel
ectt
hememberoft
hecr
yst
alf
ami
l
ythati
smostappr
opr
iat
e
f
ort
hei
rpr
ojectandenv
ironment
.
Feat
ureDr
iveDev
elopment(
FDD)
Feat
ure Dr
iven Dev
elopment(
FDD)i
s somewhatmor
e“f
ormal
”than ot
heragi
l
e
met
hods,butst
il
lmai
ntai
nsagi
l
itybyf
ocusi
ngt
hepr
ojectt
eam ont
hedev
elopmentof
f
eat
uresacl
i
ent
-val
uedf
unct
iont
hatcanbei
mpl
ement
edi
ntwoweeksorl
ess.FDD
adopt
saphi
l
osophyt
hat
1.Emphasi
zescol
l
abor
ati
onamongpeopl
eonanFDDt
eam.
2.Managespr
obl
em andpr
ojectcompl
exi
tyusi
ngf
eat
ure-
baseddecomposi
ti
on
f
oll
owedbyt
hei
ntegr
ati
onofsof
twar
eincr
ement
s.

16
3.Communi
cat
ionoft
echni
cal
det
ail
usi
ngv
erbal
,gr
aphi
cal
,andt
ext
-basedmeans.
FDDemphasi
zessof
twar
equal
i
tyassur
anceact
ivi
ti
esbyencour
agi
ngani
ncr
ement
al
dev
elopmentst
rat
egy
,theuseofdesi
gn and codei
nspect
ions,t
heappl
i
cat
ion of
sof
twar
equal
i
tyassur
anceaudi
ts,t
hecol
l
ect
ionofmet
ri
cs,andt
heuseofpat
ter
ns.
Theemphasi
sont
hedef
ini
ti
onoff
eat
urespr
ovi
dest
hef
oll
owi
ngbenef
it
s:
 Because f
eat
ures ar
e smal
lbl
ocks ofdel
i
ver
abl
efunct
ional
i
ty,user
s can
descr
ibet
hem mor
eeasi
l
y;under
standhow t
heyr
elat
etooneanot
hermor
e
r
eadi
l
y;andbet
terr
evi
ewt
hem f
orambi
gui
ty,
err
or,
oromi
ssi
ons.
 Feat
urescanbeor
gani
zedi
ntoahi
erar
chi
cal
busi
ness-
rel
atedgr
oupi
ng.
 Si
nceaf
eat
urei
stheFDDdel
i
ver
abl
esof
twar
eincr
ement
,thet
eam dev
elops
oper
ati
onal
feat
uresev
eryt
woweeks.
 Becausef
eat
uresar
esmal
l
,thei
rdesi
gnandcoder
epr
esent
ati
onsar
eeasi
ert
o
i
nspectef
fect
ivel
y.
 Pr
ojectpl
anni
ng,schedul
i
ng,andt
racki
ngar
edr
ivenbyt
hef
eat
urehi
erar
chy
,
r
athert
hananar
bit
rar
il
yadopt
edsof
twar
eengi
neer
ingt
askset
.
Agi
leModel
ing(
AM)
Agi
l
emodel
i
ng(
AM)suggest
sthatmodel
i
ngi
sessent
ialf
oral
lsy
stems,butt
hatt
he
compl
exi
ty,t
ypeandsi
zeoft
hemodelmustbet
unedt
othesof
twar
etobebui
l
t.Agi
l
e
model
i
ngadopt
sal
loft
hev
aluest
hatar
econsi
stentwi
tht
heagi
l
emani
fest
o.Theagi
l
e
model
i
ngphi
l
osophyr
ecogni
zest
hatanagi
l
eteam musthav
ethecour
aget
omake
deci
sionst
hatmaycausei
ttor
ejectadesi
gnandr
efr
act
or.Thet
eam mustal
sohav
e
t
hehumi
l
ityt
orecogni
zet
hatt
echnol
ogi
stsdonothav
eal
ltheanswer
sandt
hat
busi
nessexper
tandot
herst
akehol
der
sshoul
dber
espect
edandembr
aced.Model
i
ng
pr
inci
plesar
e
Model
wit
hapur
pose
Usemul
ti
plemodel
s
Tr
avel
li
ght
Cont
enti
smor
eimpor
tantt
hanr
epr
esent
ati
on
Knowt
hemodel
sandt
het
ool
syouuset
ocr
eat
ethem
Adaptl
ocal
l
y.

Pr
ojectPl
anni
ng
Sof
twar
epr
ojectpl
anni
ngi
stask,
whi
chi
sper
for
medbef
oret
hepr
oduct
ionofsof
twar
e
17
act
ual
l
yst
art
s.Pr
ojectpl
anni
ngi
sapr
ocessofcont
inuoust
hinki
ngofact
ivi
ti
esand
r
equi
rement
sofdoi
ngpr
oject
.A Sof
twar
ePr
ojecti
sthecompl
etemet
hodol
ogyof
pr
ogr
ammi
ng adv
ancementf
rom r
equi
rementgat
her
ing t
otest
ing and suppor
t,
compl
eted byt
heexecut
ionpr
ocedur
es,i
naspeci
fi
ed per
iodt
o achi
evei
ntended
sof
twar
epr
oduct
.Iti
sther
efort
hesof
twar
epr
oduct
ionbuti
nvol
vesnoconcr
ete
act
ivi
tyt
hathasanydi
rect
ionconnect
ionwi
thsof
twar
epr
oduct
ion;r
atheri
tisasetof
mul
ti
plepr
ocesses,whi
chf
aci
l
itat
essof
twar
epr
oduct
ion.Sof
twar
ePr
ojectpl
anni
ng
st
art
sbef
oret
echni
cal
wor
kst
art
.Thev
ari
ousst
epsofpl
anni
ngact
ivi
ti
esar
e:

Thesi
zei
sthecr
uci
alpar
amet
erf
ort
heest
imat
ionofot
heract
ivi
ti
es.Resour
ces
r
equi
rementar
erequi
redbasedoncostanddev
elopmentt
ime.Pr
ojectschedul
emay
pr
ovet
obev
eryusef
ulf
orcont
rol
l
ingandmoni
tor
ingt
hepr
ogr
essoft
hepr
oject
.Thi
sis
dependentonr
esour
ces&dev
elopmentt
ime.

Pr
ojectEst
imat
ion
Est
imat
ioni
sapr
ocesst
opr
edi
ctt
het
imeandt
hecostt
hatapr
ojectr
equi
rest
obe
f
ini
shedappr
opr
iat
ely
.Est
imat
ioni
sanat
temptt
odet
ermi
nehowmuchmoney
,ef
for
ts,
r
esour
cesandt
imei
twi
l
ltaket
obui
l
dspeci
fi
csof
twar
e-basedsy
stem orpr
oject
.
Whodoesest
imat
ion?
 Sof
twar
emanagerdoesest
imat
ionusi
ngi
nfor
mat
ioncol
l
ect
edf
rom cust
omer
s
andsof
twar
eengi
neer
s
 Sof
twar
emet
ri
csdat
acol
l
ect
edf
rom pastpr
oject
s.
 Assumpt
iont
akenf
rom exper
ience.

18
 I
dent
if
iedr
isksandf
easi
bil
i
tyhel
psi
nest
imat
ion.

St
epsf
orEst
imat
ions
• Est
imat
ethesi
zeoft
hedev
elopmentpr
oduct
• Est
imat
etheef
fecti
nper
son-mont
horper
son–hour
squal
i
ty
• Est
imat
etheschedul
eincal
endarmont
hs.
• Est
imat
ethepr
ojectcosti
nagr
eedcur
rency
.
Bef
oreaf
inalest
imat
eismade,pr
obl
em compl
exi
tyandr
iskar
econsi
der
ed."
Est
imat
e
Ri
sk"i
smeasur
edbyt
hedegr
eeofuncer
tai
ntyi
nthequant
it
ati
veest
imat
eest
abl
i
shed
byt
her
esour
ces,
andschedul
e.

Pr
ojectSchedul
ing
Aschedul
einy
ourpr
oject
’st
imet
abl
eact
ual
l
yconsi
stsofsequencedact
ivi
ti
esand
mi
l
est
onest
hatar
eneeded t
o bedel
i
ver
ed underagi
venper
iod oft
ime.Pr
oject
schedul
esi
mpl
ymeansamechani
sm t
hati
susedt
ocommuni
cat
eandknowaboutt
hat
t
askar
eneededandhast
obedoneorper
for
medandwhi
chor
gani
zat
ionalr
esour
ces
wi
l
lbegi
venoral
l
ocat
edt
otheset
asksandi
nwhatt
imedur
ati
onort
imef
ramewor
kis
neededt
o beper
for
med.Ef
fect
ivepr
ojectschedul
i
ngl
eadst
osuccessofpr
oject
,
r
educedcost
,andi
ncr
easedcust
omersat
isf
act
ion.Schedul
i
ngi
npr
ojectmanagement
meanst
oli
stoutact
ivi
ti
es,del
i
ver
abl
es,and mi
l
est
oneswi
thi
n apr
ojectt
hatar
e
del
i
ver
ed.I
tcont
ainsmor
enot
est
hany
ourav
erageweekl
ypl
annernot
es.Themost
commonandi
mpor
tantf
orm ofpr
ojectschedul
eisGant
tchar
t.

19
Themanagerneedst
oest
imat
eti
meandr
esour
cesofpr
ojectwhi
l
eschedul
i
ngpr
oject
.
Al
lact
ivi
ti
esi
npr
ojectmustbear
rangedi
nacoher
entsequencet
hatmeansact
ivi
ti
es
shoul
dbear
rangedi
nal
ogi
cal
andwel
l
-or
gani
zedmannerf
oreasyt
ounder
stand.I
nit
ial
est
imat
esofpr
ojectcanbemadeopt
imi
sti
cal
l
ywhi
chmeansest
imat
escanbemade
whenal
lfav
orabl
ethi
ngswi
l
lhappenandnot
hreat
sorpr
obl
emst
akepl
ace.Thet
otal
wor
kis separ
ated ordi
vi
ded i
ntov
ari
oussmal
lact
ivi
ti
es ort
asks dur
ing pr
oject
schedul
e.Then,Pr
ojectmanagerwi
l
ldeci
det
imer
equi
redf
oreachact
ivi
tyort
askt
o
getcompl
eted.Ev
en some act
ivi
ti
esar
econduct
ed and per
for
med i
n par
all
elf
or
ef
fi
cientper
for
mance.Thepr
ojectmanagershoul
dbeawar
eoff
actt
hateachst
ageof
pr
ojecti
snotpr
obl
em-
fr
ee.
Pr
obl
emsar
isedur
ingPr
ojectDev
elopmentSt
age
Peopl
emayl
eav
eorr
emai
nabsentdur
ingpar
ti
cul
arst
ageofdev
elopment
.Har
dwar
e
maygetf
ail
edwhi
l
eper
for
ming.Sof
twar
eresour
cet
hati
srequi
redmaynotbeav
ail
abl
e
atpr
esent
,et
c.Thepr
ojectschedul
eisr
epr
esent
edassetofchar
tsi
nwhi
chwor
k-
br
eakdownst
ruct
ureanddependenci
eswi
thi
nvar
iousact
ivi
ti
esar
erepr
esent
ed.To
accompl
i
shandcompl
etepr
ojectwi
thi
nagi
venschedul
e,r
equi
redr
esour
cesmustbe
av
ail
abl
ewhent
heyar
eneeded.Ther
efor
e,r
esour
ceest
imat
ionshoul
dbedonebef
ore
st
art
ingdev
elopment
.
Resour
cesr
equi
redf
orDev
elopmentofPr
oject
• Humanef
for
t
• Suf
fi
cientdi
skspaceonser
ver
• Speci
ali
zedhar
dwar
e
• Sof
twar
etechnol
ogy
• Tr
avel
all
owancer
equi
redbypr
ojectst
aff
,et
c.
Adv
ant
agesofPr
ojectSchedul
ing
Ther
ear
esev
eral
adv
ant
agespr
ovi
dedbypr
ojectschedul
einourpr
ojectmanagement
:

20
• I
tsi
mpl
yensur
est
hatev
ery
oner
emai
nsonsamepageasf
arast
asksget
compl
eted,
dependenci
es,
anddeadl
i
nes.
• I
thel
psi
nident
if
yingi
ssuesear
lyandconcer
nssuchasl
ackorunav
ail
abi
l
ityof
r
esour
ces.
• I
tal
sohel
pst
oident
if
yrel
ati
onshi
psandt
omoni
torpr
ocess.
• I
tpr
ovi
desef
fect
ivebudgetmanagementandr
iskmi
ti
gat
ion.

Hal
steadSof
twar
eSci
ence
Hal
steadcompl
exi
tymet
ri
cswer
edev
elopedbyt
hel
ateMaur
iceHal
steadasameans
ofdet
ermi
ningaquant
it
ati
vemeasur
eofcompl
exi
tydi
rect
lyf
rom t
heoper
ator
sand
oper
andsi
nthemodul
eto measur
eapr
ogr
am modul
e'
scompl
exi
tydi
rect
lyf
rom
sour
cecode.Amongt
heear
li
estsof
twar
emet
ri
cs,t
heyar
est
rongi
ndi
cat
orsofcode
compl
exi
ty.Hal
steadSci
encei
sanest
imat
iont
echni
quet
ofi
ndoutsi
ze,
timeandef
for
t
ofasof
twar
e
NumberofOper
ator
sandOper
ands
Hal
stead´
smet
ri
csi
sbasedoni
nter
pret
ingt
hesour
cecodeasasequenceoft
okens
andcl
assi
fyi
ngeacht
okent
obeanoper
atororanoper
and.
Fi
rst
,weneedt
ocomput
ethef
oll
owi
ngnumber
s,gi
vent
hepr
ogr
am:
n1=t
henumberofdi
sti
nctoper
ator
s
n2=t
henumberofdi
sti
nctoper
ands
N1=t
het
otal
numberofoper
ator
s
N2=t
het
otal
numberofoper
ands
Thenumberofuni
queoper
ator
sandoper
ands(
n1andn2)aswel
last
het
otalnumber
ofoper
ator
sandoper
ands(
N1andN2)ar
ecal
cul
atedbycol
l
ect
ingt
hef
requenci
esof
each oper
atorand oper
and t
oken oft
he sour
ce pr
ogr
am.Fr
om t
hese number
s,
f
oll
owi
ngmeasur
escanbecal
cul
ated:
Pr
ogr
am l
engt
h(N)
Thepr
ogr
am l
engt
h(N)i
sthesum oft
het
otalnumberofoper
ator
sandoper
andsi
nthe
pr
ogr
am:
N=N1+N2
Vocabul
arysi
ze(
n)
Thev
ocabul
arysi
ze(
n)i
sthesum oft
henumberofuni
queoper
ator
sandoper
ands:
n=n1+n2

21
Pr
ogr
am v
olume(
V)
Thepr
ogr
am v
olume(
V)i
sthei
nfor
mat
ioncont
ent
soft
hepr
ogr
am,measur
edi
n
mat
hemat
icalbi
ts.I
tiscal
cul
atedast
hepr
ogr
am l
engt
hti
mest
he2-
basel
ogar
it
hm of
t
hev
ocabul
arysi
ze(
n):
V=N*l
og2(
n)
Hal
stead'
svol
ume(
V)descr
ibest
hesi
zeoft
hei
mpl
ement
ati
onofanal
gor
it
hm.The
comput
ati
onofV i
sbasedont
henumberofoper
ati
onsper
for
medandoper
ands
handl
edi
ntheal
gor
it
hm.Ther
efor
e,Vi
slesssensi
ti
vet
ocodel
ayoutt
hant
hel
i
nes-
of-
codemeasur
es.
Thev
olumeofaf
unct
ionshoul
dbeatl
east20andatmost1000.Thev
olumeofa
par
amet
erl
essone-
li
nef
unct
iont
hati
snotempt
y;i
sabout20.Av
olumegr
eat
ert
han
1000t
ell
sthatt
hef
unct
ionpr
obabl
ydoest
oomanyt
hings.Thev
olumeofaf
il
eshoul
d
beatl
east100andatmost8000.Thesel
i
mit
sar
ebasedonv
olumesmeasur
edf
orf
il
es
whoseLOCpr
oandv
(G)ar
eneart
hei
rrecommendedl
i
mit
s.Thel
i
mit
sofv
olumecanbe
usedf
ordoubl
e-checki
ng.
Di
ff
icul
tyl
evel
(D)
Thedi
ff
icul
tyl
evelorer
rorpr
oneness(
D)oft
hepr
ogr
am i
spr
opor
ti
onalt
othenumber
ofuni
queoper
ator
sint
hepr
ogr
am.
Di
sal
sopr
opor
ti
onalt
other
ati
onbet
weent
het
otalnumberofoper
andsandt
he
numberofuni
queoper
ands(
i.
e.,i
fthesameoper
andsar
eusedmanyt
imesi
nthe
pr
ogr
am,
iti
smor
epr
onet
oer
ror
s).
D=(
n1/2)*(
N2/n2)
Pr
ogr
am l
evel
(L)
Thepr
ogr
am l
evel(
L)i
sthei
nver
seoft
heer
rorpr
onenessoft
hepr
ogr
am i
.e.
,al
ow-
l
evel
progr
am i
smor
epr
onet
oer
ror
sthanahi
gh-
lev
elpr
ogr
am.
L=1/D
Ef
for
ttoi
mpl
ement(
E)
Theef
for
ttoi
mpl
ement(
E)orunder
standapr
ogr
am i
spr
opor
ti
onalt
othev
olumeand
t
othedi
ff
icul
tyl
evel
oft
hepr
ogr
am.
E=V*D
Est
imat
edPr
ogr
am Lengt
h
Accor
dingt
oHal
stead,t
hef
ir
sthy
pot
hesi
sofsof
twar
esci
encei
sthatt
hel
engt
hofa
wel
l
-St
ruct
uredpr
ogr
am i
saf
unct
iononl
yoft
henumberofuni
queoper
ator
sand
22
oper
ands,
theest
imat
edl
engt
hisdenot
edbyN^
N^
=n1l
og2n1+n2l
og2n2
Pot
ent
ial
Vol
ume
Amongstal
lthepr
ogr
ams,t
heonet
hathasmi
nimalsi
zei
ssai
dtohav
ethepot
ent
ial
v
olume,V*
.Hal
steadar
guedt
hatt
hemi
nimali
mpl
ement
ati
onofanyal
gor
it
hm was
t
hrough a r
efer
ence t
o a pr
ocedur
e t
hat had been pr
evi
ousl
y wr
it
ten. The
i
mpl
ement
ati
onoft
hisal
gor
it
hm woul
dthenr
equi
renot
hingmor
ethani
nvoki
ngt
he
pr
ocedur
eandsuppl
yi
ngt
heoper
andsf
ori
tsi
nput
sandout
putpar
amet
ers.
V*
=(2+n2*
)log2(
2+n2*
)

St
aff
ing
St
aff
ing managementpl
anand r
esour
cemanagementpl
ansar
eimpor
tantpar
tof
pr
ojectr
esour
cemanagement
.Ev
erypr
ojectwi
l
lrequi
rer
esour
cesf
orexecut
ingpr
oject
act
ivi
ti
es.Ther
ewi
l
lbeaneedf
orbot
hmanpowerr
esour
cesandphy
sicalr
esour
ces.
Ther
esour
cer
equi
rementf
oreachact
ivi
tywi
l
lbeest
imat
ed.Ther
esour
ceswi
l
lbe
acqui
reddur
ingpr
ojectexecut
ionaspert
heschedul
e.Pl
anni
ngf
orr
esour
ces,
acqui
ri
ng
r
esour
ces,dev
elopi
ngt
eam andmanagi
ngt
eam ar
ethei
mpor
tantact
ivi
ti
est
obe
car
ri
edoutaspar
tofpr
ojectr
esour
cemanagement
.Ar
esour
cemanagementpl
anwi
l
l
cont
ain al
lthe necessar
ygui
del
i
nesf
orpr
ojectr
esour
ce management
.A st
aff
ing
managementpl
anwi
l
lal
sobepar
toft
heov
eral
lresour
cemanagementpl
an.
St
aff
ing managementpl
an,whi
ch par
tofov
eral
lresour
ce managementpl
an wi
l
l
speci
fi
cal
l
yfocuson t
heman poweraspect
soft
hepr
oject
.St
aff
sar
ethemost
i
mpor
tantpar
tofpr
oject
.Iti
simpor
tantt
osel
ectandacqui
ret
her
ightst
affwi
thr
ight
ski
l
lsatt
her
ightt
ime.Ast
aff
ingmanagementpl
ancont
ainsapl
anf
oraddr
essi
ngal
l
t
heaspect
sofmanpowerandwi
l
lincl
udebel
owi
nfor
mat
ion:
• I
dent
if
icat
ionofhumanr
esour
ces
• Howt
hehumanr
esour
ceswi
l
lbeacqui
red
• Cr
it
eri
atobeusedf
orhowt
hehumanr
esour
ceswi
l
lbesel
ect
ed
• Fr
om wher
ethehumanr
esour
ceswi
l
lbeacqui
red
• Howt
oacqui
rer
esour
cesf
rom wi
thi
ntheor
gani
zat
ion
• Howt
oacqui
rer
esour
cesf
rom ext
ernal
sour
ces
• Whent
her
esour
ceswi
l
lbeacqui
red(
basedont
hepr
ojectschedul
e)
• Whent
her
esour
ceswi
l
lber
eleased(
basedont
hepr
ojectschedul
e)

23
• Pr
ocessf
ormai
ntai
ningt
her
esour
cecal
endar
s
• Resour
cel
oadi
ngt
abl
edepi
cti
ngt
otalnumberofr
esour
cesneededatdi
ff
erent
poi
ntsi
nthepr
oject
• Saf
etyandsecur
it
ygui
del
i
nesf
ort
hehumanr
esour
ces
• I
dent
if
icat
ionoft
rai
ningneedsandpl
anf
orf
ulf
il
li
ngt
het
rai
ningneedsoft
he
t
eam
• Rewar
dsandr
ecogni
ti
onpl
anf
ort
het
eam
• Howt
obui
l
dthet
eam andenhancet
eam per
for
mance
• Howt
omoni
tort
heper
for
manceofeacht
eam memberandhel
pkeepi
ngt
hem
mot
ivat
ed

Or
gani
zat
ionandTeam St
ruct
ure
Thepr
ojector
gani
zat
ionalst
ruct
urei
sanessent
ialconf
igur
ati
onf
ordet
ermi
ningt
he
hi
erar
chyofpeopl
e,t
hei
rfunct
ion,wor
kfl
ow andr
epor
ti
ngsy
stem.I
tisaf
act
ori
n
busi
nesst
hatpl
aysaf
undament
alr
olei
ngui
dinganddef
ini
ngt
hewayi
nwhi
cht
he
or
gani
zat
ioncar
ri
esouti
tsoper
ati
ons.Ther
ear
emanyway
stoor
gani
zet
hepr
oject
t
eam.Somei
mpor
tantway
sar
easf
oll
ows:
• Hi
erar
chi
cal
Team Or
gani
zat
ion
• Chi
ef-
Progr
ammerTeam Or
gani
zat
ion
• Mat
ri
xTeam Or
gani
zat
ion
• Egol
essTeam Or
gani
zat
ion
• Democr
ati
cTeam Or
gani
zat
ion
Hi
erar
chi
calTeam Or
gani
zat
ion
I
nthi
s,t
hepeopl
eofor
gani
zat
ionatdi
ff
erentl
evel
sfol
l
owi
ngat
reest
ruct
ure.Peopl
eat
bot
tom l
evelgener
all
ypossessmostdet
ail
edknowl
edgeaboutt
hesy
stem.Peopl
eat
hi
gherl
evel
shav
ebr
oaderappr
eci
ati
onoft
hewhol
epr
oject
.

24
Chi
ef-
Progr
ammerTeam Or
gani
zat
ion
Thi
steam or
gani
zat
ioni
scomposedofasmal
lteam consi
sti
ngt
hef
oll
owi
ngt
eam
member
s:
The Chi
efpr
ogr
ammer
:Iti
stheper
son who i
sact
ivel
yinv
olv
ed i
nthepl
anni
ng,
speci
fi
cat
ionanddesi
gnpr
ocessandi
deal
l
yint
hei
mpl
ement
ati
onpr
ocessaswel
l
.
Thepr
ojectassi
stant
:Iti
sthecl
osestt
echni
cal
co-
wor
keroft
hechi
efpr
ogr
ammer
.
Thepr
ojectsecr
etar
y:I
trel
i
evest
hechi
efpr
ogr
ammerandal
lot
herpr
ogr
ammer
sof
admi
nist
rat
iont
ool
s.
Speci
ali
sts:Thesepeopl
esel
ectt
hei
mpl
ement
ati
onl
anguage,i
mpl
ementi
ndi
vi
dual
sy
stem component
sandempl
oysof
twar
etool
sandcar
ryoutt
asks.

Mat
ri
xTeam Or
gani
zat
ion:
I
nmat
ri
xteam or
gani
zat
ion,
peopl
ear
edi
vi
dedi
ntospeci
ali
stgr
oups.Eachgr
ouphasa
manager
.
Egol
essTeam Or
gani
zat
ion:
Egol
esspr
ogr
ammi
ngi
sast
ateofmi
ndi
nwhi
chpr
ogr
ammerar
esupposedt
osepar
ate
t
hemsel
vesf
rom t
hei
rpr
oduct
.Int
hist
eam or
gani
zat
iongoal
sar
esetanddeci
sionsar
e
madebygr
oup consensus.Her
egr
oup,‘
l
eader
shi
p’r
otat
esbased ont
askst
o be
per
for
medanddi
ff
eri
ngabi
l
iti
esofmember
s.I
nthi
sor
gani
zat
ionwor
kpr
oduct
sar
e
di
scussedopenl
yandal
lfr
eel
yexami
nedal
lteam member
s.Ther
eisamaj
orr
iskwhi
ch
suchor
gani
zat
ion,
ift
eamsar
ecomposedofi
nexper
iencedori
ncompet
entmember
s.
Democr
ati
cTeam Or
gani
zat
ion:
I
tisqui
tesi
mil
art
otheegol
esst
eam or
gani
zat
ion,butonememberi
sthet
eam l
eader
wi
thsomer
esponsi
bil
i
ties:
• Coor
dinat
ion
• Fi
nal
deci
sions,
whenconsensuscannotber
eached.

25
Ri
skManagement
Ri
sk Managementi
s an i
mpor
tantpar
tofpr
ojectpl
anni
ng act
ivi
ti
es.I
tinv
olv
es
i
dent
if
yingandest
imat
ingt
hepr
obabi
l
ityofr
iskswi
tht
hei
ror
derofi
mpactont
he
pr
oject
.
Ri
skManagementSt
eps
Ther
ear
esomest
epst
hatneedt
obef
oll
owedi
nor
dert
oreducer
isk.Thesest
epsar
e
asf
oll
ows:
1.Ri
skI
dent
if
icat
ion
Ri
ski
dent
if
icat
ioni
nvol
vesbr
ainst
ormi
ngact
ivi
ti
es.i
tal
soi
nvol
vest
hepr
epar
ati
onofa
r
iskl
i
st.Br
ainst
ormi
ngi
sagr
oupdi
scussi
ont
echni
quewher
eal
lthest
akehol
der
smeet
t
oget
her
.Thi
stechni
que pr
oduces new i
deas and pr
omot
es cr
eat
ivet
hinki
ng.
Pr
epar
ati
onofr
iskl
i
sti
nvol
vesi
dent
if
icat
ionofr
iskst
hatar
eoccur
ri
ngcont
inuousl
yin
pr
evi
oussof
twar
epr
oject
s.Thef
oll
owi
ngr
isksar
eident
if
ied
 Pr
ojectr
isks
 Techni
cal
risks
 Busi
nessr
isks
2.Ri
skAssessment(
Anal
ysi
sandPr
ior
it
izat
ion)
Dur
ingt
her
iskassessmentpr
ocess,anent
erpr
isei
dent
if
iespot
ent
ialr
iskst
hatcoul
d
har
mit
sabi
l
ityt
ooper
ate.Thenextst
epi
nther
iskmanagementpr
ocessaf
terr
isk
i
dent
if
icat
ioni
sri
skanal
ysi
s.Thi
siswher
eacompanycat
egor
izest
hepot
ent
ialr
isks
andassi
gnsar
iskl
evelt
oeachonebasedont
hel
i
kel
i
hoodt
hati
twi
l
loccuraswel
las
i
tsi
mpactont
hebusi
ness.
• I
tisapr
ocesst
hatconsi
stsoft
hef
oll
owi
ngst
eps:
• I
dent
if
yingt
hepr
obl
emscausi
ngr
iski
npr
oject
s
• I
dent
if
yingt
hepr
obabi
l
ityofoccur
renceofpr
obl
em
• I
dent
if
yingt
hei
mpactofpr
obl
em
Pr
epar
eat
abl
econsi
sti
ngofal
lthev
aluesandor
derr
iskont
hebasi
sofr
iskexposur
e
f
act
or
Ri
sk Pr
obl
em Pr
obabi
l
ityof I
mpact of Ri
sk Pr
ior
it
y
No occur
rence pr
obl
em exposur
e
ofpr
obl
em
R1 I
ssueofi
ncor
rect 2 2 4 10

26
Passwor
d
R2 Test
ingr
eveal
sa 1 9 9 7
l
otofdef
ect
s
R3 Desi
gn i
s not 2 7 14 5
r
obust
3.Ri
skAv
oidanceandMi
ti
gat
ion
Ri
skmi
ti
gat
ioni
sanot
herst
epi
nther
iskmanagementpr
ocess.I
t’
snotenoughf
oran
or
gani
zat
iont
oassessandanal
yzet
hev
ari
oust
ypesofr
isk,
ital
sohast
odosomet
hing
aboutt
hoser
isks.Ther
ear
eanumberofr
iskmi
ti
gat
ionst
rat
egi
esacompanycan
i
mpl
ementt
odealwi
tht
hev
ari
oust
ypesofr
isk,i
ncl
udi
ngr
iskav
oidanceandr
isk
r
educt
ion.Thepur
poseoft
hist
echni
quei
stoal
toget
herel
i
minat
etheoccur
renceof
r
isks.so,
themet
hodt
oav
oidr
isksi
stor
educet
hescopeofpr
oject
sbyr
emov
ingnon-
essent
ial
requi
rement
s.Ther
ear
ethr
eemai
nst
rat
egi
esf
orr
iskcont
ainment
:
 Av
oidt
her
isk(
process-
rel
ated,
product
-r
elat
edandt
echnol
ogy
-rel
atedr
isks)
 Tr
ansf
ert
her
isk
 Ri
skr
educt
ion
4.Ri
skMoni
tor
ing
I
nthi
stechni
que,
ther
iski
smoni
tor
edcont
inuousl
ybyr
eev
aluat
ingt
her
isks,
thei
mpact
ofr
isk,
andt
hepr
obabi
l
ityofoccur
renceoft
her
isk.Thi
sensur
est
hat
:
 Ri
skhasbeenr
educed
 Newr
isksar
edi
scov
ered
 I
mpactandmagni
tudeofr
iskar
emeasur
ed

COCOMOModel
COCOMO(
Const
ruct
iveCostModel
)isar
egr
essi
onmodel
basedonLOC,
i.
e,numberof
Li
nesofCode.I
tisapr
ocedur
alcostest
imat
emodelf
orsof
twar
epr
oject
sandof
ten
usedasapr
ocessofr
eli
abl
ypr
edi
cti
ngt
hev
ari
ouspar
amet
ersassoci
atedwi
thmaki
ng
apr
ojectsuchassi
ze,
eff
ort
,cost
,ti
meandqual
i
ty.I
twaspr
oposedbyBar
ryBoehm i
n
1981,
groundwor
kst
art
edi
n1970andi
sbasedont
hest
udyof63pr
oject
s,whi
chmake
i
toneoft
hebest
-document
edmodel
s.
Thekeypar
amet
erswhi
chdef
inet
hequal
i
tyofanysof
twar
epr
oduct
s,whi
char
eal
so
anout
comeoft
heCOCOMOar
epr
imar
il
yEf
for
t&Schedul
e:
Ef
for
t:Amountofl
abort
hatwi
l
lber
equi
redt
ocompl
eteat
ask.I
tismeasur
edi
nper
son

27
-
mont
hsuni
ts.
Schedul
e:Si
mpl
ymeanst
heamountoft
imer
equi
redf
ort
hecompl
eti
onoft
hej
ob,
whi
chi
s,ofcour
se,pr
opor
ti
onalt
otheef
for
tput
.Iti
smeasur
edi
ntheuni
tsoft
ime
suchasweeks,mont
hs.Di
ff
erentmodel
sofCOCOMOhav
ebeenpr
oposedt
opr
edi
ct
t
he costest
imat
ion atdi
ff
erentl
evel
s,based on t
he amountofaccur
acy and
cor
rect
nessr
equi
red.Al
loft
hesemodel
scanbeappl
i
edt
oav
ari
etyofpr
oject
s,whose
char
act
eri
sti
csdet
ermi
net
hev
alueofconst
antt
obeusedi
nsubsequentcal
cul
ati
ons.
These char
act
eri
sti
cs per
tai
ning t
o di
ff
erentsy
stem t
ypes ar
e ment
ioned bel
ow.
Boehm’
sdef
ini
ti
onofor
gani
c,semi
det
achedandembeddedsy
stems.
Or
gani
c:Asof
twar
epr
ojecti
ssai
dtobeanor
gani
cty
pei
fthet
eam si
zer
equi
redi
s
adequat
elysmal
l
,thepr
obl
em i
swel
lunder
stoodandhasbeensol
vedi
nthepastand
al
sot
het
eam member
shav
eanomi
nal
exper
iencer
egar
dingt
hepr
obl
em.
Semi
-det
ached:A sof
twar
epr
ojecti
ssai
dtobeaSemi
-det
achedt
ypei
fthev
ital
char
act
eri
sti
cssuchast
eam-
size,exper
ience,knowl
edgeoft
hev
ari
ouspr
ogr
ammi
ng
env
ironmentl
i
einbet
weent
hatofor
gani
candEmbedded.Thepr
oject
scl
assi
fi
edas
Semi
-Det
achedar
ecompar
ati
vel
ylessf
ami
l
iaranddi
ff
icul
ttodev
elopcompar
edt
othe
or
gani
conesand r
equi
remor
eexper
ienceand bet
tergui
danceandcr
eat
ivi
ty.Eg:
Compi
l
ersordi
ff
erentEmbeddedSy
stemscanbeconsi
der
edofSemi
-Det
achedt
ype.
Embedded:Asof
twar
epr
ojectwi
thr
equi
ri
ngt
hehi
ghestl
evelofcompl
exi
ty,cr
eat
ivi
ty,
andexper
iencer
equi
rementf
allundert
hiscat
egor
y.Suchsof
twar
erequi
resal
arger
t
eam si
zet
hant
heot
hert
womodel
sandal
sot
hedev
eloper
sneedt
obesuf
fi
cient
ly
exper
iencedandcr
eat
ivet
odev
elopsuchcompl
exmodel
s.Al
ltheabov
esy
stem t
ypes
ut
il
izedi
ff
erentv
aluesoft
heconst
ant
susedi
nEf
for
tCal
cul
ati
ons.
Ty
pesofCOCOMOModel
s
COCOMOconsi
stsofahi
erar
chyoft
hreei
ncr
easi
ngl
ydet
ail
edandaccur
atef
orms.Any
oft
het
hreef
ormscanbeadopt
edaccor
dingt
oourr
equi
rement
s.Thesear
ety
pesof
COCOMOmodel
:
 Basi
cCOCOMOModel
 I
nter
medi
ateCOCOMOModel
 Det
ail
edCOCOMOModel
Basi
cCOCOMOcanbeusedf
orqui
ckandsl
i
ght
lyr
oughcal
cul
ati
onsofSof
twar
eCost
s.
I
ts accur
acy i
s somewhat r
est
ri
cted due t
othe absence of suf
fi
cient f
act
or

28
consi
der
ati
ons.I
nter
medi
ate COCOMO t
akes t
hese CostDr
iver
sint
o accountand
Det
ail
edCOCOMOaddi
ti
onal
l
yaccount
sfort
hei
nfl
uenceofi
ndi
vi
dualpr
ojectphases,
i
.ei
ncaseofDet
ail
edi
taccount
sforbot
hthesecostdr
iver
sandal
socal
cul
ati
onsar
e
per
for
medphasewi
sehencef
ort
hpr
oduci
ngamor
eaccur
ater
esul
t.Theset
womodel
s
ar
efur
therdi
scussedbel
ow.
Est
imat
ionofEf
for
t:Cal
cul
ati
ons
1.Basi
cModel
b
E=a(
KLOC)
d
t
ime=c(
Eff
ort
)
Per
sonr
equi
red=Ef
for
t/t
ime
Theabov
efor
mul
aisusedf
ort
hecostest
imat
ionoff
ort
hebasi
cCOCOMOmodel
,and
al
soi
susedi
nthesubsequentmodel
s.Theconst
antv
aluesa,b,canddf
ort
heBasi
c
Model
fort
hedi
ff
erentcat
egor
iesofsy
stem:
Sof
twar
ePr
oject
s a b c d
Or
gani
c 2.
4 1.
05 2.
5 0.
38
Semi
Det
ached 3.
0 1.
12 2.
5 0.
35
Embedded 3.
6 1.
20 2.
5 0.
32
Theef
for
tismeasur
edi
nPer
son-
Mont
hsandasev
identf
rom t
hef
ormul
aisdependent
onKi
l
o-Li
nesofcode.Thedev
elopmentt
imei
smeasur
edi
nMont
hs.Thesef
ormul
as
ar
eused assuch i
ntheBasi
cModelcal
cul
ati
ons,asnotmuch consi
der
ati
on of
di
ff
erentf
act
orssuchasr
eli
abi
l
ity
,exper
ti
sei
stakeni
ntoaccount
,hencef
ort
hthe
est
imat
eisr
ough.
2.I
nter
medi
ateModel
Thebasi
cCOCOMOmodelassumest
hatt
heef
for
tisonl
yaf
unct
ionoft
henumberof
l
i
nesofcodeandsomeconst
ant
sev
aluat
edaccor
dingt
othedi
ff
erentsof
twar
esy
stem.
Howev
er,i
nreal
i
ty,nosy
stem’
sef
for
tandschedul
ecanbesol
elycal
cul
atedont
he
basi
sofLi
nesofCode.Fort
hat
,var
iousot
herf
act
orssuchasr
eli
abi
l
ity
,exper
ience,
Capabi
l
ity
.Thesef
act
orsar
eknownasCostDr
iver
sandt
heI
nter
medi
ateModelut
il
izes
15suchdr
iver
sforcostest
imat
ion.Cl
assi
fi
cat
ionofCostDr
iver
sandt
hei
rat
tri
but
es:
(
i)Pr
oductat
tri
but
es:
o Requi
redsof
twar
erel
i
abi
l
ityext
ent
o Si
zeoft
heappl
i
cat
iondat
abase

29
o Thecompl
exi
tyoft
hepr
oduct
(
ii
)Har
dwar
eat
tri
but
es:
o Run-
ti
meper
for
manceconst
rai
nts
o Memor
yconst
rai
nts
o Thev
olat
il
it
yoft
hev
irt
ual
machi
neenv
ironment
o Requi
redt
urnaboutt
ime
(
ii
i)Per
sonnel
att
ri
but
es:
o Anal
ystcapabi
l
ity
o Sof
twar
eengi
neer
ingcapabi
l
ity
o Appl
i
cat
ionsexper
ience
o Vi
rt
ual
machi
neexper
ience
o Pr
ogr
ammi
ngl
anguageexper
ience
(
iv)Pr
ojectat
tri
but
es:
o Useofsof
twar
etool
s
o Appl
i
cat
ionofsof
twar
eengi
neer
ingmet
hods
o Requi
reddev
elopmentschedul
e
TheI
nter
medi
ateCOCOMOf
ormul
anowt
akest
hef
orm:
b
E=(
a(KLOC))*EAF
Thev
aluesofaandbi
ncaseoft
hei
nter
medi
atemodel
areasf
oll
ows:
Sof
twar
ePr
oject
s a b
Or
gani
c 3.
2 1.
05
Semi
Det
ached 3.
0 1.
12
Embeddedc 2.
8 1.
20
3.Det
ail
edModel
:
Det
ail
edCOCOMOi
ncor
por
atesal
lchar
act
eri
sti
csoft
hei
nter
medi
atev
ersi
onwi
than
assessmentoft
hecostdr
iver
’si
mpactoneachst
epoft
hesof
twar
eengi
neer
ing
pr
ocess.The det
ail
ed modelusesdi
ff
erentef
for
tmul
ti
pli
ersf
oreach costdr
iver
at
tri
but
e.I
ndet
ail
edCOCOMO,
thewhol
esof
twar
eisdi
vi
dedi
ntodi
ff
erentmodul
esand
t
henweappl
yCOCOMOi
ndi
ff
erentmodul
est
oest
imat
eef
for
tandt
hensum t
heef
for
t.
TheSi
xphasesofdet
ail
edCOCOMOar
e:
 Pl
anni
ngandr
equi
rement
s
 Sy
stem desi
gn

30
 Det
ail
eddesi
gn
 Modul
ecodeandt
est
 I
ntegr
ati
onandt
est
 CostConst
ruct
ivemodel
Theef
for
tiscal
cul
atedasaf
unct
ionofpr
ogr
am si
zeandasetofcostdr
iver
sar
egi
ven
accor
dingt
oeachphaseoft
hesof
twar
eli
fecy
cle.

Sof
twar
eConf
igur
ati
onManagement
I
nSof
twar
eEngi
neer
ing,Sof
twar
eConf
igur
ati
onManagement(
SCM)i
sapr
ocesst
o
sy
stemat
ical
l
ymanage,
organi
ze,
andcont
rolt
hechangesi
nthedocument
s,codes,
and
ot
herent
it
iesdur
ingt
heSof
twar
eDev
elopmentLi
feCy
cle.Thepr
imar
ygoali
sto
i
ncr
easepr
oduct
ivi
tywi
thmi
nimalmi
stakes.SCM i
spar
tofcr
oss-
disci
pli
nar
yfi
eldof
conf
igur
ati
onmanagementandi
tcanaccur
atel
ydet
ermi
newhomadewhi
chr
evi
si
on.
Thepr
imar
yreasonsf
ori
mpl
ement
ingt
echni
calsof
twar
econf
igur
ati
onmanagement
sy
stem ar
e:
o Ther
ear
emul
ti
plepeopl
ewor
kingonsof
twar
ewhi
chi
scont
inual
l
yupdat
ing.
o I
tmaybeacasewher
emul
ti
plev
ersi
ons,br
anches,aut
hor
sar
einv
olv
edi
na
sof
twar
econf
igpr
oject
,andt
het
eam i
sgeogr
aphi
cal
l
ydi
str
ibut
edandwor
ks
concur
rent
ly.
o Changesi
nuserr
equi
rement
,pol
i
cy,
budget
,schedul
eneedt
obeaccommodat
ed.
o Sof
twar
eshoul
dabl
etor
unonv
ari
ousmachi
nesandOper
ati
ngSy
stems.
o Hel
pst
odev
elopcoor
dinat
ionamongst
akehol
der
s.
o SCM pr
ocessi
sal
sobenef
ici
alt
ocont
rolt
hecost
sinv
olv
edi
nmaki
ngchanges
t
oasy
stem.
Necessi
tyofSof
twar
eConf
igur
ati
onManagement
Ther
ear
esev
eralr
easonsf
orput
ti
nganobj
ectunderconf
igur
ati
onmanagement
.The
f
oll
owi
ngar
esomei
mpor
tantpr
obl
emst
hatcancr
opupusedSCM:
 I
nconsi
stencypr
obl
em whent
heobj
ect
sar
erepl
i
cat
ed
 Pr
obl
emsassoci
atedwi
thconcur
rentaccess
 Pr
ovi
dingast
abl
edev
elopmentenv
ironment
 Sy
stem account
ingandmai
ntai
ningst
atusi
nfor
mat
ion
 Handl
i
ngv
ari
ant
s
Conf
igur
ati
onManagementAct
ivi
ti
es

31
Ther
ear
etwopr
inci
pal
act
ivi
ti
es
 Conf
igur
ati
oni
dent
if
icat
ion
 Conf
igur
ati
oncont
rol
Conf
igur
ati
oni
dent
if
icat
ioni
samet
hodofdet
ermi
ningt
hescopeoft
hesof
twar
e
sy
stem management
.Pr
ojectmanagernor
mal
l
ycl
assi
fyt
heobj
ect
sassoci
atedwi
th
a sof
twar
e dev
elopmenti
ntot
hree mai
n cat
egor
ies cont
rol
l
ed,pr
e-cont
rol
l
ed and
uncont
rol
l
ed.Cont
rol
l
edobj
ect
sar
ethoset
hatar
eal
readyunderconf
igur
ati
oncont
rol
.
Pr
e-cont
rol
l
edobj
ect
sar
enoty
etunderconf
igur
ati
oncont
rol
,butwi
l
lev
ent
ual
l
ybe
underconf
igur
ati
on cont
rol
.Uncont
rol
l
ed obj
ect
s ar
e notsubj
ectt
o conf
igur
ati
on
cont
rol
.Cont
rol
l
abl
eobj
ect
sincl
udebot
hcont
rol
l
edandpr
e-cont
rol
l
edobj
ect
s.Ty
pical
cont
rol
l
edobj
ect
sincl
ude:
o Requi
rement
sSpeci
fi
cat
ionDocument
o Desi
gndocument
s
o Tool
susedt
obui
l
dthesy
stem
o Sour
cecodef
oreachmodul
e
o Testcases
o Pr
obl
em r
epor
ts
Conf
igur
ati
onCont
rol
:Iti
sthepr
ocessofmanagi
ngchangest
ocont
rol
l
edobj
ect
s.The
conf
igur
ati
oncont
rolpar
tofaconf
igur
ati
onmanagementsy
stem t
hatmostdi
rect
ly
af
fect
stheday
-to-
dayoper
ati
ons.
Sour
ceCodeCont
rolSy
stem (
SCCS)andRev
isi
onCont
rolSy
stem (
RCS)
SCCSandRCSar
etwopopul
arconf
igur
ati
ont
ool
sav
ail
abl
eonmostUNI
Xsy
stem.
SCCSandRCScanbeusedf
orcont
rol
l
ingandmanagi
ngdi
ff
erentv
ersi
onsoft
extf
il
es.
I
tdoesnothandl
ebi
nar
yfi
l
es.I
tpr
ovi
desanef
fi
cientwayofst
ori
ngv
ersi
onst
hat
mi
nimi
zest
heamountofoccupi
eddi
skspace.

32
Requi
rement
sAnal
ysi
sandSpeci
fi
cat
ion
Unit–2

TheNat
ureofSof
twar
e
Today
,sof
twar
ecanbeconsi
der
edi
nadualr
ole.I
tisapr
oduct
,andatt
hesamet
ime,
t
hev
ehi
clef
ordel
i
ver
ingapr
oduct
.
Sof
twar
easapr
oduct
- I
tdel
i
ver
sthecomput
ingpot
ent
ial
embodi
edbycomput
erhar
dwar
e.
- Net
wor
kofcomput
erst
hatar
eaccessi
blebyl
ocal
har
dwar
e.
- I
tresi
deswi
thi
namobi
l
ephoneoroper
atesi
nsi
deamai
nfr
amecomput
er.
- S/
w i
s i
nfor
mat
ion t
ransf
ormer (
produci
ng, managi
ng, acqui
ri
ng,
modi
fyi
ng,di
spl
ayi
ngort
ransmi
tt
ingi
nfor
mat
iont
hatcanbeassi
mpl
easa
si
ngl
ebi
torasacompl
ex)
.
Sof
twar
easav
ehi
cle
- Usedt
odel
i
vert
hepr
oduct
.
- S/
wact
sast
hebasi
sfort
hecont
rol
oft
hecomput
er(
oper
ati
ngsy
stems)
.
- Thecommuni
cat
ionofi
nfor
mat
ion(
net
wor
ks)
.
- Thecr
eat
ionandcont
rol
ofot
herpr
ogr
ams(
s/wt
ool
sandenv
ironment
).
Def
ini
ngSof
twar
e
Sof
twar
eisdef
inedas
I
nst
ruct
ions (
Comput
erpr
ogr
ams)t
hatwhen execut
ed pr
ovi
de desi
red f
eat
ures,
f
unct
ionandper
for
mance.
Dat
ast
ruct
urest
hatenabl
ethepr
ogr
amst
oadequat
elymani
pul
atei
nfor
mat
ion.
Document
sdescr
ipt
ivei
nfor
mat
ioni
nbot
hhar
dcopyandv
irt
ualf
ormst
hatdescr
ibes
t
heoper
ati
onanduseoft
hepr
ogr
ams.
Char
act
eri
sti
csofsof
twar
e
• Sof
twar
eisdev
elopedorengi
neer
ed;i
tisnotmanuf
act
uredi
nthecl
assi
cal
sense.
• Sof
twar
edoesnot“
wearout
”.Howev
er,
itdet
eri
orat
esduet
ochange.
• Al
thought
hei
ndust
ryi
smov
ingt
owar
dscomponent
-basedconst
ruct
ion,most
sof
twar
econt
inuest
obecust
om bui
l
t(Sof
twar
eiscompl
ex)
.
• Sof
twar
eiscust
om bui
l
trat
hert
hanassembl
i
ngexi
sti
ngcomponent
s.
Legacysof
twar
e

1
Legacysof
twar
eisol
derpr
ogr
amst
hatar
edev
elopeddecadesago.Exampl
esofl
egacy
sof
twar
e’sar
eCOBOL,ALP,ADA,BASI
C,FORTRAN,PASCALandLOTUSsoon.The
qual
i
tyofl
egacysof
twar
eispoorbecausei
thasi
next
ensi
bledesi
gn,conv
olut
edcode,
poorandnonexi
stentdocument
ati
on,
testcasesandr
esul
tst
hatar
enotachi
eved.
Non-
Legacysof
twar
e
Non-
Legacysof
twar
eisnew pr
ogr
amst
hatar
edev
elopi
ngpr
esentday
s.Exampl
esof
non-
legacysof
twar
e’sar
eC,C++,JAVA,PYTHON soon.Thequal
i
tyofnon-
legacy
sof
twar
eishi
gh usi
ng t
hesedi
ff
erentt
ypesofappl
i
cat
ionsar
edev
eloped,i
thas
ext
ensi
bledesi
gn,compl
excode,hi
ghexi
stentdocument
ati
on,t
estcasesandr
esul
ts
t
hatar
eachi
eved.
Sof
twar
eAppl
icat
ionDomai
ns
Sy
stemssof
twar
e:Sy
stem sof
twar
eisacol
l
ect
ionofpr
ogr
amswr
it
tent
oser
viceot
her
pr
ogr
ams.Exampl
escompi
l
ers,
edi
tor
s,dr
iver
ssoon.
Appl
icat
ionsof
twar
e:Appl
i
cat
ionsof
twar
econsi
stsofst
andal
onepr
ogr
amst
hatsol
ve
aspeci
fi
cbusi
nessneed.
Engi
neer
ingandsci
ent
if
icsof
twar
e:Thi
sist
hesof
twar
eusi
ng“
numbercr
unchi
ng”
al
gor
it
hmsf
ordi
ff
erentsci
ent
if
icsof
twar
eappl
i
cat
ions.
Embeddedsof
twar
e:i
tresi
deswi
thi
napr
oductorsy
stem andi
susedt
oimpl
ement
andcont
rol
feat
uresandf
unct
ionsf
ort
heenduserandf
ort
hesy
stem i
tsel
f.
Pr
oduct
-l
inesof
twar
e:i
tisdesi
gnedt
opr
ovi
deaspeci
fi
cfaci
l
ityf
orusebymany
di
ff
erent cust
omer
s. Exampl
es i
nvent
ory cont
rol pr
oduct
s, wor
d pr
ocessi
ng,
spr
eadsheet
ssoon.
Web-
basedsof
twar
e:i
tisusedt
odev
elopandr
etr
iev
edwebpagesbyabr
owser
.A
br
owseri
ssof
twar
ethati
ncl
udesexecut
abl
einst
ruct
ions.Exampl
eHTML,
Per
lsoon.
Ar
ti
fi
ciali
ntel
li
gencesof
twar
e:i
tusesnon-
numer
icalal
gor
it
hmst
o sol
vecompl
ex
pr
obl
ems.Exampl
epat
ter
nrecogni
ti
on.

TheUni
queNat
ureofWebApps
I
ntheear
lyday
sthewww,websi
tesconsi
stedofl
i
ttl
emor
ethanasetofl
i
nked
hy
per
textf
il
est
hatpr
esent
edi
nfor
mat
ionusi
ngt
extandl
i
mit
edgr
aphi
cs.Ast
ime
passedt
heaugment
ati
onofHTMLbydev
elopi
ngt
ool
senabl
edengi
neer
stopr
ovi
de
comput
ingcapabi
l
iti
esal
ongwi
thi
nfor
mat
ional
cont
ent
.
Todayweb-
basedsy
stem andappl
i
cat
ionswer
ebur
nthati
swebappshav
eev
aluat
ed
2
i
ntosophi
sti
cat
edcomput
ingt
ool
sthatnotonl
ypr
ovi
dest
andal
onef
unct
iont
otheend
user
,butal
sohav
ebeeni
ntegr
atedwi
thcor
por
atedat
abasesandbusi
nessappl
i
cat
ions.
Thatmeans web-
based sy
stem and appl
i
cat
ion i
nvol
ve a mi
xtur
e bet
ween pr
int
publ
i
shi
ng and sof
twar
e dev
elopment t
echnol
ogy
.The f
oll
owi
ng at
tri
but
es ar
e
encount
eredi
nthev
astmaj
ori
tyofwebapps.
Net
wor
kint
ensi
veness:AWebAppr
esi
desonanet
wor
kandmustser
vet
heneedsofa
di
ver
se communi
ty ofcl
i
ent
s.The net
wor
k may enabl
e wor
ld wi
de access and
communi
cat
ionormor
eli
mit
edaccessandcommuni
cat
ion.
Concur
rency
:Al
argenumberofuser
smayaccesst
heWebAppatonet
ime.I
nmany
cases,
thepat
ter
nsofusageamongenduser
swi
l
lvar
ygr
eat
ly.
Unpr
edi
ctabl
eload:The numberofuser
soft
heWebApp mayv
arybyor
der
sof
magni
tudef
rom dayt
oday
.
Per
for
mance:I
faWebAppusermustwai
ttool
ong,
maydeci
det
ogoel
sewher
e.
Av
ail
abi
li
ty:Al
thoughexpect
ati
onof100per
centav
ail
abi
l
ityi
sunr
easonabl
e,user
sof
popul
arWebAppsof
tendemandaccessona24/
7/365basi
s.
Dat
adr
iven:Thepr
imar
yfunct
ionofmanyWebAppsi
stousehy
per
medi
atopr
esent
t
ext
,gr
aphi
cs,
audi
o,andv
ideocont
entt
otheenduser
.
Cont
entsensi
ti
ve:Thequal
i
tyandaest
het
icnat
ureofcont
entr
emai
nsani
mpor
tant
det
ermi
nantoft
hequal
i
tyofaWebApp.
Cont
inuousev
olut
ion:Unl
i
keconv
ent
ionalappl
i
cat
ionsof
twar
ethatev
olv
esov
era
ser
ies of pl
anned, chr
onol
ogi
cal
l
y spaced r
eleases, Web appl
i
cat
ions ev
olv
e
cont
inuousl
y.
I
mmedi
acy
:Al
thoughi
mmedi
acy– t
hecompel
l
ingneedt
ogetsof
twar
etomar
ket
qui
ckl
y-i
sachar
act
eri
sti
cofmanyappl
i
cat
iondomai
ns,
WebAppsof
tenexhi
bitat
ime-
t
o-mar
kett
hatcanbeamat
terofaf
ewday
sorweeks.
Secur
it
y:BecauseWebAppsar
eav
ail
abl
evi
anet
wor
kaccess,i
tisdi
ff
icul
t,i
fnot
i
mpossi
ble,t
oli
mitt
hepopul
ati
onofenduser
swhomayaccesst
heappl
i
cat
ion.I
n
or
dert
opr
otectsensi
ti
vecont
entandpr
ovi
desecur
emodesofdat
atr
ansmi
ssi
on,
st
rong secur
it
ymeasur
esmustbei
mpl
ement
ed t
hroughoutt
hei
nfr
ast
ruct
uret
hat
suppor
tsaWebAppandwi
thi
ntheappl
i
cat
ioni
tsel
f.
Aest
het
ics:Anundeni
abl
epar
toft
heappealofaWebAppi
sit
slookandf
eel
.Whenan
appl
i
cat
ionhasbeendesi
gnedt
omar
ketorsel
lpr
oduct
sori
deas,
aest
het
icsmayhav
e
asmucht
odowi
thsuccessast
echni
cal
desi
gn.
3
Sof
twar
eMy
ths
Sof
twar
emy
thsar
eer
roneousbel
i
efsaboutsof
twar
eandt
hepr
ocesst
hati
susedt
o
bui
l
ditcanbet
racedt
otheear
li
estday
sofcomput
ing.My
thshav
eanumberof
at
tri
but
est
hatmaket
hem i
nsi
dious.Today
,mostknowl
edgeabl
esof
twar
eengi
neer
ing
pr
ofessi
onal
srecogni
zemy
thsf
orwhatt
heyar
emi
sleadi
ngat
ti
tudest
hathav
ecaused
ser
iouspr
obl
emsf
ormanager
sandpr
act
it
ioner
’sal
i
ke,ol
dat
ti
tudesandhabi
tsar
e
di
ff
icul
ttomodi
fy,
andr
emnant
sofsof
twar
emy
thsr
emai
n.Sof
twar
emy
thsar
edi
vi
ded
i
ntot
hreet
ypes
1.Managementmy
ths:Manager
swi
thsof
twar
eresponsi
bil
i
ty,l
i
kemanager
sinmost
di
sci
pli
nes,
areof
tenunderpr
essur
etomai
ntai
nbudget
s,keepschedul
esf
rom sl
i
ppi
ng,
andi
mpr
ovequal
i
ty.
My
ths
o Weal
readyhav
eabookt
hat
’sf
ullofst
andar
dsandpr
ocedur
esf
orbui
l
ding
sof
twar
e.
o I
fwegetbehi
ndschedul
e,wecanaddmor
epr
ogr
ammer
sandcat
chup.
o I
fIdeci
det
oout
sour
cet
hesof
twar
epr
ojectt
oat
hir
dpar
ty,Icanj
ustr
elaxand
l
ett
hatf
ir
m bui
l
dit
.
2.Cust
omermy
ths:Acust
omerwhor
equest
scomput
ersof
twar
emaybeaper
sonat
t
henextdesk,at
echni
calgr
oupdownt
hehal
l
,themar
ket
ing/
sal
esdepar
tment
,oran
out
sidecompanyt
hathasr
equest
edsof
twar
eundercont
ract
.
My
ths
o Agener
alst
atementofobj
ect
ivesi
ssuf
fi
cientt
obegi
nwr
it
ingpr
ogr
ams,f
il
lin
t
hedet
ail
slat
er.
o Sof
twar
e r
equi
rement
s cont
inual
l
y change, but change can be easi
l
y
accommodat
edbecausesof
twar
eisf
lexi
ble.
3.Pr
act
it
ioner
’smy
ths:My
thst
hatar
est
il
lbel
i
evedbysof
twar
epr
act
it
ioner
shav
ebeen
f
ost
eredbyov
er50y
ear
sofpr
ogr
ammi
ngcul
tur
e.Dur
ingt
heear
lyday
s,pr
ogr
ammi
ng
wasv
iewedasanar
tfor
m.
My
ths
o Oncewr
it
ethepr
ogr
am andgeti
ttowor
k,ourj
obi
sdone.
o Unt
ilIgett
hepr
ogr
am “
runni
ng”Ihav
enowayofassessi
ngi
tsqual
i
ty.
o The onl
ydel
i
ver
abl
e wor
k pr
oductf
ora successf
ulpr
ojecti
sthe wor
king
4
pr
ogr
am.
o Sof
twar
e engi
neer
ing wi
l
lmake us cr
eat
evol
umi
nous and unnecessar
y
document
ati
onandwi
l
linv
ari
abl
ysl
owusdown.

Requi
rement
sGat
her
ingandAnal
ysi
s
Ther
equi
rement
sgat
her
ingandanal
ysi
sphasei
sthef
ir
stphaseoft
heSDLC.I
tisal
so
cal
l
edasr
equi
rement
sel
i
cit
ing.I
tcombi
nesel
ement
sofpr
obl
em sol
vi
ng,el
abor
ati
on,
negot
iat
ionandspeci
fi
cat
ion.El
i
cit
ingr
equi
rement
sar
etaskofcommuni
cat
ingwi
th
cust
omer
sanduser
stodet
ermi
newhatt
hei
rrequi
rement
sar
e.Thi
sissomet
imesal
so
cal
l
edr
equi
rement
sgat
her
ing.Requi
rement
sgat
her
ingi
saf
undament
alpar
tofany
sof
twar
edev
elopmentpr
oject
.Thesear
ethi
ngsl
i
ke“
Userwant
stodoX.How i
sthi
s
achi
eved?
”Inef
fect
,Requi
rement
sGat
her
ingi
sthepr
ocessofgener
ati
ngal
i
stof
r
equi
rement
s(f
unct
ional
,sy
stem,t
echni
cal
,et
c.)f
rom al
lthest
akehol
der
s(cust
omer
s,
user
s,v
endor
s,I
Tst
aff
)thatwi
l
lbeusedast
hebasi
sfort
hef
ormaldef
ini
ti
onofwhat
t
hepr
ojecti
s.
Anal
yzi
ng r
equi
rement
s det
ermi
ning whet
hert
he st
ated r
equi
rement
s ar
e uncl
ear
,
i
ncompl
ete,ambi
guous,orcont
radi
ctor
yandt
henr
esol
vi
ngt
hesei
ssues.Requi
rement
anal
ysi
sisal
soknownasRequi
rementEngi
neer
ing.I
tist
hepr
ocessofdef
ini
nguser
expect
ati
onsf
oranew sof
twar
ebei
ngbui
l
tormodi
fi
ed.I
nsof
twar
eengi
neer
ing,i
tis
somet
imes r
efer
red t
oloosel
y by names such as r
equi
rement
s gat
her
ing or
r
equi
rement
scapt
uri
ng.Requi
rement
’sanal
ysi
sencompassest
hoset
askst
hatgoi
nto
det
ermi
ningt
heneedsorcondi
ti
onst
omeetf
oranew oral
ter
edpr
oductorpr
oject
,
t
aki
ngaccountoft
hepossi
blyconf
li
cti
ngr
equi
rement
soft
hev
ari
ousst
akehol
der
s,
anal
yzi
ng,
document
ing,
val
i
dat
ingandmanagi
ngsof
twar
eorsy
stem r
equi
rement
s.

Sof
twar
eRequi
rementSpeci
fi
cat
ion(
SRS)
Sof
twar
e Requi
rementSpeci
fi
cat
ion (
SRS)f
ormatas name suggest
s,i
s compl
ete
speci
fi
cat
ionanddescr
ipt
ionofr
equi
rement
sofsof
twar
ethatneedst
obef
ulf
il
ledf
or
successf
uldev
elopmentofsof
twar
esy
stem.Theser
equi
rement
scanbef
unct
ionalas
wel
lasnon-
requi
rement
sdependi
ngupont
ypeofr
equi
rement
.Thei
nter
act
ionbet
ween
di
ff
erentcust
omer
sandcont
ract
ori
sdonebecausei
t’
snecessar
ytof
ull
yunder
stand
needsofcust
omer
s.Dependi
nguponi
nfor
mat
iongat
her
edaf
teri
nter
act
ion,SRSi
s
dev
elopedwhi
chdescr
ibesr
equi
rement
sofsof
twar
ethatmayi
ncl
udechangesand

5
modi
fi
cat
ionst
hati
sneededt
obedonet
oincr
easequal
i
tyofpr
oductandt
osat
isf
y
cust
omer
’sdemand.
I
nor
dert
ofor
m agoodSRS,her
eyouwi
l
lseesomepoi
ntswhi
chcanbeusedand
shoul
dbeconsi
der
edt
ofor
m ast
ruct
ureofgoodSRS.Thesear
easf
oll
ows:
 I
ntr
oduct
ion
o Pur
poseoft
hisdocument
o Scopeoft
hisdocument
o Ov
erv
iew
 Gener
alDescr
ipt
ion
 Funct
ional
Requi
rement
s
 I
nter
faceRequi
rement
s
 Per
for
manceRequi
rement
s
 Desi
gnConst
rai
nts
 Non-
Funct
ional
Att
ri
but
es
 Pr
eli
minar
ySchedul
eandBudget
 Appendi
ces
I
ntr
oduct
ion:
Pur
pose:Atf
ir
st,mai
nai
m ofwhyt
hisdocumenti
snecessar
yandwhat
’spur
poseof
documenti
sexpl
ainedanddescr
ibed.
Scope:I
nthi
s,ov
eral
lwor
kingandmai
nobj
ect
iveofdocumentandwhatv
aluei
twi
l
l
pr
ovi
det
o cust
omeri
sdescr
ibed and expl
ained.I
tal
so i
ncl
udesadescr
ipt
ion of
dev
elopmentcostandt
imer
equi
red.
Ov
erv
iew:I
nthi
s,descr
ipt
ionofpr
oducti
sexpl
ained.I
t’
ssi
mpl
ysummar
yorov
eral
l
r
evi
ewofpr
oduct
.
Gener
alDescr
ipt
ion:
I
nthi
s,gener
alf
unct
ions ofpr
oductwhi
ch i
ncl
udes obj
ect
ive ofuser
,a user
char
act
eri
sti
c,f
eat
ures,benef
it
s,aboutwhy i
tsi
mpor
tance i
s ment
ioned.I
tal
so
descr
ibesf
eat
uresofusercommuni
ty.
Funct
ionalRequi
rement
s:
I
nthi
s,possi
bleout
comeofsof
twar
esy
stem whi
chi
ncl
udesef
fect
sduet
ooper
ati
onof
pr
ogr
am i
sful
l
yexpl
ained.Al
lfunct
ionalr
equi
rement
swhi
chmayi
ncl
udecal
cul
ati
ons,
dat
apr
ocessi
ng,
etc.ar
epl
acedi
nar
ankedor
der
.
6
I
nter
faceRequi
rement
s:
I
nthi
s,sof
twar
eint
erf
aceswhi
chmeanhow sof
twar
epr
ogr
am communi
cat
eswi
th
eachot
heroruser
sei
theri
nfor
m ofanyl
anguage,
code,
ormessagear
eful
l
ydescr
ibed
andexpl
ained.Exampl
escanbeshar
edmemor
y,dat
ast
reams,
etc.
Per
for
manceRequi
rement
s:
I
nthi
s,how asof
twar
esy
stem per
for
msdesi
redf
unct
ionsunderspeci
fi
ccondi
ti
oni
s
expl
ained.I
tal
soexpl
ainsr
equi
redt
ime,
requi
redmemor
y,maxi
mum er
rorr
ate,
etc.
Desi
gnConst
rai
nts:
I
nthi
s,const
rai
ntswhi
ch si
mpl
ymeansl
i
mit
ati
on orr
est
ri
cti
on ar
especi
fi
ed and
expl
ained f
ordesi
gn t
eam.Exampl
es mayi
ncl
ude use ofa par
ti
cul
aral
gor
it
hm,
har
dwar
eandsof
twar
eli
mit
ati
ons,
etc.
Non-
Funct
ionalAt
tri
but
es:
I
nthi
s,non-
funct
ionalat
tri
but
esar
eexpl
ainedt
hatar
erequi
redbysof
twar
esy
stem f
or
bet
terper
for
mance.Anexampl
emayi
ncl
udeSecur
it
y,Por
tabi
l
ity
,Rel
i
abi
l
ity
,Reusabi
l
ity
,
Appl
i
cat
ioncompat
ibi
l
ity
,Dat
aint
egr
it
y,Scal
abi
l
itycapaci
ty,
etc.
Pr
eli
minar
ySchedul
eandBudget
:
I
nthi
s,i
nit
ialv
ersi
onandbudgetofpr
ojectpl
anar
eexpl
ainedwhi
chi
ncl
udeov
eral
lti
me
dur
ati
onr
equi
redandov
eral
lcostr
equi
redf
ordev
elopmentofpr
oject
.
Appendi
ces:
I
nthi
s,addi
ti
onali
nfor
mat
ion l
i
ker
efer
encesf
rom wher
einf
ormat
ion i
sgat
her
ed,
def
ini
ti
ons ofsome speci
fi
cter
ms,acr
ony
ms,abbr
evi
ati
ons,et
c.ar
e gi
ven and
expl
ained.

Tr
aceabi
li
ty
Tr
aceabi
l
itycompr
isesoft
wowor
dsi
.e.t
raceandabi
l
ity
.Tr
acemeanst
ofi
ndsomeone
orsomet
hingandabi
l
itymeanst
oaski
l
lorcapabi
l
ityort
alentt
odosomet
hing.
Ther
efor
e,t
raceabi
l
itysi
mpl
ymeanst
heabi
l
ityt
otr
acet
her
equi
rement
,topr
ovi
de
bet
terqual
i
ty,
tof
indanyr
isk,
tokeepandv
eri
fyt
her
ecor
dofhi
stor
yandpr
oduct
ionof
ani
tem orpr
oductbyt
hemeansofdocument
edi
dent
if
icat
ion.Duet
othi
s,i
t’
seasyf
or
t
hesuppl
i
erst
oreduceanyr
iskoranyi
ssuei
ffoundandt
oimpr
ovet
hequal
i
tyoft
he
i
tem orpr
oduct
.So,i
t’
simpor
tantt
ohav
etr
aceabi
l
ityr
athert
hannot
raceabi
l
ity
.Usi
ng
t
raceabi
l
ity
,fi
ndi
ngr
equi
rement
s,andanyr
iskt
oimpr
ovet
hequal
i
tyoft
hepr
oduct
becomesv
eryeasy
.Ther
ear
evar
ioust
ypesoft
raceabi
l
itygi
venbel
ow:
7
Sour
cet
raceabi
li
ty:Thesear
ebasi
cal
l
ythel
i
nksf
rom r
equi
rementt
ost
akehol
der
swho
pr
oposet
heser
equi
rement
s.
Requi
rement
’st
raceabi
li
ty:Thesear
ethel
i
nksbet
weendependentr
equi
rement
s.
Desi
gnt
raceabi
li
ty:Thesear
ethel
i
nksf
rom r
equi
rementt
odesi
gn.

Tr
aceabi
l
itymat
ri
xisgener
all
yusedt
orepr
esentt
hei
nfor
mat
ionoft
raceabi
l
ity
.For
ment
ioni
ng t
he t
raceabi
l
ity of smal
lsy
stems usual
l
ythe t
raceabi
l
ity mat
ri
xis
mai
ntai
ned.I
foner
equi
rementi
sdependentuponanot
herr
equi
rementt
heni
nthatr
ow-
col
umn cel
l‘D’i
s ment
ioned and i
fther
eis a weak r
elat
ionshi
p bet
ween t
he
r
equi
rement
sthancor
respondi
ngent
rycanbedenot
edby‘
R’.Forexampl
e:
Requi
rementI
D A B C D E F
A D R
B D
C R
D D R
E
F R D

Char
act
eri
sti
csofagoodSRS
Thef
oll
owi
ngar
ethechar
act
eri
sti
csofagoodSRSdocument
:
Cor
rect
ness:Userr
evi
ew i
susedt
oensur
ethecor
rect
nessofr
equi
rement
sst
atedi
n
t
heSRS.SRSi
ssai
dtobecor
recti
fitcov
ersal
lther
equi
rement
sthatar
eact
ual
l
y
expect
edf
rom t
hesy
stem.
Compl
eteness:Compl
etenessofSRSi
ndi
cat
esev
erysenseofcompl
eti
oni
ncl
udi
ngt
he
number
ingofal
lthepages,r
esol
vi
ngt
het
obedet
ermi
nedpar
tst
oasmuchext
entas
possi
bleaswel
lascov
eri
ngal
lthef
unct
ional
andnon-
funct
ional
requi
rement
spr
oper
ly.
Consi
stency
:Requi
rement
sinSRSar
esai
dtobeconsi
stenti
fther
ear
enoconf
li
cts

8
bet
ween any setof r
equi
rement
s.Exampl
es of conf
li
cti
ncl
ude di
ff
erences i
n
t
ermi
nol
ogi
esused atsepar
atepl
aces,l
ogi
calconf
li
ctsl
i
ket
imeper
iod ofr
epor
t
gener
ati
on,
etc.
Unambi
guousness:ASRSi
ssai
dtobeunambi
guousi
fal
lther
equi
rement
sst
atedhav
e
onl
y1i
nter
pret
ati
on.Someoft
heway
stopr
eventunambi
guousnessi
ncl
udet
heuseof
model
l
ingt
echni
quesl
i
keERdi
agr
ams,
properr
evi
ewsandbuddychecks,
etc.
Ranki
ng f
ori
mpor
tance and st
abi
li
ty:Ther
e shoul
d a cr
it
eri
on t
o cl
assi
fyt
he
r
equi
rement
sasl
essormor
eimpor
tantormor
especi
fi
cal
l
yasdesi
rabl
eoressent
ial
.
Ani
dent
if
iermar
kcanbeusedwi
thev
eryr
equi
rementt
oindi
cat
eit
srankorst
abi
l
ity
.
Modi
fi
abi
l
ity
:SRSshoul
dbemadeasmodi
fi
abl
easpossi
bleandshoul
dbecapabl
eof
easi
l
yaccept
ing changest
othesy
stem t
o someext
ent
.Modi
fi
cat
ionsshoul
d be
pr
oper
lyi
ndexedandcr
oss-
ref
erenced.
Ver
if
iabi
li
ty:A SRS i
sver
if
iabl
eift
her
eexi
stsaspeci
fi
ctechni
quet
o quant
if
iabl
y
measur
etheext
entt
owhi
chev
eryr
equi
rementi
smetbyt
hesy
stem.Forexampl
e,a
r
equi
rementst
art
ingt
hatt
hesy
stem mustbeuser
-f
ri
endl
yisnotv
eri
fi
abl
eandl
i
sti
ng
suchr
equi
rement
sshoul
dbeav
oided.
Tr
aceabi
li
ty:Oneshoul
dbeabl
etot
racear
equi
rementt
odesi
gncomponentandt
hen
t
ocodesegmenti
nthepr
ogr
am.Si
mil
arl
y,oneshoul
dbeabl
etot
racear
equi
rementt
o
t
hecor
respondi
ngt
estcases.
Desi
gn I
ndependence:Ther
eshoul
dbeanopt
iont
o choosef
rom mul
ti
pledesi
gn
al
ter
nat
ivesf
ort
hef
inalsy
stem.Mor
especi
fi
cal
l
y,t
heSRSshoul
dnoti
ncl
udeany
i
mpl
ement
ati
ondet
ail
s.
Test
abi
li
ty:ASRSshoul
dbewr
it
teni
nsuchawayt
hati
tiseasyt
ogener
atet
estcases
andt
estpl
ansf
rom t
hedocument
.
Under
standabl
ebyt
hecust
omer
:Anendusermay
beanexper
tinhi
s/herspeci
fi
c
domai
nbutmi
ghtnotbeanex
per
tincomput
ersci
ence.Hence,t
heuseoff
ormal
not
ati
onsandsy
mbol
sshoul
dbeav
oidedt
oasmuchext
entaspossi
ble.Thel
anguage
shoul
dbekepteasyandcl
ear
.
Ri
ghtl
evelofabst
ract
ion:I
ftheSRSi
swr
it
tenf
ort
her
equi
rement
sphase,t
hedet
ail
s
shoul
dbeexpl
ainedexpl
i
cit
ly.Wher
eas,
foraf
easi
bil
i
tyst
udy
,fewerdet
ail
scanbeused.
Hence,
thel
evel
ofabst
ract
ionv
ari
esaccor
dingt
othepur
poseoft
heSRS.

Repr
esent
ingCompl
exRequi
rement
susi
ngDeci
sionTabl
esandDeci
sion
9
Tr
ees
Asof
twar
esy
stem of
teni
sgov
ernedbycompl
exl
ogi
c,wi
thv
ari
ouscombi
nat
ionsof
condi
ti
onsandact
ionsl
eadi
ngt
odi
ff
erentsy
stem behav
ior
s.Forexampl
e,i
fthedr
iver
pr
essest
heaccel
erat
ebut
tononacar
’scr
uisecont
rolsy
stem andt
hecari
scur
rent
ly
cr
uisi
ng,t
hesy
stem i
ncr
easest
hecar
’sspeed.I
fthecari
sn’
tcr
uisi
ng,t
hough,t
he
sy
stem shoul
dn’
tdoany
thi
ng.Dev
eloper
smustbaset
hei
rwor
konasetoff
unct
ional
r
equi
rement
sthatdescr
ibewhatt
hesy
stem shoul
ddounderal
lpossi
blecombi
nat
ions
ofbot
hnor
malander
rorcondi
ti
ons.Howev
er,i
t’
seasyt
oov
erl
ookaspeci
fi
ccondi
ti
on
combi
nat
ion,whi
cht
henr
esul
tsi
nami
ssi
ngr
equi
rement
.Theseknowl
edgegapsar
e
har
dto spotbyr
evi
ewi
ng a speci
fi
cat
ion wr
it
ten i
n nat
urall
anguage,wi
th al
lit
s
bul
ki
nessandambi
gui
ti
es.
Deci
siont
abl
esanddeci
siont
reesar
etwoef
fect
ivet
echni
quesf
orr
epr
esent
inghowa
sy
stem shoul
d behav
e when compl
exl
ogi
c and deci
sionscome i
nto pl
ay.These
t
echni
quesar
eval
uabl
ewhendef
ini
ngf
unct
ionalr
equi
rement
sandbusi
nessr
ules.
They
’real
soagr
eatai
dforef
fi
cientt
estpl
anni
ng.
1.Deci
sionTabl
es:
Deci
siont
abl
eisj
ustat
abul
arr
epr
esent
ati
onofal
lcondi
ti
onsandact
ions.Deci
sion
t
reesar
eal
way
susedwhenev
ert
hepr
ocessl
ogi
cisv
erycompl
i
cat
edandi
nvol
ves
mul
ti
plecondi
ti
ons.Themai
ncomponent
susedf
ort
hef
ormat
ionofDat
aTabl
ear
e
Condi
ti
onsSt
ubs,
Act
ionSt
ubs,
andr
ules.
2.Deci
sionTr
ees:
Deci
siont
reei
sagr
aphwhi
chal
way
susesabr
anchi
ngmet
hodi
nor
dert
odemonst
rat
e
al
lthepossi
bleout
comesofanydeci
sion.Deci
sionTr
eesar
egr
aphi
calandshows
bet
terr
epr
esent
ati
onofdeci
sionout
comes.I
tconsi
stsoft
hreenodesnamel
yDeci
sion
Nodes,
ChanceNodesandTer
minal
Nodes.
Di
ff
erencebet
weenDeci
sionTabl
esandDeci
sionTr
ees
Deci
sionTabl
es Deci
sionTr
ees
Deci
sionTabl
esar
etabul
arr
epr
esent
ati
on Deci
sion Tr
ees ar
e gr
aphi
cal
ofcondi
ti
onsandact
ions. r
epr
esent
ati
onofev
erypossi
bleout
come
ofadeci
sion.
Wecander
ivedeci
siont
abl
efr
om deci
sion We cannot der
ive deci
sion t
ree f
rom
t
ree. deci
siont
abl
e.

10
I
thel
pst
ocl
ari
fyt
hecr
it
eri
a. I
thel
pst
otakei
ntoaccountt
hepossi
ble
r
elev
antout
comesofdeci
sion.
I
nDeci
sionTabl
es,wecani
ncl
udemor
e I
nDeci
sionTr
ees,wecannoti
ncl
udemor
e
t
hanone‘
or’
condi
ti
on. t
hanone‘
or’
condi
ti
on.

I
tisusedwhent
her
ear
esmal
lnumberof I
tisusedwhent
her
ear
emor
enumberof
pr
oper
ti
es. pr
oper
ti
es.
I
tisusedf
orsi
mpl
elogi
conl
y. I
tcanbeusedf
orcompl
exl
ogi
caswel
l
.
I
tisconst
ruct
edofr
owsandt
abl
es. I
tisconst
ruct
edofbr
anchesandnodes.

Ov
erv
iewofFor
malSy
stem Dev
elopmentTechni
ques
For
malmet
hods ar
e sy
stem desi
gn t
echni
ques t
hat use r
igor
ousl
y speci
fi
ed
mat
hemat
icalmodel
stobui
l
dsof
twar
eandhar
dwar
esy
stems.I
ncont
rastt
oot
her
desi
gnsy
stems,f
ormalmet
hodsusemat
hemat
icalpr
oofasacompl
ementt
osy
stem
t
est
ingi
nor
dert
oensur
ecor
rectbehav
ior
.Assy
stemsbecomemor
ecompl
i
cat
ed,
and
saf
etybecomesamor
eimpor
tanti
ssue,t
hef
ormalappr
oacht
osy
stem desi
gnof
fer
s
anot
herl
evel
ofi
nsur
ance.
For
malmet
hodsar
etechni
quesusedbysof
twar
eengi
neer
stodesi
gnsaf
ety
-cr
it
ical
sy
stemsand t
hei
rcomponent
s.I
n sof
twar
eengi
neer
ing,t
heyar
etechni
quest
hat
i
nvol
vemat
hemat
ical
expr
essi
onst
omodel
“abst
ractr
epr
esent
ati
on”oft
hesy
stem.
Suchmodel
sar
esubj
ectt
opr
oof
-check(
For
malSpeci
fi
cat
ion)wi
thr
egar
dst
ost
abi
l
ity
,
cohesi
onandr
eli
abi
l
ity
.Pr
ovi
ngv
ali
dat
ioni
sacor
epr
ocessf
orev
aluat
ingmodel
susi
ng
aut
omat
ict
heor
em pr
oof
s.Thi
sisbasedonasetofmat
hemat
icalf
ormul
ast
obe
pr
oven cal
l
ed pr
oofobl
i
gat
ions (
For
malVer
if
icat
ion)
.Thi
s al
l
ows i
dent
if
icat
ion of
pot
ent
ialf
lawsear
li
eri
nthedesi
gnst
age,
topr
eventf
rom “
bri
cki
ng”expensi
vesy
stems
l
aterwhenpl
acedi
ntoexpl
oit
ati
on.St
andar
ddev
elopmentt
echni
quesr
evol
vear
ound
t
hef
oll
owi
ngphases:
 Requi
rement
’sengi
neer
ing
 Ar
chi
tect
uredesi
gn
 I
mpl
ement
ati
on
 Test
ing
 Mai
ntenance

11
 Ev
olut
ion
Ther
ear
enot
abl
edi
ff
erencesbet
weenst
andar
dandf
ormalsof
twar
edev
elopment
met
hods.For
malmet
hodsar
e somewhatsuppor
ti
ng t
ool
s.Her
e,t
he r
eli
abi
l
ityof
mat
hemat
ics i
mpr
oves sof
twar
e pr
oduct
ion qual
i
ty atany st
age.They ar
e not
necessar
il
yther
etoi
mpl
ementdat
apr
ocessi
ng.Choi
ceofpr
ogr
ammi
ngl
anguagei
s
i
rr
elev
ant
.Inst
ead,
itcr
eat
esa‘
bri
dge’
bet
weenmodel
l
edconcept
sandt
heenv
ironment
t
owar
dsf
inal
sof
twar
eimpl
ement
ati
on.
 Sy
ntact
icdomai
ns
 Semant
icdomai
ns
 Sat
isf
act
ionr
elat
ion

Axi
omat
icSpeci
fi
cat
ion
The Axi
omat
ic Speci
fi
cat
ion i
saf
ormalspeci
fi
cat
ion def
ini
ng t
he semant
ics of
f
unct
ionsofobj
ect
sbyadescr
ipt
ionoft
her
elat
ionsbet
weendi
ff
erentobj
ect
sand
f
unct
ions.The descr
ipt
ion i
s made by axi
oms (
predi
cat
e-l
ogi
calf
ormul
a).I
nthe
Axi
omat
icSpeci
fi
cat
ionofasy
stem,f
ir
st-
orderl
ogi
cisusedt
owr
it
ethepr
e-andpost
-
condi
ti
onst
ospeci
fyt
heoper
ati
onsoft
hesy
stem i
nthef
orm ofaxi
oms.Thepr
e-
condi
ti
onscapt
uret
hecondi
ti
onst
hatmustbesat
isf
ied bef
orean oper
ati
on can
successf
ull
ybei
nvoked.I
nessence,
thepr
e-condi
ti
onscapt
uret
her
equi
rement
sont
he
i
nputpar
amet
ersofaf
unct
ion.Thepost
-condi
ti
onsar
ethecondi
ti
onst
hatmustbe
sat
isf
ied when f
unct
ion post
-condi
ti
ons ar
e essent
ial
l
yconst
rai
nts on t
he r
esul
ts
pr
oducedf
ort
hef
unct
ionexecut
iont
obeconsi
der
edsuccessf
ul.

Al
gebr
aicSpeci
fi
cat
ion
I
ntheAl
gebr
aicSpeci
fi
cat
iont
echni
que,
anobj
ectcl
assort
ypei
sspeci
fi
edi
nter
msof
r
elat
ionshi
psexi
sti
ngbet
weent
heoper
ati
onsdef
inedont
hatt
ype.I
twasf
ir
stbr
ought
i
ntopr
omi
nencebyGut
tag(
1980-
1985)i
nthespeci
fi
cat
ionofabst
ractdat
aty
pes.
Var
iousnot
ati
onsofal
gebr
aicspeci
fi
cat
ionshav
eev
olv
ed,i
ncl
udi
ngt
hosebasedon
OBJandLar
chl
anguages.TheAl
gebr
aicSpeci
fi
cat
iondescr
ibesf
unct
ionsi
nthef
orm
ofanal
gebr
a.Anal
gebr
aconsi
stsofasi
gnat
ureand t
heaxi
oms.Thesi
gnat
ure
consi
stsofaf
ami
l
yofobj
ectset
s(car
ri
erset
s)andanumberofoper
ati
onsi
nthi
s
car
ri
ersetwi
tht
hei
rfunct
ional
i
ty.Theaxi
omsdescr
ibet
hechar
act
eri
sti
csoft
his
oper
ati
onsbymeansofal
gebr
aicequat
ions.

12
I
EEE830Gui
del
ines

13
14
Sy
stem Desi
gn
Uni
t-3
GoodSof
twar
eDesi
gn
Forgoodqual
i
tysof
twar
etobepr
oduced,t
hesof
twar
edesi
gnmustal
sobeofgood
qual
i
ty.Now,t
hemat
terofconcer
nishow t
hequal
i
tyofgoodsof
twar
edesi
gni
s
measur
ed.Thi
sisdonebyobser
vingcer
tai
nfact
orsi
nsof
twar
edesi
gn.Thesef
act
ors
ar
e:
 Cor
rect
ness
 Under
standabi
l
ity
 Ef
fi
ciency
 Mai
ntai
nabi
l
ity
Cor
rect
ness:The desi
gn ofany sof
twar
eis ev
aluat
ed f
ori
ts cor
rect
ness.The
ev
aluat
orscheckt
hesof
twar
eforev
eryki
ndofi
nputandact
ionandobser
vet
her
esul
ts
t
hatt
hesof
twar
ewi
l
lpr
oduceaccor
dingt
othepr
oposeddesi
gn.I
fther
esul
tsar
e
cor
rectf
orev
eryi
nput
,thedesi
gni
saccept
edandi
sconsi
der
edt
hatt
hesof
twar
e
pr
oducedaccor
dingt
othi
sdesi
gnwi
l
lfunct
ioncor
rect
ly.
Under
standabi
li
ty:The sof
twar
e desi
gn shoul
d be under
standabl
e so t
hat t
he
dev
eloper
sdonotf
indanydi
ff
icul
tyt
ounder
standi
t.Goodsof
twar
edesi
gnshoul
dbe
sel
f-expl
anat
ory
.Thi
sisbecauset
her
ear
ehundr
edsandt
housandsofdev
eloper
sthat
dev
elopdi
ff
erentmodul
esoft
hesof
twar
e,andi
twoul
dbev
eryt
imeconsumi
ngt
o
expl
aineachdesi
gnt
oeachdev
eloper
.So,
ift
hedesi
gni
seasyandsel
f-expl
anat
ory
,it
woul
dbeeasyf
ort
hedev
eloper
stoi
mpl
ementi
tandbui
l
dthesamesof
twar
ethati
s
r
epr
esent
edi
nthedesi
gn.
Ef
fi
ciency
:Thesof
twar
edesi
gnmustbeef
fi
cient
.Theef
fi
ciencyoft
hesof
twar
ecanbe
est
imat
edf
rom t
hedesi
gnphasei
tsel
f,becausei
fthedesi
gni
sdescr
ibi
ngsof
twar
e
t
hati
snotef
fi
cientandusef
ul,t
hent
hedev
elopedsof
twar
ewoul
dal
sost
andont
he
samel
evelofef
fi
ciency
.Hence,
foref
fi
cientandgoodqual
i
tysof
twar
etobedev
eloped,
car
emustbet
akeni
nthedesi
gni
ngphasei
tsel
f.
Mai
ntai
nabi
li
ty:Thesof
twar
edesi
gnmustbei
nsuchawayt
hatmodi
fi
cat
ionscanbe
easi
l
ymadei
nit
.Thi
sisbecauseev
erysof
twar
eneedst
imet
oti
memodi
fi
cat
ionsand
mai
ntenance.So,
thedesi
gnoft
hesof
twar
emustal
sobeabl
etobearsuchchanges.I
t
1
shoul
dnotbet
hecaset
hataf
termaki
ngsomemodi
fi
cat
ionst
heot
herf
eat
uresoft
he
sof
twar
est
artmi
sbehav
ing.Anychangemadei
nthesof
twar
edesi
gnmustnotaf
fect
t
heot
herav
ail
abl
efeat
ures,andi
fthef
eat
uresar
eget
ti
ngaf
fect
ed,t
hent
heymustbe
handl
edpr
oper
ly.

Coupl
ingandCohesi
on
Thepur
poseofDesi
gnphasei
ntheSof
twar
eDev
elopmentLi
feCy
clei
stopr
oducea
sol
uti
ont
oapr
obl
em gi
veni
ntheSRS(
Sof
twar
eRequi
rementSpeci
fi
cat
ion)document
.
Theout
putoft
hedesi
gnphasei
sSof
twar
eDesi
gnDocument(
SDD)
.
Coupl
ing:Coupl
i
ngi
sthemeasur
eoft
hedegr
eeofi
nter
dependencebet
weent
he
modul
es.Agoodsof
twar
ewi
l
lhav
elowcoupl
i
ng.
Ty
pesofCoupl
ing
1.Dat
aCoupl
ing:I
fthedependencybet
weent
hemodul
esi
sbasedont
hef
actt
hat
t
heycommuni
cat
ebypassi
ngonl
ydat
a,t
hent
hemodul
esar
esai
dtobedat
a
coupl
ed.I
ndat
acoupl
i
ng,t
hecomponent
sar
eindependentt
oeachot
herand
communi
cat
ingt
hroughdat
a.Modul
ecommuni
cat
ionsdon’
tcont
aint
rampdat
a.
Exampl
e-cust
omerbi
l
li
ngsy
stem.
2.St
ampCoupl
ing:I
nst
ampcoupl
i
ng,
thecompl
etedat
ast
ruct
urei
spassedf
rom one
modul
etoanot
hermodul
e.Ther
efor
e,i
tinv
olv
est
rampdat
a.I
tmaybenecessar
y
duet
oef
fi
ciencyf
act
ors-t
hischoi
cemadebyt
hei
nsi
ght
fuldesi
gner
,notal
azy
pr
ogr
ammer
.
3.Cont
rolCoupl
ing:I
fthemodul
escommuni
cat
ebypassi
ngcont
roli
nfor
mat
ion,
then
t
heyar
esai
dtobecont
rolcoupl
ed.I
tcanbebadi
fpar
amet
ersi
ndi
cat
ecompl
etel
y
di
ff
erentbehav
iorandgoodi
fpar
amet
ersal
l
owf
act
ori
ngandr
euseoff
unct
ional
i
ty.
Exampl
e-sor
tfunct
iont
hatt
akescompar
isonf
unct
ionasanar
gument
.
4.Ext
ernalCoupl
ing:I
next
ernalcoupl
i
ng,t
hemodul
esdependonot
hermodul
es,
ext
ernalt
othesof
twar
ebei
ngdev
elopedort
oapar
ti
cul
art
ypeofhar
dwar
e.Ex-
pr
otocol
,ext
ernal
fil
e,dev
icef
ormat
,et
c.
5.CommonCoupl
ing:Themodul
eshav
eshar
eddat
asuchasgl
obaldat
ast
ruct
ures.
Thechangesi
ngl
obaldat
ameant
raci
ngbackt
oal
lmodul
eswhi
chaccesst
hat
dat
atoev
aluat
etheef
fectoft
hechange.So,
ithasgotdi
sadv
ant
agesl
i
kedi
ff
icul
ty
i
nreusi
ng modul
es,r
educed abi
l
ityt
o cont
roldat
a accesses and r
educed

2
mai
ntai
nabi
l
ity
.
6.Cont
entCoupl
ing:I
nacont
entcoupl
i
ng,
onemodul
ecanmodi
fyt
hedat
aofanot
her
modul
eorcont
rolf
lowi
spassedf
rom onemodul
etot
heot
hermodul
e.Thi
sist
he
wor
stf
orm ofcoupl
i
ngandshoul
dbeav
oided.
Cohesi
on:Cohesi
oni
sameasur
eoft
hedegr
eet
owhi
cht
heel
ement
soft
hemodul
e
ar
efunct
ional
l
yrel
ated.I
tist
he degr
ee t
o whi
ch al
lel
ement
s di
rect
ed t
owar
ds
per
for
mingasi
ngl
etaskar
econt
ainedi
nthecomponent
.Basi
cal
l
y,cohesi
oni
sthe
i
nter
nalgl
uet
hatkeepst
hemodul
etoget
her
.Agoodsof
twar
edesi
gnwi
l
lhav
ehi
gh
cohesi
on.
Ty
pesofCohesi
on
1.Funct
ionalCohesi
on:Ev
ery essent
ialel
ementf
ora si
ngl
e comput
ati
on i
s
cont
ained i
nthe component
.A f
unct
ionalcohesi
on per
for
ms t
he t
ask and
f
unct
ions.I
tisani
deal
sit
uat
ion.
2.Sequent
ialCohesi
on:Anel
ementout
put
ssomedat
athatbecomest
hei
nputf
or
ot
herel
ement
,i.
e.,dat
afl
owbet
weent
hepar
ts.I
toccur
snat
ural
l
yinf
unct
ional
pr
ogr
ammi
ngl
anguages.
3.Communi
cat
ionalCohesi
on:Twoel
ement
soper
ateont
hesamei
nputdat
aor
cont
ri
but
etowar
ds t
he same out
putdat
a.Exampl
e-updat
erecor
dint
he
dat
abaseandsendi
ttot
hepr
int
er.
4.Pr
ocedur
alCohesi
on:El
ement
sofpr
ocedur
alcohesi
on ensur
etheor
derof
execut
ion.Act
ionsar
est
il
lweakl
yconnect
edandunl
i
kel
ytober
eusabl
e.Ex-
cal
cul
atest
udentGPA,pr
intst
udentr
ecor
d,cal
cul
atecumul
ati
veGPA,pr
int
cumul
ati
veGPA.
5.Tempor
alCohesi
on:Theel
ement
sar
erel
atedbyt
hei
rti
mingi
nvol
ved.Amodul
e
connect
edwi
tht
empor
alcohesi
onal
lthet
asksmustbeexecut
edi
nthesame
t
ime-
span.Thi
scohesi
oncont
ainst
hecodef
ori
nit
ial
i
zingal
lthepar
tsoft
he
sy
stem.Lot
sofdi
ff
erentact
ivi
ti
esoccur
,al
latuni
tti
me.
6.Logi
calCohesi
on:Theel
ement
sar
elogi
cal
l
yrel
atedandnotf
unct
ional
l
y.Ex-A
componentr
eadsi
nput
sfr
om t
ape,di
sk,andnet
wor
k.Al
lthecodef
ort
hese
f
unct
ionsi
sint
hesamecomponent
.Oper
ati
onsar
erel
ated,
butt
hef
unct
ionsar
e
si
gni
fi
cant
lydi
ff
erent
.
7.Coi
nci
dent
alCohesi
on:Theel
ement
sar
enotr
elat
ed(
unr
elat
ed)
.Theel
ement
s
3
hav
e no concept
ualr
elat
ionshi
p ot
hert
han l
ocat
ion i
n sour
ce code.I
tis
acci
dent
alandt
hewor
stf
orm ofcohesi
on.Ex-pr
intnextl
i
neandr
ever
set
he
char
act
ersofast
ri
ngi
nasi
ngl
ecomponent
.
Cont
rolHi
erar
chy
Cont
rolhi
erar
chy
,al
socal
l
edpr
ogr
am st
ruct
ure,
repr
esent
stheor
gani
zat
ionofpr
ogr
am
component
s(modul
es)and i
mpl
i
es a hi
erar
chyofcont
rol
.Itdoes notr
epr
esent
pr
ocedur
alaspect
sofsof
twar
esuchassequenceofpr
ocesses,
occur
renceoror
derof
deci
sions,orr
epet
it
ionofoper
ati
ons;nori
sitnecessar
il
yappl
i
cabl
etoal
lar
chi
tect
ural
st
yles.
Di
ff
erentnot
ati
onsar
eusedt
orepr
esentcont
rolhi
erar
chyf
ort
hosear
chi
tect
uralst
yles
t
hatar
eamenabl
etot
hisr
epr
esent
ati
on.Themostcommoni
sthet
reel
i
kedi
agr
am t
hat
r
epr
esent
s hi
erar
chi
calcont
rolf
orcal
land r
etur
n ar
chi
tect
ures.Howev
er,ot
her
not
ati
ons,suchasWar
nier
-Or
randJacksondi
agr
amsmayal
sobeusedwi
thequal
ef
fect
iveness.I
nor
dert
ofaci
l
itat
elat
erdi
scussi
onsofst
ruct
ure,wedef
ineaf
ew
si
mpl
emeasur
esandt
erms.Ref
err
ingt
ofi
gur
e,dept
handwi
dthpr
ovi
deani
ndi
cat
ion
oft
henumberofl
evel
sofcont
rolandov
eral
lspanofcont
rol
,respect
ivel
y.Fan-
outi
sa
measur
eoft
henumberofmodul
est
hatar
edi
rect
lycont
rol
l
edbyanot
hermodul
e.Fan-
i
nindi
cat
eshowmanymodul
esdi
rect
lycont
rol
agi
venmodul
e.
Thecont
rolr
elat
ionshi
pamongmodul
esi
sexpr
essedi
nthef
oll
owi
ngway
:Amodul
e
t
hatcont
rol
sanot
hermodul
eissai
dtobesuper
ordi
nat
etoi
t,andconv
ersel
y,amodul
e
cont
rol
l
edbyanot
heri
ssai
dtobesubor
dinat
etot
hecont
rol
l
er.Forexampl
e,r
efer
ri
ng
t
ofi
gur
e,modul
eM i
ssuper
ordi
nat
etomodul
esa,
b,andc.Modul
ehi
ssubor
dinat
eto
modul
eeandi
sul
ti
mat
elysubor
dinat
etomodul
eM.Wi
dth-
ori
ent
edr
elat
ionshi
ps(
e.g.
,
bet
weenmodul
esdande)al
thoughpossi
blet
oexpr
essi
npr
act
ice,
neednotbedef
ined
wi
thexpl
i
citt
ermi
nol
ogy
.
The cont
rolhi
erar
chy al
so r
epr
esent
stwo subt
ly di
ff
erentchar
act
eri
sti
cs oft
he
sof
twar
ear
chi
tect
ure:v
isi
bil
i
tyandconnect
ivi
ty.Vi
sibi
l
ityi
ndi
cat
est
hesetofpr
ogr
am
component
sthatmaybei
nvokedorusedasdat
abyagi
vencomponent
,ev
enwhent
his
i
saccompl
i
shedi
ndi
rect
ly.Forexampl
e,amodul
einanobj
ect
-or
ient
edsy
stem may
hav
eaccesst
oawi
dear
rayofdat
aobj
ect
sthati
thasi
nher
it
ed,
butmakesuseofonl
ya
smal
lnumberoft
hesedat
aobj
ect
s.Al
loft
heobj
ect
sar
evi
sibl
etot
hemodul
e.
Connect
ivi
tyi
ndi
cat
est
hesetofcomponent
sthatar
edi
rect
lyi
nvokedorusedasdat
a
4
byagi
vencomponent
.Forexampl
e,amodul
ethatdi
rect
lycausesanot
hermodul
eto
begi
nexecut
ioni
sconnect
edt
oit
.

Lay
eri
ng(
or)Lay
eredDesi
gn
I
nlay
ereddesi
gnsol
uti
on,t
hemodul
esar
ear
rangedi
ntosev
erall
ayer
sbasedont
hei
r
cal
lrel
ati
onshi
ps.Amodul
eisal
l
owedt
ocal
lonl
ythemodul
est
hatar
eatal
owerl
ayer
.
Al
ayer
edt
echnol
ogy
,todev
elopsof
twar
eneedt
ogof
rom onel
ayert
oanot
her
.Al
l
l
ayer
sar
econnect
edandeachl
ayerdemandst
hef
ulf
il
lmentt
hepr
evi
ousl
ayer
.
Concept
sandTer
minol
ogi
esofLay
eredDesi
gn
Thef
oll
owi
ngar
esomei
mpor
tantconcept
sandt
ermi
nol
ogi
eswi
thal
ayer
eddesi
gn
Super
ordi
nat
eandSubor
dinat
eModul
es:I
nacont
rolhi
erar
chy
,amodul
ethatcont
rol
s
anot
hermodul
eissai
dtobesuper
ordi
nat
etoi
t.Amodul
econt
rol
l
edbyanot
hermodul
e
i
ssai
dtobesubor
dinat
etot
hecont
rol
l
er.
Vi
sibi
li
ty:Amodul
eBi
ssai
dtobev
isi
blet
oanot
hermodul
eA,
ifAdi
rect
lycal
l
sB.t
hus,
onl
ythei
mmedi
atel
ylowerl
ayermodul
esar
esai
dtobev
isi
blet
oamodul
e.
Cont
rolAbst
ract
ion:I
nal
ayer
eddesi
gn,amodul
eshoul
donl
yinv
oket
hef
unct
ionsof
t
hemodul
est
hatar
eint
hei
mmedi
atel
ybel
ow i
t.I
not
herwor
ds,t
hemodul
esatt
he
hi
gherl
ayer
s,shoul
dnotv
isi
blet
omodul
esatl
owerl
ayer
s.Thi
siscal
l
edascont
rol
abst
ract
ion.
Dept
handWi
dth:Dept
handWi
dthofacont
rolhi
erar
chypr
oveani
ndi
cat
ionoft
he
numberofl
ayer
sandov
eral
lspanofcont
rol
respect
ivel
y.
Fan-
out
:Fan-
outi
sameasur
eoft
henumberofmodul
est
hatar
edi
rect
lycont
rol
l
edbya
gi
venmodul
e.
Fan-
in:Fan-
ini
ndi
cat
est
henumberofmodul
est
hatdi
rect
lyi
nvokeagi
venmodul
e.
Hi
ghf
an-
inr
epr
esent
scoder
euseandi
sIgener
al,
descr
ipt
ioni
nagooddesi
gn.

5
Sof
twar
eDesi
gnAppr
oaches
Ther
e ar
etwo f
undament
all
y di
ff
erentappr
oaches t
o sof
twar
e desi
gn.Funct
ion-
or
ient
eddesi
gnandObj
ect
-or
ient
eddesi
gn.Thr
ought
heset
wodesi
gnappr
oachesar
e
compl
etel
ydi
ff
erent
,theyar
ecompl
ement
aryr
athert
hencompet
ingt
echni
ques.Obj
ect
-
or
ient
edappr
oachi
srel
ati
vel
ynewert
echnol
ogyandi
sst
il
lev
olv
ing.Funct
ion-
ori
ent
ed
i
sdev
elopedt
echnol
ogyandhasl
ongf
oll
owi
ng.
Funct
ionOr
ient
edDesi
gn
I
nfunct
ion-
ori
ent
eddesi
gn,t
hesy
stem i
scompr
isedofmanysmal
l
ersub-
syst
ems
knownasf
unct
ions.Thesef
unct
ionsar
ecapabl
eofper
for
mingsi
gni
fi
cantt
aski
nthe
sy
stem.Thesy
stem i
sconsi
der
edast
opv
iewofal
lfunct
ions.Funct
ionor
ient
eddesi
gn
i
nher
it
ssomepr
oper
ti
esofst
ruct
ureddesi
gnwher
edi
vi
deandconquermet
hodol
ogyi
s
used.Thi
sdesi
gnmechani
sm di
vi
dest
hewhol
esy
stem i
ntosmal
l
erf
unct
ions,whi
ch
pr
ovi
desmeansofabst
ract
ionbyconceal
i
ngt
hei
nfor
mat
ionandt
hei
roper
ati
on.These
f
unct
ionalmodul
escanshar
einf
ormat
ionamongt
hemsel
vesbymeansofi
nfor
mat
ion
passi
ngandusi
ngi
nfor
mat
ionav
ail
abl
egl
obal
l
y.
Anot
herchar
act
eri
sti
coff
unct
ionsi
sthatwhenapr
ogr
am cal
l
saf
unct
ion,
thef
unct
ion
changest
hest
ateoft
hepr
ogr
am,
whi
chsomet
imesi
snotaccept
abl
ebyot
hermodul
es.
Funct
ionor
ient
eddesi
gnwor
kswel
lwher
ethesy
stem st
atedoesnotmat
terand
pr
ogr
am/
funct
ionswor
koni
nputr
athert
hanonast
ate.Thef
oll
owi
ngar
ethesal
i
ent
f
eat
uresoft
hef
unct
ion-
ori
ent
eddesi
gnappr
oach

6
o Top-
DownDecomposi
ti
on
o Cent
ral
i
zedSy
stem St
ate
Obj
ect
-Or
ient
edDesi
gn
Obj
ector
ient
eddesi
gnwor
ksar
oundt
heent
it
iesandt
hei
rchar
act
eri
sti
csi
nst
eadof
f
unct
ionsi
nvol
vedi
nthesof
twar
esy
stem.Thi
sdesi
gnst
rat
egi
esf
ocusesonent
it
ies
andi
tschar
act
eri
sti
cs.Thewhol
econceptofsof
twar
esol
uti
onr
evol
vesar
oundt
he
engagedent
it
ies.Thei
mpor
tantconcept
sofObj
ect
-Or
ient
edDesi
gn:
Obj
ect
s-Al
lent
it
iesi
nvol
vedi
nthesol
uti
ondesi
gnar
eknownasobj
ect
s.Forexampl
e,
per
son,banks,companyandcust
omer
sar
etr
eat
edasobj
ect
s.Ev
eryent
it
yhassome
at
tri
but
esassoci
atedt
oitandhassomemet
hodst
oper
for
m ont
heat
tri
but
es.
Cl
asses:Acl
assi
sagener
ali
zeddescr
ipt
ionofanobj
ect
.Anobj
ecti
sani
nst
anceofa
cl
ass.Cl
assdef
inesal
ltheat
tri
but
es,whi
chanobj
ectcanhav
eandmet
hods,whi
ch
def
inest
hef
unct
ional
i
tyoft
heobj
ect
.Int
hesol
uti
ondesi
gn,at
tri
but
esar
est
oredas
v
ari
abl
esandf
unct
ional
i
tiesar
edef
inedbymeansofmet
hodsorpr
ocedur
es.
Encapsul
ati
on:I
nOOD,t
heat
tri
but
es(
dat
avar
iabl
es)andmet
hods(
oper
ati
onont
he
dat
a)ar
ebundl
edt
oget
heri
scal
l
edencapsul
ati
on.Encapsul
ati
onnotonl
ybundl
es
i
mpor
tanti
nfor
mat
ionofanobj
ectt
oget
her
,butal
sor
est
ri
ctsaccessoft
hedat
aand
met
hodsf
rom t
heout
sidewor
ld.Thi
siscal
l
edi
nfor
mat
ionhi
ding.
I
nher
it
ance:OODal
l
owssi
mil
arcl
assest
ost
ackupi
nhi
erar
chi
calmannerwher
ethe
l
owerorsub-
classescani
mpor
t,i
mpl
ementandr
e-useal
l
owedv
ari
abl
esandmet
hods
f
rom t
hei
rimmedi
atesupercl
asses.Thi
spr
oper
tyofOODi
sknownasi
nher
it
ance.Thi
s
makesi
teasi
ert
odef
inespeci
fi
ccl
assandt
ocr
eat
egener
ali
zedcl
assesf
rom speci
fi
c
ones.
Pol
ymor
phi
sm:OOD l
anguages pr
ovi
de a mechani
sm wher
e met
hods per
for
ming
si
mil
art
asksbutv
aryi
n ar
gument
s,can beassi
gned samename.Thi
siscal
l
ed
pol
ymor
phi
sm,whi
chal
l
owsasi
ngl
eint
erf
aceper
for
mingt
asksf
ordi
ff
erentt
ypes.
Dependi
ng uponhow t
hef
unct
ioni
sinv
oked,r
espect
ivepor
ti
onoft
hecodeget
s
execut
ed.

Obj
ect
-Or
ient
edDesi
gnVsFunct
ion-
Ori
ent
edDesi
gn

7
Ov
erv
iewofSA/
SDMet
hodol
ogy
St
ruct
uredAnal
ysi
sandSt
ruct
uredDesi
gn(
SA/
SD)i
sadi
agr
ammat
icnot
ati
ont
hati
s
desi
gnedt
ohel
ppeopl
eunder
standt
hesy
stem.Thebasi
cgoalofSA/
SDi
stoi
mpr
ove
qual
i
tyandr
educet
her
iskofsy
stem f
ail
ure.I
test
abl
i
shesconcr
etemanagement
speci
fi
cat
ions and document
ati
on. I
tfocuses on t
he sol
i
dit
y, pl
i
abi
l
ity
, and
mai
ntai
nabi
l
ityoft
hesy
stem.Basi
cal
l
y,t
heappr
oachofSA/
SDi
sbasedont
heDat
a
Fl
ow Di
agr
am.I
tiseasyt
ounder
standSA/
SDbuti
tfocusesonwel
l
-def
inedsy
stem
boundar
ywher
east
heJSDappr
oachi
stoocompl
exanddoesnothav
eanygr
aphi
cal
r
epr
esent
ati
on.SA/
SD i
s combi
ned known as SAD and i
tmai
nlyf
ocuses on t
he
f
oll
owi
ng3poi
nts:
 Sy
stem

8
 Pr
ocess
 Technol
ogy
SA/
SDphases:
Anal
ysi
sPhase:Anal
ysi
sPhasei
nvol
vesdat
afl
ow di
agr
am,dat
adi
cti
onar
y,st
ate
t
ransi
ti
ondi
agr
am,
andent
it
y-r
elat
ionshi
pdi
agr
am.
Dat
aFl
owDi
agr
am:I
nthedat
afl
owdi
agr
am,t
hemodeldescr
ibeshowt
hedat
afl
ows
t
hrought
hesy
stem.Wecani
ncor
por
atet
heBool
eanoper
ator
sand&orl
i
nkdat
afl
ow
whenmor
ethanonedat
afl
owmaybei
nputorout
putf
rom apr
ocess.
Forexampl
e,i
fwehav
etochoosebet
weent
wopat
hsofapr
ocess,wecanaddan
oper
atororandi
ftwodat
afl
owsar
enecessar
yforapr
ocess,wecanaddanoper
ator
.
The i
nputoft
he pr
ocess “
check-
order
”needs t
he cr
edi
tinf
ormat
ion and or
der
i
nfor
mat
ionwher
east
heout
putoft
hepr
ocesswoul
dbeacash-
orderoragood-
credi
t-
or
der
.
Dat
aDi
cti
onar
y:Thecont
entt
hati
snotdescr
ibedi
ntheDFDi
sdescr
ibedi
nthedat
a
di
cti
onar
y.I
tdef
inest
hedat
ast
oreandr
elev
antmeani
ng.Aphy
sicaldat
adi
cti
onar
yfor
dat
ael
ement
sthatf
lowbet
weenpr
ocesses,bet
weenent
it
ies,andbet
weenpr
ocesses
andent
it
iesmaybei
ncl
uded.Thi
swoul
dal
soi
ncl
udedescr
ipt
ionsofdat
ael
ement
s
t
hatf
lowext
ernal
tot
hedat
ast
ores.
Al
ogi
caldat
adi
cti
onar
ymayal
sobei
ncl
udedf
oreachsuchdat
ael
ement
.Al
lsy
stem
names,whet
hert
heyar
enamesofent
it
ies,t
ypes,r
elat
ions,at
tri
but
es,orser
vices,
shoul
dbeent
eredi
nthedi
cti
onar
y.
St
ateTr
ansi
ti
onDi
agr
am:St
atet
ransi
ti
ondi
agr
am i
ssi
mil
art
othedy
nami
cmodel
.It
speci
fi
eshowmucht
imet
hef
unct
ionwi
l
ltaket
oexecut
eanddat
aaccesst
ri
gger
edby
ev
ent
s.I
tal
sodescr
ibesal
loft
hest
atest
hatanobj
ectcanhav
e,t
heev
ent
sunder
whi
chanobj
ectchangesst
ate,
thecondi
ti
onst
hatmustbef
ulf
il
ledbef
oret
het
ransi
ti
on
wi
l
loccurandt
heact
ivi
ti
eswer
eunder
takendur
ingt
hel
i
feofanobj
ect
.
ERDi
agr
am:ERdi
agr
am speci
fi
est
her
elat
ionshi
pbet
weendat
ast
ore.I
tisbasi
cal
l
y
used i
n dat
abasedesi
gn.I
tbasi
cal
l
ydescr
ibest
he r
elat
ionshi
p bet
ween di
ff
erent
ent
it
ies.
Desi
gnPhase:Desi
gnPhasei
nvol
vesst
ruct
urechar
tandpseudocode.
St
ruct
ureChar
t:I
tiscr
eat
edbyt
hedat
afl
ow di
agr
am.St
ruct
ureChar
tspeci
fi
eshow
DFS’
spr
ocessesar
egr
oupedi
ntot
asksandal
l
ocat
etot
heCPU.Thest
ruct
uredchar
t
9
doesnotshowt
hewor
kingandi
nter
nal
str
uct
ureoft
hepr
ocessesormodul
esanddoes
notshowt
her
elat
ionshi
pbet
weendat
aordat
a-f
lows.Si
mil
art
oot
herSASDt
ool
s,i
tis
t
imeandcost
-i
ndependentandt
her
eisnoer
ror
-checki
ngt
echni
queassoci
atedwi
th
t
hist
ool
.Themodul
esofast
ruct
uredchar
tar
ear
rangedar
bit
rar
il
yandanypr
ocess
f
rom aDFDcanbechosenast
hecent
ralt
ransf
orm dependi
ngont
heanal
yst
s’own
per
cept
ion.Thest
ruct
uredchar
tisdi
ff
icul
ttoamend,v
eri
fy,mai
ntai
n,andcheckf
or
compl
etenessandconsi
stency
.
Pseudocode:I
tist
heact
uali
mpl
ement
ati
onoft
hesy
stem.I
tisani
nfor
malwayof
pr
ogr
ammi
ngt
hatdoesn’
trequi
reanyspeci
fi
cpr
ogr
ammi
ngl
anguageort
echnol
ogy
.

St
ruct
uredAnal
ysi
s
Anal
yst
susev
ari
oust
ool
stounder
standanddescr
ibet
hei
nfor
mat
ionsy
stem.Oneof
t
heway
sisusi
ngst
ruct
uredanal
ysi
s.St
ruct
uredAnal
ysi
sisadev
elopmentmet
hodt
hat
al
l
owst
heanal
ystt
ounder
standt
hesy
stem andi
tsact
ivi
ti
esi
nal
ogi
calway
.Iti
sa
sy
stemat
icappr
oach,whi
chusesgr
aphi
calt
ool
sthatanal
yzeandr
efi
net
heobj
ect
ives
ofanexi
sti
ngsy
stem anddev
elopanew sy
stem speci
fi
cat
ionwhi
chcanbeeasi
l
y
under
standabl
ebyuser
.Ithasf
oll
owi
ngat
tri
but
es:
 I
tisgr
aphi
cwhi
chspeci
fi
est
hepr
esent
ati
onofappl
i
cat
ion.
 I
tdi
vi
dest
hepr
ocessessot
hati
tgi
vesacl
earpi
ctur
eofsy
stem f
low.
 I
tisl
ogi
calr
athert
hanphy
sicali
.e.
,theel
ement
sofsy
stem donotdependon
v
endororhar
dwar
e.
 I
tisanappr
oacht
hatwor
ksf
rom hi
gh-
lev
elov
erv
iewst
olower
-l
evel
det
ail
s.
St
ruct
uredAnal
ysi
sTool
s
Dur
ing St
ruct
ured Anal
ysi
s,v
ari
ous t
ool
s and t
echni
ques ar
e used f
orsy
stem
dev
elopment
.Theyar
e
 Dat
aFl
owDi
agr
ams
 Dat
aDi
cti
onar
y
 Deci
sionTr
ees
 Deci
sionTabl
es
 St
ruct
uredEngl
i
sh
 Pseudocode
Dat
aFl
ow Di
agr
ams(
DFD)orBubbl
eChar
t:DFD i
seasyt
ounder
standandqui
te
10
ef
fect
ivewhent
her
equi
reddesi
gni
snotcl
earandt
heuserwant
sanot
ati
onall
anguage
f
orcommuni
cat
ion.Howev
er,i
trequi
resal
argenumberofi
ter
ati
onsf
orobt
aini
ngt
he
mostaccur
ateandcompl
etesol
uti
on.I
tisat
echni
quedev
elopedbyLar
ryConst
ant
ine
t
oexpr
esst
her
equi
rement
sofsy
stem i
nagr
aphi
calf
orm.I
tshowst
hef
low ofdat
a
bet
ween v
ari
ous f
unct
ions ofsy
stem and speci
fi
es how t
he cur
rentsy
stem i
s
i
mpl
ement
ed.I
tis an i
nit
ialst
age ofdesi
gn phase t
hatf
unct
ional
l
ydi
vi
des t
he
r
equi
rementspeci
fi
cat
ionsdownt
othel
owestl
evel
ofdet
ail
.It
sgr
aphi
cal
nat
uremakes
i
tagoodcommuni
cat
iont
ool
bet
weenuserandanal
ystoranal
ystandsy
stem desi
gner
.
I
tgi
vesan ov
erv
iew ofwhatdat
aasy
stem pr
ocesses,whatt
ransf
ormat
ionsar
e
per
for
med,
whatdat
aar
est
ored,
whatr
esul
tsar
epr
oducedandwher
etheyf
low.
Dat
aDi
cti
onar
y:Adat
adi
cti
onar
yisast
ruct
uredr
eposi
tor
yofdat
ael
ement
sint
he
sy
stem.I
tst
ores t
he descr
ipt
ions ofal
lDFD dat
a el
ement
sthati
s,det
ail
s and
def
ini
ti
onsofdat
afl
ows,dat
ast
ores,dat
ast
oredi
ndat
ast
ores,andt
hepr
ocesses.A
dat
adi
cti
onar
yimpr
ovest
hecommuni
cat
ionbet
weent
heanal
ystandt
heuser
.Itpl
ays
ani
mpor
tantr
olei
nbui
l
dingadat
abase.MostDBMSshav
eadat
adi
cti
onar
yasa
st
andar
dfeat
ure.
Deci
sionTr
ees:Deci
siont
reesar
eamet
hodf
ordef
ini
ngcompl
exr
elat
ionshi
psby
descr
ibi
ngdeci
sionsandav
oidi
ngt
hepr
obl
emsi
ncommuni
cat
ion.Adeci
siont
reei
sa
di
agr
am t
hatshowsal
ter
nat
iveact
ionsandcondi
ti
onswi
thi
nhor
izont
alt
reef
ramewor
k.
Thus,i
tdepi
ctswhi
chcondi
ti
onst
oconsi
derf
ir
st,second,andsoon.Deci
siont
rees
depi
ctt
her
elat
ionshi
pofeachcondi
ti
onandt
hei
rper
missi
bleact
ions.Asquar
enode
i
ndi
cat
esanact
ionandaci
rcl
eindi
cat
esacondi
ti
on.I
tfor
cesanal
yst
stoconsi
dert
he
sequenceofdeci
sionsandi
dent
if
iest
heact
ual
deci
siont
hatmustbemade.
Deci
sion Tabl
es:Deci
sion t
abl
esar
ea met
hod ofdescr
ibi
ng t
hecompl
exl
ogi
cal
r
elat
ionshi
pinapr
eci
semannerwhi
chi
seasi
l
yunder
standabl
e.I
tisusef
uli
nsi
tuat
ions
wher
ether
esul
ti
ngact
ionsdependont
heoccur
renceofoneorsev
eral
combi
nat
ionsof
i
ndependentcondi
ti
ons.I
tisamat
ri
xcont
aini
ngr
oworcol
umnsf
ordef
ini
ngapr
obl
em
andt
heact
ions.
Component
sofaDeci
sionTabl
e
Condi
ti
onSt
ub:I
tisi
ntheupperl
eftquadr
antwhi
chl
i
stsal
lthecondi
ti
ont
obechecked.
Act
ionSt
ub:I
tisi
nthel
owerl
eftquadr
antwhi
chout
li
nesal
ltheact
iont
obecar
ri
edout
t
omeetsuchcondi
ti
on.
11
Condi
ti
onEnt
ry:I
tisi
nupperr
ightquadr
antwhi
chpr
ovi
desanswer
stoquest
ionsasked
i
ncondi
ti
onst
ubquadr
ant
.
Act
ion Ent
ry:I
tisi
nlowerr
ightquadr
antwhi
ch i
ndi
cat
es t
he appr
opr
iat
e act
ion
r
esul
ti
ngf
rom t
heanswer
stot
hecondi
ti
onsi
nthecondi
ti
onent
ryquadr
ant
.
Theent
ri
esi
ndeci
siont
abl
ear
egi
venbyDeci
sionRul
eswhi
chdef
inet
her
elat
ionshi
ps
bet
weencombi
nat
ionsofcondi
ti
onsandcour
sesofact
ion.
St
ruct
uredEngl
ish:St
ruct
ureEngl
i
shi
sder
ivedf
rom st
ruct
uredpr
ogr
ammi
ngl
anguage
whi
chgi
vesmor
eunder
standabl
eandpr
eci
sedescr
ipt
ionofpr
ocess.I
tisbasedon
pr
ocedur
all
ogi
cthatusesconst
ruct
ionandi
mper
ati
vesent
encesdesi
gnedt
oper
for
m
oper
ati
onf
oract
ion.I
tisbestusedwhensequencesandl
oopsi
napr
ogr
am mustbe
consi
der
edandt
hepr
obl
em needssequencesofact
ionswi
thdeci
sions.I
tdoesnot
hav
est
ri
ctsy
ntaxr
ule.I
texpr
essesal
llogi
cint
ermsofsequent
ialdeci
sionst
ruct
ures
andi
ter
ati
ons.
Pseudocode:A pseudocodedoesnotconf
orm t
o anypr
ogr
ammi
ngl
anguageand
expr
essesl
ogi
cinpl
ainEngl
i
sh.I
tmayspeci
fyt
hephy
sicalpr
ogr
ammi
ngl
ogi
cwi
thout
act
ualcodi
ng dur
ing and af
tert
hephy
sicaldesi
gn.I
tisused i
nconj
unct
ionwi
th
st
ruct
uredpr
ogr
ammi
ng.I
trepl
acest
hef
lowchar
tsofapr
ogr
am.

Dat
aFl
owDi
agr
am (
DFD)
DFD i
stheabbr
evi
ati
onf
orDat
aFl
ow Di
agr
am.Thef
low ofdat
aofasy
stem ora
pr
ocessi
srepr
esent
edbyDFD.I
tal
sogi
vesi
nsi
ghti
ntot
hei
nput
sandout
put
sofeach
ent
it
yandt
hepr
ocessi
tsel
f.DFDdoesnothav
econt
rolf
lowandnol
oopsordeci
sion
r
ulesar
epr
esent
.Speci
fi
coper
ati
onsdependi
ngont
het
ypeofdat
acanbeexpl
ainedby
af
lowchar
t.Dat
aFl
owDi
agr
am canber
epr
esent
edi
nsev
eral
way
s.TheDFDbel
ongst
o
st
ruct
ured-
anal
ysi
smodel
i
ngt
ool
s.Dat
aFl
owdi
agr
amsar
ever
ypopul
arbecauset
hey
hel
pust
ovi
sual
i
zet
hemaj
orst
epsanddat
ainv
olv
edi
nsof
twar
e-sy
stem pr
ocesses.
Component
sofDFD
Rect
angl
e :
def
inesasour
ceordest
inat
ionofdat
a
Ci
rcl
eorSquar
e :r
epr
esent
s a pr
ocess t
hatt
ransf
ersi
ncomi
ng dat
afl
ow i
nto
out
goi
ngdat
a
Ar
row :
ident
if
iesdat
afl
ow,
iti
spi
pel
i
net
hroughwhi
chi
nfor
mat
ionf
lows.
Lev
elsi
nDat
aFl
owDi
agr
ams(
DFD)

12
I
nSof
twar
eengi
neer
ingDFD(
dat
afl
owdi
agr
am)canbedr
awnt
orepr
esentt
hesy
stem
ofdi
ff
erentl
evel
sofabst
ract
ion.Hi
gher
-l
evelDFDsar
epar
ti
ti
onedi
ntol
ow l
evel
s-
hacki
ngmor
einf
ormat
ionandf
unct
ionalel
ement
s.Lev
elsi
nDFDar
enumber
ed0,1,2
orbey
ond.Her
e,wewi
l
lseemai
nly3l
evel
sint
hedat
afl
owdi
agr
am,whi
char
e:0-
lev
el
DFD,
1-l
evel
DFD,
and2-
lev
elDFD.
0-
lev
elDFD:I
tisal
soknownasacont
extdi
agr
am.I
t’
sdesi
gnedt
obeanabst
ract
ion
v
iew,
showi
ngt
hesy
stem asasi
ngl
epr
ocesswi
thi
tsr
elat
ionshi
ptoext
ernalent
it
ies.I
t
r
epr
esent
stheent
ir
esy
stem asasi
ngl
ebubbl
ewi
thi
nputandout
putdat
aindi
cat
edby
i
ncomi
ng/
out
goi
ngar
rows.

1-
lev
elDFD:I
n 1-
lev
elDFD,t
he cont
extdi
agr
am i
s decomposed i
nto mul
ti
ple
bubbl
es/
processes.I
nthi
slev
el,wehi
ghl
i
ghtt
hemai
nfunct
ionsoft
hesy
stem and
br
eakdownt
hehi
gh-
lev
elpr
ocessof0-
lev
elDFDi
ntosubpr
ocesses.

2-
lev
elDFD:2-
lev
elDFDgoesonest
epdeeperi
ntopar
tsof1-
lev
elDFD.I
tcanbeused
t
opl
anorr
ecor
dthespeci
fi
c/necessar
ydet
ail
aboutt
hesy
stem’
sfunct
ioni
ng.

13
Ext
endi
ngDFDTechni
quest
oRealLi
feSy
stem

Basi
cObj
ect
-Or
ient
edConcept
s
Obj
ect
-or
ient
edpr
ogr
ammi
ngi
samet
hodusedf
ordesi
gni
ngapr
ogr
am usi
ngcl
asses
14
and obj
ect
s.Obj
ect
-or
ient
ed pr
ogr
ammi
ng i
sal
so cal
l
ed t
hecor
eofj
ava.Obj
ect
-
or
ient
edpr
ogr
ammi
ngor
gani
zesapr
ogr
am ar
oundobj
ect
sandwel
l
-def
inedi
nter
faces.
Thi
scanal
sobechar
act
eri
zedasdat
acont
rol
l
ingf
oraccessi
ngt
hecode.I
nthi
sty
peof
appr
oach,
progr
ammer
sdef
inet
hedat
aty
peofadat
ast
ruct
ureandt
heoper
ati
onst
hat
ar
eappl
i
edt
othedat
ast
ruct
ure.Thi
simpl
i
essof
twar
edev
elopmentandmai
ntenance
byusi
ngsomeoft
heconcept
s:
o Obj
ect
o Cl
ass
o Dat
aAbst
ract
ion
o I
nher
it
ance
o Pol
ymor
phi
sm
o Encapsul
ati
on
o MessagePassi
ng
o Dat
ahi
ding
Obj
ect
Anobj
ecti
sar
eal
-wor
ldel
ementi
nanobj
ect
–or
ient
edenv
ironmentt
hatmayhav
ea
phy
sicaloraconcept
ualexi
stence.Obj
ect
sar
eal
way
scal
l
edasi
nst
ancesofacl
ass.
Obj
ect
sar
ecr
eat
edf
rom cl
assi
njav
aoranyot
herl
anguages.Obj
ect
sar
ethoset
hat
hav
est
ateandbehav
iour
.Obj
ect
sar
eabst
ractdat
aty
pes(
i.
e.,obj
ect
sbehav
iouri
s
def
inedbyasetofv
aluesandoper
ati
ons)
.
Cl
ass
Acl
assr
epr
esent
sacol
l
ect
ionofobj
ect
shav
ingsamechar
act
eri
sti
cpr
oper
ti
est
hat
exhi
bitcommonbehav
ior
.Itgi
vest
hebl
uepr
intordescr
ipt
ionoft
heobj
ect
sthatcanbe
cr
eat
edf
rom i
t.Cr
eat
ionofanobj
ectasamemberofacl
assi
scal
l
edi
nst
ant
iat
ion.
Thus,
obj
ecti
sani
nst
anceofacl
ass.
Dat
aAbst
ract
ion
Dat
aAbst
ract
ionf
orhi
dingt
hei
nter
naldet
ail
sori
mpl
ement
ati
onsofaf
unct
ionand
showi
ngi
tsf
unct
ional
i
tiesonl
y.Thi
sissi
mil
art
othewayy
ouknowhowt
odr
iveacar
wi
thoutknowi
ngt
hebackgr
oundmechani
sm.Ory
ouknowhowt
otur
nonorof
fal
i
ght
usi
ngaswi
tchbuty
oudon’
tknowwhati
shappeni
ngbehi
ndt
hesocket
.
I
nher
it
ance
I
nher
it
ancei
sthemechani
sm t
hatper
mit
snew cl
assest
obecr
eat
edoutofex
ist
ing
15
cl
assesbyext
endi
ngandr
efi
ningi
tscapabi
l
iti
es.Theexi
sti
ngcl
assesar
ecal
l
edt
he
basecl
asses/
par
entcl
asses/
super
-cl
asses,andt
henewcl
assesar
ecal
l
edt
heder
ived
cl
asses/
chi
l
dcl
asses/
subcl
asses.Thesubcl
asscani
nher
itorder
ivet
heat
tri
but
esand
met
hodsoft
hesuper
-cl
ass(
es)pr
ovi
dedt
hatt
hesuper
-cl
assal
l
owsso.Besi
des,t
he
subcl
assmayaddi
tsownat
tri
but
esandmet
hodsandmaymodi
fyanyoft
hesuper
-
cl
assmet
hods.I
nher
it
ancedef
inesan“
is–a”r
elat
ionshi
p.
Pol
ymor
phi
sm
Pol
ymor
phi
sm i
sor
igi
nal
l
yaGr
eekwor
dthatmeanst
heabi
l
ityt
otakemul
ti
plef
orms.I
n
obj
ect
-or
ient
edpar
adi
gm,pol
ymor
phi
sm i
mpl
i
esusi
ngoper
ati
onsi
ndi
ff
erentway
s,
dependi
ngupont
hei
nst
ancet
heyar
eoper
ati
ngupon.Pol
ymor
phi
sm al
l
owsobj
ect
s
wi
thdi
ff
erenti
nter
nalst
ruct
urest
ohav
eacommonext
ernali
nter
face.Pol
ymor
phi
sm i
s
par
ti
cul
arl
yef
fect
ivewhi
l
eimpl
ement
ingi
nher
it
ance.
Encapsul
ati
on
Encapsul
ati
oni
sthepr
ocessofbi
ndi
ngbot
hat
tr
ibut
esandmet
hodst
oget
herwi
thi
na
cl
ass.Thr
oughencapsul
ati
on,
thei
nter
naldet
ail
sofacl
asscanbehi
ddenf
rom out
side.
I
tper
mit
stheel
ement
soft
hecl
asst
obeaccessedf
rom out
sideonl
ythr
ought
he
i
nter
facepr
ovi
dedbyt
hecl
ass.
MessagePassi
ng
Anyappl
i
cat
ionr
equi
resanumberofobj
ect
sint
eract
ingi
nahar
moni
ousmanner
.
Obj
ect
sin a sy
stem maycommuni
cat
e wi
th each ot
herusi
ng message passi
ng.
Supposeasy
stem hast
woobj
ect
s:obj
1andobj
2.Theobj
ectobj
1sendsamessaget
o
obj
ectobj
2,i
fobj
1want
sobj
2toexecut
eoneofi
tsmet
hods.
Dat
ahi
ding
Dat
ahi
dingensur
esexcl
usi
vedat
aaccesst
ocl
assmember
sandpr
otect
sobj
ect
s
i
ntegr
it
y by pr
event
ing uni
ntended ori
ntended changes.I
s al
so r
educes sy
stem
compl
exi
tyf
ori
ncr
easedr
obust
nessbyl
i
mit
ingi
nter
dependenci
esbet
weensof
twar
e
component
s.

UMLDi
agr
ams
Uni
fi
edModel
i
ngLanguage(
UML)i
sagener
al-
pur
posemodel
l
ingl
anguage.Themai
n
ai
m ofUMLi
stodef
ineast
andar
dwayt
ovi
sual
i
zet
hewayasy
stem hasbeen
desi
gned.I
tisqui
tesi
mil
art
obl
uepr
int
susedi
not
herf
iel
dsofengi
neer
ing.UMLi
snot

16
apr
ogr
ammi
ngl
anguage;i
tisr
atherav
isuall
anguage.WeuseUMLdi
agr
amst
o
por
tray t
he behav
iorand st
ruct
ure ofa sy
stem.UML hel
ps sof
twar
e engi
neer
s,
busi
nessmenandsy
stem ar
chi
tect
swi
thmodel
l
ing,desi
gnandanal
ysi
s.TheObj
ect
ManagementGr
oup(
OMG)adopt
edUni
fi
edModel
l
ingLanguageasast
andar
din1997.
I
tsbeenmanagedbyOMG ev
ersi
nce.I
nter
nat
ionalOr
gani
zat
ionf
orSt
andar
dizat
ion
(
ISO)publ
i
shedUMLasanappr
ovedst
andar
din2005.UMLhasbeenr
evi
sedov
ert
he
y
ear
sandi
srev
iewedper
iodi
cal
l
y.
Dower
eal
lyneedUML?
Compl
exappl
i
cat
ionsneedcol
l
abor
ati
onandpl
anni
ngf
rom mul
ti
plet
eamsandhence
r
equi
reacl
earandconci
sewayt
ocommuni
cat
eamongstt
hem.Busi
nessmendonot
under
standcode,soUMLbecomesessent
ialt
ocommuni
cat
ewi
thnon-
progr
ammer
s,
essent
ialr
equi
rement
s,f
unct
ional
i
tiesandpr
ocessesoft
hesy
stem.Al
otoft
imei
s
sav
eddownt
hel
i
newhent
eamsar
eabl
etov
isual
i
zepr
ocesses,useri
nter
act
ionsand
st
ati
cst
ruct
ureoft
hesy
stem.UMLi
sli
nkedwi
thobj
ect
-or
ient
eddesi
gnandanal
ysi
s.
UML makest
he useofel
ement
sand f
ormsassoci
ati
onsbet
ween t
hem t
ofor
m
di
agr
ams.
Ty
pesofUMLDi
agr
ams
Di
agr
amsi
nUMLcanbebr
oadl
ycl
assi
fi
edas:
 St
ruct
ural
Diagr
ams
 Behav
iorDi
agr
ams
St
ruct
uralUMLDi
agr
ams
Capt
ure st
ati
c aspect
s orst
ruct
ure of a sy
stem.St
ruct
uralDi
agr
ams i
ncl
ude:
ComponentDi
agr
ams,
Obj
ectDi
agr
ams,
ClassDi
agr
amsandDepl
oymentDi
agr
ams.
Cl
assDi
agr
am:Themostwi
del
yuseUMLdi
agr
am i
sthecl
assdi
agr
am.I
tist
he
bui
l
dingbl
ockofal
lobj
ect
-or
ient
edsof
twar
esy
stems.Weusecl
assdi
agr
amst
odepi
ct
t
hest
ati
cst
ruct
ureofasy
stem byshowi
ngsy
stem’
scl
asses,t
hei
rmet
hodsand
at
tri
but
es.Cl
assdi
agr
amsal
sohel
pusi
dent
if
yrel
ati
onshi
pbet
weendi
ff
erentcl
asses
orobj
ect
s.
Obj
ectDi
agr
am:AnObj
ectDi
agr
am canber
efer
redt
oasascr
eenshotoft
hei
nst
ances
i
nasy
stem andt
her
elat
ionshi
pthatexi
stsbet
weent
hem.Si
nceobj
ectdi
agr
amsdepi
ct
behav
iourwhenobj
ect
shav
ebeeni
nst
ant
iat
ed,wear
eabl
etost
udyt
hebehav
iourof
t
hesy
stem atapar
ti
cul
ari
nst
ant
.Anobj
ectdi
agr
am i
ssi
mil
art
oacl
assdi
agr
am
17
excepti
tshowst
hei
nst
ancesofcl
assesi
nthesy
stem.Wedepi
ctact
ualcl
assi
fi
ersand
t
hei
rrel
ati
onshi
psmaki
ngt
heuseofcl
assdi
agr
ams.Ont
heot
herhand,anObj
ect
Di
agr
am r
epr
esent
sspeci
fi
cinst
ancesofcl
assesandr
elat
ionshi
psbet
weent
hem ata
poi
ntoft
ime.
ComponentDi
agr
am:Componentdi
agr
amsar
eusedt
orepr
esentt
hehowt
hephy
sical
component
sin a sy
stem hav
e been or
gani
zed.We use t
hem f
or model
l
ing
i
mpl
ement
ati
on det
ail
s.Component Di
agr
ams depi
ct t
he st
ruct
uralr
elat
ionshi
p
bet
ween sof
twar
e sy
stem el
ement
s and hel
p us i
n under
standi
ng i
ffunct
ional
r
equi
rement
s hav
e been cov
ered by pl
anned dev
elopment
.ComponentDi
agr
ams
becomeessent
ialt
ousewhenwedesi
gnandbui
l
dcompl
exsy
stems.I
nter
facesar
e
usedbycomponent
soft
hesy
stem t
ocommuni
cat
ewi
theachot
her
.
Depl
oymentDi
agr
am:Depl
oymentDi
agr
amsar
eusedt
orepr
esentsy
stem har
dwar
e
and i
tssof
twar
e.I
ttel
l
suswhathar
dwar
ecomponent
sexi
stand whatsof
twar
e
component
srunont
hem.Wei
l
lust
rat
esy
stem ar
chi
tect
ureasdi
str
ibut
ionofsof
twar
e
ar
ti
fact
sov
erdi
str
ibut
edt
arget
s.Anar
ti
facti
sthei
nfor
mat
iont
hati
sgener
atedby
sy
stem sof
twar
e.Theyar
epr
imar
il
yusedwhenasof
twar
eisbei
ngused,di
str
ibut
edor
depl
oyedov
ermul
ti
plemachi
neswi
thdi
ff
erentconf
igur
ati
ons.
Behav
iorUMLDi
agr
ams
Capt
uredy
nami
caspect
sorbehav
ioroft
hesy
stem.Behav
iordi
agr
amsi
ncl
ude:Use
CaseDi
agr
ams,
Stat
eDi
agr
ams,
Act
ivi
tyDi
agr
amsandI
nter
act
ionDi
agr
ams.
St
ateMachi
neDi
agr
ams:Ast
atedi
agr
am i
susedt
orepr
esentt
hecondi
ti
onoft
he
sy
stem orpar
toft
hesy
stem atf
ini
tei
nst
ancesoft
ime.I
t’
sabehav
ior
aldi
agr
am andi
t
r
epr
esent
sthebehav
iorusi
ngf
ini
test
atet
ransi
ti
ons.St
atedi
agr
amsar
eal
sor
efer
red
t
o as St
ate machi
nes and St
ate-
char
tDi
agr
ams.These t
erms ar
e of
ten used
i
nter
changeabl
y.So,
simpl
yast
atedi
agr
am i
susedt
omodelt
hedy
nami
cbehav
iorofa
cl
assi
nresponset
oti
meandchangi
ngext
ernal
sti
mul
i
.
Act
ivi
tyDi
agr
ams:WeuseAct
ivi
tyDi
agr
amst
oil
l
ust
rat
ethef
lowofcont
rol
inasy
stem.
Wecanal
souseanact
ivi
tydi
agr
am t
oref
ert
othest
epsi
nvol
vedi
ntheexecut
ionofa
usecase.Wemodelsequent
ialandconcur
rentact
ivi
ti
esusi
ngact
ivi
tydi
agr
ams.So,
we
basi
cal
l
ydepi
ctwor
kfl
ows v
isual
l
yusi
ng an act
ivi
tydi
agr
am.An act
ivi
tydi
agr
am
f
ocusesoncondi
ti
onoff
low andt
hesequencei
nwhi
chi
thappens.Wedescr
ibeor
depi
ctwhatcausesapar
ti
cul
arev
entusi
nganact
ivi
tydi
agr
am.
18
UseCaseDi
agr
ams:UseCaseDi
agr
amsar
eusedt
odepi
ctt
hef
unct
ional
i
tyofa
sy
stem ora par
tofa sy
stem.Theyar
e wi
del
yused t
oil
l
ust
rat
ethe f
unct
ional
r
equi
rement
soft
hesy
stem andi
tsi
nter
act
ionwi
thext
ernalagent
s(act
ors)
.Ausecase
i
sbasi
cal
l
yadi
agr
am r
epr
esent
ingdi
ff
erentscenar
ioswher
ethesy
stem canbeused.A
usecasedi
agr
am gi
vesusahi
gh-
lev
elv
iewofwhatt
hesy
stem orapar
toft
hesy
stem
doeswi
thoutgoi
ngi
ntoi
mpl
ement
ati
ondet
ail
s.
SequenceDi
agr
am:Asequencedi
agr
am si
mpl
ydepi
ctsi
nter
act
ionbet
weenobj
ect
sin
asequent
ialor
deri
.e.
,theor
deri
nwhi
cht
hesei
nter
act
ionst
akepl
ace.Wecanal
souse
t
het
ermsev
entdi
agr
amsorev
entscenar
iost
oref
ert
oasequencedi
agr
am.Sequence
di
agr
amsdescr
ibehow andi
nwhator
dert
heobj
ect
sinasy
stem f
unct
ion.These
di
agr
amsar
ewi
del
yusedbybusi
nessmenandsof
twar
edev
eloper
stodocumentand
under
standr
equi
rement
sfornewandexi
sti
ngsy
stems.
I
nter
act
ionDi
agr
ams:AnI
nter
act
ionDi
agr
am model
sasequenceofact
ionsandhel
ps
ussi
mpl
i
fycompl
exi
nter
act
ionsi
ntosi
mpl
eroccur
rences.I
tisami
xtur
eofact
ivi
tyand
sequencedi
agr
amsandcol
l
abor
ati
ondi
agr
ams.
Communi
cat
ionDi
agr
am:ACommuni
cat
ionDi
agr
am knownasCol
l
abor
ati
onDi
agr
am
i
n UML i
s used t
o show sequenced messages exchanged bet
ween obj
ect
s.A
communi
cat
iondi
agr
am f
ocusespr
imar
il
yonobj
ect
sandt
hei
rrel
ati
onshi
ps.Wecan
r
epr
esentsi
mil
ari
nfor
mat
ion usi
ng Sequence di
agr
ams;howev
er,communi
cat
ion
di
agr
amsr
epr
esentobj
ect
sandl
i
nksi
naf
reef
orm.
Ti
mingDi
agr
am:Ti
mingDi
agr
am ar
easpeci
alf
orm ofSequencedi
agr
amswhi
char
e
usedt
odepi
ctt
hebehav
iorofobj
ect
sov
erat
imef
rame.Weuset
hem t
oshow t
ime
anddur
ati
onconst
rai
ntswhi
chgov
ernchangesi
nst
atesandbehav
iorofobj
ect
s.

St
ruct
uredDesi
gn
St
ruct
uredDesi
gni
sasy
stemat
icmet
hodol
ogyt
odet
ermi
nedesi
gnspeci
fi
cat
ionof
sof
twar
e.St
ruct
ured desi
gn i
s a concept
ual
i
zat
ion ofpr
obl
em i
nto sev
eralwel
l
-
or
gani
zedel
ement
sofsol
uti
on.I
tisbasi
cal
l
yconcer
nedwi
tht
hesol
uti
ondesi
gn.
Benef
itofst
ruct
ureddesi
gni
s,i
tgi
vesbet
terunder
standi
ngofhow t
hepr
obl
em i
s
bei
ngsol
ved.St
ruct
ureddesi
gnal
somakesi
tsi
mpl
erf
ordesi
gnert
oconcent
rat
eon
t
hepr
obl
em mor
eaccur
atel
y.
St
ruct
ureddesi
gni
smost
lybasedon‘
div
ideandconquer
’st
rat
egywher
eapr
obl
em i
s

19
br
okeni
ntosev
eralsmal
lpr
obl
emsandeachsmal
lpr
obl
em i
sindi
vi
dual
l
ysol
vedunt
il
t
hewhol
epr
obl
em i
ssol
ved.Thesmal
lpi
ecesofpr
obl
em ar
esol
vedbymeansof
sol
uti
onmodul
es.St
ruct
ureddesi
gnemphasi
sthatt
hesemodul
esbewel
lor
gani
zedi
n
or
dert
o achi
evepr
eci
sesol
uti
on.Thesemodul
esar
ear
ranged i
n hi
erar
chy
.They
communi
cat
ewi
theachot
her
.Agoodst
ruct
ureddesi
gnal
way
sfol
l
owssomer
ulesf
or
communi
cat
ionamongmul
ti
plemodul
es,
namel
y-
Cohesi
on:gr
oupi
ngofal
lfunct
ional
l
yrel
atedel
ement
s.
Coupl
ing:communi
cat
ionbet
weendi
ff
erentmodul
es.
Agoodst
ruct
ureddesi
gnhashi
ghcohesi
onandl
owcoupl
i
ngar
rangement
s.

Det
ail
edDesi
gn
Desi
gni
sthespeci
fi
cat
ionoft
hei
nter
nalel
ement
sofal
lmaj
orsy
stem component
s,
t
hei
rpr
oper
ti
es,r
elat
ionshi
ps,pr
ocessi
ng,and of
tent
hei
ral
gor
it
hmsand t
hedat
a
st
ruct
ures.Thedet
ail
eddesi
gnmayi
ncl
ude:
o Decomposi
ti
onofmaj
orsy
stem component
sint
opr
ogr
am uni
ts.
o Al
l
ocat
ionoff
unct
ional
responsi
bil
i
tiest
ouni
ts.
o Useri
nter
faces
o Uni
tst
atesandst
atechanges
o Dat
aandcont
rol
int
eract
ionbet
weenuni
ts
o Dat
apackagi
ngandi
mpl
ement
ati
on,i
ncl
udi
ngi
ssuesofscopeandv
isi
bil
i
tyof
pr
ogr
am el
ement
s
o Al
gor
it
hmsanddat
ast
ruct
ures.

Desi
gnRev
iew
Adesi
gnr
evi
ewi
sami
l
est
onewi
thi
napr
oductdev
elopmentpr
ocesswher
ebyadesi
gn
i
sev
aluat
ed agai
nsti
tsr
equi
rement
sin or
dert
over
if
ytheout
comesofpr
evi
ous
act
ivi
ti
esandi
dent
if
yissuesbef
orecommi
tt
ingt
o-andi
fneedt
ober
e-pr
ior
it
iesf
urt
her
wor
k.Theul
ti
mat
edesi
gnr
evi
ew,
ifsuccessf
ul,
ther
efor
etr
igger
sthepr
oductl
aunchor
pr
oductr
elease.Theconductofdesi
gn r
evi
ewsi
scompul
sor
yaspar
tofdesi
gn
cont
rol
s,whendev
elopi
ngpr
oduct
sincer
tai
nregul
ated cont
ext
ssuchasmedi
cal
dev
ices.
Sof
twar
e desi
gn r
evi
ews ar
e a sy
stemat
ic,compr
ehensi
ve,and wel
l
-document
ed
i
nspect
ionofdesi
gnt
hatai
mst
ocheckwhet
hert
hespeci
fi
eddesi
gnr
equi
rement
sar
e
20
adequat
eandt
hedesi
gnmeet
sal
lthespeci
fi
edr
equi
rement
s.I
naddi
ti
on,t
heyal
so
hel
pini
dent
if
yingt
hepr
obl
ems(
ifany
)int
hedesi
gnpr
ocess.I
EEEdef
inessof
twar
e
desi
gnr
evi
ewas‘
afor
malmeet
ingatwhi
chasy
stem’
spr
eli
minar
yordet
ail
eddesi
gni
s
pr
esent
edt
otheuser
,cust
omer
,orot
heri
nter
est
edpar
ti
esf
orcommentandappr
oval
.’
Theser
evi
ewsar
ehel
datt
heendoft
hedesi
gnphaset
oresol
vei
ssues(
ifany
)rel
ated
t
o sof
twar
e desi
gn deci
sions,t
hati
s,ar
chi
tect
uraldesi
gn and det
ail
ed desi
gn
(
component
-l
evelandi
nter
facedesi
gn)oft
heent
ir
esof
twar
eorapar
tofi
t(suchasa
dat
abase)
.
Ty
pesofSof
twar
eDesi
gnRev
iews
Gener
all
y,t
her
evi
ew pr
ocessi
scar
ri
edouti
nthr
eest
eps,whi
chcor
respondst
othe
st
epsi
nvol
vedi
nthesof
twar
edesi
gnpr
ocess.
Pr
eli
minar
yDesi
gnRev
iew
Dur
ingpr
eli
minar
ydesi
gnr
evi
ew,t
hehi
gh-
lev
elar
chi
tect
uraldesi
gni
srev
iewedt
o
det
ermi
newhet
hert
hedesi
gnmeet
sal
lthest
atedr
equi
rement
saswel
last
henon-
f
unct
ional
requi
rement
s.Thi
srev
iewi
sconduct
edt
oser
vet
hef
oll
owi
ngpur
poses.
o To ensur
ethatt
he sof
twar
erequi
rement
s ar
eref
lect
ed i
nthe sof
twar
e
ar
chi
tect
ure
o Tospeci
fywhet
heref
fect
ivemodul
ari
tyi
sachi
eved
o Todef
inei
nter
facesf
ormodul
esandext
ernal
syst
em el
ement
s
o Toensur
ethatt
hedat
ast
ruct
urei
sconsi
stentwi
tht
hei
nfor
mat
iondomai
n
o Toensur
ethatmai
ntai
nabi
l
ityhasbeenconsi
der
ed
o Toassesst
hequal
i
tyf
act
ors.
Cr
it
icalDesi
gnRev
iew
Oncet
hepr
eli
minar
ydesi
gnr
evi
ew i
ssuccessf
ull
ycompl
etedandt
hecust
omer
(s)i
s
sat
isf
iedwi
tht
hepr
oposeddesi
gn,acr
it
icaldesi
gnr
evi
ewi
sconduct
ed.Thi
srev
iewi
s
conduct
edt
oser
vet
hef
oll
owi
ngpur
poses.
o Toassur
ethatt
her
ear
enodef
ect
sint
het
echni
cal
andconcept
ual
desi
gns
o To v
eri
fyt
hatt
he desi
gn bei
ng r
evi
ewed sat
isf
ies t
he desi
gn r
equi
rement
s
est
abl
i
shedi
nthear
chi
tect
ural
desi
gnspeci
fi
cat
ions
o Toassesst
hef
unct
ional
i
tyandmat
uri
tyoft
hedesi
gncr
it
ical
l
y
o Toj
ust
if
ythedesi
gnt
otheout
sider
ssot
hatt
het
echni
caldesi
gni
smor
ecl
ear
,
ef
fect
iveandeasyt
ounder
stand.
21
Pr
ogr
am Desi
gnRev
iew
Oncet
hecr
it
icaldesi
gnr
evi
ew i
ssuccessf
ull
ycompl
eted,apr
ogr
am desi
gnr
evi
ew i
s
conduct
edt
oobt
ainf
eedbackbef
oret
hei
mpl
ement
ati
on(
codi
ng)oft
hedesi
gn.Thi
s
r
evi
ewi
sconduct
edt
oser
vet
hef
oll
owi
ngpur
poses.
o Toassur
ethef
easi
bil
i
tyoft
hedet
ail
eddesi
gn
o Toassur
ethatt
hei
nter
facei
sconsi
stentwi
tht
hear
chi
tect
ural
desi
gn
o Tospeci
fywhet
hert
hedesi
gni
scompat
ibl
etoi
mpl
ement
ati
onl
anguage
o Toensur
ethatst
ruct
uredpr
ogr
ammi
ngconst
ruct
sar
eusedt
hroughout
o Toensur
ethatt
hei
mpl
ement
ati
ont
eam i
sabl
etounder
standt
hepr
oposed
desi
gn.
Sof
twar
eDesi
gnRev
iewPr
ocess
Desi
gnr
evi
ewsar
econsi
der
edi
mpor
tantasi
ntheser
evi
ewst
hepr
oducti
slogi
cal
l
y
v
iewedast
hecol
l
ect
ionofv
ari
ousent
it
ies/
component
sanduse-
cases.Theser
evi
ews
ar
econduct
edatal
lsof
twar
edesi
gnl
evel
sandcov
eral
lpar
tsoft
hesof
twar
euni
ts.
Sof
twar
eDesi
gnRev
iewPr
ocess
Desi
gnr
evi
ewsar
econsi
der
edi
mpor
tantasi
ntheser
evi
ewst
hepr
oducti
slogi
cal
l
y
v
iewedast
hecol
l
ect
ionofv
ari
ousent
it
ies/
component
sanduse-
cases.Theser
evi
ews
ar
econduct
edatal
lsof
twar
edesi
gnl
evel
sandcov
eral
lpar
tsoft
hesof
twar
euni
ts.
Gener
all
y,t
her
evi
ewpr
ocesscompr
isest
hreecr
it
eri
a,asl
i
stedbel
ow.
Ent
rycr
it
eri
a:Sof
twar
edesi
gni
sreadyf
orr
evi
ew.
Act
ivi
ti
es:Thi
scr
it
eri
oni
nvol
vest
hef
oll
owi
ngst
eps.
 Sel
ectt
hemember
sfort
hesof
twar
edesi
gnr
evi
ewt
eam,
assi
gnt
hem t
hei
rrol
es,
andpr
epar
eschedul
esf
ort
her
evi
ew.
 Di
str
ibut
ethesof
twar
edesi
gnr
evi
ewpackaget
oal
lther
evi
ewi
ngpar
ti
cipant
s.
 Par
ti
cipant
scheckt
hecompl
etenessandconf
ormanceoft
hedesi
gnt
othe
r
equi
rement
sinaddi
ti
ont
otheef
fi
ciencyoft
hedesi
gn.
 Thesof
twar
edev
elopmentmanagerobt
ainst
heappr
ovaloft
hesof
twar
edesi
gn
f
rom t
hesof
twar
epr
ojectmanager
.
Exi
tcr
it
eri
a:Thesof
twar
edesi
gni
sappr
oved.
Ev
aluat
ingSof
twar
eDesi
gnRev
iews
Thesof
twar
edesi
gnr
evi
ew pr
ocessi
sbenef
ici
alf
orev
ery
oneast
hef
aul
tscanbe
det
ect
edatanear
lyst
age,t
her
ebyr
educi
ngt
hecostofdet
ect
inger
ror
sandr
educi
ng
22
t
hel
i
kel
i
hoodofmi
ssi
ngacr
it
icali
ssue.Ev
eryr
evi
ew t
eam memberexami
nest
he
i
ntegr
it
yoft
hedesi
gnandnott
heper
sonsi
nvol
vedi
nit(
thati
s,desi
gner
s),whi
chi
n
t
urnemphasi
zest
hatt
hecommon‘
obj
ect
iveofdev
elopi
ngahi
ghl
yrat
eddesi
gni
s
achi
eved.

Char
act
eri
sti
csofGoodUserI
nter
face
Thef
oll
owi
ngar
ethechar
act
eri
sti
csofgooduseri
nter
face
o Cl
ear
o Conci
se
o Fami
l
iar
o Responsi
ve
o Consi
stent
o At
tract
ive
o Ef
fi
cient
o For
giv
ing
Cl
ear
:Cl
ari
tyi
sthemosti
mpor
tantel
ementofuseri
nter
facedesi
gn.I
ndeed,t
hewhol
e
pur
poseofuseri
nter
facedesi
gni
stoenabl
epeopl
etoi
nter
actwi
thy
oursy
stem by
communi
cat
ingmeani
ngandf
unct
ion.I
fpeopl
ecan’
tfi
gur
eouthow y
ourappl
i
cat
ion
wor
ksorwher
etogoony
ourwebsi
tet
hey
’l
lgetconf
usedandf
rust
rat
ed.
Conci
se:Cl
ari
tyi
nauseri
nter
facei
sgr
eat
,howev
er,y
oushoul
dbecar
efulnott
ofal
l
i
ntot
het
rapofov
er-
clar
if
ying.I
tiseasyt
oadddef
ini
ti
onsandexpl
anat
ions,butev
ery
t
imey
oudot
haty
ouaddmass.Youri
nter
facegr
ows.Addt
oomanyexpl
anat
ionsand
y
ouruser
swi
l
lhav
etospendt
oomucht
imer
eadi
ngt
hrought
hem.
Fami
li
ar:Fami
l
iari
sjustt
hat
:somet
hingwhi
chappear
sli
kesomet
hingel
sey
ou’
ve
encount
eredbef
ore.Wheny
ou’
ref
ami
l
iarwi
thsomet
hing,y
ouknowhowi
tbehav
es–
y
ouknow whatt
oexpect
.Ident
if
ythi
ngst
hatar
efami
l
iart
oyouruser
sandi
ntegr
ate
t
hem i
ntoy
ouruseri
nter
face.
Responsi
ve:Responsi
vemeansacoupl
eoft
hings.Fi
rstofal
l
,responsi
vemeansf
ast
.
Thei
nter
face,i
fnott
hesof
twar
ebehi
ndi
t,shoul
dwor
kfast
.Wai
ti
ngf
ort
hingst
oload
andusi
ngl
eggyandsl
owi
nter
facesi
sfr
ust
rat
ing.Seei
ngt
hingsl
oadqui
ckl
y,oratt
he
v
eryl
east
,ani
nter
facet
hatl
oadsqui
ckl
y(ev
eni
fthecont
enti
syett
ocat
chup)
i
mpr
ovest
heuserexper
ience.

23
Consi
stent
:Consi
stenti
nter
facesal
l
owuser
stodev
elopusagepat
ter
ns–t
hey
’l
llear
n
whatt
hedi
ff
erentbut
tons,t
abs,i
consandot
heri
nter
faceel
ement
slookl
i
keandwi
l
l
r
ecogni
zet
hem andr
eal
i
zewhatt
heydoi
ndi
ff
erentcont
ext
s.They
’l
lal
sol
ear
nhow
cer
tai
nthi
ngswor
k,andwi
l
lbeabl
etowor
kouthowt
ooper
atenewf
eat
uresqui
cker
,
ext
rapol
ati
ngf
rom t
hosepr
evi
ousexper
iences.
At
tract
ive:Thi
sonemaybeal
i
ttl
econt
rov
ersi
albutIbel
i
eveagoodi
nter
faceshoul
dbe
at
tract
ive.At
tract
ivei
nasenset
hati
tmakest
heuseoft
hati
nter
faceenj
oyabl
e.Yes,
y
oucanmakey
ourUIsi
mpl
e,easyt
ouse,
eff
ici
entandr
esponsi
ve,
andi
twi
l
ldoi
tsj
ob
wel
l–buti
fyoucangot
hatext
rast
epf
urt
herandmakei
tat
tract
ive,
theny
ouwi
l
lmake
t
heexper
ienceofusi
ngt
hati
nter
facet
rul
ysat
isf
ying.
Ef
fi
cient
:Auseri
nter
facei
sthev
ehi
clet
hatt
akesy
oupl
aces.Thosepl
acesar
ethe
di
ff
erentf
unct
ionsoft
hesof
twar
eappl
i
cat
ionorwebsi
te.Agoodi
nter
faceshoul
dal
l
ow
y
out
oper
for
mthosef
unct
ionsf
ast
erandwi
thl
essef
for
t.
For
giv
ing:Af
orgi
vi
ngi
nter
facei
sonet
hatcansav
eyouruser
sfr
om cost
lymi
stakes.
Forexampl
e,i
fsomeonedel
etesani
mpor
tantpi
eceofi
nfor
mat
ion,cant
heyeasi
l
y
r
etr
iev
eitorundot
hisact
ion?Whensomeonenav
igat
est
oabr
okenornonex
ist
ent
pageony
ourwebsi
te,
whatdot
heysee?Ar
etheygr
eet
edwi
thacr
ypt
icer
rorordot
hey
getahel
pful
li
stofal
ter
nat
ivedest
inat
ions?

UserGui
danceandOnl
ineHel
p

24
Mode-
basedVsModel
ess
Amodei
sst
ateorcol
l
ect
ionofst
atesi
nwhi
chonl
yasubsetofal
luseri
nter
act
ion
t
askscanbeper
for
med.I
namodel
essi
nter
face,
thesamesetofcommandscanbe
i
nvokedatanyt
imedur
ingt
her
unni
ngoft
hesof
twar
e.Thus,
amodel
essi
nter
facehas
onl
yasi
ngl
emodeandal
lthecommandsar
eav
ail
abl
eal
lthet
imedur
ingt
heoper
ati
on
oft
hesof
twar
e.Ont
heot
herhand,
inamode-
basedi
nter
facedi
ff
erentsetf
or
commandscanbei
nvokeddependi
ngont
hemodei
nwhi
cht
hesy
stem.

UserI
nter
faceDesi
gn
Useri
nter
facei
sthef
ront
-endappl
i
cat
ionv
iew t
owhi
chuseri
nter
act
sinor
dert
ouse
t
hesof
twar
e.I
tisal
socal
l
edashuman-
comput
eri
nter
face.I
thandl
est
hei
nter
act
ion
bet
weent
heuserandt
hesy
stem.I
tdescr
ibest
hewayi
nwhi
chahumani
nter
act
swi
th
a machi
ne.Though t
echni
cal
l
ysomet
hing as si
mpl
e as a l
i
ghtswi
tch coul
d be
consi
der
edani
nst
rumentofUI
,mostmoder
nref
erencesr
elat
etocomput
ersandot
her
el
ect
roni
cdev
ices.UImakest
heexchangebet
weenuser
sandmachi
nespossi
ble.
Wi
thouti
t,t
hisv
italf
orm ofcommuni
cat
ionceasest
oexi
st.Thesof
twar
ebecomes
mor
epopul
ari
fit
suseri
nter
facei
s:
o At
tract
ive

25
o Si
mpl
etouse
o Responsi
vei
nshor
tti
me
o Cl
eart
ounder
stand
o Consi
stentonal
li
nter
facescr
eens
Ty
pesofUserI
nter
face
Ther
ear
ethr
eet
ypesofuseri
nter
face
 CommandLi
neI
nter
face
 Menu-
dri
venI
nter
face
 Gr
aphi
cal
UserI
nter
face
CommandLi
neI
nter
face
Thecommandl
i
nei
nter
facei
snol
ongercommonasaf
orm ofbasi
cuseri
nter
facei
n
ev
ery
day consumerpr
oduct
s,buti
tis st
il
lin use undercer
tai
n ci
rcumst
ances.
Command Li
ne I
nter
face r
equi
res user
stot
ype appr
opr
iat
einst
ruct
ions i
ntot
he
commandl
i
ne.Thecomput
eri
scommandedt
ofi
rstgot
other
equi
redf
il
eordi
rect
ory
.
Fr
om t
her
e,awhol
ehostofcommandsbecomeav
ail
abl
e,f
rom r
etr
iev
ingf
il
est
o
r
unni
ngpr
ogr
ams.
Commandl
ineel
ement
s
Thedi
ff
erentel
ement
soft
heCLIar
easf
oll
ows-
CommandPr
ompt
:Thecommandpr
omptdi
spl
ayst
heusercont
ext
.Sof
twar
esy
stem
gener
atest
hecommandpr
ompt
.
Cur
sor
:Theposi
ti
onoft
hechar
act
ert
hati
sbei
ngt
ypedi
srepr
esent
edbyt
hesmal
l
hor
izont
all
i
neorav
ert
icalbarknownascur
sor
.Whensomet
hingi
swr
it
tenordel
eted
byt
heuser
,thecur
sormov
esaccor
dingl
y.
Command:Thei
nst
ruct
iont
hatneedst
obeexecut
edi
sknownascommand.On
execut
ionoft
hecommand,t
heout
puti
sdi
spl
ayedont
hescr
een.Commandpr
ompt
appear
sont
henextl
i
neonpr
oduct
ionoft
heout
put
.
Adv
ant
ages
 Si
mpl
est
ruct
ure
 Mi
nimal
memor
yusage
 Gr
eatf
orsl
ow-
runni
ngcomput
ers,
ort
hosel
owonmemor
y
 Anexper
tCLIusercangi
vecommandsandper
for
mtasksmuchf
ast
ert
han
whenusi
nganal
ter
nat
iveUIt
ype
26
Di
sadv
ant
ages
 Di
ff
icul
ttol
ear
ncommandl
anguage
 Compl
exf
ornov
iceuser
s
 Mi
nimal
err
ormessagei
nfor
mat
ion
Menu-
Dri
venI
nter
face
Themenu-
dri
venuseri
nter
facepr
ovi
desy
ouwi
thar
angeofcommandsoropt
ionsi
n
t
hef
orm ofal
i
stormenudi
spl
ayedi
nful
l
-scr
een,pop-
up,pul
l
-down,ordr
op-
down.An
ATM i
sanexampl
eofamenu-
dri
veni
nter
face.
Adv
ant
ages
 I
tisnotnecessar
ytor
ememberal
ongl
i
stofmanual
commands
 Si
mpl
eint
erf
acef
ornov
ices
 Sel
f-
expl
anat
orymenuopt
ions
Di
sadv
ant
ages
 Sl
owerf
orexper
ienceduser
s
 Li
mit
edmenuopt
ions
 Of
tenr
equi
resy
out
oaccessmul
ti
plemenuscr
eenst
oper
for
m si
mpl
efunct
ions
Gr
aphi
cal
UserI
nter
face
Thegr
aphi
caluseri
nter
face,orGUI
,ist
het
ypeofi
nter
facewi
thwhi
cht
hemaj
ori
tyof
peopl
ear
ethemostf
ami
l
iar
.Youi
nter
actwi
tht
hesei
nter
facesbyusi
ngamouse,t
ack
pad,
orot
herper
ipher
alt
opoi
ntandcl
i
ckongr
aphi
csori
cons.
Adv
ant
ages
 Sel
f-
expl
anat
ory
 Easyt
ouse
 Memor
izi
ngcommandl
i
stsi
snotnecessar
y
 Al
l
owsf
orr
unni
ngmul
ti
pleappl
i
cat
ions,
progr
ams,
andt
askssi
mul
taneousl
y
 Sol
i
dsuppor
tfaci
l
iti
es
 Thesi
mil
arf
ormatamongdi
ff
erentpr
ogr
amsaddsf
ami
l
iar
it
y
 WYSI
WYGmakesf
oreasydesi
gnandf
ormat
ti
ng
Di
sadv
ant
ages
 Uses l
arge amount
s ofmemor
y– al
though t
hisi
sless ofa concer
n as
comput
ersgetmor
epower
ful
.
27
GUIDesi
gnMet
hodol
ogy
useri
sfaci
l
itat
edwi
tht
hegr
aphi
calmeansf
orcommuni
cat
ingwi
tht
hesy
stem and
whi
chi
sknownasGr
aphi
calUserI
nter
face.Har
dwar
eandsof
twar
ecombi
net
oget
her
andconst
it
uteGUI
.Thesof
twar
eisi
nter
pret
edbyt
heuserwi
tht
hehel
pofGUI
.When
compar
edwi
thCLI
,amountoft
her
esour
cesut
il
izedi
shi
ghf
orGUI
.Mor
ecompl
exGUI
desi
gnsar
edev
elopedbyt
hedesi
gner
sandpr
ogr
ammer
sfori
ncr
easi
ngt
heaccur
acy
,
ef
fi
ciencyandspeedoft
hei
nter
face.
GUIEl
ement
s
Thehar
dwar
eorsof
twar
esy
stem canbecommuni
cat
edt
hroughGUIbyameansof
di
ff
erentcomponent
s.Di
ff
erentway
sbywhi
cht
heuseri
senabl
edt
oint
eractandwor
k
wi
tht
hesy
stem ar
emadeav
ail
abl
ebyt
hecomponent
soft
heGUI
.GUIsy
stem i
ncl
udes
t
hef
oll
owi
ngel
ement
s-
Wi
ndow:Theappl
i
cat
ioncont
ent
sthatar
edi
spl
ayedei
therasi
consorasl
i
stsi
na
wi
ndow.Thest
ruct
ureoft
hef
il
eisdemonst
rat
edbyawi
ndow.A wi
ndow canbe
expl
oredandaf
il
ecaneeasi
l
yfoundi
nthesy
stem.I
tispossi
blet
omi
nimi
ze,
resi
zeor
maxi
mizet
hesi
zeoft
hewi
ndow.Theycanbedr
aggedandmov
edasdesi
redont
he
scr
een.Awi
ndowwi
thanot
herwi
ndowofsameappl
i
cat
ioni
sknownaschi
l
dwi
ndow.
Tabs:User
sar
eenabl
edt
oopenmor
ethanonedocumenti
nthesamewi
ndow.Thi
sis
f
aci
l
itat
edbyt
abbeddocumenti
nter
face.Thi
sfeat
urei
susedbyal
mostal
ltheweb
br
owser
s.
Menu:Al
lthest
andar
dcommandsar
ecol
l
ect
ed,gr
oupedt
oget
her
,ar
rangedandar
e
di
spl
ayedatapl
acet
hati
scl
ear
lyv
isi
blei
nsi
det
hewi
ndow.Asdesi
red,anopt
ioni
s
pr
ovi
dedt
oei
therhi
deordi
spl
ayt
hemenu,
bycer
tai
npr
ogr
ammi
ng.
I
con:Anappl
i
cat
ioni
srepl
i
cat
edbysmal
lpi
ctur
eknownasani
con.Theappl
i
cat
ion
wi
ndowcanbev
isi
tedandopenedoncl
i
cki
ngont
hisi
con.Al
lthepr
ogr
amsi
nst
all
edon
t
hesy
stem andt
heappl
i
cat
ionsar
edi
spl
ayedbyusi
ngsmal
lpi
ctur
esasI
cons.
Cur
sor
:Cur
sori
ncl
udeal
lthedev
icesusedf
ori
nter
act
ionsuchasmouse,di
git
alpen,
t
ouchpadet
c.Thecur
soract
saccor
dingt
othei
nst
ruct
ionoft
hehar
dwar
e.Thedesi
red
menu,
windoworanappl
i
cat
ioncanbesel
ect
edbyusi
ngacur
sor
.
Appl
icat
ionSpeci
fi
cGUIComponent
s
Someoft
heel
ement
sofcomponent
sofGUIar
especi
fi
ctoonl
yGUIappl
i
cat
ion.They

28
ar
easf
oll
ows-
Appl
icat
ionWi
ndow:Theoper
ati
ngsy
stem pr
ovi
dest
heconst
ruct
sformanyoft
he
usesofappl
i
cat
ionwi
ndows.Thecust
om cr
eat
edwi
ndowsar
eusedi
nst
eadast
hey
i
ncl
udet
heappl
i
cat
ioncont
ent
.
Di
alogueBox:Amessagei
scommuni
cat
edt
otheusersucht
hatt
heuserneedst
oact
upon,
byusi
ngasmal
lwi
ndowknownasachi
l
dwi
ndoworadi
alogbox.Fori
nst
ance,
in
or
dert
odel
ete,t
heappl
i
cat
ionwi
l
lgener
ateadi
alogboxandwhi
chpr
oceedswi
tht
he
pr
ocessofdel
eti
ononl
yupont
her
ecei
ptoft
heconf
ir
mat
ionbyt
heusert
hrought
he
di
alogbox
.
Text
-Box:
Anar
eamadeav
ail
abl
efort
heusert
oty
pet
hedat
a.
But
tons:Someoft
hei
nput
sar
esubmi
tt
edt
othesof
twar
ebyusi
ngbut
tons.
Radi
o-but
ton:Foraspeci
fi
cinput
,whent
woopt
ionsar
emadeav
ail
abl
e,bot
hoft
he
opt
ionsar
edi
spl
ayedbyRadi
o-but
ton.Thi
sbut
tonenabl
est
osel
ectonl
yone.
Check-
box:Foral
ltheopt
ionst
hatar
ebei
ngsel
ect
edbyt
heuser
,aboxi
smar
kedas
checked.
Li
st-
box:Al
ltheav
ail
abl
eit
emsar
eli
stedi
nthel
i
st-
box.Thi
senabl
est
heusert
osel
ect
f
rom t
hel
i
st.Theuseri
sfaci
l
itat
edt
osel
ectmor
ethanonei
tem f
rom t
hel
i
st.Ot
her
i
mpr
essi
veGUIcomponent
sar
e:Sl
i
der
s,Combo-
box,
Dat
a-gr
id,
Drop-
downl
i
st
Whatar
ethedi
ff
erentact
ivi
ti
esper
for
medbyaUserI
nter
faceDesi
gn?
UserI
nter
facedesi
gnper
for
msmanyact
ivi
ti
es.Thedesi
gnandi
mpl
ement
ati
onofGUI
i
ssi
mil
art
othatofSDLC desi
gn.Amongt
hedi
ff
erentmodel
ssuchasWat
erf
all
,
I
ter
ati
veorSpi
ral
,anyoneoft
hem canbechosenf
ori
mpl
ement
ingGUI
.Someoft
he
speci
fi
cst
epsneedt
obesat
isf
iedorf
oll
owedbyanymodelt
hati
ssel
ect
edf
ort
he
desi
gnandt
hei
mpl
ement
ati
onofGUI
.Thest
epsar
easf
oll
ows-
GUIRequi
rementGat
her
ing:Al
lthef
unct
ionalandnon-
funct
ionalr
equi
rement
sofGUI
needt
obecol
l
ect
ed,
gat
her
edandmai
ntai
nedbyt
hedesi
gner
s.
UserAnal
ysi
s:Theuseroft
heGUIi
sanal
yzedbyt
hedesi
gner
.Aspert
heknowl
edge
and l
evelofcompet
ency oft
he user
,the desi
gn i
s changed.Adv
anced GUIi
s
i
mpl
ement
edf
ort
het
echni
calsav
vyuser
.Mor
ebasi
cinf
ormat
iononhow t
ouset
he
sof
twar
eispr
ovi
dedf
ort
henon-
techni
cal
user
.
TaskAnal
ysi
s:Thet
askt
hati
stobet
akenupt
hesof
twar
eisanal
yzedbyt
hedesi
gner
.
I
nGUIt
het
asksar
eanal
yzedbybr
eaki
ngt
hemaj
ort
aski
ntosub-
tasks.Thegoal
stobe
29
achi
evedbyt
heGUIar
edet
ermi
nedbyt
heset
asks.Thecont
entt
hathast
opass
t
hrought
heGUIi
sdet
ermi
nedbyt
hei
nfor
mat
iont
hatf
lowsi
nthesub-
tasks.
GUIDesi
gn & I
mpl
ement
ati
on:Consi
der
ing t
he userenv
ironment
,tasks and t
he
knowl
edgeaboutt
her
equi
rement
s,GUIi
sdesi
gnedandi
mpl
ement
ed.I
nit
ial
l
yGUIi
s
i
mpl
ement
edonadummypr
ojectt
otest
ing.
Test
ing:GUIcanbet
est
edi
ndi
ff
erentway
s.Someoft
hem i
ncl
udei
n-housev
eri
fi
cat
ion,
useri
nvol
vementandi
ntr
oduct
ionofbet
aver
sion.Theusabi
l
ityofGUI
,theaccept
ance
ofGUIbyt
heuserandt
heGUIcompat
ibi
l
ityar
eSomeoft
heaspect
sonwhi
cht
est
ing.

30
Codi
ngandTest
ing
Uni
t–4
Codi
ngSt
andar
dsandGui
del
ines
Di
ff
erentmodul
esspeci
fi
edi
nthedesi
gndocumentar
ecodedi
ntheCodi
ngphase
accor
dingt
othemodul
especi
fi
cat
ion.Themai
ngoaloft
hecodi
ngphasei
stocode
f
rom t
he desi
gn documentpr
epar
ed af
tert
he desi
gn phase t
hrough a hi
gh-
lev
el
l
anguageandt
hent
ouni
ttestt
hiscode.Goodsof
twar
edev
elopmentor
gani
zat
ions
wantt
hei
rpr
ogr
ammer
stomai
ntai
ntosomewel
l
-def
inedandst
andar
dst
yleofcodi
ng
cal
l
edcodi
ngst
andar
ds.Theyusual
l
ymaket
hei
rowncodi
ngst
andar
dsandgui
del
i
nes
dependi
ngonwhatsui
tst
hei
ror
gani
zat
ionbestandbasedont
het
ypesofsof
twar
e
t
heydev
elop.I
tisv
eryi
mpor
tantf
ort
hepr
ogr
ammer
stomai
ntai
nthecodi
ngst
andar
ds
ot
her
wiset
hecodewi
l
lber
eject
eddur
ingcoder
evi
ew.
Pur
poseofCodi
ngSt
andar
ds
 Acodi
ngst
andar
dgi
vesauni
for
m appear
ancet
othecodeswr
it
tenbydi
ff
erent
engi
neer
s.
 I
timpr
ovesr
eadabi
l
ityandmai
ntai
nabi
l
ityoft
hecodeandi
treducescompl
exi
ty
al
so.
 I
thel
psi
ncoder
euseandhel
pst
odet
ecter
roreasi
l
y.
 I
tpr
omot
es sound pr
ogr
ammi
ng pr
act
ices and i
ncr
eases ef
fi
ciencyoft
he
pr
ogr
ammer
s.
Someoft
hecodi
ngst
andar
dsar
egi
venbel
ow:
Li
mit
eduseofgl
obal
s:Theser
ulest
alkaboutwhi
cht
ypesofdat
athatcanbedecl
ared
gl
obal
andt
hedat
athatcan’
tbe.
St
andar
dheader
sfordi
ff
erentmodul
es:Forbet
terunder
standi
ngandmai
ntenanceof
t
hecode,t
heheaderofdi
ff
erentmodul
esshoul
dfol
l
ow somest
andar
dfor
matand
i
nfor
mat
ion.Theheaderf
ormatmustcont
ainbel
owt
hingst
hati
sbei
ngusedi
nvar
ious
compani
es:
o Nameoft
hemodul
e
o Dat
eofmodul
ecr
eat
ion
o Aut
horoft
hemodul
e
o Modi
fi
cat
ionhi
stor
y
o Sy
nopsi
soft
hemodul
eaboutwhatt
hemodul
edoes

1
o Di
ff
erentf
unct
ions suppor
ted i
nthe modul
e al
ong wi
tht
hei
rinputout
put
par
amet
ers
o Gl
obal
var
iabl
esaccessedormodi
fi
edbyt
hemodul
e
Nami
ngconv
ent
ionsf
orl
ocalv
ari
abl
es,gl
obalv
ari
abl
es,const
ant
sandf
unct
ions:
Someoft
henami
ngconv
ent
ionsar
egi
venbel
ow:
o Meani
ngf
ulandunder
standabl
evar
iabl
esnamehel
psany
onet
ounder
standt
he
r
easonofusi
ngi
t.
o Localv
ari
abl
esshoul
dbenamedusi
ngcamelcasel
ett
eri
ngst
art
ingwi
thsmal
l
l
ett
er(
e.g.l
ocalDat
a)wher
easGl
obalv
ari
abl
esnamesshoul
dst
artwi
thacapi
tal
l
ett
er(
e.g.Gl
obalDat
a).Const
antnamesshoul
dbef
ormedusi
ngcapi
tall
ett
ers
onl
y(e.
g.CONSDATA)
.
o I
tisbet
tert
oav
oidt
heuseofdi
git
sinv
ari
abl
enames.
o Thenamesoft
hef
unct
ionshoul
dbewr
it
teni
ncamelcasest
art
ingwi
thsmal
l
l
ett
ers.
o Thenameoft
hef
unct
ionmustdescr
ibet
her
easonofusi
ngt
hef
unct
ioncl
ear
ly
andbr
ief
ly.
I
ndent
ati
on:Pr
operi
ndent
ati
oni
sver
yimpor
tantt
oincr
easet
her
eadabi
l
ityoft
hecode.
Formaki
ngt
hecoder
eadabl
e,pr
ogr
ammer
sshoul
duseWhi
tespacespr
oper
ly.Some
oft
hespaci
ngconv
ent
ionsar
egi
venbel
ow:
o Ther
emustbeaspaceaf
tergi
vi
ngacommabet
weent
wof
unct
ionar
gument
s.
o Eachnest
edbl
ockshoul
dbepr
oper
lyi
ndent
edandspaced.
o Pr
operI
ndent
ati
onshoul
dbet
her
eatt
hebegi
nni
ngandatt
heendofeachbl
ock
i
nthepr
ogr
am.
o Al
lbr
acesshoul
dst
artf
rom anewl
i
neandt
hecodef
oll
owi
ngt
heendofbr
aces
al
sost
artf
rom anewl
i
ne.
Er
rorr
etur
nval
uesandexcept
ionhandl
ingconv
ent
ions:Al
lfunct
ionst
hatencount
eri
ng
aner
rorcondi
ti
onshoul
dei
therr
etur
na0or1f
orsi
mpl
i
fyi
ngt
hedebuggi
ng.Ont
he
ot
herhand,
Codi
nggui
del
i
nesgi
vesomegener
alsuggest
ionsr
egar
dingt
hecodi
ngst
yle
t
hatt
obef
oll
owedf
ort
hebet
ter
mentofunder
standabi
l
ityandr
eadabi
l
ityoft
hecode.
Av
oidusi
ngacodi
ngst
ylet
hati
stoodi
ff
icul
ttounder
stand:Codeshoul
dbeeasi
l
y
under
standabl
e.Thecompl
excodemakesmai
ntenanceanddebuggi
ngdi
ff
icul
tand
expensi
ve.
Av
oid usi
ng an i
dent
if
ierf
ormul
ti
ple pur
poses:Each v
ari
abl
eshoul
d begi
ven a

2
descr
ipt
iveandmeani
ngf
ulnamei
ndi
cat
ingt
her
easonbehi
ndusi
ngi
t.Thi
sisnot
possi
blei
fani
dent
if
ieri
susedf
ormul
ti
plepur
posesandt
husi
tcanl
eadt
oconf
usi
on
t
other
eader
.Mor
eov
er,
itl
eadst
omor
edi
ff
icul
tydur
ingf
utur
eenhancement
s.
Code shoul
d be wel
ldocument
ed:The code shoul
d be pr
oper
lycomment
ed f
or
under
standi
ng easi
l
y. Comment
s r
egar
ding t
he st
atement
s i
ncr
ease t
he
under
standabi
l
ityoft
hecode.
Lengt
hoff
unct
ionsshoul
dnotbev
eryl
arge:Lengt
hyf
unct
ionsar
ever
ydi
ff
icul
tto
under
stand.That
’swhyf
unct
ionsshoul
dbesmal
lenought
ocar
ryoutsmal
lwor
kand
l
engt
hyf
unct
ionsshoul
dbebr
okeni
ntosmal
lonesf
orcompl
eti
ngsmal
ltasks.
Tr
ynott
ouseGOTO st
atement
:GOTO st
atementmakest
hepr
ogr
am unst
ruct
ured,
t
husi
treducest
heunder
standabi
l
ityoft
hepr
ogr
am andal
sodebuggi
ngbecomes
di
ff
icul
t.
Adv
ant
agesofCodi
ngGui
del
ines
 Codi
ng gui
del
i
nes i
ncr
ease t
he ef
fi
ciencyoft
he sof
twar
e and r
educes t
he
dev
elopmentt
ime.
 Codi
nggui
del
i
neshel
pindet
ect
inger
ror
sint
heear
lyphases,soi
thel
pst
o
r
educet
heext
racosti
ncur
redbyt
hesof
twar
epr
oject
.
 I
fcodi
nggui
del
i
nesar
emai
ntai
nedpr
oper
ly,t
hent
hesof
twar
ecodei
ncr
eases
r
eadabi
l
ityandunder
standabi
l
ityt
husi
treducest
hecompl
exi
tyoft
hecode.
 I
treducest
hehi
ddencostf
ordev
elopi
ngt
hesof
twar
e.

CodeRev
iew
Coder
evi
ewi
sasof
twar
equal
i
tyassur
ancepr
ocessi
nwhi
chsof
twar
e’ssour
cecodei
s
anal
yzedmanual
l
ybyat
eam orbyusi
nganaut
omat
edcoder
evi
ewt
ool
.Themot
ivei
s
pur
ely
,tof
ind bugs,r
esol
ve er
ror
s,and f
ormostt
imes,i
mpr
ovi
ng code qual
i
ty.
Rev
iewi
ngt
hecodebasemakessur
ethatev
erysof
twar
eornew f
eat
uredev
eloped
wi
thi
nthecompanyi
sofhi
ghqual
i
ty.Coder
evi
ew i
sanessent
ialpr
ocesst
hatev
ery
sof
twar
ecompanymustf
oll
ow,
sower
esear
chedt
hebestpr
act
icesf
orr
evi
ewi
ngcode.
Coder
evi
ewi
sasy
stemat
icexami
nat
ionofsof
twar
esour
cecode,
int
endedt
ofi
ndbugs
andt
oest
imat
ethecodequal
i
ty.
CodeRev
iewTechni
ques
1.CodeWal
kthr
ough:CodeWal
kthr
oughi
sani
nfor
malcodeanal
ysi
stechni
que.I
tisa
f
orm ofpeerr
evi
ew i
nwhi
chapr
ogr
ammerl
eadst
her
evi
ew pr
ocessandt
heot
her
t
eam member
saskquest
ionsandspotpossi
bleer
ror
sagai
nstdev
elopmentst
andar
ds
3
andot
heri
ssues.
o Themeet
ingi
susual
l
yledbyt
heaut
horoft
hedocumentunderr
evi
ew and
at
tendedbyot
hermember
soft
het
eam.
o Rev
iewsessi
onsmaybef
ormal
ori
nfor
mal
.
o Bef
oret
hewal
kthr
oughmeet
ing,t
hepr
epar
ati
onbyr
evi
ewer
sandt
henar
evi
ew
r
epor
twi
thal
i
stoff
indi
ngs.
o Thescr
ibe,whoi
snott
heaut
hor
,mar
kst
hemi
nut
esofmeet
ingandnot
edown
al
lthedef
ect
s/i
ssuessot
hati
tcanbet
rackedt
ocl
osur
e.
o Themai
npur
poseofwal
kthr
oughi
stoenabl
elear
ningaboutt
hecont
entoft
he
documentunderr
evi
ew t
ohel
pteam member
sgai
nanunder
standi
ngoft
he
cont
entoft
hedocumentandal
sot
ofi
nddef
ect
s.
2.CodeI
nspect
ion
CodeI
nspect
ioni
sthemostf
ormalt
ypeofr
evi
ew,whi
chi
saki
ndofst
ati
ctest
ingt
o
av
oidt
hedef
ectmul
ti
pli
cat
ionatal
aterst
age.
o Themai
npur
poseofcodei
nspect
ioni
stof
inddef
ect
sandi
tcanal
sospotany
pr
ocessi
mpr
ovementi
fany
.
o Ani
nspect
ionr
epor
tli
stst
hef
indi
ngs,
whi
chi
ncl
udemet
ri
cst
hatcanbeusedt
o
ai
dimpr
ovement
stot
hepr
ocessaswel
lascor
rect
ingdef
ect
sint
hedocument
underr
evi
ew.
o Pr
epar
ati
onbef
oret
hemeet
ingi
sessent
ial
,whi
chi
ncl
udesr
eadi
ngofanysour
ce
document
stoensur
econsi
stency
.
o I
nspect
ionsar
eof
tenl
edbyat
rai
nedmoder
ator
,whoi
snott
heaut
horoft
he
code.
o Thei
nspect
ionpr
ocessi
sthemostf
ormalt
ypeofr
evi
ew basedonr
ulesand
checkl
i
stsandmakesuseofent
ryandexi
tcr
it
eri
a.
o I
tusual
l
yinv
olv
espeerexami
nat
ionoft
hecodeandeachonehasadef
inedset
ofr
oles.
o Af
tert
hemeet
ing,af
ormalf
oll
ow-
uppr
ocessi
susedt
oensur
ethatcor
rect
ive
act
ioni
scompl
etedi
nat
imel
ymanner
.
3.Cl
eanRoom Test
ing
Cl
eanr
oom t
est
ingwaspi
oneer
edbyI
BM.t
hiski
ndoft
est
ingdependsheav
il
yon
wal
kthr
oughs,i
nspect
ion,andf
ormalv
eri
fi
cat
ion.Thepr
ogr
ammer
sdon’
tseem t
obe
al
l
owedt
ocheckanyoft
hei
rcodebycor
por
alpuni
shmentt
hecodeapar
tfr
om doi
nga

4
l
i
ttl
esy
ntaxt
est
ingempl
oyi
ngacompi
l
er.Thecomput
ercodedev
elopmentphi
l
osophy
r
eli
esonav
oidi
ngcomput
ercodedef
ect
sbyempl
oyi
ngar
igor
ousexami
nat
ionmet
hod.
t
het
argetoft
hiscomput
ercodei
sthatt
hezer
o-def
ectcomput
ercode.

Sof
twar
eDocument
ati
on
Sof
twar
e document
ati
on i
s a manual
-cum-
gui
de t
hathel
ps i
n under
standi
ng and
cor
rect
lyut
il
izi
ngt
hesof
twar
ecode.Thecodi
ngst
andar
dsandnami
ngconv
ent
ions
wr
it
teni
nacommonl
yspokenl
anguagei
ncodedocument
ati
onpr
ovi
deenhanced
cl
ari
tyf
ort
hedesi
gner
.Mor
eov
er,t
heyactasagui
def
ort
hesof
twar
emai
ntenance
t
eam (
thi
steam f
ocusesonmai
ntai
ningsof
twar
ebyi
mpr
ovi
ngandenhanci
ngt
he
sof
twar
eaf
teri
thasbeendel
i
ver
edt
otheenduser
)whi
l
ethesof
twar
emai
ntenance
pr
ocessi
scar
ri
edout
.Int
hisway
,codedocument
ati
onf
aci
l
itat
escoder
eusabi
l
ity
.
I
nter
nalDocument
ati
on
Gener
all
y,i
nter
nal
document
ati
oncompr
isest
hef
oll
owi
ngi
nfor
mat
ion:
o Name,
type,
andpur
poseofeachv
ari
abl
eanddat
ast
ruct
ureusedi
nthecode
o Br
iefdescr
ipt
ionofal
gor
it
hms,
logi
c,ander
ror
-handl
i
ngt
echni
ques
o I
nfor
mat
ionaboutt
her
equi
redi
nputandexpect
edout
putoft
hepr
ogr
am
o Assi
stanceonhowt
otestt
hesof
twar
e
o I
nfor
mat
ionont
heupgr
adat
ionsandenhancement
sint
hepr
ogr
am.
Document
ati
onwhi
chf
ocusesongener
aldescr
ipt
ionoft
hesof
twar
ecodeandi
snot
concer
nedwi
thi
tsdet
aili
sknownasext
ernaldocument
ati
on.I
tincl
udesi
nfor
mat
ion
suchasf
unct
ionofcode,nameoft
hesof
twar
edev
eloperwhohaswr
it
tent
hecode,
al
gor
it
hmsusedi
nthesof
twar
ecode,dependencyofcodeonpr
ogr
amsandl
i
brar
ies,
and f
ormatoft
he out
putpr
oduced by t
he sof
twar
e code.Gener
all
y,ext
ernal
document
ati
oni
ncl
udesst
ruct
urechar
tsf
orpr
ovi
dinganout
li
neoft
hepr
ogr
am and
descr
ibi
ng t
he desi
gn of t
he pr
ogr
am. I
nter
nal document
ati
on i
s t
he code
compr
ehensi
onf
eat
urespr
ovi
dedi
nthesour
cecodei
tsel
f.I
tcanbepr
ovi
dedi
nthe
codei
nsev
eral
for
ms.Thei
mpor
tantt
ypesofi
nter
nal
document
ati
onar
ethef
oll
owi
ng:
 Comment
sembeddedi
nthesour
cecode.
 Useofmeani
ngf
ulv
ari
abl
enames.
 Modul
eandf
unct
ionheader
s.
 Codei
ndent
ati
on.
 Codest
ruct
uri
ng.

5
 Useofenumer
atedt
ypes.
 Useofconst
anti
dent
if
ier
s.
 Useofuser
-def
ineddat
aty
pes.
Ext
ernalDocument
ati
on
Document
ati
oni
susef
ulf
orsof
twar
edev
eloper
sasi
tconsi
stsofi
nfor
mat
ionsuchas
descr
ipt
ionoft
hepr
obl
em al
ongwi
tht
hepr
ogr
am wr
it
tent
osol
vei
t.I
naddi
ti
on,i
t
descr
ibest
heappr
oachusedt
osol
vet
hepr
obl
em,oper
ati
onalr
equi
rement
soft
he
pr
ogr
am,anduseri
nter
facecomponent
s.Fort
hepur
poseofr
eadabi
l
ityandpr
oper
under
standi
ng,t
hedet
ail
eddescr
ipt
ioni
saccompani
edbyf
igur
esandi
l
lust
rat
ionst
hat
showhowonecomponenti
srel
atedt
oanot
her
.Ext
ernaldocument
ati
onexpl
ainswhya
par
ti
cul
arsol
uti
oni
schosenandi
mpl
ement
edi
nthesof
twar
e.I
tal
soi
ncl
udesf
ormul
as,
condi
ti
ons,andr
efer
encesf
rom wher
etheal
gor
it
hmsordocument
ati
onar
eder
ived.
Ext
ernaldocument
ati
onmakest
heuserawar
eoft
heer
ror
sthatoccurwhi
l
erunni
ngt
he
sof
twar
ecode.

Test
ing
Sof
twar
etest
ingi
sapr
ocessusedt
oident
if
ythecor
rect
ness,
compl
etenessandqual
i
ty
ofdev
elopedcomput
ersof
twar
e.I
tist
hepr
ocessofexecut
ingapr
ogr
am/appl
i
cat
ion
underposi
ti
veandnegat
ivecondi
ti
onsbymanualoraut
omat
edmeans.I
tchecksf
or
t
hespeci
fi
cat
ion,f
unct
ional
i
tyandper
for
mance.Test
ingi
sthepr
ocessofev
aluat
inga
sy
stem ori
tscomponent
(s)wi
tht
hei
ntentt
ofi
ndwhet
heri
tsat
isf
iest
hespeci
fi
ed
r
equi
rement
sornot
.Insi
mpl
ewor
ds,t
est
ingi
sexecut
ingasy
stem i
nor
dert
oident
if
y
anygaps,
err
ors,
ormi
ssi
ngr
equi
rement
sincont
rar
ytot
heact
ual
requi
rement
s.
WhySof
twar
eTest
ing?
Sof
twar
etest
ingi
simpor
tantasi
tmaycausemi
ssi
onf
ail
ure,i
mpactonoper
ati
onal
per
for
manceandr
eli
abi
l
ityi
fnotdonepr
oper
ly. Ef
fect
ivesof
twar
etest
ingdel
i
ver
s
qual
i
tysof
twar
epr
oduct
ssat
isf
yinguser
’sr
equi
rement
s,needsandexpect
ati
ons.
Whoi
sSof
twar
eTest
er?
Sof
twar
etest
eri
stheonewhoper
for
mst
est
ingandf
indbugs,
ift
heyexi
sti
nthet
est
ed
appl
i
cat
ion.
Ver
if
icat
ion
Ver
if
icat
ion i
sthepr
ocessconf
ir
ming t
hatsof
twar
emeet
sit
sspeci
fi
cat
ion,done
t
hroughi
nspect
ionsandwal
kthr
oughs.Uset
oident
if
ydef
ect
sint
hepr
oductear
lyi
nthe
l
i
fecy
cle.
6
Val
idat
ion
Val
i
dat
ioni
sthepr
ocessconf
ir
mingt
hati
tmeet
stheuser
’sr
equi
rement
s.I
tist
he
act
ual
test
ing.
Ver
if
icat
ion:
ist
hepr
oductr
ight
.
Val
i
dat
ion:
isi
tther
ightpr
oduct
.
Ver
if
icat
ion&Val
idat
ion
Theset
wot
ermsar
ever
yconf
usi
ngf
ormostpeopl
e,whouset
hem i
nter
changeabl
y.
Thef
oll
owi
ngt
abl
ehi
ghl
i
ght
sthedi
ff
erencesbet
weenv
eri
fi
cat
ionandv
ali
dat
ion.

TestChar
act
eri
sti
cs
Thef
oll
owi
ngar
ethegoodchar
act
eri
sti
csoft
est
o Agoodt
esthasahi
ghpr
obabi
l
ityoff
indi
nganer
ror
.
o Agoodt
esti
snotr
edundant
.
o Agoodt
estshoul
dbebestofbr
eed.
o Agoodt
estshoul
dbenei
thert
oosi
mpl
enort
oocompl
ex.

7
Bl
ack-
BoxTest
ing
Thet
echni
queoft
est
ingwi
thouthav
inganyknowl
edgeoft
hei
nter
iorwor
kingsoft
he
appl
i
cat
ioni
scal
l
edbl
ack-
boxt
est
ing.Thet
est
eri
sobl
i
vioust
othesy
stem ar
chi
tect
ure
anddoesnothav
eaccesst
othesour
cecode.Ty
pical
l
y,whi
l
eper
for
mingabl
ack-
box
t
est
,at
est
erwi
l
lint
eractwi
tht
hesy
stem'
suseri
nter
facebypr
ovi
dingi
nput
sand
exami
ningout
put
swi
thoutknowi
nghow andwher
ethei
nput
sar
ewor
kedupon.The
f
oll
owi
ngt
abl
eli
stst
headv
ant
agesanddi
sadv
ant
agesofbl
ack-
boxt
est
ing.Bl
ack-
box
t
est
ingat
tempt
stof
inder
ror
sint
hef
oll
owi
ngcat
egor
ies:
o I
ncor
rect
ormi
ssi
ngf
unct
ions
o I
nter
faceer
ror
s
o Er
ror
sindat
ast
ruct
uresorext
ernal
dat
abaseaccess
o Behav
iororper
for
manceer
ror
s
o I
nit
ial
i
zat
ionandt
ermi
nat
ioner
ror
s.
Adv
ant
ages
 Wel
lsui
tedandef
fi
cientf
orl
argecodesegment
s.
 Codeaccessi
snotr
equi
red.
 Cl
ear
lysepar
atesuser
'sper
spect
ivef
rom t
hedev
eloper
'sper
spect
ivet
hrough
v
isi
blydef
inedr
oles.
 Lar
genumber
sofmoder
atel
yski
l
ledt
est
erscant
estt
heappl
i
cat
ionwi
thno
knowl
edgeofi
mpl
ement
ati
on,
progr
ammi
ngl
anguage,
oroper
ati
ngsy
stems.
Di
sadv
ant
ages
 Li
mit
edcov
erage,si
nceonl
yasel
ect
ednumberoft
estscenar
iosi
sact
ual
l
y
per
for
med.
 I
nef
fi
cientt
est
ing,duet
othef
actt
hatt
het
est
eronl
yhasl
i
mit
edknowl
edge
aboutanappl
i
cat
ion.
 Bl
i
ndcov
erage,si
ncet
het
est
ercannott
argetspeci
fi
ccodesegment
sorer
ror
-
pr
onear
eas.
 Thet
estcasesar
edi
ff
icul
ttodesi
gn.

Whi
te-
BoxTest
ing
Whi
te-
boxt
est
ingi
sthedet
ail
edi
nvest
igat
ionofi
nter
nal
logi
candst
ruct
ureoft
hecode.
Whi
te-
boxt
est
ingi
sal
socal
l
edgl
asst
est
ingoropen-
boxt
est
ing.I
nor
dert
oper
for
m
whi
te-
boxt
est
ingonanappl
i
cat
ion,
atest
erneedst
oknowt
hei
nter
nalwor
kingsoft
he
8
code.Thet
est
erneedst
ohav
eal
ooki
nsi
det
hesour
cecodeandf
indoutwhi
ch
uni
t/
chunkoft
hecodei
sbehav
ingi
nappr
opr
iat
ely
.
Adv
ant
ages
 Ast
het
est
erhasknowl
edgeoft
hesour
cecode,
itbecomesv
eryeasyt
ofi
ndout
whi
cht
ypeofdat
acanhel
pint
est
ingt
heappl
i
cat
ionef
fect
ivel
y.
 I
thel
psi
nopt
imi
zi
ngt
hecode.
 Ext
ral
i
nesofcodecanber
emov
edwhi
chcanbr
ingi
nhi
ddendef
ect
s.
 Duet
othet
est
er'
sknowl
edgeaboutt
hecode,maxi
mum cov
eragei
sat
tai
ned
dur
ingt
estscenar
iowr
it
ing.
Di
sadv
ant
ages
 Duet
othef
actt
hataski
l
ledt
est
eri
sneededt
oper
for
m whi
te-
boxt
est
ing,t
he
cost
sar
eincr
eased.
 Somet
imesi
tisi
mpossi
blet
olooki
ntoev
erynookandcor
nert
ofi
ndouthi
dden
er
ror
sthatmaycr
eat
epr
obl
ems,
asmanypat
hswi
l
lgount
est
ed.
 I
tisdi
ff
icul
ttomai
ntai
nwhi
te-
boxt
est
ing,asi
trequi
resspeci
ali
zedt
ool
sli
ke
codeanal
yser
sanddebuggi
ngt
ool
s.
Di
ff
erencebet
weenBl
ackBoxTest
ingandWhi
teBoxTest
ing
Bl
ackBoxTest
ing Whi
teBoxTest
ing
I
n t
his t
est
ing knowl
edge of I
nthi
sfor
m of t
est
ing knowl
edge of
pr
ogr
ammi
ng i
s not necessar
il
y pr
ogr
ammi
ng i
s must means i
t i
s
essent
ial
. essent
ial
.
Nor
mal
l
y i
ndependent sof
twar
e Nor
mal
l
y sof
twar
e dev
eloper
s ar
e
t
est
ersar
eresponsi
blef
ordoi
ngt
his r
esponsi
blef
ordoi
ngt
hist
ypeoft
est
ing.
t
ypeoft
est
ing.
I
nthi
sfor
m oft
est
ingKnowl
edgeof I
nthi
sfor
m oft
est
ing I
mpl
ement
ati
on
i
mpl
ement
ati
oni
snotr
equi
red. knowl
edgei
srequi
red.
I
nthi
stest
ingt
est
ersmayormay Nor
mal
l
ysof
twar
e dev
eloper
s ar
e doi
ng
notbet
echni
cal
l
ysound. t
hewhi
teboxt
est
ingbuti
fiti
sper
for
med
bysof
twar
etest
erst
hant
est
ersshoul
dbe
t
echni
cal
l
ysound.
I
nthi
ssor
toft
est
ingt
est
ersmai
nlyI
nthi
ssor
toft
est
ingdev
eloper
smai
nly
f
ocusesont
hef
unct
ional
i
tyoft
he f
ocuses on t
he st
ruct
ure means
sy
stem. pr
ogr
am/
codeoft
hesy
stem.
9
Thi
stest
ingi
sdonebyt
est
ers. Thi
stest
ingi
smost
lydonebydev
eloper
s.
Thi
sty
peoft
est
ingal
way
sfocuses Thi
sty
pe oft
est
ing al
way
sfocuses on
onwhati
sper
for
ming/car
ri
edout
. howi
tisper
for
ming/car
ri
edout
.
I
nBl
ackBoxTest
ingnoknowl
edge I
nWhi
teBoxTest
ingknowl
edger
egar
ding
r
egar
ding i
nter
nall
ogi
cofcode i
s i
nter
nall
ogi
cofcodei
sneeded means
needed means no need of needofpr
ogr
ammi
ngi
smandat
ory
.
pr
ogr
ammi
ngi
snecessar
y.
Ot
hernamesoft
hist
est
ingi
ncl
ude Ot
hernamesoft
hist
est
ingi
ncl
udemeans
means sy
nony
ms of bl
ack box sy
nony
msofwhi
teboxt
est
ingar
etest
ing
t
est
ing ar
e t
est
ing r
egar
ding r
egar
dingcodemeansSt
ruct
uralt
est
ing,
f
unct
ional
i
ty means Funct
ional Gl
ass-
box/ Cl
ear
-box t
est
ing,Open-
box
t
est
ing, Behav
ior
al t
est
ing, and t
est
ing/ Tr
anspar
ent
-box t
est
ing,Logi
c-
Opaque-
box/Cl
osed-
boxt
est
ingt
hat dr
iven t
est
ing and Pat
h-or
ient
ed t
est
ing
i
sther
easonwhyi
nthi
stest
ingno t
hati
sthe r
eason why i
nthi
stest
ing
knowl
edge of pr
ogr
ammi
ng i
s knowl
edgeofpr
ogr
ammi
ngi
sneeded.
needed.
Bl
ackboxt
est
ingmeansf
unct
ional Whi
teboxt
est
ingmeansst
ruct
uralt
estor
t
estorext
ernal
test
. i
nter
iort
est
.

Debuggi
ng
I
nthecont
extofsof
twar
eengi
neer
ing,debuggi
ngi
sthepr
ocessoff
ixi
ngabugi
nthe
sof
twar
e.I
not
herwor
ds,i
tref
erst
oident
if
ying,anal
yzi
ngandr
emov
inger
ror
s.Thi
s
act
ivi
tybegi
nsaf
tert
hesof
twar
efai
l
stoexecut
epr
oper
lyandconcl
udesbysol
vi
ngt
he
pr
obl
em andsuccessf
ull
ytest
ingt
hesof
twar
e.I
tisconsi
der
edt
obeanext
remel
y
compl
exandt
edi
oust
askbecauseer
ror
sneedt
ober
esol
vedatal
lst
agesofdebuggi
ng.
Debuggi
ng i
sthe pr
ocess off
indi
ng and r
esol
vi
ng def
ect
s orpr
obl
ems wi
thi
na
comput
erpr
ogr
am t
hatpr
eventcor
rectoper
ati
onofcomput
ersof
twar
eorasy
stem.
Needf
orDebuggi
ng
Onceer
ror
sar
eknowndur
ingapr
ogr
am code,i
t’
snecessar
ytoi
nit
ialest
abl
i
sht
he
pr
eci
sepr
ogr
am st
atement
sli
abl
efort
heer
ror
sandsot
orepai
rthem.
Debuggi
ngPr
ocess
Debuggi
ngi
snott
est
ingbutof
tenoccur
sasaconsequenceoft
est
ing.Thedebuggi
ng
pr
ocessbegi
nswi
tht
heexecut
ionofat
estcase.Resul
tsar
eassessedandal
ackof
cor
respondencebet
weenexpect
edandact
ualper
for
mancei
sencount
ered.I
nmany
10
cases,
thenon-
cor
respondi
ngdat
aar
easy
mpt
om ofanunder
lyi
ngcauseasy
ethi
dden.
Thedebuggi
ngpr
ocessat
tempt
stomat
chsy
mpt
om wi
thcause,t
her
ebyl
eadi
ngt
o
er
rorcor
rect
ion.St
epsi
nvol
vedi
ndebuggi
ngar
e:
o Pr
obl
em i
dent
if
icat
ionandr
epor
tpr
epar
ati
on.
o Assi
gni
ngt
her
epor
ttosof
twar
eengi
neert
othedef
ectt
over
if
ythati
tisgenui
ne.
o Def
ectAnal
ysi
susi
ngmodel
i
ng,document
ati
ons,f
indi
ngandt
est
ingcandi
dat
e
f
laws,
etc.
o Def
ectResol
uti
onbymaki
ngr
equi
redchangest
othesy
stem.
o Val
i
dat
ionofcor
rect
ions.

Ther
ear
efourst
epsi
nvol
vedi
ndebuggi
ngpr
ocess
 I
dent
if
y
 I
sol
ate
 Fi
x
 Rev
iew
Debuggi
ngAppr
oaches
Thef
oll
owi
ngar
eanumberofappr
oachespopul
arl
yadopt
edbypr
ogr
ammer
sfor
debuggi
ng
1.Br
uteFor
ceMet
hod
Thi
sist
he f
oremostcommon t
echni
que ofdebuggi
ng howev
eri
sthatt
he l
east
economi
calmet
hod.dur
ingt
hisappr
oach,t
hepr
ogr
am i
sloadedwi
thpr
intst
atement
s
t
opr
intt
hei
nter
medi
atev
alueswi
tht
hehopet
hatanumberoft
hewr
it
tenv
aluescan

11
f
aci
l
itat
etospott
hest
atementi
ner
ror
.Thi
sappr
oachbecomesal
otofsy
stemat
icwi
th
t
heut
il
izat
ionofasy
mbol
i
cpr
ogr
am (
alsoknownasasour
cecodedebugger
),asa
r
esul
tofv
aluesofv
ari
ousv
ari
abl
eswi
l
lbesi
mpl
ycheckedandbr
eakpoi
ntsandwat
ch-
poi
ntscanbeeasi
l
ysett
ocheckt
hev
aluesofv
ari
abl
esef
for
tl
essl
y.
2.Backt
racki
ng
Thi
sisaddi
ti
onal
l
yar
easonabl
ycommonappr
oach.dur
ingt
hisappr
oach,
star
ti
ngf
rom
t
hest
atementatwhi
chaner
rorsy
mpt
om hasbeendi
scov
ered,t
hesour
cecodei
s
der
ivedbackwar
dti
l
ltheer
rori
sdi
scov
ered.sadl
y,becauset
hev
ari
etyofsuppl
yli
nest
o
beder
ivedbackwi
l
lincr
ease,t
hequant
it
yofpot
ent
ialbackwar
dmet
hodswi
l
lincr
ease
andshoul
dbecomeuni
magi
nabl
ylar
gesol
i
mit
ingt
heut
il
izat
ionoft
hisappr
oach.
3.CauseEl
imi
nat
ionMet
hod
I
nthi
sappr
oach,al
i
sti
ngofcausest
hatmaypr
esumabl
yhav
econt
ri
but
edt
otheer
ror
sy
mpt
om i
sdev
elopedandt
est
sar
econduct
edt
oel
i
minat
eev
eryer
ror
.Aconnect
ed
t
echni
queofi
dent
if
icat
ionoft
heer
rorf
rom t
heer
rorsy
mpt
om i
sthatt
hepackagef
aul
t
t
reeanal
ysi
s.
4.Pr
ogr
am Sl
ici
ng
Thi
stechni
quei
sanal
ogoust
obackt
racki
ng.Her
ethesear
chhousei
sreducedby
pr
ocesssl
i
ces.Asl
i
ceofapr
ogr
am f
oraspeci
fi
cvar
iabl
eatapar
ti
cul
arst
atementi
s
t
hatt
hesetofsuppl
yli
nespr
ecedi
ngt
hisst
atementwhi
chwi
l
linf
luencet
hewor
thof
t
hatv
ari
abl
e
Debuggi
ngGui
del
ines
Debuggi
ngi
scommonl
yadmi
nist
rat
edbypr
ogr
ammer
ssuppor
tedt
hei
ringenui
ty.The
subsequentar
esomegener
alt
ipsf
oref
fect
ivedebuggi
ng:
o Manyt
imes,
debuggi
ngneedsani
ntensi
veunder
standi
ngoft
hepr
ogr
am st
yle.
o Debuggi
ngmi
ghtgener
all
yev
enneedaf
ull
planoft
hesy
stem.
o One shoul
d be wat
ched outf
ort
he l
i
kel
i
hood t
hata sl
i
p cor
rect
ion mi
ght
i
ntr
oducenewer
ror
s.

I
ntegr
ati
onTest
ing
I
ntegr
ati
ont
est
ingi
sasy
stemat
ict
echni
quef
orconst
ruct
ingt
hesof
twar
ear
chi
tect
ure
whi
l
eatt
hesamet
imeconduct
ingt
est
stouncov
erer
ror
sassoci
atedwi
thi
nter
faci
ng.
Theobj
ect
ivei
stot
akeuni
t-
test
edcomponent
sandbui
l
dapr
ogr
am st
ruct
uret
hathas
been di
ctat
ed bydesi
gn.I
ntegr
ati
on t
est
ing i
sa pr
ocessoft
est
ing t
he i
nter
face
bet
weent
wosof
twar
euni
tsormodul
es.I
t’
sfocusondet
ermi
ningt
hecor
rect
nessof
12
t
hei
nter
face.Thepur
poseoft
hei
ntegr
ati
ont
est
ingt
oexposef
aul
tsi
ntt
hei
nter
act
ion
bet
weeni
ntegr
ated uni
ts.Onceal
lthemodul
eshav
ebeenuni
ttest
ed,i
ntegr
ati
on
t
est
ingi
sper
for
med.
I
ntegr
ati
ont
estAppr
oaches
Thef
oll
owi
ngar
ethei
ntegr
ati
ont
est
ingappr
oaches:
Bi
g-BangI
ntegr
ati
onTest
ing
I
tist
hesi
mpl
esti
ntegr
ati
ont
est
ingappr
oach,
wher
eal
lthemodul
esar
ecombi
ningand
v
eri
fyi
ngt
hef
unct
ional
i
tyaf
tert
hecompl
eti
onofi
ndi
vi
dualmodul
etest
ing.I
nsi
mpl
e
wor
ds,
allt
hemodul
esoft
hesy
stem ar
esi
mpl
yputt
oget
herandt
est
ed.Thi
sappr
oach
i
s pr
act
icabl
e onl
yforv
erysmal
lsy
stems.I
fonce an er
rori
sfound dur
ing t
he
i
ntegr
ati
ont
est
ing,i
tisv
erydi
ff
icul
ttol
ocal
i
zet
heer
rorast
heer
rormaypot
ent
ial
l
y
bel
ongt
oanyoft
hemodul
esbei
ngi
ntegr
ated.So,
debuggi
nger
ror
srepor
teddur
ingbi
g
bangi
ntegr
ati
ont
est
ingar
ever
yexpensi
vet
ofi
x.
Mi
xedI
ntegr
ati
onTest
ing
A mi
xedi
ntegr
ati
ont
est
ingi
sal
socal
l
edsandwi
chedi
ntegr
ati
ont
est
ing.A mi
xed
i
ntegr
ati
on t
est
ing f
oll
ows a combi
nat
ion of t
op down and bot
tom-
up t
est
ing
appr
oaches.I
ntop-
downappr
oach,t
est
ingcanst
artonl
yaf
tert
het
op-
lev
elmodul
e
hav
ebeencodedanduni
ttest
ed.I
nbot
tom-
upappr
oach,
test
ingcanst
artonl
yaf
tert
he
bot
tom l
evelmodul
esar
eready
.Thi
ssandwi
chormi
xedappr
oachov
ercomest
his
shor
tcomi
ngoft
het
op-
downandbot
tom-
upappr
oaches.Ami
xedi
ntegr
ati
ont
est
ingi
s
al
socal
l
edsandwi
chedi
ntegr
ati
ont
est
ing.
Top-
DownI
ntegr
ati
onTest
ing
Top-
downi
ntegr
ati
ont
est
ingt
echni
queusedi
nor
dert
osi
mul
atet
hebehav
ioroft
he
l
ower
-l
evelmodul
est
hatar
enoty
eti
ntegr
ated.I
nthi
stest
ingt
akespl
acef
rom t
opt
o
bot
tom.Fi
rsthi
gh-
lev
elmodul
esar
etest
edandt
henl
ow-
lev
elmodul
esandf
inal
l
y
i
ntegr
ati
ngt
hel
ow-
lev
elmodul
est
oahi
ghl
evelt
oensur
ethesy
stem i
swor
kingas
i
ntended.
Ther
ear
etwoway
stoi
ntegr
atesi
ntegr
ati
ont
est
ing
1.Dept
hFi
rstI
ntegr
ati
on
2.Br
eadt
hFi
rstI
ntegr
ati
on

13
Bot
tom-
UpI
ntegr
ati
on
Bot
tom-
up i
ntegr
ati
on t
est
ing,each modul
e atl
owerl
evel
sist
est
ed wi
th hi
gher
modul
esunt
ilal
lmodul
esar
etest
ed.Thepr
imar
ypur
poseoft
hisi
ntegr
ati
ont
est
ingi
s
each subsy
stem i
stot
estt
hei
nter
facesamong v
ari
ousmodul
esmaki
ng up t
he
subsy
stem.Thi
sint
egr
ati
ont
est
ingusest
estdr
iver
stodr
iveandpassappr
opr
iat
edat
a
t
othel
ower
-l
evelmodul
es.Abot
tom-
upi
ntegr
ati
onst
rat
egymaybei
mpl
ement
edwi
th
t
hef
oll
owi
ngst
eps:
1.Low-
lev
elcomponent
sar
ecombi
nedi
ntocl
ust
erst
hatper
for
m aspeci
fi
csof
twar
e
sub-
funct
ion.
2.Adr
iveri
swr
it
tent
ocoor
dinat
etestcasei
nputandout
put
.
3.Thecl
ust
eri
stest
ed.
4.Dr
iver
sar
eremov
edandcl
ust
ersar
ecombi
nedmov
ingupwar
dint
hepr
ogr
am
st
ruct
ure.

Ther
ear
etwoway
stot
estbot
tom-
upi
ntegr
ati
ont
est
ing

14
1.Regr
essi
onTest
ing
2.SmokeTest
ing
Regr
essi
onTest
ing:Regr
essi
ont
est
inghel
pst
oensur
ethatchangesdonoti
ntr
oduce
uni
ntended behav
iororaddi
ti
onaler
ror
s.Regr
essi
on t
est
ing may be conduct
ed
manual
l
y, by r
e-execut
ing a subset of al
ltest cases or usi
ng aut
omat
ed
capt
ure/
play
backt
ool
s.Ther
egr
essi
ont
estsui
tecont
ainst
hreedi
ff
erentcl
assesof
t
estcases:
•Ar
epr
esent
ati
vesampl
eoft
est
sthatwi
l
lexer
ciseal
lsof
twar
efunct
ions.
•Addi
ti
onalt
est
sthatf
ocusonsof
twar
efunct
ionst
hatar
eli
kel
ytobeaf
fect
edbyt
he
change.
•Test
sthatf
ocusont
hesof
twar
ecomponent
sthathav
ebeenchanged.
SmokeTest
ing:Smoket
est
ingi
sani
ntegr
ati
ont
est
ingappr
oacht
hati
scommonl
y
usedwhenpr
oductsof
twar
eisdev
eloped.I
tisdesi
gnedasapaci
ngmechani
sm f
or
t
ime-
cri
ti
calpr
oject
s,al
l
owi
ngt
hesof
twar
eteam t
oassesst
hepr
ojectonaf
requent
basi
s.I
nessence,
thesmoket
est
ingappr
oachencompassest
hef
oll
owi
ngact
ivi
ti
es:
1.Sof
twar
ecomponent
sthathav
ebeent
ransl
atedi
ntocodear
eint
egr
atedi
ntoabui
l
d.
2.Aser
iesoft
est
sisdesi
gnedt
oexposeer
ror
sthatwi
l
lkeept
hebui
l
dfr
om pr
oper
ly
per
for
mingi
tsf
unct
ion.
3.Thebui
l
disi
ntegr
atedwi
thot
herbui
l
ds,
andt
heent
ir
epr
oduct(
ini
tscur
rentf
orm)i
s
smoket
est
eddai
l
y.
Smoket
est
ingpr
ovi
desanumberofbenef
it
swheni
tisappl
i
edoncompl
ex,
timecr
it
ical
,
sof
twar
epr
oject
s:
•I
ntegr
ati
onr
iski
smi
nimi
zed.
•Thequal
i
tyoft
heendpr
oducti
simpr
oved.
•Er
rordi
agnosi
sandcor
rect
ionar
esi
mpl
i
fied.
•Pr
ogr
essi
seasi
ert
oassess.

Pr
ogr
am Anal
ysi
sTool
s
Pr
ogr
am Anal
ysi
sTooli
sanaut
omat
edt
oolwhosei
nputi
sthesour
cecodeort
he
execut
abl
ecodeofapr
ogr
am andt
heout
puti
stheobser
vat
ionofchar
act
eri
sti
csoft
he
pr
ogr
am.I
tgi
vesv
ari
ouschar
act
eri
sti
csoft
hepr
ogr
am suchasi
tssi
ze,compl
exi
ty,
adequacyofcomment
ing,adher
ence t
o pr
ogr
ammi
ng st
andar
ds and manyot
her
char
act
eri
sti
cs.
Cl
assi
fi
cat
ionofPr
ogr
am Anal
ysi
sTool
s
15
Pr
ogr
am Anal
ysi
sTool
sar
ecl
assi
fi
edi
ntot
wocat
egor
ies:
1.St
ati
cPr
ogr
am Anal
ysi
sTool
s
St
ati
cPr
ogr
am Anal
ysi
sTooli
ssuch apr
ogr
am anal
ysi
stoolt
hatev
aluat
esand
comput
esv
ari
ouschar
act
eri
sti
csofasof
twar
epr
oductwi
thoutexecut
ingi
t.Nor
mal
l
y,
st
ati
cpr
ogr
am anal
ysi
stool
sanal
yzesomest
ruct
uralr
epr
esent
ati
onofapr
ogr
am t
o
r
eachacer
tai
nanal
yti
calconcl
usi
on.Basi
cal
l
y,somest
ruct
uralpr
oper
ti
esar
eanal
yzed
usi
ngst
ati
cpr
ogr
am anal
ysi
stool
s.Thest
ruct
uralpr
oper
ti
est
hatar
eusual
l
yanal
yzed
ar
e:
o Whet
hert
hecodi
ngst
andar
dshav
ebeenf
ulf
il
ledornot
.
o Somepr
ogr
ammi
nger
ror
ssuchasuni
nit
ial
i
zedv
ari
abl
es.
o Mi
smat
chbet
weenact
ual
andf
ormal
par
amet
ers.
o Var
iabl
est
hatar
edecl
aredbutnev
erused.
2.Dy
nami
cPr
ogr
am Anal
ysi
sTool
s
Dy
nami
cPr
ogr
am Anal
ysi
sTooli
ssucht
ypeofpr
ogr
am anal
ysi
stoolt
hatr
equi
ret
he
pr
ogr
am t
obeexecut
edandi
tsact
ualbehav
iort
obeobser
ved.Ady
nami
cpr
ogr
am
anal
yzerbasi
cal
l
yimpl
ement
sthecode.I
taddsaddi
ti
onalst
atement
sint
hesour
ce
codet
ocol
l
ectt
het
racesofpr
ogr
am execut
ion.Whent
hecodei
sexecut
ed,
ital
l
owsus
t
oobser
vet
hebehav
ioroft
hesof
twar
efordi
ff
erentt
estcases.Oncet
hesof
twar
eis
t
est
edandi
tsbehav
iori
sobser
ved,
thedy
nami
cpr
ogr
am anal
ysi
stoolper
for
msapost
execut
ionanal
ysi
sandpr
oducesr
epor
tswhi
chdescr
ibet
hest
ruct
uralcov
eraget
hat
hasbeenachi
evedbyt
hecompl
etet
est
ingpr
ocessf
ort
hepr
ogr
am.

Sy
stem Test
ing
Sy
stem t
est
ingi
sal
argecomput
er-
basedt
est
ing,act
ual
l
yaser
iesofdi
ff
erentt
est
s
whosepr
imar
ypur
posei
stof
ull
yexer
ciset
hecomput
er-
basedsy
stem.Sy
stem t
est
ing
i
sdef
inedast
est
ingofacompl
eteandf
ulli
ntegr
atedsof
twar
epr
oduct
.Al
thougheach
t
esthasadi
ff
erentpur
pose,
allwor
ktov
eri
fyt
hatsy
stem el
ement
shav
ebeenpr
oper
ly
i
ntegr
atedandper
for
m al
l
ocat
edf
unct
ions.
Ty
pesofSy
stem Test
ing
1Recov
eryTest
ing:Manycomput
er-
basedsy
stemsmustr
ecov
erf
rom f
aul
tsand
r
esumepr
ocessi
ngwi
thl
i
ttl
eornodownt
ime.I
nsomecases,asy
stem mustbef
aul
t
t
oler
ant
;thati
s,pr
ocessi
ngf
aul
tsmustnotcauseov
eral
lsy
stem f
unct
iont
ocease.I
n
ot
hercases,asy
stem f
ail
uremustbecor
rect
edwi
thi
naspeci
fi
edper
iodoft
imeor
sev
ereeconomi
cdamagewi
l
loccur
.Recov
eryt
est
ingi
sasy
stem t
estt
hatf
orcest
he
16
sof
twar
etof
aili
nav
ari
etyofway
sandv
eri
fi
est
hatr
ecov
eryi
spr
oper
lyper
for
med.I
f
r
ecov
eryi
saut
omat
ic(
per
for
medbyt
hesy
stem i
tsel
f)
,re-
ini
ti
ali
zat
ion,checkpoi
nti
ng
mechani
sms,dat
arecov
ery
,and r
est
artar
eev
aluat
ed f
orcor
rect
ness.I
frecov
ery
r
equi
reshumani
nter
vent
ion,t
hemean-
ti
me-
to-
repai
r(MTTR)i
sev
aluat
edt
odet
ermi
ne
whet
heri
tiswi
thi
naccept
abl
eli
mit
s.
2Secur
it
yTest
ing:Anycomput
er-
basedsy
stem t
hatmanagessensi
ti
vei
nfor
mat
ionor
causesact
ionst
hatcani
mpr
oper
lyhar
m(orbenef
it
)indi
vi
dual
sisat
argetf
ori
mpr
oper
ori
l
legalpenet
rat
ion.Penet
rat
ion spansa br
oad r
angeofact
ivi
ti
es:hacker
swho
at
temptt
o penet
rat
e sy
stems f
orspor
t,di
sgr
unt
led empl
oyees who at
temptt
o
penet
rat
eforr
evenge,
dishonesti
ndi
vi
dual
swhoat
temptt
openet
rat
efori
l
li
citper
sonal
gai
n.
Secur
it
ytest
ingat
tempt
stov
eri
fyt
hatpr
otect
ionmechani
smsbui
l
tint
oasy
stem wi
l
l,
i
nfact
,pr
otecti
tfr
om i
mpr
operpenet
rat
ion.Dur
ingsecur
it
ytest
ing,
thet
est
erpl
ayst
he
r
ole(
s)oft
hei
ndi
vi
dualwhodesi
rest
openet
rat
ethesy
stem.Any
thi
nggoes!Thet
est
er
mayat
temptt
oacqui
repasswor
dst
hroughex
ter
nalcl
eri
calmeans;mayat
tackt
he
sy
stem wi
thcust
om sof
twar
edesi
gnedt
obr
eakdownanydef
ensest
hathav
ebeen
const
ruct
ed;mayov
erwhel
m t
he sy
stem,t
her
ebydeny
ing ser
vice t
o ot
her
s;may
pur
posel
ycause sy
stem er
ror
s,hopi
ng t
o penet
rat
e dur
ing r
ecov
ery
;maybr
owse
t
hroughi
nsecur
edat
a,hopi
ngt
ofi
ndt
hekeyt
osy
stem ent
ry.Gi
venenought
imeand
r
esour
ces,goodsecur
it
ytest
ingwi
l
lul
ti
mat
elypenet
rat
easy
stem.Ther
oleoft
he
sy
stem desi
gneri
stomakepenet
rat
ioncostmor
ethant
hev
alueoft
hei
nfor
mat
iont
hat
wi
l
lbeobt
ained.
3 St
ress Test
ing:St
ress t
est
ing execut
es a sy
stem i
n a mannert
hatdemands
r
esour
cesi
nabnor
malquant
it
y,f
requency
,orv
olume.Forexampl
e,(
1)speci
alt
est
s
maybedesi
gnedt
hatgener
atet
eni
nter
rupt
spersecond,whenoneort
woi
sthe
av
erager
ate,(
2)i
nputdat
arat
esmaybei
ncr
easedbyanor
derofmagni
tudet
o
det
ermi
nehow i
nputf
unct
ionswi
l
lrespond,(
3)t
estcasest
hatr
equi
remaxi
mum
memor
yorot
herr
esour
cesar
eexecut
ed,(
4)t
estcasest
hatmaycauset
hrashi
ngi
na
v
irt
ualoper
ati
ngsy
stem ar
edesi
gned,
(5)t
estcasest
hatmaycauseexcessi
vehunt
ing
f
ordi
sk-
resi
dentdat
aar
ecr
eat
ed.Essent
ial
l
y,t
het
est
erat
tempt
stobr
eakt
hepr
ogr
am.
Av
ari
ati
onofst
resst
est
ingi
sat
echni
quecal
l
edsensi
ti
vi
tyt
est
ing.I
nsomesi
tuat
ions
(
themostcommonoccuri
nmat
hemat
icalal
gor
it
hms)
,av
erysmal
lrangeofdat
a
cont
ainedwi
thi
ntheboundsofv
ali
ddat
aforapr
ogr
am maycauseext
remeandev
en

17
er
roneous pr
ocessi
ng or pr
ofound per
for
mance degr
adat
ion.Sensi
ti
vi
tyt
est
ing
at
tempt
stouncov
erdat
acombi
nat
ionswi
thi
nval
i
dinputcl
assest
hatmaycause
i
nst
abi
l
ityori
mpr
operpr
ocessi
ng.
4 Per
for
mance Test
ing:Per
for
mance t
est
ing i
s desi
gned t
otestt
he r
un-
ti
me
per
for
manceofsof
twar
ewi
thi
nthecont
extofani
ntegr
atedsy
stem.Per
for
mance
t
est
ingoccur
sthr
oughoutal
lst
epsi
nthet
est
ingpr
ocess.Ev
enatt
heuni
tlev
el,t
he
per
for
mance ofan i
ndi
vi
dualmodul
e maybe assessed as t
est
s ar
e conduct
ed.
Howev
er,i
tis notunt
ilal
lsy
stem el
ement
s ar
eful
l
yint
egr
ated t
hatt
he t
rue
per
for
manceofasy
stem canbeascer
tai
ned.Per
for
mancet
est
sar
eof
tencoupl
edwi
th
st
resst
est
ingandusual
l
yrequi
rebot
hhar
dwar
eandsof
twar
einst
rument
ati
on.Thati
s,
i
tisof
tennecessar
ytomeasur
eresour
ceut
il
izat
ion(
e.g.
,pr
ocessorcy
cles)i
nan
exact
ingf
ashi
on.
5Depl
oymentTest
ing:I
nmanycases,
sof
twar
emustexecut
eonav
ari
etyofpl
atf
orms
and under mor
ethan one oper
ati
ng sy
stem env
ironment
.Depl
oyment t
est
ing,
somet
imescal
l
edconf
igur
ati
ont
est
ing,exer
cisest
hesof
twar
eineachenv
ironmenti
n
whi
ch i
tist
o oper
ate.I
n addi
ti
on,depl
oymentt
est
ing exami
nes al
linst
all
ati
on
pr
ocedur
esandspeci
ali
zedi
nst
all
ati
onsof
twar
e(e.
g.,“
inst
all
ers”
)thatwi
l
lbeusedby
cust
omer
s,andal
ldocument
ati
ont
hatwi
l
lbeusedt
oint
roducet
hesof
twar
etoend
user
s.

Per
for
manceTest
ing
Per
for
manceTest
ingi
sat
ypeofsof
twar
etest
ingt
hatensur
essof
twar
eappl
i
cat
ionst
o
per
for
m pr
oper
lyundert
hei
rexpect
edwor
kload.I
tisat
est
ingt
echni
quecar
ri
edoutt
o
det
ermi
nesy
stem per
for
mancei
nter
msofsensi
ti
vi
ty,r
eact
ivi
tyandst
abi
l
ityundera
par
ti
cul
arwor
kload.Per
for
manceTest
ingi
sthepr
ocessofanal
yzi
ngt
hequal
i
tyand
capabi
l
ityofapr
oduct
.Iti
sat
est
ingmet
hodper
for
medt
odet
ermi
net
hesy
stem
per
for
mance i
nter
ms ofspeed,r
eli
abi
l
ity and st
abi
l
ity underv
ary
ing wor
kload.
Per
for
mancet
est
ingi
sal
soknownasPer
fTest
ing.
Per
for
manceTest
ingAt
tri
but
es
Speed:I
tdet
ermi
neswhet
hert
hesof
twar
epr
oductr
espondsr
api
dly
.
Scal
abi
li
ty:I
tdet
ermi
nesamountofl
oadt
hesof
twar
epr
oductcanhandl
eatat
ime.
St
abi
li
ty:I
tdet
ermi
neswhet
hert
hesof
twar
epr
oducti
sst
abl
ein caseofv
ary
ing
wor
kloads.
Rel
iabi
li
ty:I
tdet
ermi
neswhet
hert
hesof
twar
epr
oducti
ssecur
eornot
.
18
Obj
ect
iveofPer
for
manceTest
ing
o Theobj
ect
iveofper
for
mancet
est
ingi
stoel
i
minat
eper
for
mancecongest
ion.
o I
tuncov
erswhati
sneededt
obei
mpr
ovedbef
oret
hepr
oducti
slaunchedi
n
mar
ket
.
o Theobj
ect
iveofper
for
mancet
est
ingi
stomakesof
twar
erapi
d.
o Theobj
ect
iveofper
for
mancet
est
ingi
stomakesof
twar
est
abl
eandr
eli
abl
e.

Regr
essi
onTest
ing
Regr
essi
onTest
ingi
sthepr
ocessoft
est
ingt
hemodi
fi
edpar
tsoft
hecodeandt
he
par
tst
hatmi
ghtgetaf
fect
edduet
othemodi
fi
cat
ionst
oensur
ethatnonewer
ror
shav
e
beeni
ntr
oducedi
nthesof
twar
eaf
tert
hemodi
fi
cat
ionshav
ebeenmade.Regr
essi
on
meansr
etur
nofsomet
hingandi
nthesof
twar
efi
eld,
itr
efer
stot
her
etur
nofabug.
Whent
odor
egr
essi
ont
est
ing?
o Whenanewf
unct
ional
i
tyi
saddedt
othesy
stem andt
hecodehasbeenmodi
fi
ed
t
oabsor
bandi
ntegr
atet
hatf
unct
ional
i
tywi
tht
heexi
sti
ngcode.
o Whensomedef
ecthasbeeni
dent
if
iedi
nthesof
twar
eandt
hecodei
sdebugged
t
ofi
xit
.
o Whent
hecodei
smodi
fi
edt
oopt
imi
zei
tswor
king.
Pr
ocessofRegr
essi
ont
est
ing
Fi
rst
ly,whenev
erwemakesomechangest
othesour
cecodef
oranyr
easonsl
i
ke
addi
ngnewf
unct
ional
i
ty,
opt
imi
zat
ion,
etc.t
henourpr
ogr
am whenexecut
edf
ail
sint
he
pr
evi
ousl
ydesi
gnedt
estsui
tef
orobv
iousr
easons.Af
tert
hef
ail
ure,t
hesour
cecodei
s
debuggedi
nor
dert
oident
if
ythebugsi
nthepr
ogr
am.Af
teri
dent
if
icat
ionoft
hebugsi
n
t
hesour
cecode,appr
opr
iat
emodi
fi
cat
ionsar
emade.Thenappr
opr
iat
etestcasesar
e
sel
ect
edf
rom t
heal
readyexi
sti
ngt
estsui
tewhi
chcov
ersal
lthemodi
fi
edandaf
fect
ed
par
tsoft
hesour
cecode.Wecanaddnewt
estcasesi
frequi
red.I
ntheendr
egr
essi
on
t
est
ingi
sper
for
medusi
ngt
hesel
ect
edt
estcases.

19
Whencanweper
for
m Regr
essi
onTest
ing?
 Wedor
egr
essi
ont
est
ingwhenev
ert
hepr
oduct
ioncodei
smodi
fi
ed.
 Wecanper
for
mregr
essi
ont
est
ingi
nthef
oll
owi
ngscenar
io,
thesear
e:
o Whennewf
unct
ional
i
tyaddedt
otheappl
i
cat
ion.
o Whent
her
eisaChangeRequi
rement
.
o Whent
hedef
ectf
ixed.
o Whent
her
eisaper
for
mancei
ssuef
ix.
o Whent
her
eisanenv
ironmentchange.

Test
ingObj
ect
-Or
ient
edPr
ogr
ams
Whenev
erl
arge-
scal
esy
stemsar
edesi
gned,obj
ect
-or
ient
edt
est
ingi
sdoner
athert
han
t
heconv
ent
ionalt
est
ingst
rat
egi
esast
heconcept
sofobj
ect
-or
ient
edpr
ogr
ammi
ngi
s
waydi
ff
erentf
rom t
hatofconv
ent
ional
ones.Thewhol
eobj
ect
-or
ient
edt
est
ingr
evol
ves
ar
oundt
hef
undament
alent
it
yknownas“
class”
.Wi
tht
hehel
pof“
class”concept
,lar
ger
sy
stemscanbedi
vi
dedi
ntosmal
lwel
l
-def
ineduni
tswhi
chmayt
henbei
mpl
ement
ed
separ
atel
y.
Theobj
ect
-or
ient
edt
est
ingcanbecl
assi
fi
edasl
i
keconv
ent
ionalsy
stems.Thesear
e
cal
l
edast
hel
evel
sfort
est
ing.Thel
evel
sofobj
ect
-or
ient
edt
est
ingcanbebr
oadl
y
cl
assi
fi
edi
ntot
hreecat
egor
ies.Thesear
e:
Cl
assTest
ing
Cl
asst
est
ingi
sal
soknownasuni
ttest
ing.I
ncl
asst
est
ing,al
lindi
vi
dualcl
assesar
e
t
est
ed f
orer
ror
s orbugs.Cl
ass t
est
ing ensur
es t
hatt
he at
tri
but
es ofcl
ass ar
e
20
i
mpl
ement
ed as pert
he desi
gn and speci
fi
cat
ions.Al
so,i
tchecks whet
hert
he
i
nter
facesandmet
hodsar
eer
rorf
reeofnot
.
I
nter
-Cl
assTest
ing
I
tisal
socal
l
edasi
ntegr
ati
onorsubsy
stem t
est
ing.I
ntercl
asst
est
ingi
nvol
vest
he
t
est
ingofmodul
esorsub-
syst
emsandt
hei
rcoor
dinat
ionwi
thot
hermodul
es.
Sy
stem Test
ing
I
n sy
stem t
est
ing,t
hesy
stem i
stest
ed aswhol
eand pr
imar
il
yfunct
ionalt
est
ing
t
echni
quesar
eusedt
otestt
hesy
stem.Non-
funct
ionalr
equi
rement
sli
keper
for
mance,
r
eli
abi
l
ity
,usabi
l
ityandt
est
-abi
l
ityar
eal
sot
est
ed
I
nobj
ect
-or
ient
edpr
ogr
ams,cont
rolf
lowi
schar
act
eri
zedbymessagepassi
ngamong
obj
ect
s,and t
hecont
rolf
low swi
tchesf
rom oneobj
ectt
o anot
herbyi
nter
-obj
ect
communi
cat
ion.Consequent
ly,t
her
eisnocont
rolf
low wi
thi
nacl
assl
i
kef
unct
ions.
Thi
slackofsequent
ialcont
rolf
low wi
thi
nacl
assr
equi
resdi
ff
erentappr
oachesf
or
t
est
ing.Fur
ther
mor
e,i
naf
unct
ion,ar
gument
spassedt
othef
unct
ionwi
thgl
obaldat
a
det
ermi
net
hepat
hofexecut
ionwi
thi
nthepr
ocedur
e.But
,inanobj
ect
,thest
ate
associ
atedwi
tht
heobj
ectal
soi
nfl
uencest
hepat
hofexecut
ion,andmet
hodsofa
cl
asscancommuni
cat
eamongt
hemsel
vest
hrought
hisst
atebecauset
hisst
atei
s
per
sist
entacr
ossi
nvocat
ionsofmet
hods.Hence,f
ort
est
ingobj
ect
s,t
hest
ateofan
obj
ecthast
opl
ayani
mpor
tantr
ole.
Techni
quesofobj
ect
-or
ient
edt
est
ing
Thef
oll
owi
ngar
ethet
echni
quesofobj
ect
-or
ient
edt
est
ing:
Faul
tBasedTest
ing:
Thi
sty
peofchecki
ngper
mit
sforcomi
ngupwi
tht
estcasessuppor
tedt
heconsumer
speci
fi
cat
ionort
hecodeorbot
h.I
ttr
iest
oident
if
ypossi
blef
aul
ts(
areasofdesi
gnor
codet
hatmayl
eadt
oer
ror
s.)
.Foral
loft
hesef
aul
ts,
atestcasei
sdev
elopedt
o“f
lush”
t
heer
ror
sout
.Theset
est
sal
sof
orceeacht
imeofcodet
obeexecut
ed.Thi
smet
hodof
t
est
ingdoesnotf
indal
lty
pesofer
ror
s.Howev
er,i
ncor
rectspeci
fi
cat
ionandi
nter
face
er
ror
scanbemi
ssed.Theset
ypesofer
ror
scanbeuncov
eredbyf
unct
iont
est
ingi
nthe
t
radi
ti
onalt
est
ing model
.Int
he obj
ect
-or
ient
ed model
,int
eract
ion er
ror
s can be
uncov
eredbyscenar
io-
basedt
est
ing.Thi
sfor
m ofObj
ector
ient
ed-
test
ingcanonl
ytest
agai
nstt
hecl
i
ent
’sspeci
fi
cat
ions,
soi
nter
faceer
ror
sar
est
il
lmi
ssed.
Cl
assTest
ingBasedonMet
hodTest
ing:
Thi
sappr
oachi
sthesi
mpl
estappr
oacht
otestcl
asses.Eachmet
hodoft
hecl
ass

21
per
for
msawel
l
-def
inedcohesi
vef
unct
ionandcan,t
her
efor
e,ber
elat
edt
ouni
ttest
ing
oft
het
radi
ti
onalt
est
ingt
echni
ques.Ther
efor
e,al
lthemet
hodsofacl
asscanbe
i
nvol
vedatl
eastoncet
otestt
hecl
ass.
Random Test
ing:
I
tissuppor
tedbydev
elopi
ngar
andom t
estsequencet
hatt
ri
est
hemi
nimum v
ari
etyof
oper
ati
onst
ypi
cal
tot
hebehav
ioroft
hecat
egor
ies
Par
ti
ti
onTest
ing:
Thi
smet
hodol
ogycat
egor
izest
hei
nput
sandout
put
sofacat
egor
ysoast
ocheckt
hem
sev
erel
y.Thi
smi
nimi
zest
henumberofcasest
hathav
etobedesi
gned.
Scenar
io-
basedTest
ing:
I
tpr
imar
il
yinv
olv
escapt
uri
ngt
heuseract
ionst
henst
imul
ati
ngt
hem t
osi
mil
aract
ions
t
hroughoutt
het
est
.Theset
est
stendt
osear
chouti
nter
act
ionf
orm ofer
ror
.

22
UNIT-5
Software Reliability

Software Reliability means Operational reliability. It is described as the ability of a system or


component to perform its required functions under static conditions for a specific period.

Software reliability is also defined as the probability that a software system fulfills its assigned task
in a given environment for a predefined number of input cases, assuming that the hardware and the
input are free of error.

Software Reliability is an essential connect of software quality, composed with functionality,


usability, performance, serviceability, capability, installability, maintainability, and documentation.
Software Reliability is hard to achieve because the complexity of software turn to be high. While
any system with a high degree of complexity, containing software, will be hard to reach a certain
level of reliability, system developers tend to push complexity into the software layer, with the
speedy growth of system size and ease of doing so by upgrading the software.

What is Statistical Testing (ST)?

Statistical Testing makes use of statistical methods to determine the reliability of the program.
Statistical testing focuses on how faulty programs can affect its operating conditions.

How to perform ST?

 Software is tested with the test data that statistically models the working environment.
 Failures are collated and analyzed.
 From the computed data, an estimate of program's failure rate is calculated.
 A Statistical method for testing the possible paths is computed by building an algebraic
function.
 Statistical testing is a bootless activity as the intent is NOT to find defects.

Software Quality and Management

Software Quality

Software quality product is defined in term of its fitness of purpose. That is, a quality product does
precisely what the users want it to do. For software products, the fitness of use is generally explained
in terms of satisfaction of the requirements laid down in the SRS document.

The modern view of a quality associated with a software product several quality methods
such as the following:

Portability: A software device is said to be portable, if it can be freely made to work in various
operating system environments, in multiple machines, with other software products, etc.
1
Usability: A software product has better usability if various categories of users can easily invoke
the functions of the product.

Reusability: A software product has excellent reusability if different modules of the product can
quickly be reused to develop new products.

Correctness: A software product is correct if various requirements as specified in the SRS


document have been correctly implemented.

Maintainability: A software product is maintainable if bugs can be easily corrected as and when
they show up, new tasks can be easily added to the product, and the functionalities of the product
can be easily modified, etc.

Software Quality Management System


A quality management system is the principal methods used by organizations to provide that the
products they develop have the desired quality.

A quality system subsists of the following:

Managerial Structure and Individual Responsibilities: A quality system is the responsibility of


the organization as a whole. However, every organization has a sever quality department to perform
various quality system activities. The quality system of an arrangement should have the support of
the top management. Without help for the quality system at a high level in a company, some
members of staff will take the quality system seriously.

Quality System Activities: The quality system activities encompass the following:

Auditing of projects

Review of the quality system

Development of standards, methods, and guidelines, etc.

Production of documents for the top management summarizing the effectiveness of the quality
system in the organization.

ISO 9000
ISO (International Standards Organization) is a group or consortium of 63 countries established to
plan and fosters standardization. ISO declared its 9000 series of standards in 1987. It serves as a
reference for the contract between independent parties. The ISO 9000 standard determines the
guidelines for maintaining a quality system. The ISO standard mainly addresses operational methods
and organizational methods such as responsibilities, reporting, etc. ISO 9000 defines a set of
guidelines for the production process and is not directly concerned about the product itself.

2
Types of ISO 9000 Quality Standards

ISO 9001: This standard applies to the organizations engaged in design, development, production,
and servicing of goods. This is the standard that applies to most software development organizations.
ISO 9002: This standard applies to those organizations which do not design products but are only
involved in the production. Examples of these category industries contain steel and car
manufacturing industries that buy the product and plants designs from external sources and are
engaged in only manufacturing those products. Therefore, ISO 9002 does not apply to software
development organizations.

ISO 9003: This standard applies to organizations that are involved only in the installation and testing
of the products. For example, Gas companies.

Software Engineering Institute Capability Maturity Model (SEICMM)

The Capability Maturity Model (CMM) is a procedure used to develop and refine an organization's
software development process.

The model defines a five-level evolutionary stage of increasingly organized and consistently more
mature processes.

CMM was developed and is promoted by the Software Engineering Institute (SEI), a research and
development center promote by the U.S. Department of Defense (DOD).

Capability Maturity Model is used as a benchmark to measure the maturity of an organization's


software process.

Capability Evaluation: Capability evaluation provides a way to assess the software process
capability of an organization. The results of capability evaluation indicate the likely contractor

3
performance if the contractor is awarded a work. Therefore, the results of the software process
capability assessment can be used to select a contractor.

Software Process Assessment: Software process assessment is used by an organization to improve


its process capability. Thus, this type of evaluation is for purely internal use.

SEI CMM categorized software development industries into the following five maturity levels.

Level 1: Initial

Ad hoc activities characterize a software development organization at this level. Very few or no
processes are described and followed. Since software production processes are not limited, different
engineers follow their process and as a result, development efforts become chaotic. Therefore, it is
also called a chaotic level.

Level 2: Repeatable

At this level, the fundamental project management practices like tracking cost and schedule are
established. Size and cost estimation methods, like function point analysis, COCOMO, etc. are used.

Level 3: Defined

At this level, the methods for both management and development activities are defined and
documented. There is a common organization-wide understanding of operations, roles, and
4
responsibilities. The ways through defined, the process and product qualities are not measured. ISO
9000 goals at achieving this level.

Level 4: Managed

At this level, the focus is on software metrics. Two kinds of metrics are composed.

Product metrics measure the features of the product being developed, such as its size, reliability,
time complexity, understandability, etc.

Process metrics follow the effectiveness of the process being used, such as average defect correction
time, productivity, the average number of defects found per hour inspection, the average number of
failures detected during testing per LOC, etc.

Level 5: Optimizing

At this phase, process and product metrics are collected. Process and product measurement data
are evaluated for continuous process improvement.

Personal Software Process (PSP)


The Personal Software Process (PSP) emphasizes personal measurement of both the work
product that is produced and the resultant quality of the work product. In addition PSP makes the
practitioner responsible for project planning and empowers the practitioner to control the quality of
all software work products that are developed. The PSP model defines five framework activities:

 Planning. This activity isolates requirements and develops both size and resource estimates.
In addition, defects estimate (the number of defects projected for the work) is made. All
metrics are recorded on worksheets or templates. Finally, development tasks are identified
and a project schedule is created.
 High-level design. External specifications for each component to be constructed are
developed and a component design is created. Prototypes are built when uncertainty exists.
All issues are recorded and tracked.
 High-level design review. Formal verification methods are applied to uncover errors in the
design. Metrics are maintained for all important tasks and work results.

 Development. The component-level design is refined and reviewed. Code is generated,


reviewed, compiled, and tested. Metrics are maintained for all important tasks and work
results.
 Postmortem. Using the measures and metrics collected, the effectiveness of the process is
determined. Measures and metrics should provide guidance for modifying the process to
improve its effectiveness.
PSP stresses the need to identify errors early and, just as important, to understand the types of
errors that you are likely to make.

5
Six Sigma

Six Sigma is a highly disciplined process that helps us focus on developing and delivering near-
perfect products and services.

Features of Six Sigma

 Six Sigma's aim is to eliminate waste and inefficiency, thereby increasing customer
satisfaction by delivering what the customer is expecting.
 Six Sigma follows a structured methodology, and has defined roles for the participants.
 Six Sigma is a data driven methodology, and requires accurate data collection for the
processes being analyzed.

 Six Sigma is about putting results on Financial Statements.


 Six Sigma is a business-driven, multi-dimensional structured approach for −
o Improving Processes
o Lowering Defects
o Reducing process variability
o Reducing costs
o Increasing customer satisfaction
o Increased profits

The word Sigma is a statistical term that measures how far a given process deviates from perfection.

The central idea behind Six Sigma: If you can measure how many "defects" you have in a process,
you can systematically figure out how to eliminate them and get as close to "zero defects" as possible
and specifically it means a failure rate of 3.4 parts per million or 99.9997% perfect.

Key Concepts of Six Sigma

At its core, Six Sigma revolves around a few key concepts.

 Critical to Quality − Attributes most important to the customer.


 Defect − Failing to deliver what the customer wants.
 Process Capability − What your process can deliver.
 Variation − What the customer sees and feels.
 Stable Operations − Ensuring consistent, predictable processes to improve what the
customer sees and feels.
 Design for Six Sigma − Designing to meet customer needs and process capability.

Our Customers Feel the Variance, Not the Mean. So Six Sigma focuses first on reducing process
variation and then on improving the process capability.

6
CASE and its Scope

A CASE (Computer power-assisted software package Engineering) tool could be a generic term
accustomed denote any type of machine-driven support for software package engineering. In a very
additional restrictive sense, a CASE tool suggests that any tool accustomed automatize some activity
related to software package development.

Several CASE tools square measure obtainable. A number of these CASE tools assist in part
connected tasks like specification, structured analysis, design, coding, testing, etc.; and other to non-
phase activities like project management and configuration management.

Reasons for using CASE tools:

The primary reasons for employing a CASE tool are:

 To extend productivity
 To assist turn out higher quality code at a lower price

CASE Environment

Although individual CASE tools square measure helpful, the true power of a toolset is often
completed only this set of tools square measure integrated into a typical framework or setting. CASE
tools square measure characterized by the stage or stages of package development life cycle that
they focus on. Since totally different tools covering different stages share common data, it’s needed
that they integrate through some central repository to possess an even read of data related to the
package development artifacts. This central repository is sometimes information lexicon containing
the definition of all composite and elementary data things.

 Through the central repository, all the CASE tools in a very CASE setting share common
data among themselves. therefore a CASE setting facilities the automation of the step-wise
methodologies for package development. A schematic illustration of a CASE setting is
shown in the below diagram:

7
A CASE environment facilitates the automation of the in small stages methodologies for
package development. In distinction to a CASE environment, a programming environment
is an Associate in a Nursing integrated assortment of tools to support solely the cryptography
part of package development.

Software Maintenance

Software maintenance is a part of the Software Development Life Cycle. Its primary goal is to
modify and update software application after delivery to correct errors and to improve performance.
Software is a model of the real world. When the real world changes, the software require alteration
wherever possible.

Software Maintenance is an inclusive activity that includes error corrections, enhancement of


capabilities, deletion of obsolete capabilities, and optimization.

Need for Maintenance

Software Maintenance is needed for:-

 Correct errors
 Change in user requirement with time
 Changing hardware/software requirements
 To improve system efficiency
 To optimize the code to run faster
 To modify the components
 To reduce any unwanted side effects.

8
Thus the maintenance is required to ensure that the system continues to satisfy user requirements.

1. Corrective Maintenance

Corrective maintenance aims to correct any remaining errors regardless of where they may cause
specifications, design, coding, testing, and documentation, etc.

2. Adaptive Maintenance

It contains modifying the software to match changes in the ever-changing environment.

3. Preventive Maintenance

It is the process by which we prevent our system from being obsolete. It involves the concept of
reengineering & reverse engineering in which an old system with old technology is re-engineered
using new technology. This maintenance prevents the system from dying out.

4. Perfective Maintenance

It defines improving processing efficiency or performance or restricting the software to enhance


changeability. This may contain enhancement of existing system functionality, improvement in
computational efficiency, etc.

9
Software Reverse Engineering

Software Reverse Engineering is a process of recovering the design, requirement specifications


and functions of a product from an analysis of its code. It builds a program database and generates
information from this.

The purpose of reverse engineering is to facilitate the maintenance work by improving the
understandability of a system and to produce the necessary documents for a legacy system.

Reverse Engineering Goals:

 Cope with Complexity.


 Recover lost information.
 Detect side effects.
 Synthesise higher abstraction.
 Facilitate Reuse.

Steps of Software Reverse Engineering:

1. Collection Information:
This step focuses on collecting all possible information (i.e., source design documents etc.)
about the software.
2. Examining the information:
The information collected in step-1 as studied so as to get familiar with the system.

10
3. Extracting the structure:
This step concerns with identification of program structure in the form of structure chart
where each node corresponds to some routine.
4. Recording the functionality:
During this step processing details of each module of the structure, charts are recorded
using structured language like decision table, etc.
5. Recording data flow:
From the information exA tracted in step-3 and step-4, set of data flow diagrams are
derived to show the flow of data among the processes.
6. Recording control flow:
High level control structure of the software is recorded.
7. Review extracted design:
Design document extracted is reviewed several times to ensure consistency and
correctness. It also ensures that the design represents the program.
8. Generate documentation:
Finally, in this step, the complete documentation including SRS, design document, history,
overview, etc. are recorded for future use.

Software Maintenance Processes Model

The Reuse-oriented Model

The reuse-oriented model assumes that the existing program components can be reused to perform
maintenance.

It consists of the following steps.

1. Identifying the components of the old system which can be reused


2. Understanding these components
11
3. Modifying the old system components so that they can be used in the new system
4. Integrating the modified components into the new system

Quick-fix Model:

 It is basically an adhoc approach to maintain software.


 It is a fire fighting approach waiting for the problem to accur and then trying to fix it as quick
as possible.
 The main objective of this model is to identify the problem and then fix it as soon as possible.
 In this model, changes are made at code level as early as possible without accepting future
problems.
 This model is an approach to modify the software code without little consideration of its
impact on the overall structure of the software system.
 As a result of this model, the structure of the software degrade rapidly

Advantages:

1. The main advantage is that it performs its work at low cost and very quickly.
2. Sometimes, users don’t wait for the long time. Rather, they require the modified software to
be delivered to them in the least possible time. As a result, the software maintenance team
needs to use a quick-fix model to avoid the time consuming process of Software maintenance
life cycle.
3. This model is also advantageous in situations where the software system is to be maintained
with certain deadlines and limited resources.

Disadvantages:

1. This model is not suitable for large project system.


2. This model is not suitable to fix errors for a longer period, as the structure of the software
system degrade rapidly.

12
Software Maintenance Cost Factors

There are two types of cost factors involved in software maintenance.

These are

 Non-Technical Factors
 Technical Factors

Non-Technical Factors

1. Application Domain

 If the application of the program is defined and well understood, the system requirements
may be definitive and maintenance due to changing needs minimized.
 If the form is entirely new, it is likely that the initial conditions will be modified frequently,
as user gain experience with the system.
2. Staff Stability
 It is simple for the original writer of a program to understand and change an application
rather than some other person who must understand the program by the study of the reports
and code listing.
 If the implementation of a system also maintains that systems, maintenance costs will
reduce.

13
3. Program Lifetime

 Programs become obsolete when the program becomes obsolete, or their original hardware
is replaced, and conversion costs exceed rewriting costs.

4. Dependence on External Environment

 If an application is dependent on its external environment, it must be modified as the


climate changes.

For example:
 Changes in a taxation system might need payroll, accounting, and stock control programs
to be modified.
 Taxation changes are nearly frequent, and maintenance costs for these programs are
associated with the frequency of these changes.

5. Hardware Stability

 If an application is designed to operate on a specific hardware configuration and that


configuration does not changes during the program's lifetime, no maintenance costs due to
hardware changes will be incurred.
 Hardware developments are so increased that this situation is rare.
 The application must be changed to use new hardware that replaces obsolete equipment.

Technical Factors

Technical Factors include the following:

14
Module Independence

It should be possible to change one program unit of a system without affecting any other unit.

Programming Language

Programs written in a high-level programming language are generally easier to understand than
programs written in a low-level language.

Programming Style

The method in which a program is written contributes to its understandability and hence, the ease
with which it can be modified.

Program Validation and Testing

 Generally, more the time and effort are spent on design validation and program testing, the
fewer bugs in the program and, consequently, maintenance costs resulting from bugs
correction are lower.
 Maintenance costs due to bug's correction are governed by the type of fault to be repaired.
 Coding errors are generally relatively cheap to correct, design errors are more expensive as
they may include the rewriting of one or more program units.
 Bugs in the software requirements are usually the most expensive to correct because of the
drastic design which is generally involved.

Documentation

 If a program is supported by clear, complete yet concise documentation, the functions of


understanding the application can be associatively straight-forward.
 Program maintenance costs tends to be less for well-reported systems than for the system
supplied with inadequate or incomplete documentation.

Configuration Management Techniques

 One of the essential costs of maintenance is keeping track of all system documents and
ensuring that these are kept consistent.
 Effective configuration management can help control these costs.

Basic issues in any reuse program

The following are some of the basic issues that must be clearly understood for starting any reuse
program. • Component creation

• Component indexing and storing

• Component search

15
• Component understanding

• Component adaptation

• Repository maintenance

Component creation– For component creation, the reusable components have to be first identified.
Selection of the right kind of components having potential for reuse is important. Domain analysis
is a promising technique which can be used to create reusable components.

Component indexing and storing– Indexing requires classification of the reusable components so
that they can be easily searched when looking for a component for reuse. The components need to
be stored in a Relational Database Management System (RDBMS) or an Object-Oriented Database
System (ODBMS) for efficient access when the number of components becomes large.

Component searching– The programmers need to search for right components matching their
requirements in a database of components. To be able to search components efficiently, the
programmers require a proper method to describe the components that they are looking for.

Component understanding– The programmers need a precise and sufficiently complete


understanding of what the component does to be able to decide whether they can reuse the
component. To facilitate understanding, the components should be well documented and should do
something simple.

Component adaptation– Often, the components may need adaptation before they can be reused,
since a selected component may not exactly fit the problem at hand. However, tinkering with the
code is also not a satisfactory solution because this is very likely to be a source of bugs.

Repository maintenance– A component repository once is created requires continuous


maintenance. New components, as and when created have to be entered into the repository.The faulty
components have to be tracked. Further, when new applications emerge, the older applications
become obsolete. In this case, the obsolete components might have to be removed from the
repository.

Reuse at Organization level

 Reusability should be a standard part in: Specification, design, implementation, test.


 Ideally there is a steady flow of reusable components.
 Extracting reusable knowledge from past projects.
 Development of new systems leads to assortment of products.
 Steps for reusable component creation.
 Assess product’s potential for reuse.
 Refine product for greater reusability.
 Integrate product with reuse repository.
16

You might also like