Software Engineering 9 t t
SolutionsManual t
IAN SOMMERVILLE
t
Thesetsolutionstaretmadetavailabletfortinstructionaltpurposestonly.tNeithertthetauthort
nortthetpublishertwarrantstthetcorrectnesstoftthesetsolutionstnortacceptstanytliabilitytfo
rttheirtuse.tSolutionstmaytonlytbetdistributedttotstudentstandtittistatconditiontoftdistribu
tiontthatttheytaretonlytdistributedtbytaccreditedtinstructorstusingt‘SoftwaretEngineerin
g,t9thedition’tastattextbook.tThetsolutionstmaytbetmadetavailablettotstudentstontatpassw
ord-protectedtintranettbuttmusttnottbetmadetavailabletontatpublicly-
accessibletWWWtserver.
©IantSommervillet2010
,2 SoftwaretEngineeringt9t–tSolutionstManual
©IantSommervillet2010
,SoftwaretEngineeringt9t–tSolutionstManual 3
Preface
Thistsolutionstmanualtistintendedttothelptteacherstoftsoftwaretengineeringtcoursestint
markingthomeworktquestionstfortstudents.tEachtchaptertintthetbookthast10texercisesto
ftdifferentttypes,twhichtyoutmaytsettfortstudentsteithertastistortintatmodifiedtform.tIthav
etsuppliedtanswersttot50%toftthetexercisestintthistmanual.
Thetexercisestfortwhichtanswersthavetnottbeentsuppliedtare,tgenerally,toftoneto
ftthreettypes:
1. Simpletexercisestwhosetanswerstcantbetfoundtintthettexttoftthetchapter.tTheret a
ret typicallyt onet ort twot oft theset questionst int eacht chaptert andt theytaretintende
dttotstimulatetstudentsttotreadtthetchapter.
2. Designtproblemstfortwhichttheretistatrangetoftsolutionstandtyouthavettotusetyou
rtjudgmentttotdecidetiftthetsolutiontistappropriate.tSupplyingtatsolutiontheretwo
uldtimplytthatttheretistonlytonetrighttanswerttotthetquestion.
3. Ethics-
relatedtquestionstastthetaimtoftthesetquestionstisttotencouragetstudentsttotthinkt
abouttthetethicstissuestinvolved.tThetnotiontoftatrighttandtwrongtanswertdoestn
ottapplytintthistcasetastthetstudent’stresponsettotthetquestiontdependstbothtontth
eirtculturaltbackgroundtandtonttheirtparticulartviewstontattopic.tItsuggesttthattth
esetquestionstshouldtbetusedttotstimulatetclasstdiscussionstrathertthantastparttoft
classttests.
Ittistimportanttwhentmarkingtthetstudent’stanswersttotexercisesttotseetthetsuppli
edtsolutionstastatguidetonlytrathertthantatdefinitivetstatementtoftthetonlytpossibletansw
erttotthetquestion.tIttistgenerallytgoodteducationaltpracticettotgivetstudentstcredittfortw
hatttheytknowtandtifttheytproducetcredibletanswerstthattrevealttheythavetthoughttaboutt
thetexercisetandthavetsometknowledgetoftthettopic,tthentthistshouldtbetrewarded.
Thistsolutionstmanualtmaytbetusedtintconjunctiontwithtthetassociatedtquiztboo
k,twhichtliststshorttquestionstandtanswerstforteachtchaptertintthetbook.tThesetcantbetus
edtfortshorttclasstteststtotassesstiftstudentsthavetreadtthetmaterialtortastself-
assessmenttteststwhichtthetstudentstcompletetinttheirtownttime.
IftyoutthinktthattIthavetmadetatmistaketintsometoftthesetanswerst(quitetpossible)
,tpleasetlettmetknow.tIntsometcases,ttheretaretobviouslytseveraltpossibletanswerstandty
outmaytdisagreetwithtmytsolutions.tI’dtbetdelightedttotconsidertincludingtyourtalternat
ivetsolutionstbuttItdotnotthavettimettotengagetintdetailedtemailtdiscussionstabouttthetex
ercisestintthetbook.
IantSommervillet
Januaryt2010
©IantSommervillet2010
, 4 SoftwaretEngineeringt9t–tSolutionstManual
1 Introduction
1.2 Whattistthetmosttimportanttdifferencetbetweentgenerictsoftwaretproducttdev
elopmentt andt customt softwaret development?t Whatt mightt thist meant intpracti
cetfortuserstoftgenerictsoftwaretproducts?
Thetessentialtdifferencetistthattintgenerictsoftwaretproducttdevelopment,tthetspecificat
iontistownedtbytthetproducttdeveloper.tFortcustomtproducttdevelopment,tthetspecificat
iontistownedtandtcontrolledtbytthetcustomer.tThetimplicationstoftthistaretsignificantt–
tthetdevelopertcantquicklytdecidettotchangetthetspecificationtintresponsettot sometexter
naltchanget(e.g.tatcompetingtproduct)tbut,twhentthetcustomertownstthetspecification,tc
hangesthavettotbetnegotiatedtbetweentthetcustomertandtthetdevelopertandtmaythavetco
ntractualtimplications.
Fortuserstoftgenerictproducts,tthistmeansttheythavetnotcontroltovertthetsoftware
tspecificationtsotcannottcontroltthetevolutiontoftthetproduct.tThetdevelopertmaytdecidet
totinclude/excludetfeaturestandtchangetthetusertinterface.tThistcouldthavetimplications
tfortthetuser’stbusinesstprocessestandtaddtextrattrainingtcostst whentnewtversionstoftthet
systemtaretinstalled.tIttalsotmaytlimittthetcustomer’stflexibilityttotchangettheirtowntbus
inesstprocesses.
1.3 Whattaretthetfourtimportanttattributestthattalltprofessionaltsoftwaretshouldtha
ve?tSuggesttfourtothertattributestthattmaytsometimestbetsignificant.
Fourtimportanttattributestaretmaintainability,tdependability,tperformancetandtusabilit
y.tOthertattributestthattmaytbetsignificanttcouldtbetreusabilityt(cantittbetreusedt int other
t applications),t distributabilityt (cant itt bet distributedt overt at networkto ftprocessors),tpor
tabilityt(cantittoperatetontmultipletplatformste.gtlaptoptandtmobiletplatforms)tandtinter
-operabilityt(cantittworktwithtatwidetrangetoftothertsoftwaretsystems).
Decompositionstoftthet4tkeytattributeste.g.tdependabilitytdecomposesttotsecurity,tsafet
y,tavailability,tetc.tistalsotatvalidtanswerttotthistquestion.
©IantSommervillet2010