《軟件體系結(jié)構(gòu)》課件 13-體系結(jié)構(gòu)評估_第1頁
《軟件體系結(jié)構(gòu)》課件 13-體系結(jié)構(gòu)評估_第2頁
《軟件體系結(jié)構(gòu)》課件 13-體系結(jié)構(gòu)評估_第3頁
《軟件體系結(jié)構(gòu)》課件 13-體系結(jié)構(gòu)評估_第4頁
《軟件體系結(jié)構(gòu)》課件 13-體系結(jié)構(gòu)評估_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

Architecture

Evaluation軟件體系結(jié)構(gòu)課程組目錄體系結(jié)構(gòu)評估1ATAM2Howdoweknowthatourarchitectureisappropriateforitsintendedpurpose?Inalargedevelopmentproject,anenormousamountofmoneymayberidingon(取決于)thearchitecture.Thefutureofcompanymaybeatstake(危險).Weneedtoevaluatethearchitecture(評估體系結(jié)構(gòu)).體系結(jié)構(gòu)評估-Now

what滿足需求開發(fā)成本潛在危機體系結(jié)構(gòu)評估Architectureevaluationisadevelopmentlife-cycleactivitywherebyseveralstakeholders(項目干系人)

analyzethesoftwarearchitecturetogetherinaformalorinformal(正式或非正式)

processusinganassessmenttechniquesuchasscenarios(場景).體系結(jié)構(gòu)評估-定義EarlydetectionofproblemswiththeexistingarchitectureTheearlierinthelifecyclethatproblemsaredetected,thecheaperitistofixthem.ValidationofrequirementsArchitectureevaluationsuncovertheconflictsandtradeoffs,andprovideaforumfortheirnegotiatedresolutionForcedpreparationforthereviewManysystemsdonothaveanarchitecturethatisunderstandabletoalldevelopers.Theprocessofpreparingfortheevaluationwillrevealmanyoftheseproblems.Improved

architectures體系結(jié)構(gòu)評估-whyThiswasprobablythefirstdocumentedsoftwarearchitectureanalysismethodandwasoriginallydevelopedtoanalyzeanarchitectureformodifiability.However,itisusefulforanalyzinganynonfunctionalaspectofanarchitecture.Itisfoundedontheuseofstakeholder-generatedscenariostoassessanarchitecture.Scenario-basedArchitectureAnalysisMethod(SAAM)體系結(jié)構(gòu)評估-評估方法ThisisasuccessorofSAAMandisalsogainingwidespreaduse.Thismethodincorporatesqualityattributeutilitytreesandqualityattributecategoriesintheanalysisofanarchitecture.WhereasSAAMdoesnotexplicitlyaddresstheinteractionsbetweenqualityattributes,ATAMdoes.Thus,thetrade-offsarewithrespecttocompetingqualityattributes.ATAMisaspecializationofSAAM,specificallyfocusingonmodifiability,performance,availability,andsecurity.ArchitectureTrade-offAnalysisMethod(ATAM)體系結(jié)構(gòu)評估-評估方法Thismethodconsidersthecomplexityofevaluationscenariosasthemostimportantriskassessmentfactor.SAAMFoundedonComplexScenarios(SAAMCS)Thismethodfocusesspecificallyonthequalityattributesofevolution(演化)

andreusability.ThismethodintegratesSAAMwithdomain-specific

andreuse-basedsoftwaredevelopmentprocesses.ExtendingSAAMbyIntegrationintheDomain(ESAAMI)SoftwareArchitectureAnalysisMethodforEvolutionandReusability(SAAMER)體系結(jié)構(gòu)評估-評估方法Thismethodutilizesscenarios,simulation(仿真),mathematicalmodeling,andexperience-basedreasoning(基于經(jīng)驗的推理)forassessingqualityattributes.Thismethodalsoincorporatesanarchitecturedesignmethod.Scenario-BasedArchitectureReengineering(SBAR)Thisisanothermethodforanalyzingmaintainabilityusingscenarios,calledchangescenarios,whichrepresentmaintenancetasks.(體系結(jié)構(gòu)級別上的軟件維護預(yù)測)ArchitectureLevelPredictionofSoftwareMaintenance(ALPSM)Thismethodisbasedonformalandrigorous(嚴格精確的)qualityrequirements.SoftwareArchitectureEvaluationModel(SAEM)體系結(jié)構(gòu)評估-評估方法目錄體系結(jié)構(gòu)評估1ATAM2TheATAMisamethodthathelpsstakeholdersasktherightquestionstodiscoverpotentiallyproblematicarchitecturaldecisions.Tradeoffs(折衷)canbeexplicitlyidentifiedanddocumented.Discoveredriskscanthenbemadethefocusofmitigation(減輕)activities:e.g.furtherdesign,furtheranalysis,prototyping.ATAM-概述ThepurposeoftheATAMisNOTtoprovidepreciseanalyses...thepurposeIStodiscoverriskscreatedbyarchitecturaldecisions.Wewanttofindtrends:correlationbetweenarchitecturaldecisionsandpredictionsofsystemproperties.ATAM-目標ThereareanumberofbenefitsfromperformingATAMevaluationsidentifiedrisksclarifiedqualityattributerequirementsimprovedarchitecturedocumentationdocumentedbasisforarchitecturaldecisionsincreasedcommunicationamongstakeholdersTheresultsareimprovedarchitectures.ATAM-BenefitsATAM的參與人員要求以下三類人員的參與和合作

評估小組Eachevaluationteamconsistsofaleaderandatleastthreeotherteammembers.ATAMteammembersmustbeexperiencedarchitects.ATAMleadersmusthaveexcellentcommunicationandfacilitationskills.項目決策者能夠控制程序開發(fā)過程和授權(quán)變更的人員。通常包含項目經(jīng)理,為開發(fā)買單的用戶,和體系結(jié)構(gòu)開發(fā)人員構(gòu)架涉眾涉眾是與要開發(fā)的系統(tǒng)相關(guān)的一切人和事。體系結(jié)構(gòu)對可修改性、安全性等質(zhì)量屬性的支持程度會直接影響到涉眾人員的正常工作的進行。涉眾不等于用戶,通常意義的user是指系統(tǒng)的使用者,這僅是涉眾中的一部分。涉眾通常包括開發(fā)者,測試人員,集成人員,系統(tǒng)維護者,性能工程師,用戶等等。ATAM-評估小組評估小組的角色角色職責(zé)理想的人員素質(zhì)評估小組負責(zé)人準備評估…善于協(xié)調(diào)…評估負責(zé)人負責(zé)評估工作…能在眾人面前表現(xiàn)自如…場景書記員將場景寫到活動掛圖上…未搞清楚某個問題之前堅持要求繼續(xù)進行討論…進展書記員記錄評估進展情況…對構(gòu)架理解透徹,能融會貫通快速理解技術(shù)問題計時員幫助評估負責(zé)人保證評估工作按時進行;…勇于不顧情面中斷討論,宣布時間已到過程觀察員記錄如何改進評估過程或評估如何偏離了原計劃…善于觀察和發(fā)現(xiàn)問題;熟悉評估過程…過程監(jiān)督者幫助評估負責(zé)人記住并執(zhí)行評估方法的各個步驟對評估方法的各個步驟非常熟悉;….提問者提出涉眾或許未曾想到的關(guān)于構(gòu)架的問題對構(gòu)架有出色的見解;對涉眾需要有敏銳的洞察力…ATAM-評估小組ATAMevaluationsareconductedinfourphasesATAM-評估階段Thecustomerandasubsetoftheevaluationteamexchangeunderstandingaboutthemethodandthesystemwhosearchitectureistobeevaluated.Anagreementtoperformtheevaluationisworkedout.Acoreevaluationteamisfielded(登場).Phase0:thisphaseprecedesthetechnicalevaluationATAM-Phase0ATAMevaluationsareconductedinfourphasesATAM-評估階段Phase1:focusedonelicitingdetailedarchitecturalinformationandanalyzingitinvolvesasmallgroupofpredominantlytechnically-orientedstakeholdersarchitecturecentrictopdownanalysisATAM-Phase1ATAM-Phase1ATAMstepsinbriefTechniquesutilitytree(效用樹)generationarchitectureelicitationandanalysisscenariobrainstorming/mappingOutputsarchitecturalapproachesutilitytreeandscenariosrisks,non-risks,sensitivitypoints,andtradeoffs1.

TheevaluationteampresentsanoverviewoftheATAMATAM-Phase1businesscontextforthesystemhigh-levelfunctionalrequirementshigh-levelqualityattributerequirementsarchitecturaldrivers:qualityattributesthat“shape”thearchitecturecriticalrequirements:qualityattributesmostcentraltothesystem’ssuccess2.

Thecustomerdescribesbusinessdriversofthesystem.ATAM-Phase1technical

constraintssuchasanOS,hardware,ormiddlewareprescribedforuseothersystemswithwhichthesystemmustinteractarchitecturalapproachesusedtoaddressqualityattributerequirements3.

Designerpresentsanoverviewofthearchitecturedesign.ATAM-Phase1client-server3-tierEventdispatchermechanismpublish-subscriberedundanthardware4.

Identifycorearchitecturalapproaches.Theevaluatorsbegintoidentifyplacesinthearchitecturethatarekeytorealizingqualityattributegoals.ATAM-Phase15.

Identify,prioritize,andrefinethemostimportantqualityattributegoalsbybuildingautilitytree.Autilitytreeisatop-downvehicleforcharacterizingandprioritizingthe“driving”attribute-specificrequirements.(效用樹是一個自頂向下的工具,用來刻畫重要的需求)UtilityTree?ATAM-Phase1Utility

TreeThedrivingqualityattributesarethehigh-levelnodes(typicallyperformance,modifiability,security,andavailability).Scenariosaretheleavesoftheutilitytree.Output:acharacterizationandaprioritizationofspecificqualityattributePriorityATAM-Phase1ATAMPhase1-PresentArchitecture重要的構(gòu)架信息4~8張幻燈片上下文圖——系統(tǒng)所處的上下文環(huán)境;與系統(tǒng)有交互的人或其他系統(tǒng)模塊或分層視圖——描述系統(tǒng)功能分解的模塊(可能是子系統(tǒng)或分層),加上對象,過程,函數(shù)及其關(guān)系(如過程調(diào)用,方法調(diào)用,回調(diào),包含等)組件-連接件視圖——進程,同步的線程,數(shù)據(jù)流,連接事件等配置視圖——CPUs,存儲,外設(shè),傳感器網(wǎng)絡(luò),通信設(shè)備,及在各處理器上運行的進程ATAMPhase1-PresentArchitecture構(gòu)架方法、模式或采用的戰(zhàn)術(shù),包括它們實現(xiàn)了什么質(zhì)量屬性及這些方法如何實現(xiàn)這些屬性的描述3~6張幻燈片商業(yè)產(chǎn)品(COTS)的使用及其選擇/集成1~2張幻燈片對1~3個最重要的用例場景的介紹,如果可能,包括對每個場景的運行時資源使用情況的介紹1~3張幻燈片對1~3個最重要的變更場景的介紹,如果可能,根據(jù)所變更的模塊或接口來描述變更的影響,即預(yù)計的變更的規(guī)模/難度1~3張幻燈片與實現(xiàn)促使形成該構(gòu)架的需求相關(guān)的構(gòu)架問題/風(fēng)險2~3張幻燈片術(shù)語表1張幻燈片ATAMPhase1-GenerateQualityAttributeUtilityTreeIdentify,prioritize,andrefinethemostimportantqualityattributegoalsbybuildingautilitytree.Autilitytreeisatop-downvehicleforcharacterizingandprioritizingthe“driving”attribute-specificrequirements.(效用樹是一個自頂向下的工具,用來刻畫重要的需求)Thedrivingqualityattributesarethehigh-levelnodes(typicallyperformance,modifiability,security,andavailability).Scenariosaretheleavesoftheutilitytree.Output:acharacterizationandaprioritizationofspecificqualityattributeATAMPhase1-ScenariosScenariosareusedtorepresentstakeholders’interestsunderstandqualityattributerequirementsScenariosshouldcoverarangeofusecasescenarios:anticipatedusesofthesystemgrowthscenarios:anticipatedchangestothesystemexploratoryscenarios:unanticipatedstressestothesystemAgoodscenariomakesclearwhatthestimulusisthatcausesitandwhatresponsesareofinterest.ExampleScenariosUsecasescenarioRemoteuserrequestsadatabasereportviatheWebduringpeakperiodandreceivesitwithin5seconds.GrowthscenarioAddanewdataservertoreducelatencyinscenario1to2.5secondswithin1person-week.ExploratoryscenarioHalfoftheserversgodownduringnormaloperationwithoutaffectingoverallsystemavailability.ScenariosshouldbeasspecificaspossibleStimuli,Environment,ResponsesUseCaseScenarioRemoteuserrequestsadatabasereportviatheWebduringpeakperiodandreceivesitwithin5seconds.GrowthScenarioAddanewdataservertoreducelatencyinscenario1to2.5secondswithin1person-week.ExploratoryScenarioHalfoftheserversgodownduringnormaloperationwithoutaffectingoverallsystemavailability.ATAM-Phase1identifythearchitecturalapproachesaskqualityattributespecificquestionsforhighestpriorityscenariosidentifyandrecordrisksandnon-risks,sensitivitypointsandtradeoffs6.

Evaluationteamprobesarchitecturalapproachesfromthepointofviewofspecificqualityattributestoidentifyrisks.ATAM-Phase1Risks,Tradeoffs,Sensitivities,Non-RisksAsensitivitypointisapropertyofoneormorecomponents(and/orcomponentrelationships)thatiscriticalforachievingaparticularqualityattributeresponse.“Thelevelofconfidentialityinavirtualprivatenetworkmightbesensitivetothenumberofbitsofencryption.”ATAM-敏感點Risks,Tradeoffs,Sensitivities,Non-RisksAtradeoffpointisapropertythataffectsmorethanoneattributeandisasensitivitypointformorethanoneattribute.“Changingthelevelofencryptioncouldhaveasignificantimpactonbothsecurityandperformance.”ATAM-權(quán)衡點Risks,Tradeoffs,Sensitivities,Non-RisksAriskisapotentiallyproblematicarchitecturaldecision.“Thelevelofconfidentialityinavirtualprivatenetworkmightbesensitivetothenumberofbitsofencryption.”ATAM-風(fēng)險決策Risks,Tradeoffs,Sensitivities,Non-RisksNon-risks

aregoodarchitecturaldecisionsthataredeemedsafeuponanalysis.“Assumingmessagearrivalratesofoncepersecond,aprocessingtimeoflessthan30ms,andtheexistenceofonehigherpriorityprocess,a1secondsoftdeadlineseemsreasonable.”(假定消息的到達速率是每秒一次,一次處理的時間小于30ms。如果對一個更高優(yōu)先級的處理的響應(yīng)時間要求是1秒鐘,此系統(tǒng)可行)ATAM-無風(fēng)險決策ATAMevaluationsareconductedinfourphasesATAM-階段ATAM-Phase

2Phase2:involvesalargergroupofstakeholdersPhase2isstakeholdercentricfocusedonelicitingdiversestakeholderpointsofviewandonverificationofthePhase1results.How?Stakeholdersgeneratescenariosusingafacilitatedbrainstormingprocess.Scenariosattheleavesoftheutilitytreeserveasexamplestofacilitatethestep.ATAM-Phase

2Phase2:involvesalargergroupofstakeholdersPhase2isstakeholdercentricfocusedonelicitingdiversestakeholderpointsofviewandonverificationofthePhase1results.Phase

2ATAM-Phase

2Scenariosattheleavesoftheutilitytreeserveasexamplestofacilitatethestep.7.

Stakeholdersgeneratescenariosusingafacilitatedbrainstormingprocess.ATAM-Phase

2Thisstepcontinuestheanalysisstartedinstep6usingthenewscenarios.Continueidentifyingrisksandnon-risks.Continueannotatingarchitecturalinformation.8.

Identifythearchitecturalapproachesimpactedbythescenariosgeneratedinthepreviousstep.ATAM-Phase

2architecturalapproachesutilitytreeScenariosrisksandnon-riskssensitivitypointsandtradeoffsriskthemes9.

Recapitulate(概括)allthestepsofthe

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論