收藏 分享(赏)

软件体系结构课件_(第十三课)ATAM.ppt

上传人:dzzj200808 文档编号:3343279 上传时间:2018-10-16 格式:PPT 页数:39 大小:507.50KB
下载 相关 举报
软件体系结构课件_(第十三课)ATAM.ppt_第1页
第1页 / 共39页
软件体系结构课件_(第十三课)ATAM.ppt_第2页
第2页 / 共39页
软件体系结构课件_(第十三课)ATAM.ppt_第3页
第3页 / 共39页
软件体系结构课件_(第十三课)ATAM.ppt_第4页
第4页 / 共39页
软件体系结构课件_(第十三课)ATAM.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、ATAM:一种进行构架评估的综合方法,Architecture Tradeoff Analysis Method (ATAM),提高一个质量,往往意味着降低另一个质量;所以需要平衡和折衷(trade off),目的,The Purpose of ATAM is not to provide precise analyses the purpose is to discover risks created by architectural decisions.The Purpose of ATAM is to assess the consequences of architectural de

2、cisions in light of quality attribute requirements.,ATAM Benefits,There are a number of benefits from performing ATAM analyses: 做ATAM分析可以得到下列益处: Clarified quality attribute requirements 明确质量需求 Improved architecture documentation 提高体系结构文档质量 Documented basis for architectural decisions 文档化了的体系结构方案原理 I

3、dentified risks early in the life-cycle 及早发现风险 Increased communication among stakeholders 促进了角色之间的交流 The results are improved architectures. 结果是,体系结构得到改进,ATAM process,The ATAM processes is a short, facilitated interaction between multiple stakeholders, leading to the identification of risks, sensiti

4、vities, and tradeoffs. ATAM过程是角色之间交流的一个方便、快捷的手段,便于发现风险、关键点和折中,风险:可能在将来产生质量问题的方案关键点:方案中一个小小的变化,就可能让质量完全大变样折中:影响一个以上质量的决策,Preconditions for ATAM,Clients must have a software architecture -architect must prepare an architecture presentation -clients must prepare a business/mission goals presentation -A

5、TAM will review architecture artifacts, presentations, and read ahead material to become familiar with domain,ATAM的参与人员,要求以下三个小组的参与和合作: (1)评估小组 (2)项目决策者 (3)构架涉众 什么是涉众?涉众是与要建设的业务系统相关的一切人和事。首先要明确的一点是,涉众不等于用户,通常意思的user是指系统的使用者,这仅是涉众中的一部分。,Evaluation Team,Each evaluation team consists of a leader and at

6、 least three other team members ATAM team members must be experienced architects ATAM leaders must have excellent communication and facilitation skills,ATAM的参与人员,Conceptual flow of ATAM,ATAM的阶段,ATAM的活动被分为4个阶段:,1. ATAM方法的表述,评估负责人向参会代表介绍: ATAM,简要描述ATAM步骤和评估结果。 技术:utility tree generationarchitecture el

7、icitation and analysisscenario brainstorm 输出: 效用树,场景,风险和非风险,敏感点和权衡,2. 商业动机的表述,系统最重要的功能 限制(技术、管理、 经济、 政治) 与项目相关的商业目标 构架的驱动因素(关键需求和质量属性目标),3. 构架表述,技术约束:例如操作系统,硬件,或中间件 本系统必须与之交互的其它系统 所采用的体系结构风格(用于强调质量属性的需求)Evaluation team begins probing for and capturing risks,构架表述,构架方法、模式或采用的战术,包括它们实现了什么质量属性以及这些方法如何实现

8、这些属性的描述 (36张幻灯片) 商业产品(COTS)的使用及其选择/集成 (12张幻灯片) 对1 3个最重要的用例场景的介绍,如果可能,包括对每个场景的运行时资源使用情况的介绍(13张幻灯片) 对1 3个最重要的变更场景的介绍,如果可能,根据所变更的模块或接口来描述变更的影响,即预计的变更的规模/难度 ( 13张幻灯片) 与实现促使形成该构架的需求相关的构架问题/风险( 23张幻灯片) 术语表(1张幻灯片),4. Identify architectural approaches,Start to identify places in the architecture that are ke

9、y for realizing quality attribute goals. identify any predominant architectural approaches. Examples: Client-server 3-tier Redundant hardware,5.生成质量属性效用树,A utility tree is a top-down vehicle for characterizing the “driving” attribute specific requirements(效用树是一个自顶向下的工具,用来刻画重要的需求) Select the most imp

10、ortant quality goals to be the high level nodes (typically performance, modifiability, security, and availability)(把最重要的质量目标放在高层节点(典型的有:性能、适应性、安全和可用性) Scenario are the leaves of the utility tree. Output: a characterization and a prioritization of specific quality attribute requirements,Scenarios,使得所

11、需要的质量属性的主要陈述变得具体和可测试,组成了效用树的叶子。 Understanding quality attribute requirements Scenarios should cover a range of Anticipated uses of( use case scenarios) Anticipated changes to (growth scenarios), or Unanticipated stresses (exploratory scenarios) to the system A good scenarios makes clear what the sti

12、mulus is that causes it and what responses are of interest.,6.分析构架方法,Evaluation team probes architectural approaches from the point of view of specific quality attributes to identify risks. Identify the approaches which pertain to the highest priority quality attribute requirements Generate quality-

13、attribute specific questions for highest priority quality attribute requirement Ask quality-attribute specific questions Identify and record risks and non-risks,Quality Attribute Questions,Quality attribute questions probe styles to elicit architectural decisions which bear on quality attribute requ

14、irements. 质询体系结构在质量需求上如何作为 Performance How are priorities assigned to processes? 怎样决定进程的优先级? What are the message arrival rates? 消息到来的频率是多少? Modifiability Are there any places where layers/facades are circumvented ? 有按层封装的地方吗? What components rely on detailed knowledge of message formats? 哪个组件依赖消息格式

15、的细节?,在分析构架方法的过程中,评估小组把相关构架决策变成文档,确定其:有风险决策、无风险决策、敏感点、权衡点,并对其进行分类 这一步结束时,评估小组将会对整个构架的绝大多数重要方面,所作出的关键决策的基本原理,以及有风险决策、无风险决策、敏感点和权衡点的列表有一个清楚的认识,Risks and Non-Risks,While risks are potentially problematic architectural decisions, 风险是有潜在问题的体系结构 Non-risks are good decisions relying on implicit assumptions.

16、 非风险是在一个可信的假设之下的,好的方案 Risk and non-risk constituents 风险和非风险要素 architectural decision quality attribute requirement rationale Sensitivity points are candidate risks and candidate tradeoff points. 关键点是候选的风险和折中,Risks and Non-Risks,Example risks Rules for writing business logic tier of your 3-tier style

17、 are not clearly articulated. 三层架构下,商业逻辑层的规则还没有确定 There is no way of detecting the “live” failure of a critical component. 没有检测一个关键组件是否正常工作的机制 Every component in the radar subsystem implicitly assumes a rotation rate. 雷达系统的每一个组件都假定有一个固定的转动速率 Example non-risk Assuming message arrival rates of once pe

18、r second, a processing time of less than 30 ms, and the existence of one higher priority process, a 1 second soft deadline seems reasonable. 假定消息的到达速率是每秒一次,一次处理的时间小于30ms。如果对一个更高优先级的处理的响应时间要求是1秒钟,此系统可行,Sensitivities and Tradeoffs,Example Sensitivity Changing the timing scheme from a harmonic framewor

19、k to a non-harmonic framework would be easy, but due to implied timing dependencies, there would impact far reaching impacts to other modules. 把定时方法从一个精确的框架移植到一个不精确的框架可能很容易,但是因为各个模块对定时的依赖,可能会极大地影响它们的正常工作 Example Tradeoffs In order to achieve the required level of performance in the discrete event ge

20、neration component, assembly language had to be used thereby reducing the portability of this component. 为了达到性能要求,不得不在离散的事件产生组件中使用汇编语言。此组件不再有移植性,中间间断,评估小组对所获得的知识进行总结,并在1或2周的时间内与设计师进行非正式会晤 可以在这段时间内分析更多的场景,预备,陈述ATAM 评估负责人概述第26步的结果,并给涉众提供一份有风险决策、无风险决策、敏感点和权衡点的当前列表。,7a. Brainstorm ,确定场景优先级,集体讨论确定场景 把集体讨

21、论的结果与效用树中的一组场景进行比较,7b. Prioritize Scenarios,Stakeholders have brainstormed a large set of scenarios. 各个角色已经讨论出很多很多场景 Each stakeholder is allocated a number of votes roughly equal to 0.3 x #scenarios 每个角色分给一个数用来投票,其值大约为(0.3 x 场景数) Prioritized scenarios are compared with the utility tree and differenc

22、es are reconciled. 排好次序的场景和效用树进行比较。如果有不同的,则要再次考量,达成一致,8. Analyze Architectural Approaches,Identify the architectural approaches impacted by the scenarios generated in the previous step. 确定被上一步产生的场景影响的体系结构设计 This step continues the analysis started in step 6 using the new scenarios. 用第6步同样的方法来分析新的场景

23、Continue identifying risks and non-risks. 继续确认风险和非风险 Continue annotating architectural information. 继续标注体系结构信息,9. Present Results,Recapitulate steps of the ATAM 总结所有ATAM的步骤 Present ATAM outputs architectural approaches utility tree scenarios risks and “non-risks” sensitivity points and tradeoffs Offer recommendations 推荐,ATAM的结果,一个简洁的构架表述 表述清楚的业务目标 用场景集合捕获的质量需求 构架决策到质量需求的映射 所确定的敏感点和权衡点集合 有风险决策和无风险决策 风险主题的集合,ATAM的结果,评估的结果用于建立一个最终书面报告。 该报告:概述ATAM方法总结评估会议记录捕获场景及其分析对得到的结果进行分类,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报