Solution Manual For Software Engineering: Theory And Practice, 4th Edition

Solution Manual For Software Engineering: Theory And Practice, 4th Edition helps you understand textbook content with detailed solutions and explanations for each problem.

Owen Collins
Contributor
4.3
51
5 months ago
Preview (16 of 54 Pages)
100%
Purchase to unlock

Page 1

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 1 preview image

Loading page image...

..Chapter1:Whysoftwareengineering?1.Thistypeofsituationcouldbeindicativeofacrisisinthattheinadequaciesofsoftwarecontributedtothetragiclossoflife.Thefactthatthepilotreliedcompletelyonthesoftwaretoguidetheplaneturnedauserinterfaceerrorintoasevereaccident.Ingeneral,ofcourse,aviationisbetteroffbecauseofsoftwareengineeringbecausethehighreliabilityofaviationsoftwarehasmadeflyingsaferandmorecost-effective.Thesituationthatcausedtheaccidentisreallyauserinterfaceproblem.Duringdevelopment,moreuserfeedbackcouldhavebeendesignedintothesoftware(sothatthepilotmighthavebeennotifiedthathehadtypedinthecodeforBogota,notCali)andmoreusabilitytestingcouldhavebeendone(sothatthemisunderstandingmighthavesurfacedbeforethesoftwarewasinstalledintheairplane).Theotherissueisthatofsystemboundary.Althoughtheaeronauticalchartsusedbypilotsareoutsidetheboundaryofthecomputersystem,thedevelopersneedtohaveknowledgeofthemandthecodesandabbreviationstheycontain.2.Oneexampleistheprocessingandsynthesisofsensordata.Iflotsofreal-timesensordataareflowingintothesoftwaresystem,thehardpartisgettingthetimingrightsothatanaccuratepictureoftheoverallsystemisobtained.Forinstance,ifthesoftwareiscontrollingtheshapeofthewingofaplane,basedonreal-timesensordataabouttheairspeed,pressure,temperature,etc.,decisionsmustbebasedonup-to-dateinformationfromthesensors,evenwhenflyingthroughrapidlychangingconditions(likeastorm).Theactualpollingofthesensorsiseasy;therelationshipsarehard.Therelationshipsaremorecomplicatedstillwhendealingwithasynchronouschangestothewingshape.3.Errorsaremisunderstandingthatresideinthedeveloper’sthoughtprocesses.Whenthatmisunderstandingleadsthedevelopertowritesomethinginadevelopmentartifact(specification,design,code,testdata,etc.)thatisnotcorrect,thatincorrectinformationiscalledafault.Whenthefaultcausesthesoftwaretobehaveinanincorrectmannerorproduceincorrectresults,thatbehavioriscalledafailure.Anexampleofanerroriswhenadevelopermistakenlybelievesthatthediameterofacircleisthreetimesitsradius.Thiserrorcouldleadtoafaultintherequirementsdocumentifthisdeveloperwritesarequirementthatsaysthatthesystem,whengivenaradiusasinputandacommandtocomputethediameter,shouldreturnthreetimestheradius.Or,theerrorcouldleadtoafaultinthedesignifthedesignforthemoduleforconvertingradiiintodiametersincludesthefaultyformula.Or,iftheformularelatingradiusanddiameterisnotspecifiedineithertherequirementsorthedesign,afaultcouldstillbeintroducedinthecodeifthedeveloperencodeshis/hererroneousunderstandingoftheformula.Ifthefaultisintroducedintherequirementsorthedesignandpropagatestothecode,thenitmaybecomeafailureifthatpartofthecodeisexercisedandconsequentlyproducesawrongoutput.However,ifthetestdatacontainedafaultthatcausedthecodeforcomputingthediameternottobeexecutedduringtest,thenthiswouldallowafailuretooccurduringoperationaluse,whenthatcodeisexercised.4.Acountoffaultsis2misleadingmeasureofproductqualitybecausethereusuallyisnotaone-to-onecorrespondencebetweenfaultsandfailures.Ifmanyfaultsarelocatedincodethatisneverorrarelyexecuted,thentheyareunlikelytoresultinmanyfailures,whichisusuallyamorerelevantmeasureofquality.Ontheotherhand,ifjustonefaultislocatedincodethatisexercisedheavilyinregularuse,itcouldresultinnumerousfailures,andthuslow-qualitysoftware.Furthermore,neitheracountoffaultsnoracountoffailuresgivesanindicationoftheseverityoftheproblems.5.InonesmalldivisionofNASA,agroupofsoftwaredeveloperswhodevelopedsoftwaretosupportsatellitemissionsdecidedtobuildanobject-orientedlibraryofsoftwarecomponents.Itwasestimatedthatsuchalibrarywoulddrasticallyreducedevelopmenttimeinthisdivision,andwouldevenallowthephysicistsandflightdynamicsanalystsinthedivisiontoputtogethertheirownapplicationsratherthanrelyingonsoftwaredeveloperstowritetheprogramstheyneededformissionsupport.Thelibrarywasbuiltusinganarchitecturebasedonmanyyearsofexperienceinthisdomain,usingsoundsoftwareengineeringprinciples,andwastestedextensively.Thecomponentsinthelibrarywereofveryhightechnicalquality.However,thelibrarywasoflimitedvaluetoitsintendedcustomers,thephysicistsandanalysts,becausetherewerenotoolsordocumentationthatfacilitateditsuse.Usersofthelibraryhadtohaveadeepunderstandingnotonlyoftheapplicationdomain,butalsoofobjectorientationandsoftwaredevelopment,aswellasthestructureofthelibraryitself.Thus,thelibrarywasnotthesuccessitwashopedtobe.1

Page 2

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 2 preview image

Loading page image...

DownloadedfromStudyXY.com®+StudyXYSdYe.o>\|iFprE\3SStudyAnythingThisContentHasbeenPostedOnStudyXY.comassupplementarylearningmaterial.StudyXYdoesnotendroseanyuniversity,collegeorpublisher.Allmaterialspostedareundertheliabilityofthecontributors.wv8)www.studyxy.com

Page 3

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 3 preview image

Loading page image...

TheTherac25caseisagoodexampleofthedangersofnarrowingthedefinitionofquality.Thedevelopersofthesoftwarenodoubthadtestedthesoftwareextensivelyandconsideredittobehighquality.However,whatwasrelevantwasthequality(inparticular,thesafety)ofthesystemasawhole:software,hardware,andoperator.BecausetheTherac25developersadoptedsuchanarrowviewofquality,liveswerelost.6.TheadvantagesofusingCOTSsoftwarepackagesincludelowerdevelopmentcosts,andnoresponsibilityformaintenance.Thedisadvantagesincludeunknownreliability,riskofvendordroppingsupportorrefusingtomakeneededchangesordemandingunreasonablepricesforfuturesupport,andthevendor’sclaimsbeingmisleading.Developers,customers,andusersmustanticipatethepossibilityofhavingtoabandontheCOTSproductandhavingtoreplaceitwithlocallywrittencodeoranotherCOTSproduct.Inotherwords,theremustalwaysbeacontingencyplan.7.Ideally,theoriginatorsofthesoftwarethatfailedshouldberesponsiblefortheconsequences.However,itisoftennotpossibletodeterminepreciselywhatpartofasystemcausedafailure,anditisoftenacombinationoffactors,ormisunderstandingsbetweenthedevelopersofthesystemitself,subcontractors,and/orCOTSdevelopers.Onewaytoresolvetheissueistospecifycarefullysuchlegalresponsibilitiesaheadoftimeintheinitialcontracts.Forexample,theleadcompanymightbewillingtotakeonallliabilityforfailureinexchangeforadditionalcostsavingsfromtheCOTSvendororsubcontractor.Inthiscase,ofcourse,thecompanywillwantextensiveevidenceofthequalityofthesoftwareitisbuying.Standardmeasuresofquality(iftheyexisted)wouldbehelpful.Attheveryleast,particulartestscanbespecifiedaheadoftimethatthesoftwaremustpassbeforebeingaccepted.8.Forexample,therulethatadvertisementsforalcoholmaybeshownonlyafter9pmshouldbekeptwithinthesystemboundarysincethecontentandtimeoftheadvertisementarenecessarypiecesofinformationforthesystemtokeeptrackofanywayanditwouldnotbetoodifficultforittocheckforconformancetothisrule.Ontheotherhand,itmaybecometoocomplicatedforthesystemtokeeptrackofthecontentofadvertisementsingeneral.Inthatcase,itcouldnotincludethisconstraintwithinitsboundary.Asimilarargumentcouldbemadefortherulethatifanadvertisementforaclassofproduct(suchasanautomobile)isscheduledforaparticularcommercialbreak,thennootheradvertisementforsomethinginthatclassmaybeshownduringthatbreak.Ifadvertisementcontentinformationcaneasilybetrackedattheproperlevelofdetailtoenforcethisrule,thenitmakessensetokeepitwithinthesystemboundary.Anotherrulestatesthatifanactorisinashow,thenanadvertisementwiththatactormaynotbebroadcastwithin45minutesoftheshow.Inordertoincludethisconstraintwithintheboundariesofthesystem,thesystemwouldhavetokeeptrackofallactorsappearinginallprogramsandalladvertisements.Thisinformationisconsiderableandnototherwiseusefulforthesystemtohandle,soitwouldmakesenseforthisconstrainttobeleftoutsidethesystemboundary.9.Onereasonablewaytoassesstheimpactofafailureishowseverelyitaffectedpeopleandhowmanypeopleitaffected.Itispartofthejobofthemediatoassesstheimpactintermsoftheamountofdamage(i.e.moneyorinjury)andhowmuchofsocietyisaffected(i.e.alltaxpayersortheinvestorsinaparticularbusiness).TheAriane-5incidentinvolvedalargeamountofmoney“owned”bymanypeople(taxpayers).ThefailureofthePanixsystem,presumably,onlyaffecteditsusersandinvestors.Therefore,bythismeasure,theAriane-5incidenthadmoreimpactandthusdeservedwidercoverage.However,ofcourse,therearedeeperissues.Perhapsaparticularincidentthathadlittleimpactitselfmaybeindicativeofproblemsinthesameoranothersystemthatcouldcausemuchbiggerproblemslater.Itmaybeconsideredthejobofthemediatobringthepublic'sattentiontosuchpotentialproblems.Forexample,thePanixfailurecouldprovideanopportunitytoeducatethepublicaboutthepotentialdangersofInternet“invasions.”2

Page 4

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 4 preview image

Loading page image...

Chapter2:Modelingtheprocessandlife-cycle_———1.Determiningtheprocessboundaryissimilartodeterminingasystemboundary.Onemustdecideexactlywhichactivities,inputs,andoutputstheprocessincludes,andwhicharepartofsomeotherprocess.Forexample,inspecifyingasoftwaredevelopmentprocess,onemustdecideifitbeginswithwritingthecontractforthesoftware,orifitassumesthecontractingprocesshasalreadytakenplaceandthecontractisfinished.Also,bothsystemsandprocessmodelscanbedecomposedintosubsystemsandsubprocesses.Bothcanbedecomposedinatleasttwodifferentways.Subsystemsandsubprocessescouldbepartsofthelargersystemorprocesswhich,whenputtogether,constitutethewhole.Or,thearrangementcouldbeinlayers,asinFigure1.10.Bothsystemsandprocessescanbemodeledatdifferentlevelsofdetailandfromdifferentperspectivesinordertounderstandthem,andtodiscovertheirstrengthsandweaknesses.2.Waterfall:Benefits:simple,familiartomostdevelopers,easytounderstandeasytoassociatemeasures,milestones,anddeliverableswiththedifferentstagesDrawbacks:doesnotreflecthowsoftwareisreallydevelopednotapplicableformanytypesofdevelopmentdoesnotreflecttheback-and-forth,iterativenatureofproblemsolvingVmodel:Benefits:betterspellsouttheroleofdifferenttypesoftestinginvolvestheuserintestingDrawbacks:extensivetestingmaynotalwaysbecost-effectivesomeofthesamedrawbacksaswaterfallPrototyping:Benefits:promotesunderstandingofproblembeforetryingtoimplementsolutionreducesriskanduncertaintyinvolvesuserinevaluatinginterfaceDrawbacks:insystemswheretheproblemiswellunderstoodorwheretheuserinterfaceissimpleandstraightforward,theextratimespentinprototypingisnotwarrantedprototypingcanuseupaJotofresources,especiallyiftheprototypefailscompletelyandmustbescrappedOperationalspecification:Benefits:allowsuseranddevelopertoresolverequirementsuncertaintyearlyonDrawbacks:upfrontinvestmentmaynotbewarrantedifproblemiswellunderstoodTransformational:Benefits:eliminateslargestepsoftheprocess,thusreducingcostandopportunityforerrorprovidesautomaticdocumentationDrawbacks:needsaverypreciseformalspecificationIncrementaloriterativedevelopment:Benefits:reducestimetowhencustomerreceivessomeproductcustomertrainingcanbeginearlycreatesmarketsfornewfunctionality3I~StudyXY

Page 5

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 5 preview image

Loading page image...

frequentreleasesallowproblemstobefixedquicklyexpertisecanbeappliedtodifferentreleasesDrawbacks:customermaynotbesatisfiedwithanincompleteproductorwithfrequentchangestosystemproductmayneverbe“complete”problemmaynotbeeasilydecomposablechangesmayhavetobemadetocompletedpartsinordertoworkwithnewpartsSpiral:Benefits:monitorsandcontrolsrisksthroughoutprocesseasilyincorporatesprototypingDrawbacks:alotofoverhead3.Waterfall:re-analyzerequirements,redesign,recode,retestVmodel:sameasWaterfallPrototyping:prototypechangeindesignandcode,iteratingwithcustomerOperationalspecification:re-transformspecificationTransformational:re-dorelevanttransformationsIncrementaloriterativedevelopment:implementchangeinanotherincrementoriterationSpiral:implementanothermini-spiral4.EEEEESORTEERaaanoPNAooNPeoNNoNe4<77yesyesEsSipRavere|4|8Study)

Page 6

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 6 preview image

Loading page image...

5.Thisistheartifactthatrepresentsaclassofsoftwaremodules.Comply7(moduleuser-defined)ETaidentified((state_of{module-spec(module))=|Moduleisidentifiedinexists)thespecificationbut(state_of{module.implementation)=|hasnotbeennonexistent)implementedyet.(state_of{module.test)=untested))initial_implementation((state_of{module.implementation)Modulehasbeen=initial)initiallyimplemented,(state_of(module.test)=untested)|buthashadnotesting.resting(((state_of{module.implementation)|Moduleisbeingtested=initial)orandbugsbeingfixed.(state_of{module.implementation)=revising)(state_ofmodule.test)=partial)complete((state_offmodule.implementation)Moduleiscomplete.=final)(state_of{module.test)=complete))Shwe]Reworier——[——————]Thepartofthespecpertainingtothemodule.6.|“REQUIREME?SseRTABasan[sted|[stan]sheohmBETAEE|oPERMIKSeg|iRrae:5|Study

Page 7

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 7 preview image

Loading page image...

7.Theywouldallbenice,buttheonlyonesthatareessentialarethatthemodelfacilitateshumanunderstandingandcommunicationandthatitsupportsprocessmanagement.Projectsinwhichtheproblemandsolutionarenotwell-understoodneedtohaveasflexibleaprocessaspossible,whichinmostcasesmeansthattheprocessshouldnotbedefinedattoodetailedalevelofgranularity.Inaddition,asfewresourcesaspossibleshouldbetakenbypurelyprocessissuesbecausetheyneedtobedevotedtounderstandingtheproblemandsolution.Therefore,processimprovement,guidance,andenactmentshouldnotbetopprioritiesfortheproject.Ontheotherhand,themodelshouldfacilitatefollowingtheprocesswithaslittleeffortaspossible,soitshouldfacilitateunderstandingandcommunication.Also,suchprojectscaneasilygetoutofcontrol,soprocessmanagementshouldbeimportant.8.Likemanufacturing,thereisaconcerninsoftwaredevelopmentwithassuringthequalityoftheproduct,andmanyresourcesarespentinassessingandimprovingthatquality.Aswell,bothmanufacturingandsoftwaredevelopmentrequirecarefulplanningandmonitoringoftheprocess.However,softwaredevelopmentiscreativeinthesensethatnearlyeveryproblemisnewandrequiresasolutionthatisatleastpartlysomethingthathasneverbeendonebefore.Thereforeimaginationmustbeusedtoenvisionhowandifthesolutionwillwork.9.Theadvantageofadoptingasingleprocessmodelforallsoftwaredevelopmentinanorganizationisthatitstandardizestraining,terminology,thecollectionofprocessmetrics,planning,andestimation.Thisworkswellifalltheorganization’sdevelopmentprojectsareverysimilarinnature.Ifnot,however,adoptingasinglestandardprocessmayunnecessarilyconstrainsomeprojectsfromusingtheprocessthatisbestsuitedtotheproblemandsolution.10.Conformancetoaparticularprocessisoftencheckedwiththeuseofmilestones.Thatis,theprocessisdefinedinsuchawaythattherearetangibleproductsatvariouspointsintheprocesswhoseexistenceindicatesthatparticularprocessstepshavebeencarriedout.Forexample,whenusingthewaterfallprocess,theseintermediateproducts,ormilestones,couldbearequirementsdocument,adesigndocument,thecodeitself,testdocuments,etc.Thetimingoftheseproductswouldindicatewhetherornottheprocesswasbeingfollowedasplanned.Anotherwaytomonitoruseofaprocessisbymeasuringeffort.Developersworkingontheprojectcouldberequiredtoreporttheefforttheyspentondifferentprocessactivities.Bytrackingwheneffortisspentonwhichactivities,progressthroughthestepsoftheprocesscouldbemonitored.11.Boththeincrementalanditerativemodelsprovideagreatdealofflexibilitytoaccommodaterequirementschanges.Theydiffer,however,inwhattypesofrequirementschangestheyhandlebest.Theincrementalmodelisgoodathandlingrequirementschangeswhichaddordeletewholeareasoffunctionalitybecauseeachincrementaddstothesystemintermsoffunctions.So,ifanewfunctionisaddedtotherequirements,itsimplementationcanbeplannedaspartofafutureincrement.Ifafunctionisdeleted,itmaynotevenhavebeenimplementedyet,andcanbedeletedfromtheplanforafutureincrement.Ontheotherhand,theiterativemodelbesthandlesrequirementschangeswhichmodifyfunctionality,ratherthanaddingordeletingit.Initerativedevelopment,everyfunctionisimplementedatthebeginning,butrefinedthroughsuccessiveiterations.Sincemostfunctionsaremodifiedineachiterationanyway,itisusuallynotdifficulttoincorporatemodificationsduetorequirementschanges.12.Themainissueiswhoisresponsibleforthefailureofthesoftware,andforanyreparationsnecessitatedbythatfailure.Ethically,youshouldhavedoneeverythinginyourpowertoensurethatthesoftwarewasdefect-free.Thatwouldincludeperformingcodereviewsbecauseyou,asasoftwaredeveloper,knowthatcodereviewsareavaluabletoolinlocatingsoftwarefaults.Legallyspeaking,however,youwerenotrequiredtoperformcodereviews.Moreover,youmayhavebeenpreventedfromperformingthosecodereviews,eitherbyalackofresourcesprovidedbyAmalgamated,orevenbythetermsofthecontract,whichmayprohibitallprocessactivitiesnotspecificallyprescribed.Inthatcase,Amalgamatedwouldatleastshareresponsibilityforthesoftwarefailure.6 StudyXY

Page 8

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 8 preview image

Loading page image...

Chapter3:Planningandmanagingtheproject1.Activities:Duration(inminutes):A.Chooserecipe30B.Assemblecakeingredients10C.Preparecakepan2D.Preheatoven15E.Mixdryingredients5F.Mixwetingredients10G.Foldwetingredientsintodryingredients3H.Pourbatterintopan1I.Bakecake35J.Assembleicingingredients5K.Mixicing10L.Coolcake30M.Applyicing10ActivityGraph:@)sTART301510®s;110s©3010>FINISHCriticalPath:A-B-F-G-H-I-L-M129minutes7+StudyXxy

Page 9

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 9 preview image

Loading page image...

2.EOIERLEERLRmwfrom..to:EJEEERINENENEIACRLIEALNALIEILNLNEALALNLAERLALIALOLRLIEEALALALIEESLALACRLEENLNLNLELILNENIERCriticalpath:A.B.D_L.J.L20days3.Criticalpath:A.B.C.E.D.I.K.L24days4.Testplanningcantakeplaceinparallelwithrequirements,design,andcodingactivities.Low-leveldesignandcodingondifferentpartsofthesystemcantakeplaceinparallel.Activitygraphsmight8

Page 10

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 10 preview image

Loading page image...

hideinterdependenciesbecauseyoucannotrepresentthefactthattheresultsofaparticularactivitymayrequirere-doingpartofapreviousactivity.Also,acomplexinterdependencybetweentwoactivitiesmaynotrequirethatonebecompletedbeforetheother.Thereareothertypesofinterdependencies,e.g.informationdependencies.5.Addingpersonnelrequiresextratimefortrainingaswellasasuperlinearincreaseincommunicationchannelsandthuscommunicationcosts.Theseaddedcostsmayoutweighthetimesavingsfromhavingextrapeopleworkingontheproject.6.TheHardandestimatewouldbe5.25*(20000)*"=43,062person-months.Ifthesizeestimateis10%toolow,thenitwilltake4,332moreperson-monthstocomplete.Ifweexpressasafraction,ratherthanapercentage,thentherelationshipbetweentheoriginalestimatedsize,S,,andtheactualsize,S,,isSe=S./(1k)andtherelationshipbetweentheoriginalestimate,E,,andtheactualneededtime,E,isE=5255=5.25(S./(1-k)”=(Ik)*52557=(1-R)*E,Ifkis10%(or0.1),thentheaboveformulayields47,395person-months,whichis4,332morethantheoriginalestimate.7.Autilityprogramusuallytakeslongertodevelopthananapplicationsprogrambecausethedeveloperhastotakeintoaccountallofthedifferentenvironmentsinwhichitmightbeused.Forinstance,asortroutinemustbecallablefrommanydifferentotherprograms,andithastoreturnitsoutputinsome“generic”waythatcanbeusedbyanassortmentofothercomponents.Ontheotherhand,anapplicationsprogramisusuallyveryspecific.Ithasamuchnarrowerscope,andthesetofpossiblecallingprogramsismuchsmaller.Itsoutputisusuallytailoredfortheverysmallnumberofotherprogramsthatneedit.Asystemsprogram,beingevenmoregeneralthanautilityprogram,hasalargersetofpossiblecallers,anditmustbeevenmoregeneric.Soitcantakealongertimetospecifythesetofcallingandreceivingprograms,anditislikelytohavealotofcasestohandle,especiallyinitserror-handling.8.Factorstoconsiderinclude:*howlongitwouldtaketobuildin-house;*howsoonthesoftwareisneeded*howmanyprogrammerswouldbeneeded;*whetherornotthetechnicalandmanagerialexpertiseisavailablein-house;*thequalityofthepurchasedsoftware;*maintenancecosts,bothin-houseandthroughthevendorItisgenerallybettertobuildwhentheexpertiseisalreadyavailablein-house,whentheorganizationiswillingandabletotakeonmaintenanceofthesystem,orwhenthereisuncertaintyaboutwhetherornotthepurchasedsoftwarewouldmeetqualityrequirements.Itisgenerallybettertobuywhenthesoftwareisneededsoonerthanitcanbebuiltin-house,orwhenitcanbeboughtmuchmorecheaplythanitcanbebuilt.9.Yesandno.Developmenttime,strictlydefined,maybeshortenedbyaddingmorepeople,butactualprojecttimewouldprobablyincreaseduetoincreasedtraining,communication,andmanagementeffort.Italsodependsagreatdealonwhenintheprojectlifecyclepeopleareadded.Aprojectthatstartsoutwithmorepeoplewillprobablyfinishearlierthanifithadstartedoutwithfewerpeople.However,addingthosepeoplenearertotheendoftheprojectislesslikelytobebeneficial.10.TheBailey&Basilimodelreflectsthefirstfactorthroughthecostfactor“customerinitiatedprogramdesignchanges.”COCOMOStage3addressesthelatterthroughthefactor“personnelcontinuity.”9|StudyXY

Page 11

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 11 preview image

Loading page image...

11.Teamsofthreestudentseachimplementedanautomaticcarwashcontrolsystemin90daysaspartofasoftwareengineeringcourse.Belowaresomeoftherisks,thecorrespondingexposures,andpossiblemitigatingactions.unabletoagreeondesign(:30)(10)=3dayspickonechiefdesignerwhomakesalldecisionsonemembernotworking(.10)(30)=3dayschooseteammembers;appealtoprofessor12.Unitsizeperunittimeisanunsatisfactorymeasureofproductivityforseveralreasons.Unfortunately,itisprettymuchtheonlymeasureavailable.Someofthereasonsitisinadequate:*programmeroutputvarieswidely®sizepertimevariesaccordingtoapplicationlanguage,applicationdomain,difficulty,andnewnessofproblem*amountofreusealsoaffectsproductivity*managementstyleandstructure*programmerstylecanvaryaccordingtothetargetsgiventothem*valuesforsizearenotavailableuntillongafterestimatesareneeded,andsizeestimatescanbeveryinaccurateConsequently,itwouldbeveryhelpfultohaveameasureforproductivitythatovercamealloftheseshortcomings.Furthermore,weneedtounderstandsomeofthesurroundingissues,suchastheeffectofproductivitytargets,managementstyle,andprogrammerexpertiseonproductivity,nomatterhowitismeasured.10|StudyXY

Page 12

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 12 preview image

Loading page image...

Chapter4:CapturingtheRequirements1.Developers,customers,andusersallbearsomeresponsibilityforthesituation,astheyallhadinputintotherequirementsofthesystem.However,thedevelopers(orthedevelopmentorganization)shouldprobablybearmostoftheresponsibilitybecausethey,assoftwareprofessionals,shouldhavetheexpertisetoensurethattherequirementsarecomplete.2.Nosystemcanbebuilttobesafeandreliableinallenvironmentsandunderallconditions.Therefore,weneedtoexplicateanyassumptionswemakeabouttheenvironment,aboutinputvalues,andabouttheorderingofinputs.Suchnon-functionalrequirementsmustexplicitlyspecifyallofthesituationsandconditionsunderwhichthesystemmustnotfail.Thecontextandtheenvironmentinwhichthesystemwillberunningbecomepre-conditionsforstatingandsatisfyingitssafetyandreliabilityrequirements.Forexample,“thesystemmustnotfailcatastrophicallywhentheusersuppliesanon-validnumericalinput.”Ideally,therequirementshouldalsospecifywhatthesystemshoulddoinsuchasituation(e.g.giveameaningfulerrormessagetotheuserandcontinueprocessing).Theproblemwithspecifyingtherequirementto“neverfail”isthatitdoesnotexplicitlystateallofthesituationsinwhichthesystemmustnotfail,thereforeitisnottestableordemonstrable.Confidencethatasystemmeetsthisrequirementcanbebuiltup,however,bytestingunderasmanyconditionsandinasmanydifferentsituationsaspossible,andbysolicitinginputfromusersandotherexpertsaboutthedifferentsituationsthatcouldbetested.3.a)TheclientdaemonmustbeinvisibletotheuserDesignconstraint,referringtodistributedsolutionFunctionalrequirementrelatedtouserinterfaceb)ThesystemshouldprovideautomaticverificationofcorruptedlinksoroutdateddataFunctionalrequirement¢)AninternalnamingconventionshouldensurethatrecordsareuniqueFunctionalrequirementrelatedtodataconstraintsd)CommunicationbetweenthedatabaseandserversshouldbeencryptedQualityrequirementreferringtothesecurityofthesysteme)Relationshipsmayexistbetweentitlegroups[atypeofrecordinthedatabase]Functionalrequirementreferringtodatarelationsf)FilesshouldbeorganizableintogroupsoffiledependenciesFunctionalrequirementrelatedtodataconstraintsg)ThesystemmustinterfacewithanOracledatabaseDesignconstraintreferringtotheinterfacewithothersystemsh)Thesystemmusthandle50,000usersconcurrentlyQualityrequirementreferringtotheperformanceofthesystemItemsdandfmaybeprematuredesigndecisions.Theycouldberewrittenas:d)Internaldatastoresandcommunicationsshouldbesecureagainstillegalaccessesf)DependenciesamonginformationshouldnotbecyclicInaddition,itemsaandcrefertodesignconstructs(e.g.clients,internalnamingconventions).Theserequirementscouldbebetterexpressedbyeliminatingreferencetotheseconstructs:a)Usershouldbelievethatheisinteractingwithacentralizedsystem¢)Allrecordsmustbeunique

Page 13

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 13 preview image

Loading page image...

4.Decisiontable:rr[RI[RITRATRS[RG[RE[RY[RIO][blackswrn[TT]-]-]F]F[-]-][blackhasalegalmoveavailable|T|F|-|-|-[-|-|-|[redhasalegalmoveavailable[|-|-|-|-[TF[-]-]blackmarkerreachesredsideoftheTboardredmarkerreachesredsideofthe------T-board[black'swmover|[XTPTTTT[redswmover[||||[xX[[||redmakesamoveX[blackmakesamove[x[||[|[||[blackmarkerisking'ed[|Ix]||[||[redmarkerisking'ed|[|||[|X]|[gameoversblackwins[||Ix|[||gameover;redwinsX5.Thespecificationiscontradictoryiftherearetwocolumnswhichspecifythesamecondition(samesetoftruthvalues)butdifferentactions.Thespecificationisambiguousorincompleteiftherearesomeconditionsforwhichthereisnocolumn(i.e.nospecifiedaction).6.b-dac<0b-dac=05-dac>0-b—b++b*—dacquadratic_real_roots(a,b,c)=XX2awm

Page 14

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 14 preview image

Loading page image...

7.Astate-machinespecificationtoillustratetherequirementsofanautomaticbankingmachine(ABM).acceptancecardPINfrombankwithdraw(amount)CONSSONlaNNlaBYIeIaIYI'sIYidlewaitforPINauthenticategetuserrequest|checkbalance\JNJ\AENJoJSE\yamoneyAcardreturnedbalance>=amount]~4RY~~processrequest|_"7do/number_ofbills:=amount20Lexitmoney:=number_of_billsX20|SEANote:Thisstatemachineshowsonlytheoperationofwithdrawingcash.Otheroperationscanbemodeledinasimilarway.8.Astate-machinefortheABMincludingatrapstate.sessionpianyinput/JES_outofbillscancel/sessionterminatedtrap<insufficientENcardreturned/“cardreturned\)funds\noPNnouserh\7imeouy~~P29PNIrequestANjdy,(imeout)\/acceptance/lcdPINfrombankwithdraw(amoun)~~v£-L-Bl4,v4NoBY~—_—idlewaitforPINauthenticategetuserrequestcheckbalance\“money//“\_|“cardreturnedbalance>=amount]/~processrequestyddo/number_ofbills:=amount/20.exitmoney:=number_of_billsX20|StudyXY

Page 15

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 15 preview image

Loading page image...

9.Safetyproperties:eTheamountofmoneyreturnedbytheABMisnevermorethantheamountrequestedbytheclientinthewithdrawal.[1(money=(money<amount)eTheamountofmoneyreturnedbytheABMisnevermorethantheclient’sbalance.[J(money=(money<balance))Livenessproperties:eWhenanauthenticatedclientspecifiestheamountofmoneytowithdraw,andtheclienthassufficientfundsinhisaccount,andtheABMhassufficientfundstodispense,theABMdispensestherequestedamountofmoney[J(processreqAamount<balanceAamount£ABMfunds)=O(money=amount))eWhentheclientterminatesthesessionpressingthecancelbutton,theABMreturnshiscard[J((sessionAcancel)=Ocardreturned)10.Proof1:TheamountofmoneyreturnedbytheABMisnevermorethantheamountrequestedbytheclientinthewithdrawal.PROOFRATIONALa.moneygiveninformulab.ABMdispenses$20billsassumptionc.number_ofbills=amount/20actioninstateprocessrequest,ad.ABMhassufficientcashassumptione.money=number_of_billsx20actioninstateprocessrequest,¢f.money=(amount/20)x20substitutionbindg.money<=amountnumber_ofbillsisintegerpartofamount/20AssumptionsabouttheenvironmentABMdispenses$20billsABMhassufficientcashStudyXY

Page 16

Solution Manual For Software Engineering: Theory And Practice, 4th Edition - Page 16 preview image

Loading page image...

Proof2:TheamountofmoneyreturnedbytheABMisnevermorethantheclient’sbalance:PROOFRATIONALa.moneygiveninformulab.ABMdispenses$20billsassumptionc.number_ofbills=amount/20actioninstateprocessrequest,ad.money<=number_of_billsx20actioninstateprocessrequeste.money<=(amount/20)x20substitutionofbin¢f.amount<=balanceguardonenteringstateprocessrequestg.money<=balancetransitivityof<=AssumptionsabouttheenvironmentABMdispenses$20billsProof3:PROOFRATIONALa.instateprocessrequestgiveninformulab.number_ofbills=amount/20actioninstateprocessrequestc.amount=(amount/20)x20assumptiond.ABMhassufficientcashgiveninformulae.money=number_of_billsx20actioninstateprocessrequest,¢f.money=amountsubstitutionofa,bintodg.O(money=amount)noguardontransitionleavingstateprocessrequestAssumptionsabouttheenvironmentAmountrequestisdivisibleby20Proof4:PROOFRATIONALa.sessiongiveninformulab.cancel=O(cardreturned)guardandactionontransitionleavingc.amount=(amount/20)x20statesession11.Somefactorstoconsiderinthisdecisionare*Whowillbebuildingtheprototype?Iftheyhaveagoodunderstandingoftherequirements,thentheycouldwritetherequirementsaftertheprototypehasbeenevaluated.Otherwise,theywillneedsomeguidanceordocumentation,andadraftoftherequirementsshouldbewrittenbysomeoneelsesothattheprototypebuilderscanusethem.|StudyXY
Preview Mode

This document has 54 pages. Sign in to access the full document!

Study Now!

XY-Copilot AI
Unlimited Access
Secure Payment
Instant Access
24/7 Support
Document Chat

Document Details

Related Documents

View all