《软件体系结构atam》由会员分享,可在线阅读,更多相关《软件体系结构atam(63页珍藏版)》请在金锄头文库上搜索。
1、软件体系结构 ATAM, ,2,2019/8/28,Architecture Tradeoff Analysis Methodsm (ATAMsm), ,3,2019/8/28,Role of a Software Architecture,If the only criterion for software was to get the right answer, we would not need architectures. 如果评判软件的唯一标准是正确,那么就不需要体系结构 Unstructured, monolithic systems would suffice. 无结构的、单模块
2、的系统已经足够。 But other things also matter, such as: 但事实上还有很多其他问题,比如: modifiability time of development performance coordination of work teams These issues are often addressed in the Software Architecture 这些问题通常体现在软件体系结构当中, ,4,2019/8/28,Why Analyze Software Architectures?,All design involves tradeoff in
3、system qualities(设计即折中) System qualities are largely dependent on architectural decisions 体系结构极大地影响系统质量 Promoting one quality often comes at the expense of another quality 提高一个质量,经常会降低另一个质量 A software architecture is the earliest life-cycle artifact that embodies significant design decisions: choice
4、s and tradeoffs. “选择与折中”是设计中首要考虑的问题,软件体系结构是软件生命周期中最早一个遇到此问题的 Choices are easy to make, but hard to change once the system is implemented 选择很容易做,但是一旦系统已经实现,就很难更改, ,5,2019/8/28,The ATAM,The purpose of the ATAM: is to assess the consequences of architectural decisions in light of quality attribute requ
5、irements. ATAM的目标是:按照质量需求,评价体系结构设计, ,6,2019/8/28,Context for the ATAM,Business Goals,Architecture Decisions,P,A,S,M,$ Value $,$ Cost $, ,7,2019/8/28,Purpose of ATAM,We need a method in which the right questions are asked early to 我们需要一个新方法,让我们能尽早提出正确问题,来: Discover risks - alternatives that might cre
6、ate future problems in some quality attribute 发现风险:可能在将来产生质量问题的方案 Discover non-risks - decisions that promote qualities that help realize business/mission goals 发现非风险:可以提高质量的决策 Discover sensitivity points - alternatives for which a slight change makes a significant difference in some quality attribu
7、te 发现关键点:方案中一个小小的变化,就可能让质量完全大变样 Discover tradeoffs - decisions affecting more than one quality attribute 发现折中:影响一个以上质量的决策, ,8,2019/8/28,Purpose of ATAM,The purpose of an ATAM is NOT to provide precise analyses, but to discover risks created by architectural decisions. ATAM的目标不是做精确的分析,而是发现体系结构可能带来的风险
8、 We want to find trends: correlation between architectural decisions and predictions of system properties. 我们要发现一些趋势:从体系结构方案预言系统的特性 Discovered risks can then be made the focus of mitigation activities: e.g. further design, further analysis, prototyping. 发现风险,然后做进一步的分析、设计 Surfaced tradeoffs can be ex
9、plicitly identified and documented. 明显的折中可以被清晰地指出并写入文档, ,9,2019/8/28,ATAM Benefits,There are a number of benefits from performing ATAM analyses: 做ATAM分析可以得到下列益处: Clarified quality attribute requirements 明确质量需求 Improved architecture documentation 提高体系结构文档质量 Documented basis for architectural decision
10、s 文档化了的体系结构方案原理 Identified risks early in the life-cycle 及早发现风险 Increased communication among stakeholders 促进了角色之间的交流 The results are improved architectures. 结果是,体系结构得到改进, ,10,2019/8/28,Purpose of ATAM,The purpose of ATAM is to assess the consequences of architectural decisions in light of quality a
11、ttribute requirements. ATAM的目标就是按照质量需求,评价体系结构设计 The ATAM process is a short, facilitated interaction between multiple stakeholders, leading to the identification of risks, sensitivities, and tradeoffs. ATAM过程是角色之间交流的一个方便、快捷的手段,便于发现风险、关键点和折中 The purpose of an ATAM is NOT to provide precise analyses,
12、the purpose IS to discover risks created by architectural decisions. ATAM的目标不是提供精确的分析,而是发现体系结构方案可能带来的风险, ,11,2019/8/28,Preconditions for an ATAM,Clients must have a Software Architecture Scope/scale must be manageable 其作用范围和程度必须可管理 ATAM will not work if the software architecture has not been created
13、 yet 如果体系结构还没有被建立,那么ATAM毫无用武之地 ATAM team members will review architectural artifacts, and may help refine documentation ATAM组将评估体系结构,并帮助改善文档 Architect must prepare an architecture presentation 架构师必须准备一个体系结构讲解 Clients must prepare a business/mission goals presentation 必须有一个商业/任务目标讲解 ATAM will review
14、architecture artifacts, presentations, and read ahead material to become familiar with domain ATAM要事先阅读一些材料来熟悉这个领域, ,12,2019/8/28,Evaluation Team,Each ATAM team consists of a leader and at least three other team members 每个ATAM组有一个组长和至少三个组员 domain expertise is not necessary 领域专家不是必须 ATAM team members
15、 must be experienced architects ATAM组员必须是经验丰富的架构师 ATAM leaders must have EXCELLENT communication and facilitation skills ATAM组长必须有优秀的交流和激励技巧 The ATAM team members fill multiple roles during the course of the evaluation. ATAM组员在评审过程中扮演多种角色, ,13,2019/8/28,Evaluation Team Roles,Moderator facilitates di
16、scussions, brainstorming, analysis 主持人:推动讲解、自由讨论和分析 Scenario scribe(s) writes utility tree, raw scenarios, risks, sensitivities, tradeoffs on flipcharts or whiteboards 场景记录员:在白板上记下原始场景、有效树、风险、关键点和折中 Proceedings scribe captures scribes writing on a laptop computer, preparing the Results, Presentation template 会议