知识卡片
质量属性场景与架构驱动元素
内容
表达质量属性需求,最轻量的方式是写一份优先级排序(如”伸缩性→可修改性→安全性→可用性”),更明确可测的方式是套用质量属性场景(QA场景)模板:源、触发、环境、响应、响应测量五要素,写清具体的可测条件而非空泛描述。之后让利益相关者和开发人员分别给每个QA场景打分——利益相关者评”重要性”,开发人员评”实现难度”,各分高中低三档,组合成如(H,M)这样的级别对。(H,L)容易拍板,(L,H)可以先放一放,唯有(H,H)——既重要又难实现——才是真正需要开发人员特别留意的”架构驱动元素”,架构决策(如选三层架构风格)会直接影响这些驱动元素实现的难易程度。
结构图:
flowchart TD
A[写质量属性场景<br/>源/触发/环境/响应/响应测量] --> B[利益相关者评重要性]
A --> C[开发人员评实现难度]
B --> D{组合评级}
C --> D
D -->|H,L 高重要低难度| E[容易拍板]
D -->|L,H 低重要高难度| F[可以缓一缓]
D -->|H,H 高重要高难度| G[架构驱动元素<br/>需特别留意]
参考来源
- 位置:《恰如其分的软件架构》第9章《设计模型》9.5.8节《质量属性场景和架构驱动》(源文件:_epub-src/OEBPS/text00089.html)
- 结论依据:原文给出QA场景五要素模板(源/触发/环境/响应/响应测量),说明利益相关者与开发人员分别对重要性和难度评级,(H,H)组合即为架构驱动元素,需要开发人员特别留意。
- 原始内容:一个QA场景描述模板包含了源、触发、环境、响应及响应测量……每一个质量属性场景都要让利益相关者和开发人员同时进行评级……如,(H,H),既重要又难以实现,开发人员需要在设计系统时特别留意。这些质量属性场景就是常常提及的架构驱动元素。