【软考系统架构设计师】第五章 ABSD方法(知识点必知必会)
第五章 ABSD方法(知识点必知必会)
一. ABSD基本概念
1)ABSD的定义
- 基于架构的软件设计ABSD是一种架构驱动方法。
- ABSD方法是递归的,且迭代的每一个步骤都是清晰定义的。不管设计是否完成,架构总是被清晰的定义的,这样有助于降低架构设计的随意性。
- 在建立软件架构的初期,选择一个合适的架构风格是首要的,在此基础上,开发人员通过架构模型,可以获得关于软件架构属性的理解,为将来的架构实现与演化过程建立了目标。
2)ABSD的三个基础
01. 功能的分解
- 使用已有的基于模块的内聚和耦合技术。
02. 架构风格的选择
- 通过选择架构风格来实现质量和业务需求
03. 软件模版的重用
- 软件模版利用了一些软件系统的结构。
- 软件模版是一个特殊类型的软件元素,包括描述所有这些类型的元素在共享服务和底层构造的基础上如何进行交互。
- 在软件产品线系统中,软件模版显得格外重要。
3)ABSD的强调内容
- 强调由商业、质量和功能需求的组合驱动软件架构设计。
- 使用ABSD方法,设计活动可以从项目总体功能框架明确就开始。
- 它强调采用视角和视图来描述软件架构,采用用例和质量场景来描述业务需求。
4)ABSD方法的输入与输出
01. ABSD输入
1)抽象功能需求(变化的需求和通用的需求)
2)用例(实际功能需求)
3)抽象的质量和业务需求
4)质量因素(实际质量和业务需求)
5)架构选项
6)约束
这些输入也是需求阶段的假定输出。
02. ABSD输出
- 三个视图的概念构件的集合,包括能够产生每个概念构件的假定,软件模版的集合,和那些已经作出具体实现的决策。
- 简单来说,ABSD方法的输出就是软件构件的设计。