架构之美第十二章-好的架构
我们曾提到,架构师玩的是折中的游戏。对于一组给定的功能需求和品质需求,没有唯一的正确架构和唯一的“正确答案”。我们从经验中得知,应该对架构进行评估,确定它是否满足其需求,然后再投入资金来构建、测试和部署这个系统。评估试图回答前面小节中讨论的一个或多个一般关注点问题,或回答特定系统的具体关注问题。
架构评估有两种常见的方式(Clements、Kazman和Klein 2002)。
第一种评估方式是确定架构的属性,通常通过建模或模拟系统的一个或多个方面。例如,通过性能建模来评估吞吐量和伸缩性,通过失效树模型来评估可靠性和可访问性。其他类型的模型包括复杂性和耦合指标,用于评估可变性和可维护性。第二种评估方式,也是最广泛使用的方式,就是通过对架构师提出质询来评估该架构。有许多结构化的质询方法。例如,贝尔实验室提出的软件架构复查委员会(Software Architecture Review Board,SARB)过程利用了组织机构之内的专家,以及他们在电信和相关应用中的深厚领域经验(Maranzano等2005)。质询方法的另一种变体是架构折中分析方法(Architecture Trade-off Analysis Method,ATAM)(Clements、Kazman和Klein 2002),它寻找架构不能满足品质关注点的风险。ATAM使用了场景分析,每种场景都描述了特定的利益相关人对系统的品质关注点。架构师然后解释该架构如何支持每一种场景。主动复审是另一种质询方法,它改变了复审过程的开始方式,要求架构师向复审者提供架构师认为重要而需要回答的问(Hoffman和Weiss 2000,第17章)。然后,复查者利用已有的架构文档和描述来回答这些问题。
最后,在网络上找“softwarearchitecture review checklist(软件架构复审检查清单)”,可以得到几十份检查清单,其中某些清单非常通用,另一些则是针对具体的应用领域或技术框架。
转载请注明出处:http://blog.csdn.net/fwj380891124/article/details/7701486