本节内容围绕 基于架构的软件开发方法
(Architecture-Based Software Development, 简称 ABSD)展开,是系统架构设计师考试中一项兼具理论与实践的重点内容。
ABSD
方法将软件开发全过程建立在体系结构之上,强调从架构出发组织软件开发活动。这种方法特别适用于大型、复杂系统的开发,强调通过构件化、结构化、视图化
等方式保证系统质量与开发效率。
考试中,此节内容多以流程顺序题、匹配题、概念理解题出现,要求考生掌握各阶段的输入输出、目标任务及其关键活动。
基于架构的软件设计方法(ABSD
)是一种架构驱动的开发方法。其基本特点包括:
ABSD方法的三大基础
:
功能的分解
通过选择体系结构风格满足质量与商业需求
软件模板的应用
ABSDM 将开发过程细化为六个子过程:
子过程 | 关键任务 | 说明 |
---|---|---|
体系结构需求 |
获取需求 + 标识构件 | 关注目标与构件识别 |
体系结构设计 |
架构建模 + 构件分析 | 明确交互与结构关系 |
架构文档化 |
输出规范说明文档 | 支撑实现和测试 |
架构复审 |
独立评审 + 风险识别 | 提前发现设计缺陷 |
架构实现 |
构件实现 + 系统组装 | 执行开发与集成 |
架构演化 |
满足新需求 + 构件重组 | 保证系统可持续性 |
需求获取来自三方面:
质量目标
系统商业目标
开发人员的商业目标
构件标识过程:
架构需求评审
聚焦于:
主要过程:
外部专家
参与)⚠️ 强调**“外部评审机制”**,以保证架构设计的客观性与质量。
文档输出主要包括:
体系结构规格说明
质量设计说明书
(质量属性与验证设计)这些文档是后续开发、测试和维护的基础依据,必须详尽、准确、结构清晰。
用户代表 + 领域专家
实现以文档化说明书
为基础,流程包括:
构件级
和系统级
测试)测试内容:
为应对新需求
或外部环境变化
,系统架构必须具备演化能力:
演化流程:
架构演化需保持对原有系统的兼容性与连续性,避免因变更造成结构紊乱。
关键点 | 内容 |
---|---|
ABSD三大基础 |
功能分解、架构风格、模板化 |
六个子过程 |
需求、设计、文档、复审、实现、演化 |
需求阶段重点 |
质量目标来源、构件识别步骤 |
设计阶段难点 |
构件交互分析、外部评审机制 |
演化阶段流程 |
需求归类→计划→变动→组装→测试→评审 |
所有子过程之间存在前后依赖关系,评审环节是贯穿始终的重要保障机制。
常见出题形式:
⚠️ 高频混淆点:
架构设计 ≠ 构件实现
:设计关注抽象结构,实现关注具体代码需求获取
≠ 用例建模
:前者为广义目标识别,后者为功能行为建模复审
参与者必须是非开发人员
,含用户与专家基于架构的软件开发方法
强调在开发全过程中,以架构为中心组织开发活动,具备高度的工程性、结构性和复用性。掌握该方法,有助于建立系统化的软件设计思维,也符合现代大型软件项目的工程实践。
✅ 学习建议:
“设计可演化的架构,比一开始就追求完美更重要。”ABSD方法强调结构之美,也强调结构之坚韧。掌握这一理念,是成为合格系统架构师的重要一步。