軟體系結(jié)構(gòu)AAM課件_第1頁
軟體系結(jié)構(gòu)AAM課件_第2頁
軟體系結(jié)構(gòu)AAM課件_第3頁
軟體系結(jié)構(gòu)AAM課件_第4頁
軟體系結(jié)構(gòu)AAM課件_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件體系結(jié)構(gòu)

ATAM?sun@22023/7/22ArchitectureTradeoffAnalysisMethodsm

(ATAMsm)?sun@32023/7/22RoleofaSoftwareArchitectureIftheonlycriterionforsoftwarewastogettherightanswer,wewouldnotneedarchitectures.

如果評判軟件的唯一標準是正確,那么就不需要體系結(jié)構(gòu)Unstructured,monolithicsystemswouldsuffice.

無結(jié)構(gòu)的、單模塊的系統(tǒng)已經(jīng)足夠。Butotherthingsalsomatter,suchas:

但事實上還有很多其他問題,比如:modifiabilitytimeofdevelopmentperformancecoordinationofworkteamsTheseissuesareoftenaddressedintheSoftwareArchitecture

這些問題通常體現(xiàn)在軟件體系結(jié)構(gòu)當(dāng)中?sun@42023/7/22WhyAnalyzeSoftwareArchitectures?Alldesigninvolvestradeoffinsystemqualities(設(shè)計即折中)Systemqualitiesarelargelydependentonarchitecturaldecisions

體系結(jié)構(gòu)極大地影響系統(tǒng)質(zhì)量Promotingonequalityoftencomesattheexpenseofanotherquality

提高一個質(zhì)量,經(jīng)常會降低另一個質(zhì)量Asoftwarearchitectureistheearliestlife-cycleartifactthatembodiessignificantdesigndecisions:choicesandtradeoffs.

“選擇與折中”是設(shè)計中首要考慮的問題,軟件體系結(jié)構(gòu)是軟件生命周期中最早一個遇到此問題的Choicesareeasytomake,buthardtochangeoncethesystemisimplemented

選擇很容易做,但是一旦系統(tǒng)已經(jīng)實現(xiàn),就很難更改?sun@52023/7/22TheATAMThepurposeoftheATAM:

istoassesstheconsequencesofarchitectural

decisionsinlightofqualityattributerequirements.

ATAM的目標是:按照質(zhì)量需求,評價體系結(jié)構(gòu)設(shè)計?sun@62023/7/22ContextfortheATAMBusiness

GoalsArchitecture

DecisionsPASM$Value$$Cost$?sun@72023/7/22PurposeofATAMWeneedamethodinwhichtherightquestionsareaskedearlyto

我們需要一個新方法,讓我們能盡早提出正確問題,來:Discoverrisks-alternativesthatmightcreatefutureproblemsinsomequalityattribute

發(fā)現(xiàn)風(fēng)險:可能在將來產(chǎn)生質(zhì)量問題的方案Discovernon-risks-decisionsthatpromotequalitiesthathelprealizebusiness/missiongoals

發(fā)現(xiàn)非風(fēng)險:可以提高質(zhì)量的決策Discoversensitivity

points-alternativesforwhichaslightchangemakesasignificantdifferenceinsomequalityattribute

發(fā)現(xiàn)關(guān)鍵點:方案中一個小小的變化,就可能讓質(zhì)量完全大變樣Discovertradeoffs-decisionsaffectingmorethanonequalityattribute

發(fā)現(xiàn)折中:影響一個以上質(zhì)量的決策?sun@82023/7/22PurposeofATAMThepurposeofanATAMisNOTtoprovideprecise

analyses,buttodiscoverriskscreated

byarchitecturaldecisions.

ATAM的目標不是做精確的分析,而是發(fā)現(xiàn)體系結(jié)構(gòu)可能帶來的風(fēng)險Wewanttofindtrends:correlationbetween

architecturaldecisionsandpredictionsofsystem

properties.

我們要發(fā)現(xiàn)一些趨勢:從體系結(jié)構(gòu)方案預(yù)言系統(tǒng)的特性Discoveredriskscanthenbemadethefocusof

mitigationactivities:e.g.furtherdesign,further

analysis,prototyping.

發(fā)現(xiàn)風(fēng)險,然后做進一步的分析、設(shè)計Surfacedtradeoffscanbeexplicitlyidentifiedand

documented.

明顯的折中可以被清晰地指出并寫入文檔?sun@92023/7/22ATAMBenefitsThereareanumberofbenefitsfromperformingATAManalyses:

做ATAM分析可以得到下列益處:Clarifiedqualityattributerequirements

明確質(zhì)量需求Improvedarchitecturedocumentation

提高體系結(jié)構(gòu)文檔質(zhì)量Documentedbasisforarchitecturaldecisions

文檔化了的體系結(jié)構(gòu)方案原理Identifiedrisksearlyinthelife-cycle

及早發(fā)現(xiàn)風(fēng)險Increasedcommunicationamongstakeholders

促進了角色之間的交流Theresultsareimprovedarchitectures.

結(jié)果是,體系結(jié)構(gòu)得到改進?sun@102023/7/22PurposeofATAMThepurposeofATAMistoassessthe

consequencesofarchitecturaldecisionsin

lightofqualityattributerequirements.

ATAM的目標就是按照質(zhì)量需求,評價體系結(jié)構(gòu)設(shè)計TheATAMprocessisashort,facilitated

interactionbetweenmultiplestakeholders,

leadingtotheidentificationofrisks,

sensitivities,andtradeoffs.

ATAM過程是角色之間交流的一個方便、快捷的手段,便于發(fā)現(xiàn)風(fēng)險、關(guān)鍵點和折中ThepurposeofanATAMisNOTtoprovide

preciseanalyses,thepurposeIStodiscover

riskscreatedbyarchitecturaldecisions.

ATAM的目標不是提供精確的分析,而是發(fā)現(xiàn)體系結(jié)構(gòu)方案可能帶來的風(fēng)險?sun@112023/7/22PreconditionsforanATAMClientsmusthaveaSoftwareArchitectureScope/scalemustbemanageable

其作用范圍和程度必須可管理ATAMwillnotworkifthesoftwarearchitecturehasnotbeencreatedyet

如果體系結(jié)構(gòu)還沒有被建立,那么ATAM毫無用武之地ATAMteammemberswillreviewarchitecturalartifacts,andmayhelprefinedocumentation

ATAM組將評估體系結(jié)構(gòu),并幫助改善文檔Architectmustprepareanarchitecturepresentation

架構(gòu)師必須準備一個體系結(jié)構(gòu)講解Clientsmustprepareabusiness/missiongoalspresentation

必須有一個商業(yè)/任務(wù)目標講解ATAMwillreviewarchitectureartifacts,presentations,andreadaheadmaterialtobecomefamiliarwithdomain

ATAM要事先閱讀一些材料來熟悉這個領(lǐng)域?sun@122023/7/22EvaluationTeamEachATAMteamconsistsofaleaderandatleastthreeotherteammembers

每個ATAM組有一個組長和至少三個組員domainexpertiseisnotnecessary

領(lǐng)域?qū)<也皇潜仨欰TAMteammembersmustbeexperiencedarchitects

ATAM組員必須是經(jīng)驗豐富的架構(gòu)師ATAMleadersmusthaveEXCELLENTcommunicationandfacilitationskills

ATAM組長必須有優(yōu)秀的交流和激勵技巧TheATAMteammembersfillmultiplerolesduringthecourseoftheevaluation.

ATAM組員在評審過程中扮演多種角色?sun@132023/7/22EvaluationTeamRolesModerator—facilitatesdiscussions,brainstorming,analysis

主持人:推動講解、自由討論和分析Scenarioscribe(s)—writesutilitytree,rawscenarios,risks,sensitivities,tradeoffsonflipchartsorwhiteboards

場景記錄員:在白板上記下原始場景、有效樹、風(fēng)險、關(guān)鍵點和折中Proceedingsscribe—capturesscribe’swritingonalaptopcomputer,preparingtheResults,Presentationtemplate

會議記錄員:把場景記錄員寫下的內(nèi)容錄入電腦,準備結(jié)論講解模板?sun@142023/7/22EvaluationTeamRolesProcessenforcer/observer—monitorstheprocesssteps,takesnotesabouttheprocess,andhowitcouldbeimproved

過程實施者/觀察者:監(jiān)視各個步驟,做筆記,尋找改進方法Timekeeper—informstheevaluationleaderwhenthetimeallocatedforastephasexpired

計時員:當(dāng)某一個步驟的時間已經(jīng)超出時,提醒組長Questioner(s)—raiseissuesthatthestakeholdershavenotthoughtof;asksquestionsbasedonhowqualityattributesofinterestrelatetoarchitecturalstyles

提問者:發(fā)現(xiàn)各個角色還沒有想到的問題;詢問質(zhì)量因素怎樣和體系結(jié)構(gòu)風(fēng)格關(guān)聯(lián)的問題?sun@152023/7/22BasicRulesforATAMTeam

MembersKeeptheprocessmoving!

讓過程持續(xù)進行Askquestions

提問Proposescenarios

提出建議性的場景Writedownexactlywhatstakeholderssay;donot“edit”theirwords!

記下各個角色所說的話,但是不要改寫!?sun@162023/7/22ATAMStepsPresenttheATAM

介紹ATAMPresentbusinessdrivers

講解商業(yè)動力Presentarchitecture

講解體系結(jié)構(gòu)Identifyarchitecturalapproaches

明確體系結(jié)構(gòu)方法Generatequalityattributeutilitytree

生成有效樹Analyzearchitecturalapproaches

分析體系結(jié)構(gòu)方法Brainstormandprioritizescenarios

自由討論和為場景排序Analyzearchitecturalapproaches

分析體系結(jié)構(gòu)方法Presentresults

講解結(jié)論Phase1Phase2?sun@172023/7/221.PresenttheATAMEvaluationTeampresentsanoverviewoftheATAMincluding:ATAMstepsinbriefTechniquesutilitytreegeneration(有效樹生成)architectureelicitationandanalysis(體系結(jié)構(gòu)引出和分析)scenariobrainstorming/mapping(場景討論/映射)Outputsarchitecturalapproachesutilitytreescenariosrisksand“non-risks”sensitivitypointsandtradeoffs?sun@182023/7/222.PresentBusinessDriversATAMcustomerrepresentativedescribesthesystem’sbusinessdriversincluding:

客戶代表描述系統(tǒng)的商業(yè)動力BusinesscontextforthesystemHigh-levelfunctionalrequirementsHigh-levelqualityattributerequirementsarchitecturaldrivers:qualityattributesthat“shape”thearchitecture

體系結(jié)構(gòu)動力:質(zhì)量因素塑造體系結(jié)構(gòu)criticalrequirements:qualityattributesmostcentraltothesystem’ssuccess

苛刻需求:對系統(tǒng)的成功有決定作用的質(zhì)量?sun@192023/7/223.PresentArchitectureArchitectpresentsanoverviewofthearchitectureincluding:

架構(gòu)師對體系結(jié)構(gòu)的簡介:TechnicalconstraintssuchasanOS,hardware,ormiddle-wareprescribedforuse

技術(shù)限制,比如必須要采用的OS、硬件和中間件Othersystemswithwhichthesystemmustinteract

其他必須與之交互的系統(tǒng)Architecturalapproaches/stylesusedtoaddressqualityattributerequirements

用來滿足質(zhì)量需求的體系結(jié)構(gòu)風(fēng)格?sun@202023/7/223.PresentArchitectureThearchitect,projectmanager,andmarketingrepresentativeneedtodescribehowthesystemwillcreatevaluefortheorganization.

架構(gòu)師、項目經(jīng)理和市場代表一起來描述此系統(tǒng)如何為公司帶來價值Themarketingrepresentativemustdetailhowsystemresponses(functionalandqualityattributerequirements)maptovalue.

市場代表必須詳細闡述系統(tǒng)的功能和質(zhì)量需求對市場價值的影響Theprojectmanagermustdetailhowarchitecturalapproachesmaptocost.

項目經(jīng)理必須詳細闡述體系結(jié)構(gòu)需要的成本?sun@212023/7/22ATAM產(chǎn)生的環(huán)境Business

GoalsArchitecture

DecisionsPASM$Value$$Cost$ProjectManagerArchitectMarketerGoal:MaxValue-Cost?sun@222023/7/224.IdentifyArchitectural

ApproachesStarttoidentifyplacesinthearchitecturethatarekeyforrealizingqualityattributegoals.

開始確認體系結(jié)構(gòu)中對實現(xiàn)質(zhì)量需求產(chǎn)生決定作用的部分Identifyanypredominantarchitecturalapproaches.

明確主要的體系結(jié)構(gòu)方法Examples:client-server3-tierwatchdogpublish-subscriberedundanthardware?sun@232023/7/225.GenerateQualityAttribute

UtilityTreeIdentify,prioritize,andrefinethemostimportantqualityattributegoalsbybuildingautilitytree.

通過建立一個有效樹,來明確、排序和精煉大部分的質(zhì)量目標Autilitytreeisatop-downvehicleforcharacterizingthe“driving”attribute-specificrequirements

有效樹是一個自頂向下的工具,用來刻畫重要的需求Selectthemostimportantqualitygoalstobethehigh-levelnodes(typicallyperformance,modifiability,security,andavailability)

把最重要的質(zhì)量目標放在高層節(jié)點(典型的有:性能、適應(yīng)性、安全和可用性)ScenariosaretheleavesoftheutilitytreeOutput:acharacterizationandaprioritizationofspecificqualityattributerequirements.

輸出:質(zhì)量需求的描述和優(yōu)先級?sun@242023/7/22UtilityTree

Construction&Prioritization?sun@252023/7/226.Elicit/Analyze

ArchitectureApproachesMotivatedbythehighpriorityleavesoftheutilitytree,theEvaluationTeamprobesthearchitectureapproaches.

有效樹中高優(yōu)先級的葉子促進評審組探查體系結(jié)構(gòu)Identifytheapproacheswhichpertaintothehighestpriorityqualityattributerequirements

確認可以滿足高優(yōu)先級的質(zhì)量需求的方法Generatequality-attributespecificquestionsforhighestpriorityqualityattributerequirement

為高優(yōu)先級的質(zhì)量需求制定關(guān)于質(zhì)量的問題Askquality-attributespecificquestions

詢問這些問題Identifyandrecordrisksandnon-risks

確認和記錄風(fēng)險和非風(fēng)險,關(guān)鍵點和折中?sun@262023/7/22QualityAttributeQuestionsQualityattributequestionsprobestylestoelicitarchitecturaldecisionswhichbearonqualityattributerequirements.

質(zhì)詢體系結(jié)構(gòu)在質(zhì)量需求上如何作為PerformanceHowareprioritiesassignedtoprocesses?

怎樣決定進程的優(yōu)先級?Whatarethemessagearrivalrates?

消息到來的頻率是多少?ModifiabilityArethereanyplaceswherelayers/facadesarecircumvented?

有按層封裝的地方嗎?Whatcomponentsrelyondetailedknowledgeofmessageformats?

哪個組件依賴消息格式的細節(jié)??sun@272023/7/22RisksandNon-RisksWhilerisksarepotentiallyproblematicarchitecturaldecisions,…

風(fēng)險是有潛在問題的體系結(jié)構(gòu)Non-risksaregooddecisionsrelyingonimplicitassumptions.

非風(fēng)險是在一個可信的假設(shè)之下的,好的方案Riskandnon-riskconstituents

風(fēng)險和非風(fēng)險要素architecturaldecisionqualityattributerequirementrationaleSensitivitypointsarecandidaterisksandcandidatetradeoffpoints.

關(guān)鍵點是候選的風(fēng)險和折中?sun@282023/7/22RisksandNon-RisksExamplerisksRulesforwritingbusinesslogictierofyour3-tierstylearenotclearlyarticulated.

三層架構(gòu)下,商業(yè)邏輯層的規(guī)則還沒有確定Thereisnowayofdetectingthe“l(fā)ive”failureofacriticalcomponent.

沒有檢測一個關(guān)鍵組件是否正常工作的機制Everycomponentintheradarsubsystemimplicitlyassumesarotationrate.

雷達系統(tǒng)的每一個組件都假定有一個固定的轉(zhuǎn)動速率Examplenon-riskAssumingmessagearrivalratesofoncepersecond,aprocessingtimeoflessthan30ms,andtheexistenceofonehigherpriorityprocess,a1secondsoftdeadlineseemsreasonable.

假定消息的到達速率是每秒一次,一次處理的時間小于30ms。如果對一個更高優(yōu)先級的處理的響應(yīng)時間要求是1秒鐘,此系統(tǒng)可行?sun@292023/7/22SensitivitiesandTradeoffsExampleSensitivityChangingthetimingschemefromaharmonicframeworktoanon-harmonicframeworkwouldbeeasy,butduetoimpliedtimingdependencies,therewouldimpactfarreachingimpactstoothermodules.

把定時方法從一個精確的框架移植到一個不精確的框架可能很容易,但是因為各個模塊對定時的依賴,可能會極大地影響它們的正常工作ExampleTradeoffsInordertoachievetherequiredlevelofperformanceinthediscreteeventgenerationcomponent,assemblylanguagehadtobeusedtherebyreducingtheportabilityofthiscomponent.

為了達到性能要求,不得不在離散的事件產(chǎn)生組件中使用匯編語言。此組件不再有移植性?sun@302023/7/22ExampleApproachElicitationScenario:DetectandrecoverfromHWfailureofmainswitch

場景:檢測主交換機的硬件故障,并恢復(fù)Stimulus:CPUfailureResponse:0.999999availabilityofswitchArchitecturalApproaches:RST?sun@312023/7/22ExampleApproachElicitationScenario:DetectandrecoverfromHWfailureofmainswitch

場景:檢測主交換機的硬件故障,并恢復(fù)Stimulus:CPUfailureResponse:0.999999availabilityofswitchArchitecturalApproaches:RSTBackupCPU(s)BackupDataChannelWatchdogHeartbeatFailoverRerouting?sun@322023/7/22ExampleApproachElicitationScenario:DetectandrecoverfromHWfailureofmainswitch

場景:檢測主交換機的硬件故障,并恢復(fù)Stimulus:CPUfailureResponse:0.999999availabilityofswitchArchitecturalApproaches:RSTBackupCPU(s)XXBackupDataChannelXXXWatchdogXHeartbeatXFailoverReroutingXX?sun@332023/7/22ExampleApproachElicitationAnalysis:ensuresnocommonmodefailurebyusingdifferentHWandOS

通過使用不同的硬件和操作系統(tǒng)確保不會有一樣的錯誤發(fā)生worst-caserolloverisaccomplishedin3seconds

在最壞的情況下,只要3秒鐘內(nèi)回卷成功就可以guaranteedtodetectfailurewith1second

保證錯誤在1秒鐘內(nèi)被檢測到watchdogissimpleandprovenreliable

看門狗很簡單,而且被證明可信賴?sun@342023/7/227a.BrainstormScenariosScenariosareexamplestimuliusedtoRepresentstakeholders’interests

說明角色關(guān)心的內(nèi)容UnderstandqualityattributerequirementsScenariosarespecific

場景是對系統(tǒng)的anticipatedusesof(usecasescenarios),

預(yù)期使用(用例場景),anticipatedchangesto(growthscenarios),or

預(yù)期改變(演化場景),或者unanticipatedstressesto(exploratoryscenarios)

非預(yù)期的重壓(試探場景) thesystem.Agoodscenariomakesclearwhatthestimulusisthatcausesitandwhatresponsesareofinterest.

一個好的場景可以清晰地描述出是什么引起這個場景,以及需要什么樣的應(yīng)答?sun@352023/7/22ExampleScenariosUsecasescenarioRemoteuserrequestsadatabasereportviatheWebduringpeakperiodandreceivesitwithin5seconds.

遠程用戶通過web周期地請求數(shù)據(jù)庫報告,并且要求5秒鐘內(nèi)收到GrowthscenarioAddanewdataservertoreducelatencyinscenario1to2.5secondswithin1person-week.

用一人周的時間增加一個數(shù)據(jù)服務(wù)器,使上一個場景的潛伏期降低到2.5秒ExploratoryscenarioHalfoftheserversgodownduringnormaloperationwithoutaffectingoverallsystemavailability.

在做日常操作時,一半的服務(wù)器當(dāng)機,卻不影響整個系統(tǒng)的可用性Scenariosshouldbeasspecificaspossible.

場景應(yīng)該盡可能的詳細?sun@362023/7/22起因(Stimuli),環(huán)境(Environment),結(jié)果(Responses)用例場景遠程用戶通過web周期地請求數(shù)據(jù)庫報告,并且要求5秒鐘內(nèi)收到演化場景用一人周的時間增加一個數(shù)據(jù)服務(wù)器使上一個場景的潛伏期降低到2.5秒試探場景在做日常操作時,一半的服務(wù)器當(dāng)機,卻不影響整個系統(tǒng)的可用性?sun@372023/7/227b.PrioritizeScenariosStakeholdershavebrainstormedalargesetofscenarios.

各個角色已經(jīng)討論出很多很多場景Eachstakeholderisallocatedanumberofvotesroughlyequalto0.3x#scenarios

每個角色分給一個數(shù)用來投票,其值大約為(0.3x場景數(shù))Prioritizedscenariosarecomparedwiththeutilitytreeanddifferencesarereconciled.

排好次序的場景和有效樹進行比較。如果有不同的,則要再次考量,達成一致?sun@382023/7/228.AnalyzeArchitecturalApproachesIdentifythearchitecturalapproachesimpactedbythescenariosgeneratedinthepreviousstep.

確定被上一步產(chǎn)生的場景影響的體系結(jié)構(gòu)設(shè)計Thisstepcontinuestheanalysisstartedinstep6usingthenewscenarios.

用第6步同樣的方法來分析新的場景Continueidentifyingrisksandnon-risks.

繼續(xù)確認風(fēng)險和非風(fēng)險Continueannotatingarchitecturalinformation.

繼續(xù)標注體系結(jié)構(gòu)信息?sun@392023/7/229.PresentResultsRecapitulatestepsoftheATAM

總結(jié)所有ATAM的步驟PresentATAMoutputsarchitecturalapproachesutilitytreescenariosrisksand“non-risks”sensitivitypointsandtradeoffsOfferrecommendations

推薦?sun@402023/7/22ATAMNominalPhasesATAMevaluationsareoftenconductedintwo

stagesorphases:

ATAM通常被分為兩個階段Duringphase1thearchitectdescribesthequality

attributegoalsandhowthearchitecturemeetsthese

goals

在階段1,架構(gòu)師描述質(zhì)量目標,和體系結(jié)構(gòu)如何達到目標Duringphase2wedetermineifalargergroupof

stakeholdersagreeswiththegoalsandthe

results

在階段2,確認是否各個角色都同意這些目標和結(jié)果?sun@412023/7/22WhentouseATAMAcademically,thetimetouseATAMisrightafterthearchitecturehasbeenspecifiedwhenthereislittleornocode.

學(xué)術(shù)上說,應(yīng)該在體系結(jié)構(gòu)確定之后使用ATAM,此時沒有或者僅有少量的代碼However,inpractice,ATAMhasbeenveryeffectiveinthefollowingsituations:Evaluatingalternativecandidatearchitectures

評審候選的體系結(jié)構(gòu)Evaluatingexistingsystemspriortocommittingtomajorupgrades

在升級之前,評審已有的系統(tǒng)Decidingbetweenupgradeorreplace

無法決定是升級還是替換時?sun@422023/7/222.PresentBusinessDriversAdistributedbattlefieldcontrolsystem(BCS)

一個分布式的戰(zhàn)場控制系統(tǒng)Onemobilecentralcommandernode

一個移動的中心指揮官節(jié)點Asetofmobilefighternodesundercommander

麾下的一組移動戰(zhàn)士節(jié)點Informationfrommanysources/sensors

來自很多信號源/傳感器的信息Messagesofdifferenttypes(maps,orders)

不同類型的消息(地圖,命令)Stakeholderswantedtounderstandhowthesystemwouldperformandadapttochanges.

角色想了解這個系統(tǒng)怎樣適應(yīng)變化?sun@432023/7/223.PresentArchitecturePhysicalview:“client-server”,wherethecommandernodeistheserverandthefighternodesareclients.Detailedinformationalsocollectedforconcurrencyandcodeviews.?sun@442023/7/224.IdentifyArchitectureApproachesWeelicitedinformationonthearchitecturalapproacheswithrespecttomodifiability,availability,andperformance.

我們關(guān)心適應(yīng)性、可用性和性能Foravailability,abackupcommanderschemewasdescribed.

對可用性,有一個備份指揮官Formodifiability,standardsubsystemorganizationalpatternsweredescribed.

對適應(yīng)性,有基本的子系統(tǒng)組織模式Forperformance,anclient-serverstylewasdescribed.

對性能,采用客戶/服務(wù)器風(fēng)格的獨立組件?sun@452023/7/225.GenerateQualityAttribute

UtilityTree?sun@462023/7/226.ElicitandAnalyze

ArchitectureStylesTherepairtimeforthesystemisthetimetoturnthebackupintothecommandernode.

修復(fù)時間是把備份節(jié)點轉(zhuǎn)為指揮官節(jié)點的時間Communicationbetweenthecommandernodeandthebackupkeepsthebackup“insync”.

指揮官和備份節(jié)點之間的通訊維持著同步?sun@472023/7/22AvailabilityAnalysisQA=thefractionoftimethesystemisworking

QA=

系統(tǒng)工作的時間長度Thesystemisconsideredtobeworkingifthereis

aworkingcommandernodeandoneormore

fighternodes.

有一個有效的指揮官,一個或更多工作的戰(zhàn)士,則可以認為系統(tǒng)正在正常運行Whenthecommandernodefailsthesystemhas

failed.

指揮官故障,則系統(tǒng)故障ProvisionshavebeenmadeintheBCSarchitecturetoturnadesignatedfighter(backup)

nodeintoacommandernode.

BCS體系結(jié)構(gòu)允許一個指定的戰(zhàn)士轉(zhuǎn)為指揮官?sun@482023/7/22AvailabilityAnalysisAvailabilitycanbeseenas:QA=h(λc,λb,μc,μb)λc=failurerateofthecommanderλb=failurerateofthebackupμc=repairrateofthecommanderμb=repairrateofthebackupProblem!Thebackuphasnobackup,i.e.intheBCSarchitecture,μb=0Wediscoveredthisproblemviaelicitationofthehardwarefailureandrepairapproaches.

在評審硬件錯誤的恢復(fù)策略時,發(fā)現(xiàn)這個問題?sun@492023/7/22AvailabilityAnalysisHence,twowell-aimedhits(orhardwarefailures)disabletheentiresystem!

因此,兩個精確的打擊(或者硬件故障)將使整個系統(tǒng)癱瘓Thesolutionwastoturnmorefighternodesintopotentialbackups.

解決方法是讓更多的戰(zhàn)士做備份Alternativescouldbe:Acknowledgingbackups(n)

確認備份(n)Passivebackups(m)

被動備份(m)Passivebackups(m)+update

被動備份(m)且請求更新?sun@502023/7/22Availability:Sensitivity/RiskIdentificationTheavailabilityofthesystemcannowbeseenas:

系統(tǒng)的可用性可以被看作QA=j(n,m)nandmarearchitecturalavailabilitysensitivity

points.

n和m是體系結(jié)構(gòu)可用的關(guān)鍵點Sinceavailabilityisakeyattributeforthebattle

managementmission,somechoicesofnandm

presentavailabilityrisks.

對戰(zhàn)場管理任務(wù)來說,可用性是一個關(guān)鍵屬性,對n和m的選擇說明了風(fēng)險?sun@512023/7/22PerformanceAnalysisWediscoveredaperformanceproblemviaaqualitativeattributequestionsthatasksabouttherelativespeedsofcommunicationandprocessing.

通過詢問通訊和處理的速度,我們發(fā)現(xiàn)了性能問題Theproblemuncoveredwas:thenodesintheBCSarchitecturecommunicatedviaslowmodems.

這個問題是:BCS系統(tǒng)的節(jié)點通過慢速的調(diào)制解調(diào)器通信?sun@522023/7/22PerformanceAnalysisEnd-to-endlatencycalculationsshowedthattheoveralllatencywashighlysensitivetothenumberandsizeoftransmittedmessages.

端到端的潛伏期計算表明,整個系統(tǒng)的潛伏期和傳送消息的數(shù)量與大小有非常密切的關(guān)系Communicationloadcamefrom:

通信負荷來自:Thenormaloperationscommunicationoverhead

普通的命令通信開銷Thenumberofbackups(bothacknowledgingandpassive)

備份節(jié)點的數(shù)量?sun@532023/7/22Performance:Sensitivity/RiskIdentificationThus,systemperformancecanbecharacterizedas:

系統(tǒng)性能可以寫作:Qp=k(n,m,CO)Communicationsoverheadwasaconstant.

通信協(xié)議開銷是個常數(shù)nandmarearchitecturalperformancesensitivity

points.

n和m是性能的關(guān)鍵點?sun@542023/7/22TradeoffIdentificationIncreasingthenumberofbackupsincreasesavailability,butalsoincreasesaveragelatency(becausethesebackupsmustbekeptup-to-datebythecommander).

增大備份的數(shù)量提高可用性,但是也增大了平均潛伏期(因為所有的備份都要和指揮官保持同步)Hence,thenumberofactiveandpassivebackups(nandm)isatradeoffpointintheBCSarchitecture.

因此主動和被動備份的數(shù)量(n和m)是一個折中點Thedesignershadnotbeenawareofthetradeoffinherentintheirdesign.

評審之前,設(shè)計者還不知道存在這個折中點?sun@552023/7/227a.BrainstormScenariosInitialsetofseedscenariosweretoogeneral

初始的場景太概括“Systemfails”

“系統(tǒng)錯誤”Thesescenarioswerelaterrefined“CommandernodeisdestroyedandtheBackupnodetakesoverwithin5minutes”

“指揮官被消滅,備份節(jié)點在5分鐘內(nèi)接管”46scenarioswereeventuallycollected,coveringmodifiability,scalability,availability,performance,portability.

最后收集了46個場景,覆蓋適應(yīng)性、可測性、可用性、性能和移植性?sun@562023/7/227a.BrainstormScenariosExamples:Modifiability:changedmapdataformatsareaccommodatedwithin1personmonth

適應(yīng)性:改變地圖數(shù)據(jù)格式需要一個人月Performance:thenumberofsimultaneousmissionsdoubleswithoutaffectinglatency

性能:在不影響潛伏期的情況下讓并發(fā)的任務(wù)數(shù)加倍Availability:commandernodeisdestroyedandthebackupnodetakesoverwithin5minutes

可用性:指揮官被消滅,備份節(jié)點在5分鐘內(nèi)接管?sun@572023/7/227b.PrioritizeScenariosThestakeholdersusedpreference-votingtop

溫馨提示

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

評論

0/150

提交評論