软件工程导论第5版考试知识点汇集Introduction to software engineering Fifth EditionWord格式.docx
《软件工程导论第5版考试知识点汇集Introduction to software engineering Fifth EditionWord格式.docx》由会员分享,可在线阅读,更多相关《软件工程导论第5版考试知识点汇集Introduction to software engineering Fifth EditionWord格式.docx(7页珍藏版)》请在冰豆网上搜索。
3.2,communicatewithuserstoobtainrequirements:
A,interview,B,datafloworientedtop-downrefinement
C,asimpleapplicationspecificationtechnique;
D,rapidlyprototypingsoftware
3.3,analysismodelingandspecification
Consistof:
(1)Introduction:
writingpurpose,backgrounddescription,terminologydefinitionandreferencematerial,etc..
(2)outliningthemainfunctions,constraints,orspecialneeds.
(3)dataflowdiagramanddatadictionary.
(4)userinterface,hardwareinterfaceandsoftwareinterface.
(5)performancerequirements,attributes,etc..
(6)otherrequirements,suchasdatabase,operationandtroubleshooting,etc..
1)analysismodeling
Model
Anabstractofsomethinginordertounderstandsomething,anunambiguouswrittendescriptionofsomething
Consistingofasetofgraphicalsymbolsandrulesthatorganizethesesymbols.
Modelingmethod
Datamodelentityrelationdiagram;
functionmodeldataflowdiagram;
behaviormodel-statetransitiondiagram
2)softwarerequirementsspecification
Usuallyusenaturallanguage+model,complete,accurateandspecificdescriptionofsystemdatarequirements,functionalrequirements,performancerequirements,reliabilityandavailabilityrequirements,errorhandlingrequirements,interfacerequirements,constraints,andreversedemandwhichmaybeinthefuture.
3.4,entityrelationdiagram(E-Rdiagram)
Thefifthchapter:
overalldesign
5.1designprocess
Systemdesignphase:
determinethespecificimplementationofthesystem;
structuraldesignphase:
determinethestructureofthesoftware
Themaintaskoftheoveralldesignistocompletethedesignofthesoftwarestructure,andtodeterminetherelationshipbetweenthemoduleanditsmodules.
5.2designprinciples
The1.module:
theprogramisdividedintoindependentnamingandindependentaccessmodule,eachmoduletocompleteasubfunctionofthemodulesareintegratedtogethertoformawhole,completefunctionandmeettherequirementsofusers.
2.abstraction:
theessentialnatureofabstracttransactionswithoutconsideringtheirdetailsforthetimebeing.
3.stepbysteprefinement;
4.informationhidingandlocalization;
5.moduleindependence;
5.3heuristicrules:
1.improvethesoftwarestructuretoimprovemoduleindependence
The2.moduleismoderateinscale
3.propercontrolofdepth,width,fanoutandfanin
4,thescopeofthemoduleshouldbewithinthecontroldomain
5,reducethecomplexityoftheinterface
6,singleout,singleentry,avoidcontentcoupling
7,modulefunctionpredictable
Thesixthchapter:
detaileddesign
6.1structureprogramming
Classicaldefinition
The3basiccontrolstructuresareconnectedonlybysequence,selection,andloop,andeachblockhassingleentryandsingleexitcharacteristics
Comprehensivedefinition
AsfewaspossibleGOTOprogrammingmethod.ItisbettertouseGOTOstatementsonlywhenerrorsaredetected,andshouldalwaysuseforwardGOTOstatements
Themaintasksofdetaileddesign?
Writeadetaileddesignspecificationforthesoftware:
(1)determinethealgorithmforeachmodule,selectanappropriatetooltoexpressthealgorithm,andwritethedetailedprocessdescriptionofthemodule
(2)determinethedatastructureusedbyeachmodule
(3)determinethedetailsofthemodulestructure,includinginterfacestothesystemandtheuserinterface,interfacestoothermoduleswithinthesystem,andallthedetailsaboutthemodule'
sinputdata,outputdata,andlocaldata
(4)designasetoftestcasesforeachmoduleinordertotestthemodulecode(i.e.,program)attheencodingstage
Programcontrolstructure:
anyprogramlogiccanberepresentedbythreebasicstructures:
sequential,choiceandloop,andtwoextendedstructures,selectionandloop.
6.2man-machineinterfacedesign
Rationale:
1.systemresponsetime;
2.userassistancefacility
3.errormessageprocessing;
4.commandinteraction
Humancomputerinterfacedesignguide
Generalinteractiveguide
Informationdisplayguide
DataentryGuide
6.3toolsforprocessdesign
1.programflowchart,2.boxdiagram(N-Schart),3.PADdiagram-problemanalysischart4.decisiontable
6.4dataorienteddesignmethods
1.,Jacksondiagram2.,improvedJacksondiagram,3.Jacksonmethod
Theseventhchapter:
Implementation
7.1encoding
Definition:
translatingsoftwaredesignresultsintoprogramswritteninaprogramminglanguage
Generalguidelinesforselectingprogramminglanguages:
?
Systemuserrequirements
Thecompiledprogramthatyoucanuse
Availablesoftwaretools
Engineeringscale?
Programmer'
sknowledge?
Softwareportabilityrequirements?
Applicationareasofsoftware
Codedtasks:
translatetheproceduraldescriptionofamoduleintoasourcelanguage(sourcecode)writteninlanguageusingtheselectedprogramminglanguage.
Codingstyleguidelines.
(1)sourcecode:
includeproperidentifiers,appropriateannotations,reasonablelayoutandclarityofprogramlists;
(2)data:
datastructureordatatypethattheorderofstandardization;
thenameofthevariableasfaraspossible;
oncomplexdatastructurestoillustratetheimplementationmethodofthedatastructureintheprogramdesigninthenotes.
(3)thestatementstructureissimple:
don'
tsavespacewillwritemultiplestatementsonthesameline;
toavoidthecomplicatedconditionsandnonconditiontest;
avoidusingnestedloopsandnestedconditions;
bracketsuseistomakelogicalexpressionsandarithmeticoperationsinordertoclearandintuitiveexpression.
Efficiency:
(4)consideringthetimememoryefficiency,input/outputrunningefficiency;
indealingwiththerelationshipbetweenprogramcorrectness,clarityandefficiencybetweenthefirstfortheprogramrightafterthefast;
firstforclearandfast;
inordertokeeptheprogramsimplefast;
writeclearlyisnotclear"
efficiency"
sacrifice.
7.2softwaretestingfoundation
Thegoalofsoftwaretestingistofindandeliminateasmanybugsaspossibleinthesoftware,andfinallygiveahighqualitysoftwaresystemtotheuser
Softwaretestingcriteria
(1)alltestsshouldbetraceabletouserrequirements
(2)atestplanshouldbeworkedoutbeforethetestbegins
Oncetherequirementsmodelhasbeencompleted,youcanproceedwiththedevelopmentofthetestplan
Afterbuildingthedesignmodel,youcanstartdesigningdetailedtestscenarios
(3)Paretoprinciple:
80%oftheerrorsfoundinthetestarelikelytobecausedby20%ofthemodulesintheprogram.Thequestionishowtofindthesesuspiciousmodulesandtestthemthoroughly
(4)startwith"
smallscale"
testandgraduallycarryoutlarge-scaletest
First,focusontestingasingleprogrammodule,thenfocusontestingtheintegrationmoduleclusterandeventuallylookingforbugsthroughoutthesystem
(5)testcasesshouldbecomposedoftwoparts:
inputdataandexpectedoutputresults,takingintoaccountbothreasonableinputandunreasonableinputdata
(6)exhaustivetestingisoutofthequestion
Exhaustivetestingisthetestofallpossibleexecutionpathsofaprogram
(7)inordertoachievethebesttestresults,thetestworkshouldbeconductedbythirdindependentparties
Softwaretestingmethod
Statictesting:
thebasicfeatureofsoftwareistoanalyze,checkandreviewthesoftware,andnotactuallyrunthesoftwarebeingtested.
Dynamictesting:
byrunningsoftwaretocheckthedynamicbehaviorofsoftwareandthecorrectnessofrunningresults
Softwaretestingprocedure:
1.moduletest,2.subsystemtest,3.systemtest
4.acceptancetest5.paralleloperation
7.3unittest
Unittests:
moduleinterfaces;
localdatastructures;
importantexecutionchannels;
boundaryconditions;
errorhandlingpathways
7.4whiteboxtestingtechnology
Logicalcoverage
Logicalcoverageisthedesignoftestcasesbasedonthelogicalstructureoftheprogram.
Statementcoverage
Decisioncoverage
Conditionalcoverage
Decisionconditioncoverage
Conditionalcombinationcovering
Pathcoverage
7.5blackboxtestingtechnology
1,equivalenceclasspartition
Theinputfieldofaprogram(allpossibleinputdata)isdividedintoseveraldataclasses
2.Boundaryvalueanalysis
3.Errorguessing:
itisalistofpossibleerrorsanderrorsthatmayariseintheprogram,andchoosethetestplanaccordingtothem
7.6debugging
Debuggingistheprocessofremovingerrorsafterthetestfindstheerror
Thefirststep:
determinethelocationoftheerror(95%workload);
Thesecondstep:
correctthemistake.
Debuggingapproach-debuggingstrategy
1.,verydry:
printthecontentsofmemory,fromthesearchforthewrongclues,isthelowestefficiencyprogramdebuggingmethods.
2.backtracking:
startwiththeprocedureoffindingtheproblemandmanuallyt