软件架构评估是企业架构(EA)中重要的一部分。软件工程研究所( SEI )的 Felix Bachmann (译者注:Felix 是 Jolt 大奖图书《软件架构编档》的作者)最近谈到了如何有效地评估软件架构、识别企业应用中的风险。在 SEI 架构(SATURN)会议上,Felix 主持了一个有关架构评估原则的讨论会。他还论述了SEI 的架构权衡分析法( ATAM )框架是如何利用这些原则来助力架构评估工作的。
Felix 提到,架构评估原则可分为三组:“度量”、“架构理解”和“窍门”。软件架构评估中的度量部分包括从利益相关方那里提取组织需求,并用精确和可度量的方式将其转化为质量属性。他谈论了该类别中的四条原则:
- 质量属性决定架构。
- 业务目标决定质量属性需求。
- 业务目标意味着对利益相关方社区来说,什么是重要的。
- 质量属性需求需要用好的度量方法指定。
了解架构师使用的方法、功能分布及薄弱环节也很重要。架构理解中有三个原则:
- 要想理解架构,你必须要了解其质量属性。
- 最重要的质量属性需求决定了系统中需要重点分析的部分。
- 架构中的功能分布造就了质量属性。
软件架构评估的“窍门”部分包括:
- “有罪推定”,也就是指,不要盲目相信提供过来的任何东西,要寻找令人信服的证据。提供不出证据会导致风险。
- 正确的分析不允许假设。只有事实才是有价值的。
- 被评估的组织必须承认评估结果。
使用坚持所有原则的架构评估方法基本上可以保证成功。Felix 表示,不利用任何原则的架构评估方法极有可能会导致一场灾难。他认为应该根据上下文应用这些原则,因为遵守某些原则要比遵守其它的更为重要。方法越能很好地利用原则,成功的几率就越大。
ATAM 架构利用了架构评估里的这些原则。ATAM 的主要部分包括分为四组的九个步骤,这四组是:
- 描述,其中包括通过描述交流信息。
- 调查和分析,涉及评估相对于架构方法的关键质量属性需求。
- 测试,包括检查迄今为止相对于所有利益相关方需求的结果。
- 报告,包括表述 ATAM 的结果。
下面是 ATAM 评估过程的步骤。
- 描述 ATAM。
- 描述业务驱动者。
- 描述架构。
- 识别架构方法。
- 生成质量属性效用树。
- 分析架构方法。
- 头脑风暴、给场景划分优先级。
- 分析架构方法。
- 描述结果。
Felix 在讨论的最后总结道,软件架构师应该仔细查看架构评估的结果,以不断提高评估过程。
评论