本页目录 · 7 节
- 一、本卷元信息
- 答案与可信度标注体系
- 二、综合知识(选择题)
- (一)操作系统与计算机组成(1—4、9—12)
- (二)网络与系统调优(13—17)
- (三)系统工程与项目管理(18—25)
- (四)软件过程与开发方法(26—30)
- (五)软件设计与构件(31—41)
- (六)测试、架构与 DSSA(42—53)
- (七)设计模式(54—57)
- (八)安全、知识产权与数学(64—70)
- (九)专业英语(71—75)
- 三、收录说明
- 四、案例分析(1 必做 + 4 选 2)
- 试题一(必做):文化用品商城 —— 非功能需求四类 + 瘦客户端 C/S(25 分,8+8+9)
- 试题二:房屋租赁服务系统 —— 顶层 DFD + ERD + 实体与类(25 分,12+5+8)
- 试题三:宇航嵌入式实时系统 —— 简单/复杂任务特征 + 腰型通信架构(25 分,14+11)
- 试题四:生鲜电商 —— 分布式缓存 MemCache vs Redis(25 分,9+8+8)
- 试题五:银行信息系统整合 —— SOA/ESB 架构填空 + 安全保障(25 分,7+12+6)
- 五、论文(4 选 1)
- 试题一:论软件开发过程 RUP 及其应用
- 试题二:论软件体系结构的演化
- 试题三:论面向服务架构设计及其应用
- 试题四:论 NoSQL 数据库技术及其应用
- 六、使用建议
- 七、来源
2018 年下半年(11 月)系统架构设计师 · 真题套卷
一、本卷元信息
| 项目 | 内容 |
|---|---|
| 考试名称 | 计算机技术与软件专业技术资格(水平)考试 · 高级 · 系统架构设计师 |
| 场次 | 2018 年下半年(2018 年 11 月 11 日,纸笔) |
| 科目 | 综合知识(75 题单选)/案例分析(1 必做 + 4 选 2)/论文(4 选 1) |
| 主要来源 | ①希赛/教育城《2018 年下半年系统架构设计师考试上午真题》(zhentipdf/jiagou1.pdf,官方排版、题面完整、无答案);②希赛《2018 年下半年…下午真题》(jiagou2.pdf,案例 5 题题面完整、无答案);③CSDN「程序员小圆」《…2018 年下半年下午论文真题及答案》(143676961,四题 + 解析);④豆丁《2018 年下半年系统架构师真题+答案解析》(仅前 5 题答案,用于交叉验证) |
| 题源性质 | 题面可信度高(官方/机构原版 PDF)、答案缺失:综合知识与案例无公开完整答案,本卷答案均为本库依据教材推导,逐题标注推导依据;论文有来源解析要点 |
| 收录范围 | 综合知识 75 题全收录(答案全部为推导);案例 5 题题面全收录(答案为推导框架);论文 4 题 + 解析要点 |
答案与可信度标注体系
| 标记 | 含义 |
|---|---|
| 答案 X(推导) | 本库依据教材知识推导,置信度高;可与第 1—5 题的公开答案交叉验证 |
| 答案 存疑 | 图/表缺失或题面有歧义,只给判断思路,不建议背死 |
| 〔图/表缺失〕 | 原题依赖图形或表格,公开 PDF 未保留 |
| 来源答案 | 有公开出处(论文解析)的结论 |
重要说明:本卷与 2019—2021 年不同,未检索到含完整答案的公开源。为遵守"不编造答案"的原则,本卷所有选择题答案均标 (推导),并在解析中写出推导链条;凡无法推导(缺图/缺表)的一律标 存疑,不给答案。
二、综合知识(选择题)
(一)操作系统与计算机组成(1—4、9—12)
1.(磁盘调度) 移动臂位于 21 号柱面,请求序列如表。采用最短寻道时间优先(SSTF),响应序列为()。
A. ②⑧③④⑤①⑦⑥⑨ B. ②③⑧④⑥⑨①⑤⑦ C. ①②③④⑤⑥⑦⑧⑨ D. ②⑧③⑤⑦①④⑥⑨
〔表缺失:请求 ①—⑨ 的柱面/磁头/扇区〕 > 答案 D(推导;与豆丁公开答案一致)
解析:先移臂(按柱面距离最近)再旋转(同柱面按扇区顺序)。从 21 出发,柱面顺序为 23 → 17 → 32 → 38;在 23 号柱面上按扇区序响应 ②⑧③,随后 17、32、38 依次响应。只剩 D 符合"②⑧③在前、⑤⑦在后"。
陷阱:把 SSTF 与 SCAN(电梯)混(SCAN 单向扫到端点再折返);同柱面忘记按扇区排序。
2—3.(PCB 组织方式) 三态模型下 PCB 组织如图所示,采用()方式;图中()。
第 1 空:A. 顺序方式 B. 链接方式 C. 索引方式 D. Hash
第 2 空:A. 1 运行/2 就绪/4 阻塞 B. 2 运行/3 就绪/3 阻塞 C. 2 运行/3 就绪/4 阻塞 D. 3 运行/2 就绪/4 阻塞
答案 C、C(推导;与豆丁公开答案一致)
解析:PCB 组织三方式——线性(顺序)表(全部 PCB 连续存放,适合进程少)、链接(按状态串成就绪/阻塞/运行队列)、索引(按状态分别建就绪索引表、阻塞索引表)。图中按状态分表并有索引项 → 索引方式;运行 PCB1、PCB3,就绪 PCB2/4/5,阻塞 PCB6—9 → 2 运行、3 就绪、4 阻塞。
陷阱:把"索引方式"与"链接方式"混淆(索引靠索引表定位,链接靠指针串联);阻塞进程数多数成 3 个。
4.(多级索引) 块大小 4KB,块号 4B,二级索引结构下文件最大可占用()个物理块。
A. 1024 B. 1024×1024 C. 2048×2048 D. 4096×4096
答案 B(推导;与豆丁公开答案一致)
解析:每块可存 4KB ÷ 4B = 1024 个块号;二级间接 = 索引块→索引块→数据块,共 1024 × 1024 块。
陷阱:算成 1024³(那是三级);忘记 4KB/4B 的换算。
5—6.(关系代数 → SQL) R(A,B,C,D,E)、S(A,B,C,F,G),与 π₁,₂,₄,₆,₇(对 R、S 的连接结果)等价的 SQL 为:SELECT()FROM R,S WHERE();
第 1 空:A. R.A,R.B,R.E,S.C,G B. R.A,R.B,D,F,G C. R.A,R.B,R.D,S.C,F D. R.A,R.B,R.D,S.C,G
第 2 空:A. R.A=S.A OR R.B=S.B OR R.C=S.C OR R.A<S.F B. R.A=S.A OR R.B=S.B OR R.C=S.C OR R.A<S.B
C. R.A=S.A AND R.B=S.B AND R.C=S.C AND R.A<S.F D. R.A=S.A AND R.B=S.B AND R.C=S.C AND R.A<S.B
答案 B、C(推导;第 1 空与豆丁公开答案 B 一致)
解析:自然连接消除重复的 A、B、C 后,结果列为 R.A,R.B,R.C,R.D,R.E,S.F,S.G(第 1、2、3、4、5、6、7 列);π₁,₂,₄,₆,₇ 取第 1、2、4、6、7 列 = R.A, R.B, R.D, S.F, S.G,即选项 B(D、F、G 未限定表名)。
连接条件为 A、B、C 三个同名属性全部相等(AND),再附加题目给出的R.A<S.F→ 选项 C。
陷阱:把 AND 写成 OR(OR 会退化为笛卡尔积式筛选,行数暴增);投影列数数错(自然连接后只有 7 列)。
7.(查询优化) 四个等价表达式 E1—E4,严格按表达式运算顺序执行,效率最高的是()。
A. E1 B. E2 C. E3 D. E4
〔表达式图缺失〕 > 答案 存疑(缺图无法判定具体选项)
解析原则:关系代数优化三条铁律——①选择(σ)尽可能早做(先过滤再连接,减少中间结果);②投影(π)尽早做且与选择同时下推;③笛卡尔积 + 选择改写为连接。按此原则,把"σ 下推到叶子"最彻底的表达式效率最高。
陷阱:先做笛卡尔积再选择(中间结果爆炸);把投影放在连接之后(列多、传输大)。
8.(数据仓库特征) 数据进入数据仓库后长期保留并定期加载刷新,可查询但很少修改删除,这体现数据的()。
A. 面向主题 B. 集成性 C. 相对稳定性 D. 反映历史变化
答案 C(推导)
解析:数据仓库四特征:面向主题、集成、相对稳定(非易失)、随时间变化(反映历史)。题干"很少修改删除"即相对稳定性;"反映历史变化"强调随时间累积、记录历史快照。
陷阱:把"定期加载刷新"读成"随时间变化"(该特征的关键词是"随时间变化增加新数据、保留历史")。
9.(DSP 体系结构) DSP 采用()结构。
A. 冯·诺伊曼结构 B. 哈佛结构 C. FPGA 结构 D. 与 GPU 相同结构
答案 B(推导)
解析:哈佛结构把程序存储器与数据存储器分离、各自独立总线,可同时取指与取数,适合 DSP 的乘加流水(MAC)运算;冯·诺伊曼结构程序与数据共用总线,存在"取指—取数"冲突。
陷阱:把"哈佛结构"与"改进型哈佛(cache 分离)"混;认为 GPU 与 DSP 同构(GPU 是 SIMT 大规模并行)。
10.(串行总线) 关于串行总线,正确的是()。
A. 一般都是全双工总线,适宜长距离传输数据
B. 传输的波特率是总线初始化时预先定义好的,使用中不可改变
C. 按位(bit)传输数据,数据正确性依赖于校验码纠正
D. 数据发送和接收以软件查询方式工作
答案 C(推导,存疑)
解析:C 的前半句"按位传输"是串行总线的定义性特征(并行总线按字节/字传输),为四项中最不可能错的一句;A 错在"一般都是全双工"(I²C、USB 2.0 为半双工);B 错在"不可改变"(波特率可重配置);D 错在"以软件查询方式工作"(现代串行总线多用中断/DMA)。
说明:C 的"校验码纠正"表述偏松(校验码通常检错,纠错需海明码等),故整题标存疑。
陷阱:把"串行 = 慢"当绝对(串行差分如 PCIe、USB3 速率远高于并行)。
11.(嵌入式软件低功耗设计) 软件低功耗设计一般采用()。
A. 结构优化、编译优化和代码优化
B. 软硬件协同设计、开发过程优化和环境设计优化
C. 轻量级操作系统、算法优化和仿真实验
D. 编译优化技术、软硬件协同设计和算法优化
答案 D(推导,存疑)
解析:教材列举的软件低功耗手段集中在编译优化(减少访存与指令数)、软硬件协同设计(把热点搬到硬件加速器)、算法优化(降低计算复杂度)三类,D 与之一致。A 的"结构优化/代码优化"属于实现层面的具体手段,粒度不齐;B 的"环境设计优化"不属软件范畴。
说明:本题选项区分度低,A 亦有教材依据("代码优化"确为低功耗手段之一),故标存疑。
陷阱:把"低功耗"只当硬件问题(软件同样决定访存次数与计算量)。
12.(主频计算) 外频 200MHz,倍频 13,主频为()。
A. 2.6GHz B. 1300MHz C. 15.38MHz D. 200MHz
答案 A(推导)
解析:主频 = 外频 × 倍频 = 200MHz × 13 = 2600MHz = 2.6GHz。
陷阱:把倍频当除数(200/13 ≈ 15.38,对应选项 C,是典型干扰项)。
(二)网络与系统调优(13—17)
13.(CRC 校验) 信息码字 111000110,生成多项式 G(x)=x⁵+x³+x+1,CRC 校验码为()。
A. 01101 B. 11001 C. 001101 D. 011001
答案 B(推导,可复算)
解析:G(x) 对应位串 101011(6 位,故校验码 5 位)。信息码后补 5 个 0 得 11100011000000,对 101011 做模 2 除法,余数 = 11001。
陷阱:生成多项式位数与校验位长度差 1(x⁵ → 6 位除数 → 5 位余数),误算成 6 位余数(选 C/D);用普通除法而非模 2 异或。
14.(DNS 反向解析) nslookup 能由名称解析出 IP,由 IP 却不能解析出名称,解决办法是()。
A. 清除 DNS 缓存 B. 刷新 DNS 缓存 C. 为该服务器创建 PTR 记录 D. 重启 DNS 服务
答案 C(推导)
解析:正向解析查 A 记录(名称→IP),反向解析查 PTR 记录(IP→名称,位于in-addr.arpa域)。能正向不能反向,说明缺 PTR 记录。
陷阱:选"刷新缓存"(缓存问题会同时影响两个方向)。
15.(DHCP 拒绝) 客户端发现分配到的地址已被其他客户端使用,会发送()报文拒绝该地址。
A. DhcpAck B. DhcpOffer C. DhcpDecline D. DhcpNack
答案 C(推导)
解析:DHCP 报文:DISCOVER(发现)→ OFFER(提供)→ REQUEST(请求)→ ACK(确认);客户端用 ARP 探测发现地址冲突后发 DHCPDECLINE 拒绝;服务器发 DHCPNAK 表示请求无效。
陷阱:把 DECLINE(客户端→服务器)与 NAK(服务器→客户端)方向搞反。
16—17.(系统调优参数) 数据库系统调优主要包括 CPU/内存使用状况、()、进程/线程使用状态、日志文件大小等;应用系统调优主要包括可用性、响应时间、()、特定应用资源占用等。
第 1 空:A. 数据丢包率 B. 端口吞吐量 C. 数据处理速率 D. 查询语句性能
第 2 空:A. 并发用户数 B. 支持协议和标准 C. 最大连接数 D. 时延抖动
答案 D、A(推导)
解析:数据库调优关注查询语句性能(执行计划、慢查询、索引);应用系统调优关注并发用户数(另有吞吐量、错误率)。丢包率/端口吞吐量/时延抖动属网络指标,支持协议标准属兼容性。
陷阱:第 2 空选"最大连接数"(它是数据库/中间件参数,应用层更关注并发用户数)。
(三)系统工程与项目管理(18—25)
18—21.(霍尔三维结构 / 系统工程) 系统工程对系统的结构、元素、()和反馈等进行分析;霍尔三维结构以时间维、()维、知识维组成;其中时间维分 7 个阶段,在()阶段会做出研制方案及生产计划。
(18)A. 知识 B. 需求 C. 文档 D. 信息
(19)A. 战略 B. 规划 C. 实现 D. 处理
(20)A. 空间 B. 结构 C. 组织 D. 逻辑
(21)A. 规划 B. 拟定 C. 研制 D. 生产
(18)答案 D(推导);(19)答案 存疑;(20)答案 D(推导);(21)答案 A(推导)
解析:霍尔三维结构 = 时间维(7 阶段)+ 逻辑维(7 步骤)+ 知识维;系统工程分析对象为"结构、元素、信息和反馈"。时间维 7 阶段:规划 → 拟定方案 → 研制 → 生产 → 安装 → 运行 → 更新;"做出研制方案及生产计划"发生在规划阶段(为后续拟定方案与研制提供依据)。
存疑说明:公开源把 4 个空连续编号,(19) 的选项全是"阶段类"词(战略/规划/实现/处理),与"逻辑维"不匹配,疑为原卷选项串行错位。若按"逻辑维"作答应选"逻辑",对应(20)D。
陷阱:把"逻辑维"与"知识维"对调;把"拟定方案"当规划阶段的产物。
22.(项目时间管理) 项目时间管理的过程包括()。
A. 活动定义、活动排序、活动的资源估算和工作进度分解
B. 活动定义、活动排序、活动的资源估算、活动历时估算、制定计划和进度控制
C. 项目章程、项目范围管理计划、组织过程资产和批准的变更申请
D. 生产项目计划、项目可交付物说明、信息系统要求说明和项目度量标准
答案 B(推导)
解析:PMBOK 时间管理六过程:活动定义 → 活动排序 → 活动资源估算 → 活动历时估算 → 制定进度计划 → 进度控制。A 漏"历时估算、制定计划、进度控制";C 是范围管理/整体管理的输入;D 是项目计划文件。
陷阱:把"工作进度分解"当独立过程(WBS 属范围管理)。
23.(用户文档) 不属于用户文档内容的是()。
A. 系统设计 B. 版本说明 C. 安装手册 D. 参考手册
答案 A(推导)
解析:用户文档面向使用者:功能描述、安装手册、使用手册、参考手册、操作指南、版本说明、培训教材;系统文档面向开发者:需求、系统设计、实现、测试、维护文档。
陷阱:把"版本说明"当系统文档(它面向用户,说明版本变更与兼容性)。
24.(需求管理活动) 不属于需求管理主要活动的是()。
A. 文档管理 B. 需求跟踪 C. 版本控制 D. 变更控制
答案 A(推导)
解析:需求管理四活动:变更控制、版本控制、需求跟踪、需求状态跟踪。"文档管理"属配置管理/文档管理范畴,不是需求管理的定义性活动(虽相关)。
陷阱:把"需求跟踪"排除(它正是需求管理的核心,含正向/逆向跟踪)。
25.(变更控制) 关于变更控制,不正确的是()。
A. 变更控制委员会只可以由一个小组担任
B. 控制需求变更与项目的其他配置管理决策有密切联系
C. 变更控制过程中可以使用相应的自动辅助工具
D. 变更的过程中,允许拒绝变更
答案 A(推导)
解析:CCB(变更控制委员会)可按项目规模设一个或多个层级(项目级、公司级、多委员会分工),"只可以由一个小组担任"过于绝对。B/C/D 均符合变更控制实践:变更与配置管理联动、可用工具支撑、审批结果可以是拒绝。
陷阱:把"CCB 唯一"当规范(大型项目常设多层 CCB)。
(四)软件过程与开发方法(26—30)
26.(原型模型) 主要由原型开发阶段和目标软件开发阶段构成的是()。
A. 原型模型 B. 瀑布模型 C. 螺旋模型 D. 基于构件的模型
答案 A(推导)
解析:原型模型两阶段:原型开发(快速构建、与用户确认需求)→ 目标软件开发(在确认的需求上正式开发,原型可丢弃或演化)。螺旋模型是"四象限循环",瀑布是线性阶段,构件模型是"组装复用"。
陷阱:与"增量模型"混(增量是分批交付可用产品,不是先做原型)。
27—28.(RAD / 螺旋模型) 系统模块化程度较高时,更适合采用(),它通过基于构件的开发方法获得快速开发;()把开发流程分为目标设定、风险分析、开发与有效性验证、评审四部分。
(27)A. 快速应用开发 B. 瀑布模型 C. 螺旋模型 D. 原型模型
(28)A. 原型模型 B. 瀑布模型 C. 螺旋模型 D. V 模型
答案 A、C(推导)
解析:RAD(快速应用开发)以构件复用 + 原型 + JAD 实现快速交付,前提是系统可模块化分解;螺旋模型四象限:目标设定 → 风险分析 → 开发与有效性验证 → 评审,风险驱动。
陷阱:把 RAD 当"单纯的原型法"(RAD 强调构件复用与时间盒);把 V 模型当四阶段循环。
29—30.(软件开发环境集成机制) ()用于存储与系统开发有关的信息,并支持信息的交流与共享;()是实现过程集成和控制集成的基础。
(29)A. 算法模型库 B. 环境信息库 C. 信息模型库 D. 用户界面库
(30)A. 工作流与日志服务器 B. 进程通信与数据共享服务器 C. 过程控制与消息服务器 D. 同步控制与恢复服务器
答案 B、B(推导)
解析:软件集成开发环境的核心集成机制包括环境信息库(存储并共享开发信息,是集成的基础)、消息服务器(进程通信与数据共享)、过程控制、用户界面集成。过程集成/控制集成依赖进程通信与数据共享服务器。
陷阱:第 30 空选"过程控制与消息服务器"(过程控制是被集成的内容,通信与数据共享才是基础)。
(五)软件设计与构件(31—41)
31.(概要设计工具) 概要设计主要采用()描述程序结构。
A. 程序流程图、PAD 图和伪代码
B. 模块结构图、数据流图和盒图
C. 模块结构图、层次图和 HIPO 图
D. 程序流程图、数据流图和层次图
答案 C(推导)
解析:描述软件结构(模块层次关系)的工具:模块结构图(结构图)、层次图(H 图)、HIPO 图。程序流程图/PAD/盒图/伪代码描述过程(算法),属详细设计;数据流图用于需求分析。
陷阱:把"数据流图"当选(DFD 是分析阶段产物);把盒图当选(N-S 图描述过程)。
32—34.(软件设计四活动) 高质量的()将改善程序结构和模块划分、降低过程复杂性;()的主要目标是开发模块化的程序结构并表达模块间控制关系;()描述软件与用户之间的交互关系。
(32)A. 程序设计 B. 数据设计 C. 算法设计 D. 过程设计
(33)A. 软件结构设计 B. 数据结构设计 C. 数据流设计 D. 分布式设计
(34)A. 数据架构设计 B. 模块化设计 C. 性能设计 D. 人机界面设计
答案 B、A、D(推导)
解析:软件设计四活动:数据设计、软件结构(体系结构)设计、人机界面(接口)设计、过程设计。题干三句分别对应:良好的数据设计→改善程序结构与模块划分(数据结构决定处理结构);软件结构设计→模块化 + 模块间控制关系;人机界面设计→软件与用户交互。
陷阱:第 32 空选"过程设计"(过程设计是被改善的对象,改善它的是数据设计);第 33 空选"模块化设计"(它是手段,不是四活动之一)。
35.(软件重用) 属于典型水平式重用的是()。
A. 医学词汇表 B. 标准函数库 C. 电子商务标准 D. 网银支付接口
答案 B(推导)
解析:水平式(横向)重用:跨应用领域、通用性强,如标准函数库、类库、通用框架、中间件;垂直式(纵向)重用:面向同一领域,如医学词汇表、电子商务标准、支付接口。
陷阱:把"行业标准/领域词汇表"当水平重用(它们只服务单一领域)。
36—38.(EJB 构件) ()负责完成服务端与客户端的交互;()用于数据持久化以简化数据库开发;()主要处理并发和异步访问操作。
A. 会话型构件 B. 实体型构件 C. COM 构件 D. 消息驱动构件
答案 A、B、D(推导)
解析:EJB 三类:会话 Bean(Session)——业务逻辑、与客户端交互(无状态/有状态);实体 Bean(Entity)——持久化映射数据库;消息驱动 Bean(MDB)——监听 JMS 消息,异步处理。
陷阱:把"并发"归会话 Bean(会话 Bean 默认单线程模型,MDB 才是异步并发入口)。
39.(构件组装层次) 构件组装成软件系统的过程可分为三个层次:()。
A. 初始化、互连和集成 B. 连接、集成和演化 C. 定制、集成和扩展 D. 集成、扩展和演化
答案 A(推导)
解析:教材三层次:初始化(实例化构件、建立初始状态)→ 互连(按连接件装配、绑定接口)→ 集成(整体协调、满足系统级约束)。
陷阱:选"定制、集成、扩展"(那是构件演化的表述,不是组装层次)。
40.(CORBA) CORBA 服务端构件模型中,()是 CORBA 对象的真正实现,负责完成客户端请求。
A. 伺服对象(Servant) B. 对象适配器(Object Adapter) C. 对象请求代理(ORB) D. 适配器激活器(Adapter Activator)
答案 A(推导)
解析:ORB负责请求的定位与转发("软总线");对象适配器(POA)负责对象注册、激活与请求分派;伺服对象(Servant)是真正的实现体,执行客户请求;适配器激活器负责按需创建伺服对象。
陷阱:把 ORB 当实现体(ORB 只做中介);把 POA 当实现体(POA 做分派)。
41.(J2EE 构件模型) J2EE 应用系统支持五种构件模型,包括()。
A. Applet、JFC、JSP、Servlet、EJB
B. JNDI、IIOP、RMI、EJB、JSP/Servlet
C. JDBC、EJB、JSP、Servlet、JCA
D. Applet、Servlet、JSP、EJB、Application Client
答案 D(推导)
解析:J2EE 五种构件:Applet(客户端)、Application Client(应用客户端)、Servlet、JSP、EJB。JNDI/RMI/IIOP/JDBC/JCA 是服务/API/协议,不是构件。
陷阱:把 JNDI、JDBC 等技术当构件(它们不承载业务组件)。
(六)测试、架构与 DSSA(42—53)
42—43.(动态/静态测试) 动态测试通过运行程序发现错误,包括();静态测试采用人工和计算机辅助静态分析,包括()。
(42)A. 边界值分析、逻辑覆盖、基本路径 B. 桌面检查、逻辑覆盖、错误推测
C. 桌面检查、代码审查、代码走查 D. 错误推测、代码审查、基本路径
(43)同选项
答案 A、C(推导)
解析:动态测试(运行程序):黑盒(等价类、边界值、判定表、错误推测)+ 白盒(逻辑覆盖、基本路径、循环测试);静态测试(不运行):桌面检查、代码审查、代码走查(人工)+ 静态分析工具。
陷阱:把"逻辑覆盖"归静态(覆盖必须运行程序统计);把"错误推测"归静态(它属黑盒用例设计)。
44.(4+1 视图) 4+1 模型支持从()描述系统体系结构。
A. 逻辑视图、开发视图、物理视图、进程视图、统一场景
B. 逻辑视图、开发视图、物理视图、模块视图、统一场景
C. 逻辑视图、开发视图、构件视图、进程视图、统一场景
D. 领域视图、开发视图、构件视图、进程视图、统一场景
答案 A(推导)
解析:4+1 = 逻辑视图 + 开发(实现)视图 + 进程视图 + 物理(部署/配置)视图 + 场景(用例)。"模块视图""构件视图""领域视图"不是 4+1 的标准视图名。
陷阱:把"构件视图"当第 4 个视图(构件/包属开发视图的内容)。
45—46.(DSSA) 领域设计的主要目标是获得();领域实现是为了()。
(45)A. 特定领域软件需求 B. 特定领域软件架构 C. 特定领域软件设计模型 D. 特定领域软件重用模型
(46)A. 评估多种软件架构 B. 验证领域模型 C. 开发和组织可重用信息,对基础软件架构进行实现 D. 特定领域软件重用模型
答案 B、C(推导)
解析:DSSA 三活动对应产物:领域分析 → 领域模型(领域需求);领域设计 → DSSA(特定领域软件架构);领域实现 → 可复用构件(开发并组织可重用信息、实现架构)。
陷阱:把"领域模型"当设计产物(它是分析产物);把"评估架构"当实现目标。
47—48.(ATAM / SAAM) ATAM 四活动领域:场景和需求收集、体系结构视图和场景实现、()、折中;SAAM 的主要输入是问题描述、需求声明和()。
(47)A. 架构设计 B. 问题分析与建模 C. 属性模型构造和分析 D. 质量建模
(48)A. 问题说明 B. 问题建模 C. 体系结构描述 D. 需求建模
答案 C、C(推导)
解析:ATAM 四活动:场景与需求收集 → 架构视图与场景实现 → 属性模型构造与分析 → 折中(tradeoff);SAAM 输入:问题描述、需求说明、体系结构描述(输出为场景评估结论与风险)。
陷阱:第 47 空选"质量建模"(教材术语是"属性模型构造和分析");第 48 空选"需求建模"(SAAM 输入的是已有的架构描述)。
49—50.(仓库风格) 仓库风格中有两种构件,()说明当前状态,()在中央数据存储上执行。
(49)A. 注册表 B. 中央数据结构 C. 事件 D. 数据库
(50)A. 独立构件 B. 数据结构 C. 知识源 D. 共享数据
答案 B、C(推导)
解析:仓库(repository)风格 = 中央数据结构(说明当前状态)+ 一组独立的知识源(对中央数据执行操作);知识源之间不直接通信,通过中央数据交互(黑板风格即其特例)。
陷阱:第 50 空选"独立构件"("独立"是修饰语,术语是知识源)。
51—53.(解释器 + 质量属性) 玩家可自行创建战役地图、定义游戏对象行为与对象关系,最合适的架构风格是();"并发 10000 人时请求在 1 秒内响应"主要与()相关;"对游戏系统二次开发时间不超过 3 个月"主要与()相关。
(51)A. 层次系统 B. 解释器 C. 黑板 D. 事件驱动系统
(52)A. 性能 B. 吞吐量 C. 可靠性 D. 可修改性
(53)A. 可测试性 B. 可移植性 C. 互操作性 D. 可修改性
答案 B、A、D(推导)
解析:玩家自定义"脚本/规则"并由引擎解释执行 → 解释器风格(把用户定义的语言解析为内部表示再执行);"1 秒内响应"是响应时间 → 性能(吞吐量是单位时间处理量,选项 A 更贴切);"二次开发 ≤3 个月"是以时间度量的变更成本 → 可修改性。
陷阱:第 52 空选"吞吐量"(题干给的是时延指标,不是处理量);第 51 空选"事件驱动"(事件驱动解决松耦合,不解决"自定义规则")。
(七)设计模式(54—57)
54—57.(模式分类与识别) 抽象工厂提供创建一系列相关或相互依赖对象的接口而无需指定具体类,它是()模式;()模式把类的抽象部分与实现部分分离,使二者可独立变化,属()模式;()模式把请求封装为对象,可用不同请求对客户参数化、支持排队/日志/撤销。
(54)A. 组合型 B. 结构型 C. 行为型 D. 创建型
(55)A. Bridge B. Proxy C. Prototype D. Adapter
(56)A. 组合型 B. 结构型 C. 行为型 D. 创建型
(57)A. Command B. Facade C. Memento D. Visitor
答案 D、A、B、A(推导)
解析:抽象工厂 → 创建型;Bridge(桥接) → 抽象与实现分离、独立变化 → 结构型;Command(命令) → 请求对象化、支持排队/日志/撤销 → 行为型。Proxy 是代理(控制访问),Adapter 是适配(接口转换),Facade 是外观(简化接口),Memento 是备忘录(保存/恢复状态),Visitor 是访问者(在不改类的前提下加操作)。
陷阱:把 Bridge 与 Adapter 混(前者设计时分离抽象与实现,后者事后适配已有接口);把 Command 与 Memento 混(撤销靠 Command 的"逆操作"或 Memento 的"状态快照")。
58—63.(人员管理系统 · 三场景六空) "断电后 15 秒内自动切换备用系统" → ()属性,策略();"人员查询 2 秒内返回" → ()属性,策略();"记录用户操作并对恶意行为报警记录" → ()属性,策略()。
(58)A. 可用性 B. 性能 C. 易用性 D. 可修改性
(59)A. 抽象接口 B. 信息隐藏 C. 主动冗余 D. 影子操作
(60)A. 可测试性 B. 易用性 C. 可用性 D. 性能
(61)A. 记录/回放 B. 操作串行化 C. 心跳 D. 资源调度
(62)A. 可用性 B. 安全性 C. 可测试性 D. 可修改性
(63)A. 追踪审计 B. Ping/Echo C. 选举 D. 维护现有接口
答案 A、C、D、D、B、A(推导)
解析:故障后切换 → 可用性,主备同时运行即主动冗余(热备);"2 秒返回"→ 性能,策略选资源调度(提高并发/优先级调度);"操作记录 + 恶意行为报警"→ 安全性,策略为追踪审计。
陷阱:59 空选"心跳"(心跳是故障检测手段,题干问"实现切换"的策略,主动冗余更贴切;若选项无主动冗余则选心跳);63 空选"Ping/Echo"(那是可用性检测,不是安全审计)。
(八)安全、知识产权与数学(64—70)
64—65.(数字签名) 数字签名先生成消息摘要,再用发送方私钥加密摘要。生成摘要的目的是();对摘要加密的目的是()。
(64)A. 防止窃听 B. 防止抵赖 C. 防止篡改 D. 防止重放
(65)同选项
答案 C、B(推导)
解析:摘要是报文的"指纹",任何改动都会使摘要变化 → 防篡改(完整性);用发送方私钥签名,只有发送方能产生,接收方用其公钥验证 → 防抵赖(不可否认性)。防窃听靠加密报文,防重放靠时间戳/随机数。
陷阱:两空对调(摘要=完整性,私钥签名=不可否认);认为签名能防窃听(签名不隐藏内容)。
66.(委托开发侵权) 程序员受 X 公司(著作权人)委托开发软件,三个月后受 Y 公司委托开发类似软件,仅将 X 的软件略作修改即提交。该行为()。
A. 属于开发者的特权 B. 属于正常使用著作权 C. 不构成侵权 D. 构成侵权
答案 D(推导)
解析:委托开发无约定时著作权归受托人(程序员),但X 公司作为著作权人(本题明确"X 公司(软件著作权人)")享有权利;程序员"略作修改"不产生独创性,属复制 + 修改,侵犯 X 的著作权;同时违反委托开发合同。
陷阱:认为"受托人当然可以复用自己写的代码"(著作权归属以合同/本题设定为准)。
67.(著作权保护期) 软件著作权受法律保护的期限是()。
A. 10 年 B. 25 年 C. 50 年 D. 不确定
答案 C(推导)
解析:自然人的软件著作权保护期为终生及死亡后 50 年(合作开发至最后死亡者死后 50 年);法人或其他组织的软件著作权保护期为50 年,截止于软件首次发表后第 50 年的 12 月 31 日。
陷阱:选"不确定"(期限是法定的);把专利(发明 20 年、实用新型 10 年)的保护期套上来。
68.(职务作品) 谭某任业务系统管理员,任职期间按公司业务要求开发"报关业务系统"并由公司使用。著作权属于()。
A. 谭某 B. CZB 物流公司 C. 双方共有 D. 双方均不享有
答案 B(推导)
解析:职务作品认定三要件之一即成立:针对本职工作中明确指定的开发目标所开发(系统管理员按公司要求开发业务系统)→ 著作权归单位;开发者享有署名权与奖励报酬权。
陷阱:以"谁写代码谁拥有"判断(职务作品归单位);把"业务系统管理员"当非本职开发。
69.(指派问题) 四名工人分配四个岗位,工时如表,最短总工时为()。
A. 13 B. 14 C. 15 D. 16
〔表缺失〕 > 答案 存疑(工时矩阵未保留,无法用匈牙利法求解)
解析方法:用匈牙利法——①每行减该行最小元素;②每列减该列最小元素;③用最少直线覆盖所有 0,若直线数 = 4 则得最优指派,否则调整;④按 0 元素取指派方案并回代原矩阵求总工时。
陷阱:逐行取最小(局部最优≠全局最优,可能两人抢同一岗位);忘记"一人一岗"的约束。
70.(线性规划) 约束:2x+3y≤30、x+2y≥10、x≥y、x≥5、y≥0,目标函数 2x+3y 的极小值为()。
A. 16.5 B. 17.5 C. 20 D. 25
答案 B(推导)
解析:目标函数恰是第一个约束的左端,故最小值由上界 30 与下界约束共同决定。可行域顶点:(5,2.5)(x=5 与 x+2y=10 交点)→ 目标 = 10+7.5 = 17.5;(5,0) 不满足 x+2y≥10;(10/3,10/3) 不满足 x≥5。极小值 17.5。
陷阱:只看 x=y 与 x+2y=10 的交点(10/3,10/3 → 16.67)而忽略 x≥5;把"极大值"(30)当极小值。
(九)专业英语(71—75)
71—75.(数据存储架构 · 英文填空)
Designing the data storage architecture is an important activity in system design. There are two main types of data storage formats: files and databases. Files are electronic of data that have been optimized to perform a particular transaction... ( 71 ) store core information that is important to the business and, more specifically, to the application, such as order information or customer mailing information. ( 72 ) contain static values, such as a list of valid codes or the names of cities; typically the list is used for validation. ... ( 73 ) is given to those databases which are based on older, sometimes outdated technology that is seldom used to develop new applications. ( 74 ) are collections of records that are related to each other through pointers. In relational database, ( 75 ) can be used in ensuring that values linking the tables together through the primary and foreign keys are valid and correctly synchronized.
| 空 | 正确选项 | 答案 |
|---|---|---|
| 71 | A. Master files B. Look-up files C. Transaction files D. History files | A |
| 72 | A. Master files B. Look-up files C. Audit files D. History files | B |
| 73 | A. Legacy database B. Backup database C. Multidimensional database D. Workgroup database | A |
| 74 | A. Hierarchical database B. Workgroup database C. Linked table database D. Network database | D |
| 75 | A. identifying relationships B. normalization C. referential integrity D. store procedure | C |
参考译文:主文件(master files)存储对业务至关重要的核心信息(如订单、客户邮寄信息);查找文件(look-up files)存储静态值(有效代码表、城市名称),用于校验;遗留数据库(legacy database)指基于较老旧、很少用于开发新应用的技术构建的数据库;网状数据库(network database)是通过指针相互关联的记录集合;在关系数据库中,参照完整性(referential integrity)用于确保通过主键与外键关联的值有效且正确同步。
陷阱:71 选 Transaction files(事务文件记录交易流水,不是核心主数据);74 选 Hierarchical database(层次数据库是树形父子关系,网状才是指针网络);75 选 normalization(规范化解决冗余与异常,不负责主外键一致性)。
三、收录说明
| 项目 | 情况 |
|---|---|
| 综合知识题面 | 来自机构原版 PDF,75 题完整、选项完整,可信度高 |
| 综合知识答案 | 无公开完整答案,本卷全部为本库推导;第 1—5 题与豆丁公开答案一致(可作方法校验) |
| 存疑题 | 第 7(表达式图缺失)、10(串行总线表述)、11(低功耗三类表述)、18—21(霍尔四空编号错位)、69(工时表缺失) |
| 案例分析 | 5 题题面完整(机构原版 PDF),无公开答案,本卷给推导框架 + 存疑提示 |
| 论文 | 4 题题面 + 来源解析要点(RUP 四阶段、体系结构演化六步、SOA 三大标准、NoSQL 四分类),可信度高 |
| 建议用法 | 综合知识当"无答案自测卷":先做,再逐题看推导链条,重点核对存疑题;案例按"官方题面 + 本库框架"练习,不要背死参考答案 |
四、案例分析(1 必做 + 4 选 2)
试题一(必做):文化用品商城 —— 非功能需求四类 + 瘦客户端 C/S(25 分,8+8+9)
题面要点
业务含销售、定制、竞拍、点评。需求:
(a) 用户界面支持个性化定制;(b) 支持当前主流标准和服务,特别是通信协议和平台接口;(c) 用户操作响应时间 ≤3 秒,竞拍板块 ≤1 秒;(d) 具有故障诊断和快速恢复能力;(e) 用户密码加密传输;(f) 支持不低于 2G 的数据缓存;(g) 用户操作停滞超时需重新登录验证;(h) 支持中/英/法三种语言。最终选瘦客户端 C/S 架构。
问题 1(8 分)四类非功能需求含义
- 操作性需求:与系统的使用/运行环境相关,包括技术环境(硬件、网络、协议标准)、系统集成与互操作、可维护性、易用性、可移植性等"如何使用与运维"的要求。
- 性能需求:系统的时间与容量指标,如响应时间、吞吐量、并发数、数据容量、缓存大小。
- 安全性需求:保密性、完整性、可用性、可控性、不可否认性相关要求,如加密传输、认证授权、审计、防攻击。
- 文化需求:与语言、地区、习俗、法规相关的要求,如多语言、本地化格式(日期/货币)、符合当地法规。
问题 2(8 分)需求归类(推导)
| 分类 | 需求 |
|---|---|
| 操作性需求 | (a) 界面个性化定制、(b) 主流标准/协议/平台接口、(d) 故障诊断与快速恢复 |
| 性能需求 | (c) 响应时间 3s/1s、(f) 2G 数据缓存 |
| 安全性需求 | (e) 密码加密传输、(g) 停滞超时重新登录 |
| 文化需求 | (h) 中/英/法三种语言 |
(d) 归操作性需求的依据:它属于可维护性/运行保障要求,不是纯粹的时间/容量指标;若命题把"快速恢复"理解为可用性指标,也可归性能类,答题时可注明"按教材四分类,可维护性属操作性需求"。
问题 3(9 分)瘦客户端能满足的三个需求(推导)
- (b) 支持主流标准与服务、通信协议和平台接口——瘦客户端把业务逻辑集中在服务器,客户端只做表示,天然跨平台、协议适配集中在服务端;
- (d) 故障诊断和快速恢复——应用与数据集中在服务器,故障定位与恢复只需在服务端完成,客户端无需逐台修复;
- (a) 用户界面个性化定制 / (h) 多语言(任选其一)——表示层与逻辑层分离,界面与语言资源可在服务端统一下发/切换,客户端零安装即可获得新界面。
得分点:必须写"客户端只负责表示、逻辑与数据集中"这一机制,再对应到需求;不要只列需求编号。
典型失分:选 (c)(f) 这类性能需求(瘦客户端因网络传输与集中处理,性能通常不如胖客户端)。
试题二:房屋租赁服务系统 —— 顶层 DFD + ERD + 实体与类(25 分,12+5+8)
题面要点
功能:①登记房主信息(写房主信息文件)②登记房屋信息(一名房主可登记多套房屋,写房屋信息文件)③登记租赁者信息(写租赁者信息文件)④安排看房(查询待租房屋、提出看房请求、生成看房记录并写入看房记录文件)⑤收取手续费(生成费用单,房主交费)⑥变更房屋状态(房主提交请求,修改房屋信息文件)。
问题 1(12 分)顶层 DFD 填空(推导)
- 外部实体:E1 = 房主;E2 = 租赁者。
- 加工:P1 登记房主信息、P2 登记房屋信息、P3 登记租赁者信息、P4 安排看房、P5 收取手续费、P6 变更房屋状态。
- 数据存储:D1 房主信息文件、D2 房屋信息文件、D3 租赁者信息文件、D4 看房记录文件(费用单若设存储则为 D5 费用单)。
技巧:题干把"写入××文件"写得很明确 → 数据存储名直接照抄;加工名取功能条目的动宾短语;实体只找系统外部的人/组织。
陷阱:把"房屋"当外部实体(它是被管理的数据对象,落 D2);把"费用单"当实体(它是数据流/存储)。
问题 2(5 分)ERD 实体(推导)
五个实体:房主、房屋、租赁者、看房记录、费用单。
- 房主 1:N 房屋(一名房主可登记多套);
- 租赁者 1:N 看房记录,房屋 1:N 看房记录(一次看房对应一位租赁者与一套房屋);
- 房主 1:N 费用单(每登记一套房屋生成费用单)。
陷阱:把"地址"当实体(它是房屋的属性);遗漏"看房记录"这个联系实体(多对多联系需转为实体)。
问题 3(8 分)
(1)实体 vs 类:
| 维度 | 实体(信息工程) | 类(面向对象) |
|---|---|---|
| 视角 | 数据视角,只描述"有什么数据" | 对象视角,封装属性 + 行为(操作) |
| 行为 | 无操作,操作由加工/程序实现 | 有方法,数据与行为绑定 |
| 关系 | 实体间为 1:1/1:N/M:N 联系 | 除关联外还有继承、多态、聚合/组合 |
| 复用/扩展 | 通过视图/子模式复用 | 通过继承/接口/多态复用与扩展 |
| 实现 | 映射为表(关系模型) | 映射为类/对象,可跨表组合 |
(2)Essential Use Case vs Real Use Case:
- Essential(本质)用例:只描述意图与职责,与技术实现、界面细节无关,是抽象、理想化的表达("用户提交订单"),用于需求本质沟通;
- Real(真实)用例:描述具体的实现方式与交互细节("用户在订单页点击'提交'按钮,系统弹出确认框…"),用于设计与测试;
- 关系:本质用例是真实用例的抽象,一个本质用例可对应多个真实用例(不同界面/渠道实现)。
试题三:宇航嵌入式实时系统 —— 简单/复杂任务特征 + 腰型通信架构(25 分,14+11)
题面要点
未来嵌入式实时系统走向网络化、智能化、综合化,核心特征是实时任务机理、状态、行为的复杂性;给出 20 条特征 (a)—(t),要求填入"简单任务 vs 复杂任务"10 个方面共 14 个空;并提出腰型(Waistline)通信架构,核心是 BMTS(基本消息通信),支持事件触发、速率约束、时间触发三类消息。
问题 1(14 分)特征配对(推导,按"简单 ←→ 复杂"成对)
| 方面 | 简单任务 | 复杂任务 |
|---|---|---|
| 时间属性 | (a) 属性不随时间变化 | (b) 属性与时间相关 |
| 变量域 | (c) 仅从非连续集取特征变量 | (d) 变量域连续 |
| 功能原理 | (e) 不依赖上下文 | (f) 依赖上下文 |
| 行为分析 | (g) 可用 step-by-step 顺序分析 | (h) 多任务并发、难以 step-by-step 分析 |
| 因果关系 | 因果单向、独立 | (i) 因果关系相互影响 |
| 反馈机制 | 反馈少或无 | (j) 行为依赖大量反馈机制 |
| 构成/策略/描述 | (k) 构成、策略、描述相似 | (l) 存在许多不同的构成、策略、描述 |
| 功能关系 | (n) 线性 | (m) 非线性 |
| 子任务交互 | (o) 子任务独立、内部交互少 | (p) 子任务高交互、难以隔离单任务行为 |
| 规则/原理识别 | (q) 规则整齐、(s) 表面属性易识别 | (r) 多上下文依赖规则、(t) 原理被覆盖/抽象、表面不可见 |
答题技巧:20 条特征天然两两对立(含"非/不/难/许多"等标记词的是复杂任务),先把成对关系列出,再对号入座,比逐空硬填更稳。
陷阱:把 (i)(j) 也当"简单任务"("相互影响""依赖反馈"都是复杂性的标志);(m) 非线性必属复杂、(n) 线性必属简单。
问题 2(11 分)BMTS 与三类消息(框架)
- 基于 BMTS 的消息通信网络主要特征:①以基本消息为唯一交互原语,屏蔽协议/硬件/结构差异("腰"很窄,向上向下都通过统一适配);②消息与时间属性绑定(可携带时限、周期、优先级),支持确定性传输;③支持多播/发布订阅与时间同步,便于分布式实时任务协同;④具备可预测的时延与抖动,满足实时性;⑤可组合/可扩展(新总线只需实现 BMTS 适配)。
- 三类消息含义:
- 事件触发消息:由状态变化/外部事件触发,非周期、突发,要求尽快传递(如告警、开关量变化),时延敏感但可容忍偶发;
- 速率约束消息:按约定速率/周期产生(如传感器周期采样),关注带宽与平均速率,允许一定抖动;
- 时间触发消息:在预定义的绝对时刻发送,严格周期、确定性最强,用于闭环控制等硬实时场景。
- 两种具备时间触发能力的网络总线:TTCAN(时间触发 CAN)、FlexRay(还可答 TTEthernet、ARINC 664/AFDX)。
- 得分点:三类消息必须写清"触发方式 + 实时性特征 + 典型场景";总线名要给时间触发变体(普通 CAN 是事件触发)。
试题四:生鲜电商 —— 分布式缓存 MemCache vs Redis(25 分,9+8+8)
题面要点
初创企业用"脚本语言 + 关系数据库"快速上线,用户与业务量激增后数据库无法支撑高并发。张工主张重构(周期长、投入大);李工主张用 MemCache 缓存热点数据(改动小);刘工指出 MemCache 有可靠性/一致性问题、宕机易丢交易数据,主张用 Redis,最终采用刘工方案。
问题 1(9 分)分布式缓存概念 + 表 4-1 六空(推导)
- 基本概念:分布式缓存是把缓存数据分布存放在多台服务器上的缓存系统,通过一致性 Hash/分片把 key 映射到不同节点,实现容量与吞吐的水平扩展,并常配合副本提供高可用;对应用透明,用于降低数据库访问压力、缩短响应时间。
- 表 4-1(MemCache vs Redis)常见对比维度(〔表缺失〕,按公开考点复原):
| 维度 | MemCache | Redis |
|---|---|---|
| 数据结构 | 仅 key-value(字符串) | String/List/Set/ZSet/Hash 等多种 |
| 持久化 | 不支持(宕机数据全失) | 支持 RDB/AOF |
| 分布式 | 客户端分片,无集群/主从(原生) | 支持主从、哨兵、Cluster |
| 事务 | 不支持 | 支持简单事务(MULTI/EXEC) |
| 内存管理 | 预分配 slab,易碎片 | 支持过期淘汰策略、内存优化 |
| 性能 | 多线程,纯内存,吞吐高 | 单线程模型(6.0 起多线程 I/O),功能多、单次开销略高 |
答题要点:六空一般落在"数据类型、持久化、分布式/集群、事务、过期策略、线程模型"上,按"Redis 功能更全、MemCache 更轻更快"作答。
问题 2(8 分)可靠性与一致性问题 + 同步方案(推导)
- MemCache 的问题:①纯内存、无持久化,进程/机器宕机后缓存全部丢失,热点请求瞬间压向数据库(缓存雪崩);②无主从/集群原生支持,客户端分片下节点故障需应用自行处理,可用性差;③缓存与数据库双写无事务保障,可能出现数据不一致(写入顺序、并发覆盖);④无过期淘汰的精细控制,易出现脏数据长期驻留。
- Redis 与关系数据库的同步方案:
- Cache Aside(旁路缓存,最常用):读——先读缓存,未命中读库并回填;写——先更新数据库,再删除缓存(而非更新),并配合延迟双删(更新后延时再删一次)降低并发脏读窗口;
- 主动同步(binlog 订阅):用 Canal/Debezium 订阅 MySQL binlog,解析变更后更新/删除 Redis,实现准实时、业务解耦;
- 消息驱动:业务写完库后发 MQ 消息,由同步服务消费更新缓存(需保证幂等与顺序);
- 兜底:为缓存设 TTL、加版本号/时间戳防旧值覆盖;对强一致场景直接用 Redis 事务/Lua 脚本或分布式锁串行化。
问题 3(8 分)Redis 分布式两种方案 + 切片方式(推导)
- 两种常见方案:
- 客户端分片(Client-side Sharding):由客户端用 Hash 计算 key 归属节点,无中心、部署简单,但扩缩容需迁移数据、多语言客户端需各自实现;
- 代理分片(Proxy,如 Twemproxy/Codis):客户端连代理,由代理路由到后端节点,对客户端透明、支持连接复用,但多一跳、代理可能成为瓶颈;
3.(可加)Redis Cluster(服务端分片):官方集群,16384 个哈希槽、去中心化、支持自动故障转移。
- 常见切片方式:
- 范围切片(Range):按 key 区间划分(如 user_id 1–100 万一个节点),利于范围查询,但易倾斜;
- 哈希切片(Hash 取模):
hash(key) % N,分布均匀,但增删节点会导致大量数据迁移; - 一致性哈希切片:key 与节点映射到 Hash 环,增删节点只影响相邻区间,配合虚拟节点解决倾斜;
- 哈希槽(Cluster 的 16384 slot):槽与节点绑定,迁移以槽为单位,兼顾均匀与运维便利。
- 得分点:"两种方案"要区分客户端/代理(或服务端集群);切片方式至少三种并说明优缺点。
试题五:银行信息系统整合 —— SOA/ESB 架构填空 + 安全保障(25 分,7+12+6)
题面要点
原系统以分行为主体、异构平台/数据库/中间件、报文标准与协议各异,传统 EAI 无法满足灵活集成,拟采用基于 ESB 的 SOA 整合,实现统一账户、转账汇款、自助缴费、理财、贷款、网上支付、报表分析。
问题 1(7 分)SOA 与 ESB(推导)
- SOA:一种以服务为基本单元的架构风格/应用框架,把业务划分为粗粒度、松耦合、可复用的服务,服务通过良好定义的接口与标准协议(WSDL/SOAP/REST)暴露,可独立部署、编排组合成业务流程。
- ESB 的作用:作为服务之间的通信与集成中介,提供服务注册/发现、消息路由、协议转换、数据格式转换、消息增强、安全与监控、服务编排,使请求者与提供者不直接耦合。
- ESB 的特点:①位置透明(请求者无需知道提供者地址);②协议/数据格式适配(异构系统互通);③松耦合、可替换;④集中监控与治理;⑤支持异步消息与服务编排(BPEL)。
- 陷阱:把 ESB 当"消息队列"(ESB 远不止传输,含路由/转换/编排/治理);把 SOA 等同于"Web 服务"(Web 服务是实现 SOA 的技术之一)。
问题 2(12 分)架构图填空(推导)
按 SOA 分层参考架构(自上而下):界面层 → 业务流程/编排 → 服务层(ESB + 服务注册)→ 组件层 → 数据层;配套标准:UDDI(注册发现)、WSDL(服务描述)、SOAP/XML(消息)、BPEL(流程编排)、bind/publish(服务绑定与发布)。
- 典型填法:(1) b 界面层;(2) j 组件层;(3) a 数据层;(4) e 企业服务总线 ESB;(5) i UDDI;(6) k BPEL(另有
publish/bind用于"服务发布/绑定"箭头、g 安全验证和质量管理用于横切能力)。 - 说明:〔图 5-1 缺失〕具体空位与本库填法可能不一致,答题时以"分层 + 三大标准 + ESB"为骨架,按图中箭头方向(发布→注册中心,请求→ESB→服务)落位。
得分点:能说清"服务提供者 publish 到 UDDI,请求者经 ESB 查找并 bind 调用"这一闭环。
问题 3(6 分)三种安全保障措施
- 传输安全:全链路 TLS/HTTPS、服务间 mTLS,敏感字段(账号、金额)额外加密;
- 身份认证与授权:统一认证中心(SSO/OAuth2/OIDC)+ RBAC/ABAC 细粒度授权 + 服务间令牌校验;
- 审计与监控:全链路操作日志/审计日志、异常行为告警、WAF/IPS 防注入与越权;
4.(可加)数据安全:分级分类、脱敏、加密存储(KMS 密钥管理)、备份与容灾。
得分点:三条分别落在"传输、认证授权、审计/防护"三个层面,避免全写成"加密"。
五、论文(4 选 1)
本卷论文四题均有来源解析要点(标注为「来源答案」),下文的"要点"为来源结论摘录,"结构补充"为本库整理。
试题一:论软件开发过程 RUP 及其应用
三问:①项目背景与本人工作;②RUP 的4 个阶段及基本特征;③项目中 RUP 的具体实施(核心工作流选择、制品确定、阶段间演进与迭代计划、工作流内部结构规划)。
要点(来源答案)
- 四阶段(每阶段结束安排技术评审,通过方可进入下一阶段):
- 初始阶段:明确项目规模,了解环境、最重要需求与约束,得出验收标准;制定商业理由;评估风险、人员、计划与成本/进度/收益折中;通过概念验证(模型或原型)证明可行性;准备项目环境、选工具、定改进点。原型只做到"确认方案可行"为止。
- 细化阶段:快速确定并确认构架、建立构架基线;对最关键用例建立可靠理解;为构建阶段制定详细迭代计划并基线化;改进开发案例与环境(流程、工具、自动化);评估潜在构件、做自制/外购/复用决策;集成构架构件并按主要场景评估(可能导致重构架/改需求)。
- 构建阶段:资源管理与流程优化;完成构件开发并按评估标准测试;按验收标准评估产品发布版。
- 产品化(交付)阶段:执行部署计划;定稿用户支持材料;现场测试可交付产品;制作发布版;获取用户反馈并据此调整;交付最终用户使用。
- 三大基本特征:用例驱动、以架构为中心、迭代与增量。
- 制品(Artifact)回答 what:活动生成、创建或修改的一段信息(产品/工件);工作流(Workflow)回答 when:一段有意义、连续的活动序列,产生有价值的产品并体现角色关系。
- 结构补充:9 个核心工作流(业务建模、需求、分析与设计、实现、测试、部署 + 配置与变更管理、项目管理、环境);写作时"选 2—3 个关键工作流 + 2—3 次迭代"讲透,比全部罗列得分高。
试题二:论软件体系结构的演化
三问:①项目背景与本人工作;②系统演化的6 个步骤;③项目如何按 6 步完成体系结构演化。
要点(来源答案)
- 需求变动归类:把变化的需求与已有构件对应;找不到对应构件的变动做好标记,后续创建新构件。
- 制订体系结构演化计划:改动前制定周密计划,作为后续演化开发的指南。
- 修改、增加或删除构件:按归类结果决定改/删/增,并对修改和新增构件做功能性测试。
- 更新构件的相互作用:构件增删改后,更新构件间的控制流。
- 构件组装与测试:用组装支持工具把构件实现体组装起来,完成连接与合成,形成新体系结构,并对整体功能与性能测试。
- 技术评审:确认上述步骤,评审新体系结构是否反映需求变动、符合用户需求;不符合则在第 2—6 步间迭代。
- 定位提示:本论题即 ABSD 的最后一个子过程"架构演化",可与 ABSDM 六阶段(需求→设计→文档化→复审→实现→演化)串联作答。
- 结构补充:写作时重点讲 2—3 步(如"需求变动归类"如何建立需求-构件映射表、"技术评审"如何发现遗漏),并给出演化前后指标对比。
试题三:论面向服务架构设计及其应用
三问:①项目背景与本人工作;②SOA 的主要技术与标准及各自内容;③构建 SOA 时遇到的问题与实施效果。
要点(来源答案)
- 主要技术:Web 服务、ESB;核心标准三件套:
- UDDI(统一描述、发现与集成):开放的行业计划,使商业实体能彼此发现、定义如何在 Internet 上交互,并在全球注册体系中共享信息;是 Web 服务集成的体系框架,含服务描述与发现的规范;基于 XML、HTTP、DNS 等,跨平台特性上采用 SOAP。
- WSDL(Web 服务描述语言):描述 Web 服务及如何与其通信的 XML 语言,是 Web 服务的接口定义语言;描述三属性——做什么(操作)、如何访问(数据格式与协议)、位于何处(URL);文档以端口集合描述服务,含抽象定义、具体协议绑定与网络端点规范。
- SOAP(简单对象访问协议):分散/分布式环境中交换信息的基于 XML 的协议;四部分——封装 Envelope(消息内容、发送者、接收者与处理框架)、编码规则 Encoding Rules(数据类型实例表示)、RPC 表示(远程调用与应答协定)、绑定 Binding(底层协议交换)。
- 问题与对策(写作重心):服务粒度划分过细导致编排复杂(按业务能力聚合)、异构系统协议不一(ESB 做协议/格式转换)、服务版本升级影响调用方(契约版本化 + 兼容策略)、性能开销(服务调用链长,做聚合服务与缓存)、治理缺失(注册中心 + 监控 + SLA)。
- 注意:来源特别提示"本题重心在第三问",问题与效果要写实、给量化。
试题四:论 NoSQL 数据库技术及其应用
三问:①项目背景与本人工作;②常见 NoSQL 技术及主要内容、适用场景;③项目采用哪种 NoSQL、架构设计过程与效果。
要点(来源答案)
- NoSQL 优势:避免不必要的复杂性;高吞吐量;高水平扩展能力与低端硬件集群;避免昂贵的对象-关系映射。
- NoSQL 缺点:数据模型与查询语言未经数学验证;不支持 ACID;功能简单;没有统一的查询模型。
- 四大分类:
- 键值存储:哈希表,key 指向特定数据;优势简单、易部署,但只查/更新部分 value 时效率低。代表:Redis、Tokyo Cabinet/Tyrant、Voldemort、Oracle BDB。
- 列存储:应对分布式海量数据,key 指向多个列族。代表:HBase、Cassandra、Riak。HBase 源于 Google Bigtable,构建于 HDFS 之上,按列而非按行存储,适合非结构化数据。
- 文档型:数据模型是版本化文档,半结构化(JSON/BSON)存储,可嵌套键值,查询效率高于纯 KV。代表:MongoDB、CouchDB、SequoiaDB。MongoDB 每条记录是一个 Document 对象,无需手写 SQL 即可 CRUD。
- 图数据库:用图形模型表达实体与关系,可扩展到多服务器,适合深度关联查询(社交、推荐、反欺诈)。代表:Neo4J、InfoGrid、InfiniteGraph。
- 适用场景对照:KV→缓存/会话/计数器;列存→海量日志、时序、宽表;文档→内容管理、商品/订单等半结构化数据;图→关系网络分析。
- 结构补充:第三问写"选型理由(数据形态 + 读写比例 + 一致性要求)→ 数据模型设计(key 设计、列族/文档结构、索引)→ 与关系库的分工(交易走 MySQL、查询走 NoSQL)→ 效果(QPS、P99、存储成本)"。
六、使用建议
- 本卷是唯一"题面官方、答案缺失"的套卷,最适合当自测卷:先限时做,再逐题核对本库推导链条,存疑题直接跳过,不要背结论。
- 高频送分点:SSTF 移臂+旋转、PCB 索引方式、二级索引容量、自然连接投影列数、数据仓库相对稳定性、哈佛结构、CRC 模 2 除法、PTR 记录、DHCPDECLINE、霍尔三维结构、需求管理四活动、CCB、RAD、螺旋模型四阶段、概要设计工具、软件设计四活动、水平/垂直重用、EJB 三类、CORBA Servant、4+1 视图、DSSA 三活动、ATAM/SAAM、仓库风格、解释器、设计模式分类、质量属性场景、数字签名、著作权 50 年、指派问题、线性规划。
- 案例五题覆盖面极广:非功能需求四分类(复现率最高)、DFD+ERD、嵌入式实时+通信架构、缓存选型与一致性、SOA/ESB——正好对应知识域索引的五大板块。
- 论文四题是"RUP / 架构演化 / SOA / NoSQL",与 2019—2021 的论文题形成互补,建议把"RUP 四阶段 + 演化六步 + SOA 三标准 + NoSQL 四分类"做成四张卡片。
七、来源
| 编号 | 来源 | 用途 | 可信度 |
|---|---|---|---|
| S1 | 希赛/教育城《2018 年下半年系统架构设计师考试上午真题》 https://m.educity.cn/rk/zt/201811fenshu/zhentipdf/jiagou1.pdf | 综合知识 75 题题面(完整) | 高(机构原版排版;无答案) |
| S2 | 希赛/教育城《2018 年下半年系统架构设计师考试下午真题》 https://m.educity.cn/rk/zt/201811fenshu/zhentipdf/jiagou2.pdf | 案例 5 题题面(完整) | 高(机构原版;无答案) |
| S3 | CSDN「程序员小圆」《系统架构设计师-2018 年下半年下午论文真题及答案》 https://blog.csdn.net/yuanmayuzhou/article/details/143676961 | 论文 4 题 + 解析要点 | 高(题面与解析完整) |
| S4 | 豆丁《2018 年下半年系统架构师真题+答案解析》 https://www.docin.com/touch_new/preview_new.do?id=2220093449 | 仅前 5 题答案,用于交叉验证 | 中(仅片段可见) |
| S5 | 清华社《系统架构设计师 2018 至 2022 年试题分析与解答》试读 PDF https://www.tup.com.cn/upload/books/yz/103211-01.pdf | 印证"试题分析 + 参考答案"的官方结构(正文未开放) | 仅目录可信 |
说明:
- 本卷综合知识与案例的答案无公开完整源,全部为本库推导并逐题标注依据;第 1—5 题与 S4 公开答案一致,可作为推导方法的间接验证。
- 凡依赖图形/表格的题目(第 7、69 题,案例二/三/五的图)均标〔图/表缺失〕或存疑,不猜答案。
- 论文部分为 S3 解析要点的整理与结构化,非逐字范文。