【软考系统架构设计师】七、系统架构设计基础

系统架构设计基础是软考系统架构设计师考试的核心模块之一,在上午选择题中占 10-15 分(单选 8-10 题、多选 2-3 题),下午案例分析题中更是高频考点(常结合架构设计方案、风格选择等考查,分值 5-8 分)。该模块是理解后续复杂架构设计(如云原生、大数据架构)的基础,直接影响案例分析题的答题质量,堪称 "架构设计类考题的敲门砖",零基础备考者必须重点掌握。

1. 软件架构核心概念

1.1 知识点讲解

  1. 软件架构的定义(IEEE 1471-2000 标准):架构是体现在组件中的系统的基本组织、组件彼此的关系与环境的关系及指导其设计和发展的原则。
  • 核心要素:组件(系统核心功能单元)、连接件(组件间交互机制)、约束(设计规则)、设计原则(指导架构演化)。
  1. 软件架构与生命周期的关系:覆盖需求、设计、实现、维护全阶段
  • 需求阶段:引入架构概念,保证需求与设计的一致性;
  • 设计阶段:核心是架构描述、模型设计与分析;
  • 实现阶段:将架构转化为代码,满足架构约束;
  • 维护阶段:通过可扩展性、可替换性设计保障维护性。
  1. 软件架构的重要性:决定系统健壮性、生命周期长短,解决复杂需求、非功能属性(如性能、安全性)、系统集成等核心问题。

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 知识点讲解

  1. 核心开发模型:以架构为核心,贯穿 "需求 - 设计 - 实现 - 演化" 的闭环流程。

  2. 关键步骤(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 划分):

  1. 数据流体系结构风格

    • 核心特征:数据按流程传递,组件通过 "输入 - 处理 - 输出" 交互(如管道 - 过滤器);
    • 应用场景:数据处理系统(如日志分析系统、编译器)。
  2. 调用 / 返回体系结构风格

    • 核心特征:组件通过调用函数或方法交互,存在明确的调用关系;
    • 细分类型:分层架构(如 B/S、三层架构)、主程序 - 子程序架构;
    • 应用场景:Web 应用、管理信息系统。
  3. 以数据为中心的体系结构风格

    • 核心特征:组件围绕共享数据存储(如仓库、数据库)交互,数据是核心;
    • 应用场景:数据库应用、缓存系统。
  4. 虚拟机体系结构风格

    • 核心特征:通过虚拟机制模拟特定环境,支持灵活扩展;
    • 应用场景:解释器、虚拟机(如 Java 虚拟机、Docker)。
  5. 独立构件体系结构风格

    • 核心特征:组件独立运行,通过事件、消息等松耦合方式交互;
    • 应用场景:事件驱动系统、微服务架构。

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 知识点讲解

  1. 定义:复用已有的架构设计(如风格、模型、组件),减少重复开发,提升效率。

  2. 分类

    • 按复用对象:架构风格复用(如直接采用分层架构)、架构组件复用(复用成熟组件);
    • 按复用形式:黑盒复用(直接使用,不修改)、白盒复用(修改后使用)。
  3. 核心过程:识别复用需求→选择复用对象→适配调整→验证复用效果。

4.2 高频考点

  • 考查形式:单选
  • 分值占比:1-2 分
  • 命题角度:① 架构复用的分类辨析;② 复用过程的步骤排序。
  • 解题技巧:记住 "对象分类(风格 / 组件)、形式分类(黑盒 / 白盒)",过程按 "需求 - 选择 - 适配 - 验证" 排序。

4.3 真题示例

【真题示例】(2022 年单选)下列关于软件架构复用的描述,正确的是( )

A. 黑盒复用要求修改复用对象的内部实现

B. 架构风格复用属于组件级复用

C. 白盒复用可直接使用复用对象,无需调整

D. 架构复用的核心过程包括适配调整步骤

【解析】答案:D。黑盒复用无需修改内部实现(排除 A),架构风格复用属于风格级复用(排除 B),白盒复用需要修改调整(排除 C);D 符合复用核心过程 "识别 - 选择 - 适配 - 验证" 的描述。

5. 特定领域软件体系结构(DSSA)

5.1 知识点讲解

  1. 定义:针对特定领域(如金融、物流)的软件体系结构,包含该领域的通用架构模型、组件、交互规则。
  2. 基本活动:领域分析(明确领域需求)→领域设计(构建领域架构)→领域实现(开发领域组件)。
  3. 参与人员:领域专家(提供业务知识)、架构师(设计架构)、开发人员(实现组件)。
  4. 建立过程:确定领域范围→领域需求分析→领域架构设计→领域组件开发→架构验证与演化。

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四大板块,其中 "架构风格的辨析与场景选择" 是案例分析题的重中之重。备考时需先掌握核心知识点,再通过真题强化考点记忆,结合 "关键词 + 场景" 记忆法提升效率。记住:该模块是后续复杂架构设计的基础,务必做到 "定义记准、步骤记清、风格辨明",才能在考试中轻松拿分!

相关推荐
坏孩子的诺亚方舟6 小时前
FPGA系统架构设计实践13_FPGA系统功能安全
fpga开发·系统架构·功能安全概念
雾江流6 小时前
小喵播放器 1.1.2| 一款支持视频超分的播放器,支持网页视频以及B站番剧
软件工程
坏孩子的诺亚方舟7 小时前
FPGA系统架构设计实践12_FPGA系统ECM0
fpga开发·系统架构·ecm·功能安全
ones~7 小时前
软件体系架构(三)
学习·架构·软件工程
HLJ洛神千羽7 小时前
J2EE技术及应用实验及报告(黑龙江大学)
java-ee·软件工程
pccai-vip16 小时前
【系统架构师】2025年下半年软考高级真题分析
系统架构
程序员游老板20 小时前
基于SpringBoot3_vue3_MybatisPlus_Mysql_Maven的社区养老系统/养老院管理系统
java·spring boot·mysql·毕业设计·软件工程·信息与通信·毕设
hans汉斯1 天前
【软件工程与应用】平移置换搬迁系统设计与实现
数据库·人工智能·系统架构·软件工程·汉斯出版社·软件工程与应用
亿坊电商1 天前
跨境出口电商系统如何提升出口电商业务的效率和可管理性?
数据挖掘·数据分析·系统架构