软考系统架构师 · 全册考点精讲与真题实战 第 1 章 绪论

四季读书网 1 0
软考系统架构师 · 全册考点精讲与真题实战 第 1 章 绪论

所属篇章:上篇·综合知识预估分值:2~3 分考查重点:系统架构设计师的角色定位、职责范围、能力要求难度等级:★★☆(记忆为主,理解为辅)


一、本章知识图谱

绪论├── 1.1 系统架构的概念与演进├── 1.2 系统架构设计师的角色与职责├── 1.3 架构师应具备的知识结构├── 1.4 软件架构的发展脉络└── 1.5 考试概述与题型分布

二、核心考点详解

考点 1:系统架构的概念

架构(Architecture) 一词最早源自建筑学领域,由 Vitruvius 在其著作《建筑十书》中提出建筑的三要素:坚固(Firmitas)、实用(Utilitas)、美观(Venustas)。这一思想被引入软件工程领域后,演化为软件系统的基本结构定义。

系统架构的核心定义(考试高频表述):

  • IEEE 1471 定义
    架构是一个系统的基本组织,体现为系统的组件、组件之间的关系以及组件与环境之间的关系,以及指导其设计和演化的原则。
  • Bass 定义
    架构是关于系统计算结构和组件交互的一组决策。
  • 实践理解
    架构是系统在较高层次上的设计决策,关注的是"做什么"和"怎么组织",而不是"怎么做"的细节。

易混淆点:架构 ≠ 设计。架构关注宏观结构和关键决策,设计关注微观实现细节。架构决策具有不易变更的特性。

考点 2:系统架构设计师的角色定位

系统架构设计师是介于需求分析详细设计之间的关键角色,承担从"问题空间"到"解空间"的桥梁职能。

2.1 架构师在开发流程中的位置

需求分析 → 【架构设计】→ 详细设计 → 编码实现 → 测试验证   ↑            ↑ 需求分析师    架构设计师

2.2 架构师的核心职责(高频考点)

职责
说明
考查频率
需求分析与理解
深入理解业务需求和非功能需求
★★★
架构设计
确定系统整体结构、划分模块、定义接口
★★★★★
技术选型
选择开发平台、框架、中间件等
★★★★
技术风险评估
识别技术风险并提出缓解策略
★★★
架构验证
通过原型验证架构可行性
★★★
指导开发团队
确保实现符合架构设计
★★★
架构演化
根据需求变化调整架构
★★

2.3 架构师的知识结构(T 型人才)

架构师应具备 "T"字型知识结构

  • 横轴(广度)
    了解广泛的技术领域,包括网络、安全、数据库、中间件、操作系统等
  • 纵轴(深度)
    在某一特定领域有深入的专业知识

考试要点:架构师不是"全栈工程师",重点在于系统级的设计能力和决策能力,而非编码能力。

考点 3:架构风格的分类(了解层次)

虽然详细分类在后续章节展开,但绪论中需要了解架构风格的基本分类框架:

类别
代表风格
特点
数据流风格
批处理、管道-过滤器
数据驱动,线性处理
调用/返回风格
主程序/子程序、面向对象、层次式
控制流驱动
独立组件风格
进程通信、事件驱动
组件松耦合
虚拟机风格
解释器、规则系统
提供虚拟执行环境
仓库风格
数据库、黑板、超文本
以数据为中心

考点 4:软件架构的发展阶段

阶段
时间
特征
代表技术
程序设计阶段
1950s~1960s
无明确架构概念
汇编、Fortran
结构化设计阶段
1970s~1980s
模块化、自顶向下
结构化分析与设计
面向对象阶段
1980s~1990s
封装、继承、多态
UML、设计模式
架构显式化阶段
1990s~2000s
架构成为独立研究领域
ADL、架构风格
互联网架构阶段
2000s~2010s
分布式、服务化
SOA、微服务、云计算
智能化架构阶段
2010s~至今
AI 驱动、云原生
DevOps、Serverless

三、历年真题解析

【真题 2021 年·综合知识】

题目:系统架构设计师在进行架构设计时,首先需要关注的是(  )。

A. 代码的可读性B. 系统的功能需求和非功能需求C. 开发团队的编码能力D. 第三方组件的许可证

答案:B

解析:架构设计的出发点是对需求的全面理解,尤其是非功能需求(性能、安全、可用性等)往往是架构决策的主要驱动力。代码可读性属于详细设计层面的考虑,编码能力和许可证是实施约束而非设计出发点。

【真题 2022 年·综合知识】

题目:以下关于系统架构设计师职责的叙述中,不正确的是(  )。

A. 架构设计师应参与需求分析阶段的工作B. 架构设计师负责制定系统的技术路线C. 架构设计师应负责编写所有的详细设计文档D. 架构设计师需要评估候选架构方案

答案:C

解析:编写"所有的详细设计文档"是详细设计人员和开发人员的工作,架构设计师关注的是高层设计和关键决策。架构设计师需要参与需求分析(A 正确)、制定技术路线(B 正确)、评估候选方案(D 正确)。

【真题 2023 年·综合知识】

题目:IEEE 1471 标准中,架构的定义强调了三个核心要素,分别是(  )。

A. 组件、连接件、约束B. 模块、接口、协议C. 组件、关系、原则D. 结构、行为、属性

答案:C

解析:IEEE 1471(ISO/IEC/IEEE 42010)将架构定义为"系统的基本组织,体现为组件、组件间关系以及组件与环境间关系,以及指导设计和演化的原则"。选项 A 是 Perry & Wolf 的经典架构定义,注意区分。

考点 5:架构利益相关者与架构文档

利益相关者(Stakeholder):对系统有兴趣或受系统影响的个人、团队或组织。

利益相关者
关注点
需要的架构视图
最终用户
功能、易用性、性能
逻辑视图
开发人员
代码组织、模块划分
开发视图
运维人员
部署、监控、故障恢复
物理视图
项目经理
进度、成本、风险
全局视图
架构师
技术选型、质量属性
所有视图

架构文档化:架构设计的重要输出物,应包括:

  • 架构愿景和目标
  • 架构设计决策及其理由
  • 系统分解和组件关系
  • 接口定义和约束条件
  • 质量属性实现策略

考点 6:架构与开发过程的关系

架构驱动的开发(ADD)

  • 架构设计是开发过程的核心活动
  • 架构决策影响后续所有开发活动
  • 架构需要在开发过程中持续验证和演化

架构在项目中的活动序列

  1. 需求获取 → 识别架构驱动因素(关键功能需求和质量需求)
  2. 架构设计 → 选择架构风格、划分组件、定义接口
  3. 架构评审 → 使用 ATAM/SAAM 等方法评估架构
  4. 架构文档化 → 形成架构文档,作为开发团队的共识
  5. 架构实现 → 按架构设计进行详细设计和编码
  6. 架构符合性检查 → 确保实现不偏离架构设计

三、补充历年真题解析

【真题 2019 年·综合知识】

题目:软件架构设计的主要输出物不包括(  )。

A. 架构设计文档B. 详细设计规格说明C. 架构视图D. 技术选型方案

答案:B

解析:详细设计规格说明是详细设计阶段的输出物,不属于架构设计的输出。架构设计输出包括架构文档、架构视图、技术选型方案、风险清单等。

【真题 2020 年·综合知识】

题目:以下关于架构决策的叙述中,正确的是(  )。

A. 架构决策一旦做出就不能更改B. 架构决策只关注功能需求C. 架构决策应记录其理由和约束条件D. 架构决策不影响系统的非功能属性

答案:C

解析:架构决策应记录决策的理由(rationale)和约束条件,以便于后续维护和演化。架构决策可以更改但代价大(A 错),架构决策需关注功能和非功能需求(B 错),架构决策直接影响质量属性(D 错)。

【真题 2022 年·综合知识】

题目:在架构风格中,黑板系统属于(  )风格。

A. 数据流B. 调用/返回C. 独立组件D. 仓库

答案:D

解析:黑板系统以共享知识库为中心,多个知识源协作求解,属于仓库风格。仓库风格的典型代表包括数据库系统、黑板系统和超文本系统。

【真题 2023 年·综合知识】

题目:以下不属于架构师核心职责的是(  )。

A. 确定系统架构的关键设计决策B. 编写单元测试代码C. 评估候选架构方案的优劣D. 指导开发团队按照架构设计实施

答案:B

解析:编写单元测试代码属于开发人员的工作。架构师的核心职责是架构决策(A)、方案评估(C)和指导开发(D),而非具体的编码和测试工作。

考点 7:软件架构的常用分类及建模方法

架构分类

分类维度
类型
说明
按系统范围
应用架构、企业架构、系统架构
不同层次的架构
按业务领域
信息系统架构、嵌入式架构、实时架构
不同应用领域
按技术风格
单体、微服务、SOA、事件驱动
不同技术实现

架构建模方法

方法
说明
工具
4+1 视图
逻辑/开发/进程/物理/场景
UML
ADME
架构决策建模
文档模板
ABSD
基于架构的软件开发
全流程方法
DSSA
特定领域架构
领域模型

考点 8:软件架构的应用场景

典型应用场景

  • 企业信息系统
    ERP、CRM、OA 等系统的架构设计
  • 互联网应用
    电商、社交、视频等平台的高并发架构
  • 嵌入式系统
    汽车电子、医疗设备、工业控制
  • 分布式系统
    云计算、大数据、微服务
  • 实时系统
    金融交易、航空航天、工业控制

三、补充历年真题解析

真题 2020 年·综合知识

题目:以下关于软件架构建模方法的叙述中,正确的是(  )。

A. 4+1 视图模型只关注技术层面B. ADME 是一种架构评估方法C. ABSD 强调以架构为中心驱动开发D. DSSA 只适用于特定编程语言

答案:C

解析:ABSD(基于架构的软件开发)的核心思想是以架构为中心驱动整个开发过程。4+1 视图关注多个利益相关者的视角(A 错),ADME 是架构决策建模(B 错),DSSA 与编程语言无关(D 错)。

真题 2019 年·综合知识

题目:软件架构在软件生命周期中的角色是(  )。

A. 仅在需求分析阶段发挥作用B. 贯穿软件生命周期的全过程C. 仅在编码和测试阶段发挥作用D. 仅在维护阶段发挥作用

答案:B

解析:架构设计贯穿软件生命周期的全过程,从需求分析、设计、实现、测试到维护,架构决策持续影响。这是架构设计的重要特征之一。

真题 2021 年·综合知识

题目:以下关于架构利益相关者(Stakeholder)的叙述中,不正确的是(  )。

A. 客户是架构的利益相关者B. 开发人员是架构的利益相关者C. 架构师只需考虑技术团队的诉求D. 运维人员也是架构的利益相关者

答案:C

解析:架构的利益相关者包括客户、用户、开发人员、测试人员、运维人员、项目经理、管理层等。架构师需要平衡所有利益相关者的诉求,而不仅是技术团队。

真题 2022 年·综合知识

题目:架构师应具备的知识结构中,“T 型人才”的含义是(  )。

A. 只精通一个技术领域B. 广泛了解所有领域,但不深入C. 在一个领域深入,同时具有广泛的知识面D. 只关注管理技能

答案:C

解析:T 型人才指在一个领域深入(纵向深度),同时具有广泛的知识面(横向广度)。架构师需要在技术深度和业务广度之间取得平衡。

真题 2023 年·综合知识

题目:以下关于架构文档的叙述中,正确的是(  )。

A. 架构文档只需在架构设计完成后编写一次B. 架构文档应根据不同利益相关者的需求提供不同视图C. 架构文档只关注技术实现细节D. 架构文档不需要更新

答案:B

解析:架构文档应根据不同利益相关者的需求提供不同视图(如业务视图、技术视图、部署视图等)。架构文档是活文档,需要随系统演化而更新(A/D 错),不仅关注技术实现(C 错)。

考点 9:架构师的职责与能力要求

架构师核心职责

职责
说明
架构决策
确定关键技术选型和设计方向
架构评估
评估候选方案的优劣和风险
技术指导
指导开发团队按照架构实施
沟通协调
与各利益相关者沟通对齐
风险管理
识别和缓解架构风险
技术演进
规划架构的长期演化方向

架构师能力模型

能力类型
具体内容
技术能力
技术广度、技术深度、架构设计
业务能力
行业知识、业务流程、需求分析
软技能
沟通能力、领导力、决策能力
管理能力
项目管理、风险管理、团队建设

考点 10:五种架构风格详解

风格
子类
典型应用
数据流
批处理、管道-过滤器
编译器、ETL
调用/返回
主程序/子程序、面向对象、分层
大多数应用
独立组件
进程通信、事件驱动
GUI、插件系统
虚拟机
解释器、规则系统
脚本引擎、专家系统
仓库
数据库、黑板、超文本
数据库系统、AI

架构风格选择原则

  • 数据流处理 → 管道-过滤器
  • 复杂系统分层 → 层次式架构
  • 异步交互 → 事件驱动
  • 多专家协作 → 黑板系统
  • 业务规则引擎 → 规则系统

三、补充考点

考点 11:架构描述语言(ADL)

ADL
特点
应用场景
Wright
支持形式化分析
学术研究
ACME
架构交换语言
工具互操作
Unicon
支持代码生成
工程实践
C2
事件驱动架构描述
GUI 系统

ADL 核心元素:组件(Component)、连接器(Connector)、配置(Configuration)

考点 12:架构视图与 4+1 视图模型

视图
关注点
利益相关者
逻辑视图
功能需求
最终用户
开发视图
代码组织
开发人员
进程视图
并发、性能
系统集成者
物理视图
部署拓扑
运维人员
场景视图(+1)
用例验证
所有角色

4+1 视图模型核心思想:用多个视图从不同角度描述架构,场景视图用于验证其他视图

考点 13:系统架构师考试概述

科目
题型
时间
满分
合格线
综合知识
75 道选择题
150 分钟
75
45
案例分析
5 道大题
90 分钟
75
45
论文
4 选 1
120 分钟
75
45

三科必须同时达到 45 分才能通过

真题 2022 年·综合知识

题目:在 4+1 视图模型中,进程视图主要关注(  )。

A. 功能需求和业务逻辑B. 并发、同步、性能等非功能需求C. 代码模块的组织与分层D. 硬件部署和网络拓扑

答案:B

解析:进程视图关注系统的并发、同步、性能、可伸缩性等运行时问题。功能需求是逻辑视图(A 错),代码组织是开发视图(C 错),硬件部署是物理视图(D 错)。

真题 2020 年·综合知识

题目:以下关于 ADL(架构描述语言)的叙述中,正确的是(  )。

A. ADL 只能描述软件架构,不能描述硬件架构B. ADL 的核心元素是组件、连接器和配置C. 所有 ADL 都支持代码自动生成D. ADL 与 UML 完全等价

答案:B

解析:ADL 的核心元素是组件(Component)、连接器(Connector)和配置(Configuration)。ADL 也可描述硬件架构(A 错),不是所有 ADL 都支持代码生成(C 错),ADL 和 UML 是不同层次的语言(D 错)。

考点 14:Perry & Wolf 架构定义

Perry & Wolf 经典定义

Architecture={Elements,Forms,Rationale}Architecture = \{Elements, Forms, Rationale\}Architecture={Elements,Forms,Rationale}
  • Elements(元素)
    组件(Component)和连接器(Connector)
  • Forms(形式)
    元素之间的关系和约束
  • Rationale(理由)
    架构决策的依据和动机

与 IEEE 1471 的对比

维度
Perry & Wolf
IEEE 1471
核心元素
组件、连接器
组件、关系
特色
强调 Rationale(决策理由)
强调 Principles(设计原则)
层次
偏技术
偏系统组织

考点 15:架构与设计的区别

维度
架构设计
详细设计
关注点
系统结构、组件划分、关键决策
模块内部实现细节
粒度
宏观、高层
微观、低层
变更代价
高(影响全局)
低(影响局部)
决策者
架构师
设计师/开发人员
输出物
架构文档、架构视图
详细设计说明书
时间
项目早期
架构设计之后

架构决策的特征

  1. 全局性
    影响系统整体结构
  2. 不易变更
    变更代价高,需审慎决策
  3. 权衡性
    需要在多个质量属性之间权衡
  4. 指导性
    为后续设计和实现提供约束和方向

考点 16:架构质量属性概览

质量属性
关注点
典型指标
性能
响应时间、吞吐量
95% 请求 < 2s
可用性
系统可服务时间
99.9% 可用
安全性
数据保护、访问控制
防御 OWASP Top 10
可修改性
变更容易程度
新增功能 < 2 人周
可测试性
测试容易程度
覆盖率 > 80%
易用性
用户体验
用户学习时间 < 1 天

质量属性与架构的关系:质量属性是架构决策的主要驱动因素,架构决策直接影响质量属性的实现程度。

考点 17:架构框架对比概览

框架
提出者
核心特点
适用场景
Zachman
John Zachman
6×6 矩阵(6视角×6关注点)
企业架构规划
TOGAF
The Open Group
ADM 八阶段迭代方法
企业架构开发
FEA
美国政府
联邦企业架构,强调共享服务
政府信息化
DoDAF
美国国防部
多视图架构,军事应用
军事系统

TOGAF ADM 八阶段

  • A:架构愿景
  • B:业务架构
  • C:信息系统架构
  • D:技术架构
  • E:机会与解决方案
  • F:迁移规划
  • G:实施治理
  • H:架构变更管理

考点 18:软件架构重要性

架构的重要性体现在

  1. 早期设计决策
    架构是最早的设计决策,影响后续所有开发活动
  2. 风险管控
    通过架构评审和原型验证降低技术风险
  3. 沟通工具
    架构是各利益相关者沟通的共同语言
  4. 复用基础
    良好的架构支持组件和模式复用
  5. 演化框架
    架构为系统演化提供稳定的基础结构

架构失败常见原因

原因
说明
需求理解不足
未充分理解功能和非功能需求
过度设计
架构过于复杂,超出实际需求
技术选型失误
选择了不适合的技术栈
缺乏评审
未经过充分评审就投入开发
架构腐化
开发过程中偏离架构设计

真题 2021 年·综合知识

题目:以下关于 Perry & Wolf 架构定义的叙述中,正确的是(  )。

A. Perry & Wolf 定义中不包括决策理由(Rationale)B. Perry & Wolf 定义的核心元素是组件和连接器C. Perry & Wolf 定义只关注系统结构D. Perry & Wolf 定义与 IEEE 1471 完全相同

答案:B

解析:Perry & Wolf 架构定义的核心元素是组件(Component)和连接器(Connector),并且包含 Forms 和 Rationale。Perry & Wolf 明确包含 Rationale(A 错),不仅关注结构还有理由(C 错),与 IEEE 1471 有不同的侧重点(D 错)。

真题 2023 年·综合知识

题目:以下关于架构决策的叙述中,不正确的是(  )。

A. 架构决策应记录决策理由B. 架构决策具有不易变更的特点C. 架构决策只影响局部模块D. 架构决策需要在多个质量属性之间权衡

答案:C

解析:架构决策具有全局性,影响系统整体结构,不是只影响局部模块。架构决策应记录理由(A 正确),变更代价高(B 正确),需要权衡多个质量属性(D 正确)。

真题 2020 年·综合知识

题目:在 TOGAF ADM 方法中,紧接在“技术架构”之后的阶段是(  )。

A. 业务架构B. 信息系统架构C. 机会与解决方案D. 架构愿景

答案:C

解析:TOGAF ADM 八阶段顺序为 A架构愿景→B业务架构→C信息系统架构→D技术架构→E机会与解决方案→F迁移规划→G实施治理→H架构变更管理。技术架构(D)之后是机会与解决方案(E)。

真题 2022 年·综合知识

题目:以下关于软件架构重要性的叙述中,不正确的是(  )。

A. 架构是最早的设计决策,影响后续所有开发活动B. 架构是各利益相关者沟通的共同语言C. 架构确定后就不需要再修改D. 良好的架构支持组件和模式复用

答案:C

解析:架构是“活”的,需要随系统演化而调整。架构确定后仍需要根据需求变化、技术演进等因素进行修改。其他选项都是架构重要性的正确表述。

真题 2019 年·综合知识

题目:以下不属于软件架构失败常见原因的是(  )。

A. 需求理解不足B. 过度设计C. 严格按照架构设计执行D. 缺乏架构评审

答案:C

解析:严格按照架构设计执行是正确的做法,不是架构失败的原因。架构失败常见原因包括需求理解不足、过度设计、技术选型失误、缺乏评审和架构腐化等。

真题 2023 年·综合知识

题目:架构师应具备的“T 型人才”知识结构,其中“T”的横向代表(  )。

A. 单一技术领域的深度B. 广泛的技术知识面C. 管理技能的深度D. 编码能力的深度

答案:B

解析:T 型人才的横向(横轴)代表广泛的技术知识面,包括网络、安全、数据库、中间件、操作系统等多个领域。纵向(纵轴)代表在某一特定领域的深入专业知识。

真题 2021 年·综合知识

题目:以下关于架构与设计关系的叙述中,正确的是(  )。

A. 架构和设计是相同的概念B. 架构关注宏观结构和关键决策,设计关注微观实现细节C. 架构设计不需要考虑非功能需求D. 详细设计先于架构设计进行

答案:B

解析:架构关注宏观结构和关键决策(如组件划分、技术选型),设计关注微观实现细节(如类的设计、算法选择)。架构和设计粒度不同(A 错),架构必须考虑非功能需求(C 错),架构设计先于详细设计(D 错)。

真题 2020 年·综合知识

题目:以下关于架构质量属性的叙述中,不正确的是(  )。

A. 质量属性是架构决策的主要驱动因素B. 可用性和可靠性是相同的质量属性C. 性能、安全性、可修改性都是重要的质量属性D. 架构决策直接影响质量属性的实现程度

答案:B

解析:可用性关注“系统是否可服务”,可靠性关注“系统是否不出错”,两者是不同的质量属性。虽然有关联但关注点不同。其他选项都是正确的表述。


四、高频易错点归纳

易错点
正确理解
架构 = 详细设计
架构是高层设计,详细设计是低层设计,粒度不同
架构师需要写所有代码
架构师关注决策和指导,不需要写所有代码
IEEE 1471 和 Perry & Wolf 定义混用
IEEE 1471 强调“原则”,Perry & Wolf 强调“理由”
架构师只需懂技术
架构师还需理解业务领域、项目管理、沟通协调等
架构风格只能选一种
实际系统通常混合使用多种架构风格
架构文档写完就不用改
架构文档是活文档,需随系统演化而更新
可用性和可靠性是同一概念
可用性关注“是否可服务”,可靠性关注“是否不出错”
架构决策只影响局部
架构决策具有全局性,影响系统整体结构
TOGAF ADM 阶段顺序记错
牢记 A→B→C→D→E→F→G→H 的顺序
ADL = UML
ADL 是架构描述语言,UML 是通用建模语言,层次不同

五、本章小结

绪论章节虽然分值不高,但为后续章节奠定了重要的概念基础。核心要点:

  1. 架构定义
    多种表述(IEEE 1471、Bass、Perry & Wolf),能够准确区分
  2. 架构师角色
    位于需求分析与详细设计之间,核心是“决策者”而非“实现者”
  3. 知识结构
    T 型人才,广度与深度并重
  4. 架构风格
    基本分类框架(五大类)
  5. ADL
    架构描述语言,核心元素是组件/连接器/配置
  6. 4+1 视图模型
    逻辑/开发/进程/物理/场景视图
  7. 考试科目
    综合知识+案例分析+论文,三科均需≥45分
  8. Perry & Wolf
    Elements + Forms + Rationale,强调决策理由
  9. 架构 vs 设计
    宏观/高层/不易变更 vs 微观/低层/易变更
  10. 质量属性概览
    性能/可用性/安全性/可修改性/可测试性/易用性
  11. 架构框架
    Zachman/TOGAF/FEA/DoDAF 的区分
  12. 架构重要性
    早期决策、风险管控、沟通工具、复用基础、演化框架

抱歉,评论功能暂时关闭!