软件工程复习.docx
《软件工程复习.docx》由会员分享,可在线阅读,更多相关《软件工程复习.docx(16页珍藏版)》请在冰点文库上搜索。
![软件工程复习.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/be7acbbd-14b0-4359-b73f-abef57ac977f/be7acbbd-14b0-4359-b73f-abef57ac977f1.gif)
软件工程复习
《软件工程(双语)》复习范围
1.AbouttheMVC(Model-View-Controller)pattern,whichoneoffollowingstatementsisnotright?
P155
1Separatespresentationandinteractionfromthesystemdata.
2Thesystemisstructuredintothreelogicalcomponentsthatinteractwitheachother.TheModelcomponentmanagesthesystemdataandassociatedoperationsonthatdata..
3TheModelcomponentdefinesandmanageshowthedataispresentedtotheuser..
4TheControllercomponentmanagesuserinteraction(e.g.,keypresses,mouseclicks,etc.)andpassestheseinteractionstotheViewandtheModel..
2.Thestatisticaldatashowthatthedistributionofmaintenanceeffortiscloseto?
P244
1Faultrepair65%,Softwareadaptation18%,Functionadditionormodification17%.
2Faultrepair17%,Softwareadaptation18%,Functionadditionormodification65%.
3Faultrepair17%,Softwareadaptation65%,Functionadditionormodification18%.
4Faultrepair40%,Softwareadaptation40%,Functionadditionormodification20%.
3.WhichstatementisawrongstatementforWaterfallModel?
p32
1Inflexiblepartitioningoftheprojectintodistinctstages
2Thismodelisonlyappropriatewhentherequirementsarepoorlyunderstood
3Thismodelisdifficulttorespondtochangingcustomerrequirements
4Thismodelisappropriatewhentherequirementsarewell-understood.
4.Whichoneoffollowingstatementsisnotinthecompletetestcoverageofaclass?
p211
1Testingalloperationsassociatedwithanobject
2Settingandinterrogatingallobjectattributes
3Exercisingtheobjectinallpossiblestates
4Testingallthepossibleobjects
5.Whenwehavelittleexperiencesaboutaproject,thatistosayweknowlittlerequirementsandarenotfamilywithhowtodevelopit.Whichmodelshouldbeadopted?
8p68
1Formalsystemsdevelopment.
2Waterfallmodel.
3Exploratorydevelopment
4Reuse-orienteddevelopment.
2.CommonlyusedtechniquesofobjectidentificationinOOanalysisanddesigndonotinclude_______:
p183
1Useagrammaticalapproachbasedonanaturallanguagedescriptionofthesystem.
2Basetheidentificationontangiblethingsintheapplicationdomain.
3Useabehavioralapproachandidentifyobjectsbasedonwhatparticipatesinwhatbehavior.
4Usedataflowdiagram..
3.SeveraltechniquesofRequirementsdiscoveryarecoveredinthisbook.Whichoneisnotthecase?
1Model-drivenengineering
2Scenarios
3Interviewing
4Ethnography
4.Whichoneoffollowingstatementsisnotinthecompletetestcoverageofaclass?
1Testingalloperationsassociatedwithanobject
2Settingandinterrogatingallobjectattributes
3Exercisingtheobjectinallpossiblestates
4Testingallthepossibleobjects
5.Softwareisnotjustthebutalsoallassociated.
1programs,documentationandconfigurationdata
2documentation,configurationdata
3programs,configurationdata
4programs,tools
Part2Marktherightstatement√,thewrongstatement×(1*15=15)
1.Inthesoftwarearchitecturedesign,usinglarge-graincomponentsimprovesperformanceandmaintainability.(error.Reducemaintainability/fine-grain)
2.Re-engineeringisenhancingthefunctionalityandperformanceofthesystem.(error)
3.Thegoalofprogramtestingistoshowtheprogramisfreeofdefects.(error.p206)
Testingisintendedtoshowthataprogramdoeswhatitisintendedtodoandtodis-coverprogramdefectsbeforeitisputintouse.
4.Oneofthekeychallengesfacingsoftwareengineeringissoftwareheterogeneity.(p27)
Apartfromthechallengesofheterogeneity,businessandsocialchange,andtrustand
security,identifyotherproblemsandchallengesthatsoftwareengineeringislikelytofacein
the21stcentury(Hint:
thinkabouttheenvironment).
5.Asoftwareprocessmodelisanabstractrepresentationofaprocess.Itpresentsadescriptionofaprocessfromallperspective.(error.p29)
AsIexplainedinChapter1,asoftwareprocessmodelisasimplifiedrepresentation
ofasoftwareprocess.Eachprocessmodelrepresentsaprocessfromaparticularper-spective,andthusprovidesonlypartialinformationaboutthatprocess.
6.Model-drivenengineeringisstillatanearlystageofdevelopment,anditisquiteclearitwillhaveasignificanteffectonsoftwareengineeringpractice.(error)
7.Anarchitecturalpatternisastylizeddescriptionofgooddesignpractice,whichhasbeentriedandtestedindifferentenvironments.(p156)
Youcanthinkofanarchitecturalpatternasastylized,abstractdescriptionofgood
practice,whichhasbeentriedandtestedindifferentsystemsandenvironments.
8.AccordingLehmanandBelady's‘laws’,overaprogram’slifetime,itsrateofdevelopmentisapproximatelyconstantandindependentoftheresourcesdevotedtosystemdevelopment.(p241)
Overaprogram’slifetime,itsrateofdevelopmentisapproximatelyconstant
andindependentoftheresourcesdevotedtosystemdevelopment.
Part3Filltheblankets:
(1*15=15)
1.Riskmanagementisconcernedwithidentifyingriskswhichmayaffecttheproject,theremaybeseveralkindsofrisks,includingtechnologyrisks,peoplerisks,organizationalrisks,toolsrisks.(requirementsrisks)
2.GeneralissuesthataffectmostsoftwareareHeterogeneity,Businessandsocialchange,Securityandtrust.
3.Astructuredsetofactivitiesrequiredtodevelopasoftwaresystem,whicharespecification,development,validation,evolution.
4.Commonactivitiesinobject-orienteddesignprocessesincludeDefinethecontextmodelsofthesystem;Designthesystemarchitecture;Identifytheprincipalsystemobjects;Developdesignmodels;Specifyobjectinterfaces.
5.GenericprocessmodelsareWaterfallmodel,Incrementaldevelopment,Reuse-orientedsoftwareengineering
6.ThestagesofdevelopmenttestingareUnittesting,Componenttesting,Systemtesting.
7.Exploratorydevelopment,Throw-awayprototypingaretwokindmodelsofevolutionarymodel.
8.Accordingtoitsfunction,Requirementcanbeclassifiedasfunctionrequirement,process,integrationunits.
9.SoftwarepricingestimationtechniquesincludeAlgorithmiccostmodelling,ExpertjudgementParkinson'sLaw,Estimationbyanalogy(Pricingtowin)
10.TheattributesofgoodsoftwareareMaintainability,Dependability,Efficiency,Usability.
Part4Answerthefollowingquestionsinbrief.(5*5=25)
1.Whichapproachestoobjectclassidentificationareintroducedinthisbook?
1.Useagrammaticalapproachbasedonanaturallanguagedescriptionofthesystem.;
2.Basetheidentificationontangiblethingsintheapplicationdomain.;
3.Useabehaviouralapproachandidentifyobjectsbasedonwhatparticipatesinwhatbehaviour.;
4.Useascenario-basedanalysis.Theobjects,attributesandmethodsineachscenarioareidentified.
WhatisBetatesting?
Answer:
Areleaseofthesoftwareismadeavailabletouserstoallowthemtoexperimentandto
raiseproblemsthattheydiscoverwiththesystemdevelopers
2.WhatisPathtesting?
Answer:
Theobjectiveofpathtestingistoensurethatthesetoftestcasesissuchthateachpath
throughtheprogramisexecutedatleastonce.
3.Whatisarchitecturalpatterns?
1.Patternsareameansofrepresenting,sharingandreusingknowledge.
2.Anarchitecturalpatternisastylizeddescriptionofgooddesignpractice,whichhasbeentriedandtestedindifferentenvironments.
3.Patternsshouldincludeinformationaboutwhentheyareusefulandwhentheyarenotuseful.
4.Patternsmayberepresentedusingtabularandgraphicaldescriptions.
4.Whysoftwareengineeringisborn?
Answer:
Becauseofsoftwarecrisisinthe1960’s,maincharacteristicsare:
lowqualityofsoftware,highcostsofsoftware,slowdeliveryofsoftware.SoftwareengineeringisfirstproposedataNATOmeetingin1968.
Whatisthedifferencebetweensoftwareengineeringandcomputerscience?
Answer:
Computerscienceisconcernedwiththeoryandfundamentals;
softwareengineeringisconcernedwiththepracticalitiesofdevelopinganddelivering
usefulsoftware.
Pleaseanswerthestagesofwaterfallmodel,anditsadvantagesanddisadvantages.
1.Requirementsanalysisanddefinition
2.Systemandsoftwaredesign
3.Implementationandunittesting
4.Integrationandsystemtesting
5.Operationandmaintenance
5.Whatarethetwotypesofsoftwareprototypingandtheadvantagesanddisadvantagesofsoftwareprototyping?
Answer:
twotypes:
ExploratorydevelopmentandThrow-awayprototyping.
Advantages:
1.Improvedsystemusability
2.Closermatchtothesystemneeded
3.Improveddesignquality
4.Improvedmaintainability
5.Reducedoveralldevelopmenteffort
Disadvantages:
1.Lackofprocessvisibility(过程不可见)
2.Systemsareoftenpoorlystructured(系统结构不好)
3.Specialskills(e.g.inlanguagesforrapidprototyping)mayberequired(需要一些技巧)
6.Whatarethefivetypesofinteractionstylesinuserinterfacedesign?
Answers:
1.Directmanipulation直接操作
2.Menuselection菜单选择
3.Formfill-in表格填写
4.Commandlanguage命令语言
5.Naturallanguage自然语言
7.Pleaseanswerthetwomethodsoftestingandserialstagesoftesting.
Answers:
twotypes:
white-boxtestingandblack-boxtesting.
serialstagesoftesting:
unittesting,integrationtesting.
Part5Solvethefollowingproblems(30)
1.UsingtheUMLgraphicalnotationforobjectclasses,designthefollowingobjectclasses,identifyingattributesandoperations.Useyourownexperiencetodecideontheattributesandoperationsthatshouldbeassociatedwiththeseobjects.
•atelephone
•aprinterforapersonalcomputer
•apersonalstereosystem
•abankaccount
•alibrarycatalogue
2.Designasetoftestdatatoaccomplishthepathtestingaboutthefollowingprogram(F