软件工程导论第5版考试知识点汇集Introduction to software engineering Fifth Edition.docx
《软件工程导论第5版考试知识点汇集Introduction to software engineering Fifth Edition.docx》由会员分享,可在线阅读,更多相关《软件工程导论第5版考试知识点汇集Introduction to software engineering Fifth Edition.docx(7页珍藏版)》请在冰豆网上搜索。
软件工程导论第5版考试知识点汇集IntroductiontosoftwareengineeringFifthEdition
软件工程导论(第5版)考试知识点汇集(Introductiontosoftwareengineering(FifthEdition))
Methods:
thedecompositionofdatafromtoptobottom,whendecomposedintoelementsthatdonotneedtobefurtherdefined,andeachprojectrelatedpersoniswellawareofitsimplications,isthenbrokendown.
2.6cost/benefitanalysiscostestimation:
thecostofsoftwaredevelopmentismainlyhumanconsumption
Cost/benefitanalysismethods:
first,estimatecostsandbenefits;thencomparecostsandbenefitsandjudgewhethertodevelopfromaneconomicperspective.1,thetimevalueofthecurrency;2,theinvestmentrecoveryperiod;3,netincome;4,theinvestmentrecoveryrate.
Thethirdchapter:
requirementanalysis
3.1,thetaskofneedsanalysis
Mission:
accuratelydefinethegoalsofthefuturesystemanddeterminewhatthesystemhastodotomeettheneedsofitsusers.
Requirementscomposition:
businessrequirements,userrequirements,systemrequirements;
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