版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件体系结构评估Software
Architecture
Evaluation软件体系结构课程组目录体系结构评估1ATAM2Howdoweknowthatourarchitectureisappropriateforitsintendedpurpose?Inalargedevelopmentproject,anenormousamountofmoneymayberidingon(取决于)thearchitecture.Thefutureofcompanymaybeatstake(危险).Weneedtoevaluatethearchitecture(评估体系结构).体系结构评估-Now
what满足需求开发成本潜在危机体系结构评估Architectureevaluationisadevelopmentlife-cycleactivitywherebyseveralstakeholders(项目干系人)
analyzethesoftwarearchitecturetogetherinaformalorinformal(正式或非正式)
processusinganassessmenttechniquesuchasscenarios(场景).体系结构评估-定义EarlydetectionofproblemswiththeexistingarchitectureTheearlierinthelifecyclethatproblemsaredetected,thecheaperitistofixthem.ValidationofrequirementsArchitectureevaluationsuncovertheconflictsandtradeoffs,andprovideaforumfortheirnegotiatedresolutionForcedpreparationforthereviewManysystemsdonothaveanarchitecturethatisunderstandabletoalldevelopers.Theprocessofpreparingfortheevaluationwillrevealmanyoftheseproblems.Improved
architectures体系结构评估-whyThiswasprobablythefirstdocumentedsoftwarearchitectureanalysismethodandwasoriginallydevelopedtoanalyzeanarchitectureformodifiability.However,itisusefulforanalyzinganynonfunctionalaspectofanarchitecture.Itisfoundedontheuseofstakeholder-generatedscenariostoassessanarchitecture.Scenario-basedArchitectureAnalysisMethod(SAAM)体系结构评估-评估方法ThisisasuccessorofSAAMandisalsogainingwidespreaduse.Thismethodincorporatesqualityattributeutilitytreesandqualityattributecategoriesintheanalysisofanarchitecture.WhereasSAAMdoesnotexplicitlyaddresstheinteractionsbetweenqualityattributes,ATAMdoes.Thus,thetrade-offsarewithrespecttocompetingqualityattributes.ATAMisaspecializationofSAAM,specificallyfocusingonmodifiability,performance,availability,andsecurity.ArchitectureTrade-offAnalysisMethod(ATAM)体系结构评估-评估方法Thismethodconsidersthecomplexityofevaluationscenariosasthemostimportantriskassessmentfactor.SAAMFoundedonComplexScenarios(SAAMCS)Thismethodfocusesspecificallyonthequalityattributesofevolution(演化)
andreusability.ThismethodintegratesSAAMwithdomain-specific
andreuse-basedsoftwaredevelopmentprocesses.ExtendingSAAMbyIntegrationintheDomain(ESAAMI)SoftwareArchitectureAnalysisMethodforEvolutionandReusability(SAAMER)体系结构评估-评估方法Thismethodutilizesscenarios,simulation(仿真),mathematicalmodeling,andexperience-basedreasoning(基于经验的推理)forassessingqualityattributes.Thismethodalsoincorporatesanarchitecturedesignmethod.Scenario-BasedArchitectureReengineering(SBAR)Thisisanothermethodforanalyzingmaintainabilityusingscenarios,calledchangescenarios,whichrepresentmaintenancetasks.(体系结构级别上的软件维护预测)ArchitectureLevelPredictionofSoftwareMaintenance(ALPSM)Thismethodisbasedonformalandrigorous(严格精确的)qualityrequirements.SoftwareArchitectureEvaluationModel(SAEM)体系结构评估-评估方法目录体系结构评估1ATAM2TheATAMisamethodthathelpsstakeholdersasktherightquestionstodiscoverpotentiallyproblematicarchitecturaldecisions.Tradeoffs(折衷)canbeexplicitlyidentifiedanddocumented.Discoveredriskscanthenbemadethefocusofmitigation(减轻)activities:e.g.furtherdesign,furtheranalysis,prototyping.ATAM-概述ThepurposeoftheATAMisNOTtoprovidepreciseanalyses...thepurposeIStodiscoverriskscreatedbyarchitecturaldecisions.Wewanttofindtrends:correlationbetweenarchitecturaldecisionsandpredictionsofsystemproperties.ATAM-目标ThereareanumberofbenefitsfromperformingATAMevaluationsidentifiedrisksclarifiedqualityattributerequirementsimprovedarchitecturedocumentationdocumentedbasisforarchitecturaldecisionsincreasedcommunicationamongstakeholdersTheresultsareimprovedarchitectures.ATAM-BenefitsATAM的参与人员要求以下三类人员的参与和合作
评估小组Eachevaluationteamconsistsofaleaderandatleastthreeotherteammembers.ATAMteammembersmustbeexperiencedarchitects.ATAMleadersmusthaveexcellentcommunicationandfacilitationskills.项目决策者能够控制程序开发过程和授权变更的人员。通常包含项目经理,为开发买单的用户,和体系结构开发人员构架涉众涉众是与要开发的系统相关的一切人和事。体系结构对可修改性、安全性等质量属性的支持程度会直接影响到涉众人员的正常工作的进行。涉众不等于用户,通常意义的user是指系统的使用者,这仅是涉众中的一部分。涉众通常包括开发者,测试人员,集成人员,系统维护者,性能工程师,用户等等。ATAM-评估小组评估小组的角色角色职责理想的人员素质评估小组负责人准备评估…善于协调…评估负责人负责评估工作…能在众人面前表现自如…场景书记员将场景写到活动挂图上…未搞清楚某个问题之前坚持要求继续进行讨论…进展书记员记录评估进展情况…对构架理解透彻,能融会贯通快速理解技术问题计时员帮助评估负责人保证评估工作按时进行;…勇于不顾情面中断讨论,宣布时间已到过程观察员记录如何改进评估过程或评估如何偏离了原计划…善于观察和发现问题;熟悉评估过程…过程监督者帮助评估负责人记住并执行评估方法的各个步骤对评估方法的各个步骤非常熟悉;….提问者提出涉众或许未曾想到的关于构架的问题对构架有出色的见解;对涉众需要有敏锐的洞察力…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重要的构架信息4~8张幻灯片上下文图——系统所处的上下文环境;与系统有交互的人或其他系统模块或分层视图——描述系统功能分解的模块(可能是子系统或分层),加上对象,过程,函数及其关系(如过程调用,方法调用,回调,包含等)组件-连接件视图——进程,同步的线程,数据流,连接事件等配置视图——CPUs,存储,外设,传感器网络,通信设备,及在各处理器上运行的进程ATAMPhase1-PresentArchitecture构架方法、模式或采用的战术,包括它们实现了什么质量属性及这些方法如何实现这些属性的描述3~6张幻灯片商业产品(COTS)的使用及其选择/集成1~2张幻灯片对1~3个最重要的用例场景的介绍,如果可能,包括对每个场景的运行时资源使用情况的介绍1~3张幻灯片对1~3个最重要的变更场景的介绍,如果可能,根据所变更的模块或接口来描述变更的影响,即预计的变更的规模/难度1~3张幻灯片与实现促使形成该构架的需求相关的构架问题/风险2~3张幻灯片术语表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-权衡点Risks,Tradeoffs,Sensitivities,Non-RisksAriskisapotentiallyproblematicarchitecturaldecision.“Thelevelofconfidentialityinavirtualprivatenetworkmightbesensitivetothenumberofbitsofencryption.”ATAM-风险决策Risks,Tradeoffs,Sensitivities,Non-RisksNon-risks
aregoodarchitecturaldecisionsthataredeemedsafeuponanalysis.“Assumingmessagearrivalratesofoncepersecond,aprocessingtimeoflessthan30ms,andtheexistenceofonehigherpriorityprocess,a1secondsoftdeadlineseemsreasonable.”(假定消息的到达速率是每秒一次,一次处理的时间小于30ms。如果对一个更高优先级的处理的响应时间要求是1秒钟,此系统可行)ATAM-无风险决策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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自来水费协议书
- 购物合作协议书
- 河口拥军协议书
- 购买果园协议书
- 私人供油协议书
- 酒合作合同范本
- 警院合作协议书
- 树苗订购协议书
- 线下调解协议书
- 普工合同协议书
- 消防系统瘫痪应急处置方案
- 病理生理学复习重点缩印
- 《大数的认识》复习教学设计
- GB/T 3513-2018硫化橡胶与单根钢丝粘合力的测定抽出法
- GB/T 11417.5-2012眼科光学接触镜第5部分:光学性能试验方法
- 《寝室夜话》(4人)年会晚会搞笑小品剧本台词
- 统编教材部编人教版小学语文习作单元教材解读培训课件:统编小语四-六年级习作梳理解读及教学建议
- 开放大学土木工程力学(本)模拟题(1-3)答案
- 医疗机构远程医疗服务实施管理办法
- 【教学课件】谋求互利共赢-精品课件
- 情感性精神障碍护理课件
评论
0/150
提交评论