软件架构师知识点之absd
2. 基于架构的软件设计方法ABSD
2.1 概述
ABSD方法由体系结构的商业、质量和功能需求的组合驱动的。使用ABSD方法,设计活动可以从项目总体功能框架明确就开始(需求抽取和分析前,可以并行)
ABSD方法有3个基础:
- 功能的分解:使用已有的基于模块的内聚和耦合技术;
- 选择体系结构风格来实现质量和商业需求;
- 软件模板的使用。
2.2 概念和术语
- 设计元素
ABSD方法是一个自顶向下,递归细化的方法,软件系统的架构不断细化,直到产生软件构件和类。
- 在最顶层,系统被分解为若干概念子系统和一个或多个软件模板;
- 在第2层,概念子系统又被分解为概念构件和一个或多个附加软件模板;
- 视角和视图
从不同的视角来观察对架构的描述,考虑架构的不同属性。 - 用例和质量场景
用例:用来捕获功能需求,是给予用户一个结果值的功能点。
质量场景:通过特定场景来捕获质量需求。使用质量场景捕获变更、性能、可靠性和交互性,分别称之为变更场景、性能场景、可靠性场景和交互性场景。质量场景必须包括预期的和非预期的场景。
2.3 基于体系结构的开发模型
传统的软件开发过程,包括问题定义、需求分析、软件设计、软件实现及软件测试等。
ABSD 模型把整个基于体系结构的软件过程划分为体系结构需求、设计、文档化、复审、实现和演化。
2.4 体系结构需求
需求是指:用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求过程主要是获取用户需求,标识系统中所要用到的构件。
- 需求获取
分别是系统的质量目标、系统的商业目标和系统开发人员的商业目标。 - 标识构件
- 生成类图
- 对类分组,目标是简化结构,更加清晰;
- 类打包成构件
- 架构需求评审
2.5 体系结构设计
体系结构设计是一个迭代的过程,可以服用已有的设计过程。
- 提出软件体系结构模型:选择一个合适的体系结构风格,为将来的实现和演化建立目标;
- 把已标识的构件映射到软件体系结构中:将产生一个中间结构,包含那些能明确适合体系结构模型的构件;
- 分析构件之间的相互作用:
- 产生软件体系结构:在中间结构的基础上进行精细化;
- 设计评审:必须邀请独立于系统开发的外部人员对体系结构进行评审。
2.6 体系结构文档化
主要输出结果是两个文档:体系结构规格说明和测试体系结构需求的质量设计说明书。
文档要从使用者的角度进行编写,必须分发给所有与系统有关的开发人员,且必须保证最新的。
2.7 体系结构复审
要安排一次由外部人员(用户代表和领域专家)参加的复审。
搭建一个可运行的最小化系统用于评估和测试体系架构是否满足需要。是否存在可识别的技术和协作风险。
复审的目的是标识潜在的风险,包括体系结构能否满足需求,质量需求是否在设计中能体现、层次是否清晰、构件的划分是否合理、文档表达是否明确、构件的设计是否满足功能与性能的要求等。
2.8 体系结构实现
实现以复审后的、文档化的体系结构说明书为基础。
2.9 体系结构演化
- 需求变化归类:标识需求与构件;
- 执行体系结构演化计划:
- 增删改构件:
- 更新构件的相互作用:
- 构件组装和测试:
- 技术评审:

浙公网安备 33010602011771号