




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程經(jīng)濟(jì)核心概念試題及答案
- 水利水電工程面臨的挑戰(zhàn)試題及答案
- 自考行政管理實(shí)踐考核試題及答案分析
- 投資決策中的不確定性分析試題及答案
- 醫(yī)藥流通企業(yè)供應(yīng)鏈優(yōu)化與成本控制中的綠色物流模式創(chuàng)新實(shí)踐研究
- 2025年文化旅游演藝項(xiàng)目策劃運(yùn)營:文化旅游演藝產(chǎn)業(yè)鏈條優(yōu)化與升級(jí)報(bào)告
- 密集復(fù)習(xí)水利水電工程試題及答案策略
- 2025年工程經(jīng)濟(jì)調(diào)整策略試題及答案
- 2025年高考第二次模擬考試數(shù)學(xué)(新八?。荚嚢鍭)
- 2025市政工程勞動(dòng)合同管理試題及答案
- 紡織非遺:讓世界讀懂中國之美智慧樹知到期末考試答案章節(jié)答案2024年天津工業(yè)大學(xué)
- 2024年安徽高考生物試卷試題真題及答案詳解(精校打印版)
- 2024年中考英語真題-帶答案
- JCT 871-2023 鍍銀玻璃鏡 (正式版)
- 【“三全育人”在幼兒德育教育中的實(shí)踐探究3700字(論文)】
- 中建項(xiàng)目管理手冊(cè)2023年
- 法醫(yī)精神病題庫
- 中國古代的聲學(xué)成就
- 甲狀腺健康科普宣傳課件
- MOOC 英國小說-南京大學(xué) 中國大學(xué)慕課答案
- 房建監(jiān)理投標(biāo)文件技術(shù)部分
評(píng)論
0/150
提交評(píng)論