审查架构
对应用架构进行审查是一项非常重要的任务,因为它能够减少错误、尽早地发现并修复架构问题。架构审查是公认的可以降低项目成本、减少架构故障的有效措施。因此在创建架构的时候要让其尽可能地方便交流和审查。这不仅可以提高架构质量,也能减少每次审查所需的时间。
架构审查的主要目标是确定架构能够正确地实现所需的功能并符合质量属性。此外,它还能帮助发现并解决问题。
场景评估
场景评估是进行架构审查的有效方法。在场景评估中,主角是对业务最重要的场景,也是对架构影响最大的场景。以下是几种常用的审查方法:
软件架构分析方法(SAAM)
最初,SAAM是用来评估可修改的特性的。但是后来这一方法被延用到架构审查中,主要面向可修改性、可移植性、可扩展性、整合性以及功能覆盖率等质量属性。SAAM也被用来审查架构的性能、可靠性。
软件架构权衡分析法(ATAM)
ATAM法是SAAM的精炼、改进版本,用于审查架构决策的质量属性、以及具体质量目标的完成度。
主动设计审查(ADR)
这种架构审查方法最适用于未完成或正在进行中的架构。其主要不同点在于每次的审查目标是架构的某个区域而不是架构的整体。
设计中主动审查(ARID)
这种架构审查技术组合了ARD对进行中架构的一系列问题的审查,和ATAM与SAAM的对质量属性的场景审查。
成本效益分析法(CBAM)
这种架构审查方法主要是分析架构决策的成本、收益和对进度的影响。
软件可变性分析(ALMA)
对商业信息系统(BIS)架构的可变性进行评估。
架构系评估方法(FAAM)
这种架构审查技术评估的是信息系统类架构的互通性和扩展性。
沟通
架构设计完成之后,你必须和其他利益相关人讨论这个设计。利益相关人包括开发团队、系统管理员和操作人员、业主以及其它相关团体。有许多关于如何向别人描述架构的方法,下面就是其中一种:
4-1法 这种方法使用了架构的五种视图。其中四种是以不同的方式对架构进行描述。逻辑视图(比如对象模型)、过程视图(比如从并行和同步的角度)、物理视图(软件各层与功能的分布式硬件配置图)和开发视图。第五种视图展示的是软件的场景与用例。这可以让利益相关人了解到他们更为关心的某些方面。