軟件體系結(jié)構(gòu)試題_第1頁
軟件體系結(jié)構(gòu)試題_第2頁
軟件體系結(jié)構(gòu)試題_第3頁
軟件體系結(jié)構(gòu)試題_第4頁
軟件體系結(jié)構(gòu)試題_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Explainindetailthearchitecturebusinesscycleandalltheactivitiesinvolvedandtherelationshipbetweenthem.

Softwareprocessisthetermgiventotheorganization,ritualization,andmanagementofsoftwaredevelopmentactivities.Whatactivitiesareinvolvedincreatingasoftwarearchitecture,usingthatarchitecturetorealizeadesign,andthenimplementingormanagingtheevolutionofatargetsystemorapplication?Theseactivitiesincludethefollowing:CreatingthebusinesscaseforthesystemUnderstandingtherequirementsCreatingorselectingthearchitectureDocumentingandcommunicatingthearchitectureAnalyzingorevaluatingthearchitectureImplementingthesystembasedonthearchitectureEnsuringthattheimplementationconformstothearchitectureARCHITECTUREACTIVITIESAsindicatedinthestructureoftheABC,architectureactivitieshavecomprehensivefeedbackrelationshipswitheachother.Wewillbrieflyintroduceeachactivityinthefollowingsubsections.CreatingtheBusinessCasefortheSystemCreatingabusinesscaseisbroaderthansimplyassessingthemarketneedforasystem.Itisanimportantstepincreatingandconstraininganyfuturerequirements.Howmuchshouldtheproductcost?Whatisitstargetedmarket?Whatisitstargetedtimetomarket?Willitneedtointerfacewithothersystems?Aretheresystemlimitationsthatitmustworkwithin?Theseareallquestionsthatmustinvolvethesystem'sarchitects.Theycannotbedecidedsolelybyanarchitect,butifanarchitectisnotconsultedinthecreationofthebusinesscase,itmaybeimpossibletoachievethebusinessgoals.UnderstandingtheRequirementsThereareavarietyoftechniquesforelicitingrequirementsfromthestakeholders.Forexample,object-orientedanalysisusesscenarios,or"usecases"toembodyrequirements.Safety-criticalsystemsusemorerigorousapproaches,suchasfinite-state-machinemodelsorformalspecificationlanguages.InChapter4(UnderstandingQualityAttributes),weintroduceacollectionofqualityattributescenariosthatsupportthecaptureofqualityrequirementsforasystem.Onefundamentaldecisionwithrespecttothesystembeingbuiltistheextenttowhichitisavariationonothersystemsthathavebeenconstructed.Sinceitisararesystemthesedaysthatisnotsimilartoothersystems,requirementselicitationtechniquesextensivelyinvolveunderstandingthesepriorsystems'characteristics.WediscussthearchitecturalimplicationsofproductlinesinChapter14(SoftwareProductLines:Re-usingArchitecturalAssets).Anothertechniquethathelpsusunderstandrequirementsisthecreationofprototypes.Prototypesmayhelptomodeldesiredbehavior,designtheuserinterface,oranalyzeresourceutilization.Thishelpstomakethesystem"real"intheeyesofitsstakeholdersandcanquicklycatalyzedecisionsonthesystem'sdesignandthedesignofitsuserinterface.Regardlessofthetechniqueusedtoelicittherequirements,thedesiredqualitiesofthesystemtobeconstructeddeterminetheshapeofitsarchitecture.Specifictacticshavelongbeenusedbyarchitectstoachieveparticularqualityattributes.WediscussmanyofthesetacticsinChapter5(AchievingQualities).Anarchitecturaldesignembodiesmanytradeoffs,andnotallofthesetradeoffsareapparentwhenspecifyingrequirements.Itisnotuntilthearchitectureiscreatedthatsometradeoffsamongrequirementsbecomeapparentandforceadecisiononrequirementpriorities.CreatingorSelectingtheArchitectureInthelandmarkbookTheMythicalMan-Month,FredBrooksarguesforcefullyandeloquentlythatconceptualintegrityisthekeytosoundsystemdesignandthatconceptualintegritycanonlybehadbyasmallnumberofmindscomingtogethertodesignthesystem'sarchitecture.Chapters5(AchievingQualities)and7(DesigningtheArchitecture)showhowtocreateanarchitecturetoachieveitsbehavioralandqualityrequirements.CommunicatingtheArchitectureForthearchitecturetobeeffectiveasthebackboneoftheproject'sdesign,itmustbecommunicatedclearlyandunambiguouslytoallofthestakeholders.Developersmustunderstandtheworkassignmentsitrequiresofthem,testersmustunderstandthetaskstructureitimposesonthem,managementmustunderstandtheschedulingimplicationsitsuggests,andsoforth.Towardthisend,thearchitecture'sdocumentationshouldbeinformative,unambiguous,andreadablebymanypeoplewithvariedbackgrounds.WediscussthedocumentationofarchitecturesinChapter9(DocumentingSoftwareArchitectures).AnalyzingorEvaluatingtheArchitectureInanydesignprocesstherewillbemultiplecandidatedesignsconsidered.Somewillberejectedimmediately.Otherswillcontendforprimacy.Choosingamongthesecompetingdesignsinarationalwayisoneofthearchitect'sgreatestchallenges.ThechaptersinPartThree(AnalyzinganArchitecture)describemethodsformakingsuchchoices.Evaluatinganarchitectureforthequalitiesthatitsupportsisessentialtoensuringthatthesystemconstructedfromthatarchitecturesatisfiesitsstakeholders'needs.Becomingmorewidespreadareanalysistechniquestoevaluatethequalityattributesthatanarchitectureimpartstoasystem.Scenario-basedtechniquesprovideoneofthemostgeneralandeffectiveapproachesforevaluatinganarchitecture.ThemostmaturemethodologicalapproachisfoundintheArchitectureTradeoffAnalysisMethod(ATAM)ofChapter11,whiletheCostBenefitAnalysisMethod(CBAM)ofChapter12providesthecriticallinktotheeconomicimplicationsofarchitecturaldecisions.ImplementingBasedontheArchitectureThisactivityisconcernedwithkeepingthedevelopersfaithfultothestructuresandinteractionprotocolsconstrainedbythearchitecture.Havinganexplicitandwell-communicatedarchitectureisthefirststeptowardensuringarchitecturalconformance.Havinganenvironmentorinfrastructurethatactivelyassistsdevelopersincreatingandmaintainingthearchitecture(asopposedtojustthecode)isbetter.EnsuringConformancetoanArchitectureFinally,whenanarchitectureiscreatedandused,itgoesintoamaintenancephase.Constantvigilanceisrequiredtoensurethattheactualarchitectureanditsrepresentationremainfaithfultoeachotherduringthisphase.Althoughworkinthisareaiscomparativelyimmature,therehasbeenintenseactivityinrecentyears.Chapter10(ReconstructingSoftwareArchitectures)willpresentthecurrentstateofrecoveringanarchitecturefromanexistingsystemandensuringthatitconformstothespecifiedarchitecture.2.Whatmakeasoftwarearchitecture“good”whataresomeofthingsyoucanlookfortodeterminewhetherornotanarchitectureisgood.

Wedivideourobservationsintotwoclusters:processrecommendationsandproduct(orstructural)recommendations.Ourprocessrecommendationsareasfollows:Thearchitectureshouldbetheproductofasinglearchitectorasmallgroupofarchitectswithanidentifiedleader.Thearchitect(orarchitectureteam)shouldhavethefunctionalrequirementsforthesystemandanarticulated,prioritizedlistofqualityattributes(suchassecurityormodifiability)thatthearchitectureisexpectedtosatisfy.Thearchitectureshouldbewelldocumented,withatleastonestaticviewandonedynamicview(explainedinChapter2),usinganagreed-onnotationthatallstakeholderscanunderstandwithaminimumofeffort.Thearchitectureshouldbecirculatedtothesystem'sstakeholders,whoshouldbeactivelyinvolvedinitsreview.Thearchitectureshouldbeanalyzedforapplicablequantitativemeasures(suchasmaximumthroughput)andformallyevaluatedforqualityattributesbeforeitistoolatetomakechangestoit.Thearchitectureshouldlenditselftoincrementalimplementationviathecreationofa"skeletal"systeminwhichthecommunicationpathsareexercisedbutwhichatfirsthasminimalfunctionality.Thisskeletalsystemcanthenbeusedto"grow"thesystemincrementally,easingtheintegrationandtestingefforts(seeChapter7,Section7.4).Thearchitectureshouldresultinaspecific(andsmall)setofresourcecontentionareas,theresolutionofwhichisclearlyspecified,circulated,andmaintained.Forexample,ifnetworkutilizationisanareaofconcern,thearchitectshouldproduce(andenforce)foreachdevelopmentteamguidelinesthatwillresultinaminimumofnetworktraffic.Ifperformanceisaconcern,thearchitectsshouldproduce(andenforce)timebudgetsforthemajorthreads.Ourstructuralrulesofthumbareasfollows:Thearchitectureshouldfeaturewell-definedmoduleswhosefunctionalresponsibilitiesareallocatedontheprinciplesofinformationhidingandseparationofconcerns.Theinformation-hidingmodulesshouldincludethosethatencapsulateidiosyncrasiesofthecomputinginfrastructure,thusinsulatingthebulkofthesoftwarefromchangeshouldtheinfrastructurechange.Eachmoduleshouldhaveawell-definedinterfacethatencapsulatesor"hides"changeableaspects(suchasimplementationstrategiesanddatastructurechoices)fromothersoftwarethatusesitsfacilities.Theseinterfacesshouldallowtheirrespectivedevelopmentteamstoworklargelyindependentlyofeachother.Qualityattributesshouldbeachievedusingwell-knownarchitecturaltacticsspecifictoeachattribute,asdescribedinChapter5(AchievingQualities).Thearchitectureshouldneverdependonaparticularversionofacommercialproductortool.Ifitdependsuponaparticularcommercialproduct,itshouldbestructuredsuchthatchangingtoadifferentproductisstraightforwardandinexpensive.Modulesthatproducedatashouldbeseparatefrommodulesthatconsumedata.Thistendstoincreasemodifiabilitybecausechangesareoftenconfinedtoeithertheproductionortheconsumptionsideofdata.Ifnewdataisadded,bothsideswillhavetochange,buttheseparationallowsforastaged(incremental)upgrade.Forparallel-processingsystems,thearchitectureshouldfeaturewell-definedprocessesortasksthatdonotnecessarilymirrorthemoduledecompositionstructure.Thatis,processesmaythreadthroughmorethanonemodule;amodulemayincludeproceduresthatareinvokedaspartofmorethanoneprocess(theA-7EcasestudyofChapter3isanexampleofemployingthisprinciple).Everytaskorprocessshouldbewrittensothatitsassignmenttoaspecificprocessorcanbeeasilychanged,perhapsevenatruntime.Thearchitectureshouldfeatureasmallnumberofsimpleinteractionpatterns(seeChapter5).Thatis,thesystemshoulddothesamethingsinthesamewaythroughout.Thiswillaidinunderstandability,reducedevelopmenttime,increasereliability,andenhancemodifiability.Itwillalsoshowconceptualintegrityinthearchitecture,which,whilenotmeasurable,leadstosmoothdevelopment.3.Youareanarchitectforabankwhatthetacticsandpatternsyoucanusetoimplementsecurityqualityattribute?

Tacticsforachievingsecuritycanbedividedintothoseconcernedwithresistingattacks,thoseconcernedwithdetectingattacks,andthoseconcernedwithrecoveringfromattacks.4.Explaintheconceptofwhole-partandinwhichsituationsandhowisitusefulforsoftwarearchitects?

Aqualityattributescenarioisaquality-attribute-specificrequirement.Itconsistsofsixparts.Sourceofstimulus.Thisissomeentity(ahuman,acomputersystem,oranyotheractuator)thatgeneratedthestimulus.Stimulus.Thestimulusisaconditionthatneedstobeconsideredwhenitarrivesatasystem.Environment.Thestimulusoccurswithincertainconditions.Thesystemmaybeinanoverloadconditionormayberunningwhenthestimulusoccurs,orsomeotherconditionmaybetrue.Artifact.Someartifactisstimulated.Thismaybethewholesystemorsomepiecesofit.Response.Theresponseistheactivityundertakenafterthearrivalofthestimulus.Responsemeasure.Whentheresponseoccurs,itshouldbemeasurableinsomefashionsothattherequirementcanbetested.5.Whatarethestepsrequiredforeffectivesoftwarereconstruction?Softwarearchitecturereconstructioncomprisesthefollowingactivities,carriedoutiteratively:Informationextraction.Thepurposeofthisactivityistoextractinformationfromvarioussources.Databaseconstruction.DatabaseconstructioninvolvesconvertingthisinformationintoastandardformsuchastheRigiStandardForm(atuple-baseddataformatintheformofrelationship<entity1><entity2>)andanSQL-baseddatabaseformatfromwhichthedatabaseiscreated.Viewfusion.Viewfusioncombinesinformationinthedatabasetoproduceacoherentviewofthearchitecture.Reconstruction.Thereconstructionactivityiswherethemainworkofbuildingabstractionsandvariousrepresentationsofthedatatogenerateanarchitecturerepresentationtakesplace.GUIDELINESThefollowingaresomepracticalconsiderationsinapplyingthisstepofthemethod.Usethe"leasteffort"extraction.Considerwhatinformationyouneedtoextractfromasourcecorpus.Isthisinformationlexicalinnature?Doesitrequirethecomprehensionofcomplexsyntacticstructures?Doesitrequiresomesemanticanalysis?Ineachcase,adifferenttoolcouldbeappliedsuccessfully.Ingeneral,lexicalapproachesarethecheapesttouse,andtheyshouldbeconsideredifyourreconstructiongoalsaresimple.Validatetheinformationyouhaveextracted.Beforestartingtofuseormanipulatethevariousviewsobtained,makesurethatthecorrectviewinformationhasbeencaptured.Itisimportantthatthetoolsbeingusedtoanalyzethesourceartifactsdotheirjobcorrectly.Firstperformdetailedmanualexaminationandverificationofasubsetoftheelementsandrelationsagainsttheunderlyingsourcecode,toestablishthatthecorrectinformationisbeingcaptured.Thepreciseamountofinformationthatneedstobeverifiedmanuallyisuptoyou.Assumingthatthisisastatisticalsampling,youcandecideonadesiredconfidencelevelandchoosethesamplingstrategytoachieveit.Extractdynamicinformationwhererequired,suchaswherethereisalotofruntimeorlatebindingandthearchitectureisdynamicallyconfigurable.GUIDELINESWhenconstructiongthedatabase,considerthefollowing.Builddatabasetablesfromtheextractedrelationstomakeprocessingofthedataviewseasierduringviewfusion.Forexample,buildatablethatstorestheresultsofaparticularquerysothatthequeryneednotberunagain.Iftheresultsarerequired,youcanaccessthemeasilythroughthetable.Aswithanydatabaseconstruction,carefullyconsiderthedatabasedesignbeforeyougetstarted.Whatwilltheprimary(andpossiblysecondary)keybe?Willanydatabasejoinsbeparticularlyexpensive,spanningmultipletables?Inreconstructionthetablesareusuallyquitesimple—ontheorderofdir_contains_dirorfunction_calls_function—andtheprimarykeyisafunctionoftheentirerow.Usesimplelexicaltoolslikeperlandawktochangetheformatofdatathatwasextractedusinganytoolsintoaformatthatcanbeusedbytheworkbench.GUIDELINESThefollowingaresomepracticalconsiderationsinapplyingthisstepofthemethod.Fusetableswhennosingleextractedtableprovidestheneededinformation.Fusetableswhenthereisambiguitywithinoneofthem,anditisnotpossibletodisambiguateusingasingletable.Considerdifferentextractiontechniquestoextractdifferentinformation;forexample,youcanusedynamicandstaticextraction.Oryoumightwanttousedifferentinstancesofthesametechnique,suchasdifferentparsersforthesamelanguage,ifyoufeelthatasingleinstancemightprovideerroneousorincompleteinformation.GUIDELINESThefollowingaresomepracticalconsiderationsinapplyingthisstepofthemethod.Bepreparedtoworkwiththearchitectcloselyandtoiterateseveraltimesonthearchitecturalabstractionsthatyoucreate.Thisisparticularlysoincaseswherethesystemhasnoexplicit,documentedarchitecture.(SeethesidebarPlaying"SpottheArchitecture.")Insuchcases,youcancreatearchitecturalabstractionsashypothesesandtestthesehypothesesbycreatingtheviewsandshowingthemtothearchitectandotherstakeholders.Basedonthefalsenegativesandfalsepositivesfound,thereconstructormaydecidetocreatenewabstractions,resultinginnewDalicodesegmentstoapply(orperhapsevennewextractionsthatneedtobedone).Whendevelopingcodesegments,trytobuildonesthataresuccinctandthatdonotlisteverysourceelement.ThecodesegmentshowninFigure10.11isanexampleofagoodsegment;anexampleofabadoneinthisregard,isshowninFigure10.12.Inthelatter,thesourceelementscomprisingthearchitecturalelementofinterestaresimplylisted;thismakesthesegmentdifficulttouse,understand,andre-use.Codesegmentscanbebasedonnamingconventions,ifthenamingconventionsareusedconsistentlythroughoutthesystem.Anexampleisonewhereallfunctions,data,andfilesthatbelongtotheInterfaceelementbeginwithi_.Codesegmentscanbebasedonthedirectorystructurewherefilesandfunctionsarelocated.Elementaggregationscanbebasedonthesedirectories.Architecturereconstructionistheeffortofredeterminingarchitecturaldecisions,givenonlytheresultofthesedecisionsintheactualartifacts(i.e.,thecodethatimplementsthem).Asreconstructionproceeds,informationmustbeaddedtore-introducethearchitecturaldecisionswhichintroducesbiasfromthereconstructorandthusreinforcestheneedforapersonknowledgeableinthearchitecturetobeinvolved.[TeamLiB]7.2DesigningtheArchitectureInthissectionwedescribeamethodfordesigninganarchitecturetosatisfybothqualityrequirementsandfunctionalrequirements.WecallthismethodAttribute-DrivenDesign(ADD).ADDtakesasinputasetofqualityattributescenariosandemploysknowledgeabouttherelationbetweenqualityattributeachievementandarchitectureinordertodesignthearchitecture.TheADDmethodcanbeviewedasanextensiontomostotherdevelopmentmethods,suchastheRationalUnifiedProcess.TheRationalUnifiedProcesshasseveralstepsthatresultinthehigh-leveldesignofanarchitecturebutthenproceedstodetaileddesignandimplementation.IncorporatingADDintoitinvolvesmodifyingthestepsdealingwiththehigh-leveldesignofthearchitectureandthenfollowingtheprocessasdescribedbyRational.ATTRIBUTE-DRIVENDESIGNADDisanapproachtodefiningasoftwarearchitecturethatbasesthedecompositionprocessonthequalityattributesthesoftwarehastofulfill.Itisarecursivedecompositionprocesswhere,ateachstage,tacticsandarchitecturalpatternsarechosentosatisfyasetofqualityscenariosandthenfunctionalityisallocatedtoinstantiatethemoduletypesprovidedbythepattern.ADDispositionedinthelifecycleafterrequirementsanalysisand,aswehavesaid,canbeginwhenthearchitecturaldriversareknownwithsomeconfidence.TheoutputofADDisthefirstseverallevelsofamoduledecompositionviewofanarchitectureandotherviewsasappropriate.NotalldetailsoftheviewsresultfromanapplicationofADD;thesystemisdescribedasasetofcontainersforfunctionalityandtheinteractionsamongthem.Thisisthefirstarticulationofarchitectureduringthedesignprocessandisthereforenecessarilycoarsegrained.Nevertheless,itiscriticalforachievingthedesiredqualities,anditprovidesaframeworkforachievingthefunctionality.ThedifferencebetweenanarchitectureresultingfromADDandonereadyforimplementationrestsinthemoredetaileddesigndecisionsthatneedtobemade.Thesecouldbe,forexample,thedecisiontousespecificobject-orienteddesignpatternsoraspecificpieceofmiddlewarethatbringswithitmanyarchitecturalconstraints.ThearchitecturedesignedbyADDmayhaveintentionallydeferredthisdecisiontobemoreflexible.ThereareanumberofdifferentdesignprocessesthatcouldbecreatedusingthegeneralscenariosofChapter4andthetacticsandpatternsofChapter5.Eachprocessassumesdifferentthingsabouthowto"chunk"thedesignworkandabouttheessenceofthedesignprocess.WediscussADDinsomedetailtoillustratehowweareapplyingthegeneralscenariosandtactics,andhencehowweare"chunking"thework,andwhatwebelieveistheessenceofthedesignprocess.WedemonstratetheADDmethodbyusingittodesignaproductlinearchitectureforagaragedooropenerwithinahomeinformationsystem.Theopenerisresponsibleforraisingandloweringthedoorviaaswitch,remotecontrol,orthehomeinformationsystem.Itisalsopossibletodiagnoseproblemswiththeopenerfromwithinthehomeinformationsystem.SampleInputTheinputtoADDisasetofrequirements.ADDassumesfunctionalrequirements(typicallyexpressedasusecases)andconstraintsasinput,asdootherdesignmethods.However,inADD,wedifferfromthosemethodsinourtreatmentofqualityrequirements.ADDmandatesthatqualityrequirementsbeexpressedasasetofsystem-specificqualityscenarios.ThegeneralscenariosdiscussedinChapter4actasinputtotherequirementsprocessandprovideachecklisttobeusedindevelopingthesystem-specificscenarios.System-specificscenariosshouldbedefinedtothedetailnecessaryfortheapplication.Inourexamples,weomitseveralportionsofafullyfleshedscenariosincetheseportionsdonotcontributetothedesignprocess.Forourgaragedoorexample,thequalityscenariosincludethefollowing:Thedeviceandcontrolsforopeningandclosingthedooraredifferentforthevariousproductsintheproductline,asalreadymentioned.Theymayincludecontrolsfromwithinahomeinformationsystem.Theproductarchitectureforaspecificsetofcontrolsshouldbedirectlyderivablefromtheproductlinearchitecture.Theprocessorusedindifferentproductswilldiffer.Theproductarchitectureforeachspecificprocessorshouldbedirectlyderivablefromtheproductlinearchitecture.Ifanobstacle(personorobject)isdetectedbythegaragedoorduringdescent,itmusthalt(alternatelyre-open)within0.1second.Thegaragedooropenershouldbeaccessiblefordiagnosisandadministrationfromwithinthehomeinformationsystemusingaproduct-specificdiagnosisprotocol.Itshouldbepossibletodirectlyproduceanarchitecturethatreflectsthisprotocol.BeginningADDWehavealreadyintroducedarchitecturaldrivers.ADDdependsontheidentificationofthedriversandcanstartassoonasallofthemareknown.Ofcourse,duringthedesignthedeterminationofwhicharchitecturaldriversarekeymaychangeeitherasaresultofbetterunderstandingoftherequirementsorasaresultofchangingrequirements.Still,theprocesscanbeginwhenthedriverrequirementsareknownwithsomeassurance.InthefollowingsectionwediscussADDitself.ADDStepsWebeginbybrieflypresentingthestepsperformedwhendesigninganarchitectureusingtheADDmethod.Wewillthendiscussthestepsinmoredetail.Choosethemoduletodecompose.Themoduletostartwithisusuallythewholesystem.Allrequiredinputsforthismoduleshouldbeavailable(constraints,functionalrequirements,qualityrequirements).Refinethemoduleaccordingtothesesteps:Choosethearchitecturaldriversfromthesetofconcretequalityscenariosandfunctionalrequirements.Thisstepdetermineswhatisimportantforthisdecomposition.Chooseanarchitecturalpatternthatsatisfiesthearchitecturaldrivers.Create(orselect)thepatternbasedonthetacticsthatcanbeusedtoachievethedrivers.Identifychildmodulesrequiredtoimplementthetactics.Instantiatemodulesandallocatefunctionalityfromtheusecasesandrepresentusingmultipleviews.Defineinterfacesofthechildmodules.Thedecompositionprovidesmodulesandconstraintsonthetypesofmoduleinteractions.Documentthisinformationintheinterfacedocumentforeachmodule.Verifyandrefineusecasesandqualityscenariosandmakethemconstraintsforthechildmodules.Thisstepverifiesthatnothingimportantwasforgottenandpreparesthechildmodulesforfurtherdecompositionorimplementation.Repeatthestepsaboveforeverymodulethatneedsfurtherdecomposition.1ChoosetheModuletoDecomposeThefollowingareallmodules:system,subsystem,andsubmodule.Thedecompositiontypicallystartswiththesystem,whichisthendecomposedintosubsystems,whicharefurtherdecomposedintosubmodules.Inourexample,thegaragedooropeneristhesystem.Oneconstraintatthislevelisthattheopenermustinteroperatewiththehomeinformationsystem.2.aChoosetheArchitecturalDriversAswesaid,architecturaldriversarethecombinationoffunctionalandqualityrequirementsthat"shape"thearchitectureortheparticularmoduleunderconsideration.Thedriverswillbefoundamongthetop-priorityrequirementsforthemodule.Inourexample,thefourscenarioswehaveshownarearchitecturaldrivers.Inthesystemsonwhichthisexampleisbased,thereweredozensofqualityscenarios.Inexaminingthem,weseearequirementforreal-timeperformance,[1]andmodifiabilitytosupportproductlines.Wealsoseearequirementthatonlinediagnosisbesupported.Alloftheserequirementsmustbeaddressedintheinitialdecompositionofthesystem.[1]A0.1-secondresponsewhenanobstacleisdetectedmaynotseemlikeatightdeadline,butwearediscussingamassmarketwhereusingaprocessorwithlimitedpowertranslatesintosubstantialcostsavings.Also,agaragedoorhasagreatdealofinertiaandisdifficulttostop.Thedeterminationofarchitecturaldriversisnotalwaysatop-downprocess.Sometimesdetailedinvestigationisrequiredtounderstandtheramificationsofparticularrequirements.Forexample,todetermineifperformanceisanissueforaparticularsystemconfiguration,aprototypicalimplementationofapieceofthesystemmayberequired.Inourexample,determiningthattheperformancerequirementisanarchitecturaldriverrequiresexaminingthemechanicsofagaragedoorandthespeedofthepotentialprocessors.Wewillbaseourdecompositionofamoduleonthearchitecturaldrivers.Otherrequirementsapplytothatmodule,but,bychoosingthedrivers,wearereducingtheproblemtosatisfyingthemostimportantones.Wedonottreatalloftherequiremen

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論