知识卡片

ARID:针对未完成设计的轻量级评审

普通读书笔记卡

内容

ATAM和SAAM都是针对软件完整架构的评估方法,但架构从来不是一次性以最终确定的完美形式出现的,而是历经很长时间递增式逐渐完善——在大多数项目开发中,经常需要对某个大组件或子系统的阶段性设计做评审,这时需要一种更简单易用、重点关注”适宜性”(而不是完整正确性)、能在缺少详细文档情况下进行的评估方法,即ARID(中间设计的积极评审)方法,它是基于场景的设计评审方法(如SAAM/ATAM)与积极设计评审方法(ADR)交叉的产物,最适合评估尚不完善的架构设计——此时设计人员真正想弄清楚的是”从要求使用该设计架构的其他部分的角度看,这个设计方案是否合适”,而不是”为什么要这样设计”或”接口背后的实现细节是什么”。ARID同样分九个步骤,分两个阶段:准备阶段(约12名风险承担者作为评审人员、准备设计方案介绍材料、准备约12个”种子场景”帮助评审人员理解场景概念、准备评审所需的复印材料);评审阶段(介绍ARID方法约30分钟;设计方案总体介绍约2小时,期间严格遵守”不准提任何关于具体实现或基本思想的问题”这条规则,只允许提澄清性问题——这条规则本身就体现了ARID”只判断适宜不判断对错”的核心定位;集体讨论确定场景优先级,投票方式与SAAM/ATAM类似,每人拿到场景总数30%的选票;运用所选场景——从得票最高的场景开始,评审人员分组编写实现该场景的代码或伪代码,设计人员原则上不允许提供帮助,只有在评审工作陷入僵局时才能由评审组织者暂停并请设计人员补充信息,且必须把”工作停顿的地方和原因”记录下来,因为这恰恰暴露了设计方案或材料信息不足的地方;最后是总结)。ARID评审有三种自然终止条件:到了计划截止时间、所有最高优先级场景都处理完了、或评审小组已经对某个结论感到满意(设计适宜,或发现了导致工作停顿的明确缺陷)。

参考来源

- 位置:《软件架构理论与实践》第15章《软件架构分析与测试》"15.2.8 ARID"节(源文件:_epub-src/OEBPS/text00122.html) - 结论依据:原文说明"这里需要的是一种简单易用的评估方法,应该重点关注适宜性(suitability)……ARID方法是另外两类方法相交叉的产物:第一类是基于场景的设计评审方法……另一类则是积极设计评审(ADR)方法",并说明评审阶段"必须遵循一个基本规则,即不准提任何关于具体实现或基本思想的问题",直接支撑本卡片结论。 - 原始内容:应该重点关注适宜性(suitability),以一种风险承担者能够接受的方式展示设计方案,并能在缺少详细文档的情况下进行架构评估……在这段时间内,必须遵循一个基本规则,即不准提任何关于具体实现或基本思想的问题,也不准提其他可能的设计方案。