
系统架构设计基础是软考系统架构设计师考试的核心模块之一,在上午选择题中占 10-15 分(单选 8-10 题、多选 2-3 题),下午案例分析题中更是高频考点(常结合架构设计方案、风格选择等考查,分值 5-8 分)。该模块是理解后续复杂架构设计(如云原生、大数据架构)的基础,直接影响案例分析题的答题质量,堪称 "架构设计类考题的敲门砖",零基础备考者必须重点掌握。
1. 软件架构核心概念
1.1 知识点讲解
- 软件架构的定义(IEEE 1471-2000 标准):架构是体现在组件中的系统的基本组织、组件彼此的关系与环境的关系及指导其设计和发展的原则。
- 核心要素:组件(系统核心功能单元)、连接件(组件间交互机制)、约束(设计规则)、设计原则(指导架构演化)。
- 软件架构与生命周期的关系:覆盖需求、设计、实现、维护全阶段
- 需求阶段:引入架构概念,保证需求与设计的一致性;
- 设计阶段:核心是架构描述、模型设计与分析;
- 实现阶段:将架构转化为代码,满足架构约束;
- 维护阶段:通过可扩展性、可替换性设计保障维护性。
- 软件架构的重要性:决定系统健壮性、生命周期长短,解决复杂需求、非功能属性(如性能、安全性)、系统集成等核心问题。
1.2 高频考点
- 考查形式:单选 / 多选
- 分值占比:1-2 分
- 命题角度:① 软件架构定义的核心要素辨析;② 架构在生命周期各阶段的作用;③ 架构的核心作用判断。
- 解题技巧:抓住 "组件、关系、环境、原则" 四大关键词,排除不含核心要素的选项;记住 "需求阶段定方向、设计阶段定框架、实现阶段落地、维护阶段保障" 的生命周期对应关系。
1.3 真题示例
【真题示例 1】(2021 年单选)下列关于软件架构的描述,正确的是( )
A. 软件架构仅关注系统组件的功能划分
B. 软件架构不涉及与外部环境的交互关系
C. 软件架构指导系统设计与演化的原则
D. 软件架构仅在系统设计阶段发挥作用
【解析】答案:C。根据 IEEE 1471-2000 标准,架构包含组件关系、环境关系及设计原则(排除 A、B);架构覆盖全生命周期(排除 D),C 符合定义核心要素。
【真题示例 2】(2023 年多选)软件架构在系统生命周期中发挥的作用包括( )
A. 需求阶段保证需求与设计的可追踪性
B. 设计阶段提供架构模型与分析方法
C. 实现阶段直接生成可执行代码
D. 维护阶段通过可扩展性设计降低维护成本
【解析】答案:ABD。架构在实现阶段是 "指导代码实现" 而非 "直接生成代码"(排除 C);A、B、D 分别对应生命周期各阶段的核心作用,符合知识点描述。
2. 基于架构的软件开发方法
2.1 知识点讲解
-
核心开发模型:以架构为核心,贯穿 "需求 - 设计 - 实现 - 演化" 的闭环流程。
-
关键步骤(9 步):
- ① 体系结构需求:明确用户功能与非功能需求(如性能、安全性);
- ② 体系结构设计:构建架构模型,确定组件与连接件;
- ③ 体系结构文档化:记录架构设计方案(含视图、约束);
- ④ 体系结构复审:评估架构是否满足需求;
- ⑤ 体系结构实现:将架构转化为代码,确保组件交互符合设计;
- ⑥ 体系结构演化:根据需求变更调整架构;
- 补充步骤:概念定义、术语统一、需求验证。
2.2 高频考点
- 考查形式:单选 + 案例分析
- 分值占比:3-5 分(单选 1-2 分,案例分析 2-3 分)
- 命题角度:① 开发步骤排序;② 核心步骤的职责辨析;③ 案例分析中要求描述架构开发流程。
- 解题技巧:记住 "需求→设计→文档→复审→实现→演化" 的核心顺序,案例分析中按 "需求明确 - 架构设计 - 验证 - 落地 - 迭代" 的逻辑答题。
2.3 真题示例
【真题示例 1】(2022 年单选)在基于架构的软件开发方法中,验证架构是否满足用户需求的关键步骤是( )
A. 体系结构需求分析
B. 体系结构复审
C. 体系结构实现
D. 体系结构演化
【解析】答案:B。体系结构复审的核心目的是评估架构是否符合需求,A 是明确需求,C 是落地实现,D 是迭代优化,均不涉及 "验证需求匹配度"。
【真题示例 2】(2020 年案例分析节选)某企业拟开发物流管理系统,要求系统具备高可用性和可扩展性。请简述基于架构的软件开发方法中,该系统的核心开发步骤。
【解析】答题要点:① 体系结构需求:明确物流系统的功能需求(如订单管理、仓储调度)和非功能需求(高可用→集群部署、可扩展→模块化设计);② 体系结构设计:选择分层架构风格,划分表现层、业务层、数据层组件;③ 体系结构文档化:记录各层接口、组件交互规则;④ 体系结构复审:评估架构是否满足高可用、可扩展需求;⑤ 体系结构实现:按架构开发组件,确保层间通信符合设计;⑥ 体系结构演化:根据业务增长调整组件部署(如增加缓存组件)。
3. 软件架构风格(核心重点)
3.1 知识点讲解
软件架构风格是针对特定场景的通用可重用方案,文档核心分类(David Garland 和 Mary Shaw 划分):
-
数据流体系结构风格:
- 核心特征:数据按流程传递,组件通过 "输入 - 处理 - 输出" 交互(如管道 - 过滤器);
- 应用场景:数据处理系统(如日志分析系统、编译器)。
-
调用 / 返回体系结构风格:
- 核心特征:组件通过调用函数或方法交互,存在明确的调用关系;
- 细分类型:分层架构(如 B/S、三层架构)、主程序 - 子程序架构;
- 应用场景:Web 应用、管理信息系统。
-
以数据为中心的体系结构风格:
- 核心特征:组件围绕共享数据存储(如仓库、数据库)交互,数据是核心;
- 应用场景:数据库应用、缓存系统。
-
虚拟机体系结构风格:
- 核心特征:通过虚拟机制模拟特定环境,支持灵活扩展;
- 应用场景:解释器、虚拟机(如 Java 虚拟机、Docker)。
-
独立构件体系结构风格:
- 核心特征:组件独立运行,通过事件、消息等松耦合方式交互;
- 应用场景:事件驱动系统、微服务架构。
3.2 可视化图表(架构风格分类)
软件架构风格 数据流风格 调用/返回风格 以数据为中心风格 虚拟机风格 独立构件风格 管道-过滤器 分层架构 主程序-子程序 仓库架构 Java虚拟机 解释器 事件驱动 微服务
图 1:软件架构风格分类图
3.3 高频考点
- 考查形式:单选 + 案例分析
- 分值占比:4-6 分(单选 2-3 分,案例分析 2-3 分)
- 命题角度:① 架构风格特征辨析;② 特定场景的风格选择;③ 案例分析中架构风格设计与理由。
- 解题技巧:用 "场景 - 特征" 对应法记忆(如 "数据处理→数据流风格""Web 应用→分层架构""松耦合→独立构件风格"),案例分析中需说明风格选择与非功能需求的匹配性(如 "高扩展→微服务风格")。
3.4 真题示例
【真题示例 1】(2023 年单选)某日志分析系统需要按 "采集 - 过滤 - 分析 - 输出" 的流程处理数据,各步骤独立运行且可替换。该系统最适合采用的架构风格是( )
A. 分层架构
B. 管道 - 过滤器风格
C. 以数据为中心风格
D. 虚拟机风格
【解析】答案:B。日志分析系统的 "采集 - 过滤 - 分析 - 输出" 是典型的数据流流程,各步骤独立可替换,符合管道 - 过滤器(数据流风格)的核心特征;A 适合 Web 应用,C 围绕共享数据,D 适合虚拟环境。
【真题示例 2】(2021 年案例分析节选)某电商平台要求系统支持高并发、可扩展,且各业务模块(订单、支付、物流)可独立部署和升级。请设计该系统的架构风格,并说明理由。
【解析】答案:采用独立构件风格中的微服务架构。理由:① 高并发需求:微服务可独立扩容,应对不同模块的并发压力;② 可扩展需求:模块独立部署,新增业务(如会员模块)无需修改原有架构;③ 独立升级需求:各模块松耦合,升级支付模块不影响订单、物流模块,符合 "独立构件风格" 的核心特征。
4. 软件架构复用
4.1 知识点讲解
-
定义:复用已有的架构设计(如风格、模型、组件),减少重复开发,提升效率。
-
分类:
- 按复用对象:架构风格复用(如直接采用分层架构)、架构组件复用(复用成熟组件);
- 按复用形式:黑盒复用(直接使用,不修改)、白盒复用(修改后使用)。
-
核心过程:识别复用需求→选择复用对象→适配调整→验证复用效果。
4.2 高频考点
- 考查形式:单选
- 分值占比:1-2 分
- 命题角度:① 架构复用的分类辨析;② 复用过程的步骤排序。
- 解题技巧:记住 "对象分类(风格 / 组件)、形式分类(黑盒 / 白盒)",过程按 "需求 - 选择 - 适配 - 验证" 排序。
4.3 真题示例
【真题示例】(2022 年单选)下列关于软件架构复用的描述,正确的是( )
A. 黑盒复用要求修改复用对象的内部实现
B. 架构风格复用属于组件级复用
C. 白盒复用可直接使用复用对象,无需调整
D. 架构复用的核心过程包括适配调整步骤
【解析】答案:D。黑盒复用无需修改内部实现(排除 A),架构风格复用属于风格级复用(排除 B),白盒复用需要修改调整(排除 C);D 符合复用核心过程 "识别 - 选择 - 适配 - 验证" 的描述。
5. 特定领域软件体系结构(DSSA)
5.1 知识点讲解
- 定义:针对特定领域(如金融、物流)的软件体系结构,包含该领域的通用架构模型、组件、交互规则。
- 基本活动:领域分析(明确领域需求)→领域设计(构建领域架构)→领域实现(开发领域组件)。
- 参与人员:领域专家(提供业务知识)、架构师(设计架构)、开发人员(实现组件)。
- 建立过程:确定领域范围→领域需求分析→领域架构设计→领域组件开发→架构验证与演化。
5.2 高频考点
- 考查形式:单选 / 多选
- 分值占比:2-3 分
- 命题角度:① DSSA 的核心活动;② 参与人员的职责;③ DSSA 的建立过程步骤。
- 解题技巧:记住 "领域分析→领域设计→领域实现" 的核心活动顺序,区分 "领域专家(业务)、架构师(架构)、开发人员(组件)" 的职责。
5.3 真题示例
【真题示例 1】(2023 年多选)特定领域软件体系结构(DSSA)的基本活动包括( )
A. 领域分析
B. 领域设计
C. 领域实现
D. 领域销售
【解析】答案:ABC。DSSA 的基本活动是 "分析 - 设计 - 实现",领域销售不属于架构设计相关活动,排除 D。
【真题示例 2】(2020 年单选)在 DSSA 的建立过程中,明确特定领域业务需求的步骤是( )
A. 领域设计
B. 领域分析
C. 领域实现
D. 领域验证
【解析】答案:B。领域分析的核心是明确领域需求,领域设计是构建架构,领域实现是开发组件,领域验证是评估架构,故选 B。
总结
系统架构设计基础模块的核心考点集中在软件架构定义、架构开发方法、五大架构风格、DSSA四大板块,其中 "架构风格的辨析与场景选择" 是案例分析题的重中之重。备考时需先掌握核心知识点,再通过真题强化考点记忆,结合 "关键词 + 场景" 记忆法提升效率。记住:该模块是后续复杂架构设计的基础,务必做到 "定义记准、步骤记清、风格辨明",才能在考试中轻松拿分!