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