案例分析:一道完整真题,从读题写到收笔

四季读书网 7 0
案例分析:一道完整真题,从读题写到收笔

软考架构师 · 考点拆解 2026-10-03

案例分析 01:一道完整真题,从读题写到收笔

星期四 · 第 03 期 · 案例分析(1)· 完整题

案例分析的模拟题最容易被写错。综合知识出选择题,案例要出的是有背景、有分问、有采分点的整道大题。这一期按这个规格来写,先把三道完整真题摆开,再给一道自拟的完整案例题。

综合知识 75 题 / 75 分(120—150 分钟) 案例分析 5 选 3 / 75 分(90 分钟) 论文 4 选 1 / 75 分(120 分钟) 三科均 45 分合格

本期考点

案例第 1 题,历年都在考质量属性

案例分析 5 选 3,第 1 题必做。翻 2020 到 2025 年的记录,第 1 题几乎年年落在质量属性与架构评估上,动作在归类、补图、说理由之间轮换。

这一期把三场的第一大题完整摆出来,案例背景、每一问、分值、参考答案一个字不省。看完再配一道同题型的自拟案例题自己练。

案例踩点给分,分值就是要点数。12 分的问题至少写 6 个点,一行一个术语,堆成一整段拿不到分。

1.完整真题一:2020 上 · 案例第 1 题,在线软件开发系统,两问 25 分

2.完整真题二:2022 上 · 案例第 1 题,会员与促销管理系统,一问 12 分

3.完整真题三:2025 上 · 案例第 1 题,在线大模型训练平台,三问 25 分

4.模拟案例题:自拟,同样三问结构,附完整参考答案

5.用法:先盖住参考答案自己做一遍,再逐条对采分点

完整真题一 · 题目  2020 年上半年 · 系统架构设计师 · 案例分析 第 1 题(考后回忆版)

2020 上:在线软件开发系统

某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行软件开发。系统的重要功能包括代码编辑、语法高亮显示、代码编译、系统调试、代码仓库管理等。在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下表。

第 1 问(13 分)

针对该系统的功能,李工建议采用管道过滤器(pipe and filter)架构风格,王工建议采用仓库(repository)架构风格。请指出该系统更适合采用哪种架构风格,并从数据处理方式、系统的可扩展性和处理性能三个方面对两种风格进行比较与分析。

第 2 问(12 分)

质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入效用树中的空白处,并选择题干中描述的 (a) 到 (k) 填入其余空白处,完成该系统的效用树。

序号
需求与质量属性描述
a
根据用户的付费情况对用户进行分类,并根据类别提供相应的开发功能
b
在正常负载情况下,系统应该在 0.2s 内对用户的界面操作请求进行响应
c
系统应该具备完善的安全防护措施,能够对黑客的攻击行为进行检测和防御
d
系统主站点断电后,应在 3s 内将请求路由到备用站点
e
系统支持中文版本,但用户名必须以英文开头,长度不少于 5 个字符
f
系统应在 15s 内发现错误并启用备用系统
g
在正常负载情况下,用户的代码提交请求应在 0.5s 内完成
h
系统支持硬件设备灵活扩展,应保证在 2 人天内完成所有的部署与测试工作
i
系统需要针对代码仓库的所有操作进行详细记录,便于后期审查与审计
j
更改系统 Web 界面风格需要在 4 人天内完成
k
系统本身需要提供远程通讯接口,支持开发团队进行远程排错
完整真题一 · 参考答案

选仓库风格,理由写在三个维度上

第 1 问:应该采用仓库架构风格

这套系统的核心是代码仓库,编译、调试、语法高亮都要围绕同一份代码数据反复读写。仓库风格把数据集中管理,正好对上这个特点。

数据处理方式:仓库的数据存储在中心仓库,各处理流程独立,支持交互式处理。管道过滤器的数据按流的形式组织成处理序列,一路单向往下走。

系统扩展方式:仓库的数据按需定期输出,可以高度并行处理。管道过滤器调整流程要更新整条流水线,扩展一个环节就得动前后接口。

处理性能:仓库把数据与处理分离,每次都要先加载数据,性能会降下来,但数据处理组件之间没有依赖,可以并发调用把性能补回来。

第 2 问:效用树填空

效用树默认有四个质量属性:性能、可用性、安全性、可修改性。第 1 类空白填属性名,第 2 类空白填题干里的场景编号。

(1) 安全性 (2) 可修改性 (3) g (4) i (5) f (6) j

选型题只写「仓库更好」不给理由,13 分能拿到的只剩一半。三个维度各写一句,每一句都要点出这个系统自己的特征。

效用树填空不要凭重要性排序去猜。先看空白挂在哪一类质量属性下面,再按场景的度量词往回找编号。

回忆版里原表的表头与答案列有错位,这里按参考答案的内容列出,不去复原那张错位的表。

完整真题二 · 题目  2022 年上半年 · 系统架构设计师 · 案例分析 第 1 题(考后回忆版)

2022 上:会员与促销管理系统

某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务。新系统除了保持现有的四级固定会员制度,还需要根据用户的消费金额、偏好、重复性等特征动态调整商品折扣力度,并在特定活动期间向相关会员推送个性化的打折促销活动。公司提出的需求和质量属性描述如下表。

第 1 问(12 分)

在架构评估过程中,质量属性效用树是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入效用树的空白处,并从题干描述的 (a) 到 (k) 中选择合适的场景,填入其余空白处,完成该系统的效用树。

序号
需求与质量属性描述
a
管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑,设置后即可生效
b
系统应该具备完整的安全防护措施,支持对恶意攻击行为进行检测与报警
c
在正常负载情况下,系统应在 0.3 秒内对用户的界面操作请求进行响应
d
用户名是系统唯一标识,要求以字母开头,由数字和字母组合,长度不少于 6 个字符
e
在正常负载情况下,用户支付商品费用后在 3 秒内确认订单支付信息
f
系统主站点电力中断后,应在 5 秒内将请求重定向到备用站点
g
系统支持横向扩展,要求在 2 人天内完成所有的扩展测试工作
h
系统故障后,需要在 10 秒内感知错误,并自动启动热备份系统
i
系统需要内置接口,支持开发团队进行功能调试与系统诊断
j
系统需要为所有的用户操作行为进行详细记录,便于后期查询与审计
k
支持对系统的外观进行调整和配置,调整工作需要在 4 人天内完成
完整真题二 · 参考答案

两个属性名,四个场景编号

属性名

(1) 可修改性 (2) 性能。

场景编号

(3) a (4) k (5) c (6) e。

a 和 k 都带「人天」和「设置后即可生效」,是可修改性的度量词。c 和 e 都带「多少秒内」,是性能的度量词。这两组词就是判据。

剩下七条也顺手归一下类

可用性是 f 和 h,安全性是 b,功能性是 d,可维护性是 g、i、j。题干里每一条都埋了一个度量词,归类就是把度量词圈出来。

d 容易被写成安全性。用户名规则属于功能性里的约束,不是安全机制,别看到「唯一标识」就往安全上靠。

f 和 h 都提到了故障,都归可用性,不要拆成两个属性。前者说的是请求重定向,后者说的是感知与切换,动作都是故障后的恢复。

完整真题三 · 题目  2025 年上半年 · 系统架构设计师 · 案例分析 第 1 题(考后回忆版)

2025 上:在线大模型训练平台

某公司开发一个在线大模型训练平台,支持 Python 代码编写、模型训练和部署。用户通过 Python 编写模型代码,把代码交给系统解析,最终由系统分配相应的计算机资源输出结果,用户不需要关心底层硬件平台。平台的质量属性描述如下表。

第 1 问(12 分)

对上述提及的质量属性进行分类,写出分类的描述。

第 2 问(6 分)

X 工认为应该使用解释器风格来架构该系统,请补充解释器风格的系统图。

第 3 问(7 分)

该平台为什么适合解释器风格?

序号
质量属性场景描述
a
系统发生错误时,不影响正常运行,同时发送一个消息给系统管理员
b
方便用户操作,满足一般用户使用的快捷键设置
c
系统界面适配用户提供的屏幕尺寸比例
d
用户提交训练任务时应该在一分钟内提供硬件和资源
e
数据库发生故障时,可以切换到备用库,时间在 20 分钟内
f
系统发生故障时,要能提供操作日志和调试日志
g
发生故障时应在 15 分钟内修复
h
提供远程测试,供远程用户进行连接操作,仅提供给系统注册用户使用
i
服务对功能进行扩展,指定功能的修改需要在 3 天内完成
j
系统支持功能不同的语言
k
服务器发生故障后,立即切换到备用服务,保证业务的连续性
完整真题三 · 参考答案

11 条场景、3 个空、5 条理由

第 1 问:归类

11 条一条一分,属性名加一句描述。带斜杠的两个都要写上,写一个只拿一半。

(1) 归类结果见下表。e 和 k 都归可用性:e 说的是切换时间在 20 分钟内,k 说的是立即切换保证业务连续,两条都在讲故障后的业务是否中断。

a 说的是出错不影响运行并通知管理员,属可靠性;g 说的是 15 分钟内修复,也属可靠性,与 e、k 的可用性区分开。

序号
分类
a
可靠性 / 鲁棒性
b
易用性
c
功能性
d
性能
e
可用性
f
可维护性
g
可靠性
h
安全性 / 互操作性
i
可修改性
j
易用性
k
可用性
完整真题三 · 参考答案(续)

补图与说理由怎么答

第 2 问:解释器风格系统图的三个空

解释器风格由三块组成:解释器引擎,以及它读写的程序当前执行状态和解释器引擎内部状态。图上的三处空白就填这三块。

填完之后把连线方向也标出来。解释器引擎从程序当前执行状态里读取下一步要执行的语句,执行中读写自己的内部状态,内部状态记录解释到哪、环境变量是什么。

第 3 问:为什么适合解释器风格

7 分至少写 4 条,每条一个术语加一句为什么。这个平台要跑用户提交的 Python 代码,这是最直接的理由。

第 1 问只写属性名不写描述。题目原文是「分类,写出分类的描述」,属性和解释都要有,少写一半要扣分。

第 3 问写「因为解释器风格更灵活」这种空话。要落到这个平台的具体特征:用户提交代码、当场执行、边改边跑。

√动态执行代码:平台要接收用户提交的 Python 代码并当场执行,解释器逐行解析,不需要预编译

√交互式调试:训练平台要支持边改边跑,解释器能即时反馈每一行的执行结果

√运行时可扩展:新增算子或算子库不用重新编译整个平台,改完即可生效

√错误定位到行:解释器能报出出错的行号和上下文,用户自己就能改代码

√资源按需分配:解析一步分配一次算力,比一次性编译整个任务更灵活

案例第 1 题六年题库

2020 到 2025,第 1 题都考了什么

第 1 题必做,所以它的考点最稳定。把六年的第 1 题排在一起,题型就两种:一个是把场景归到质量属性,一个是拿两种架构风格做对比。

备考时按这两类各练两道完整大题就够。练的时候掐时间,一道 25 分的大题留 30 分钟。

场次
案例第 1 题
主要动作
2020 上
在线软件开发系统
管道过滤器与仓库选型(13 分)+ 效用树填空(12 分)
2021 上
智能推荐平台
效用树填空(8 分)+ 解释器、管道过滤器、仓库三种风格对比(16 分)
2022 上
会员与促销管理系统
效用树填空(12 分)
2023 上
奥运转播门户大数据平台
Lambda 与 Kappa 对比填表(8 分)+ 大数据架构图填空
2024 上
软件架构设计与评估
单体架构与微服务架构优缺点对比(7 分)等
2024 下
云服务器上的业务系统
质量属性与功能性填空(14 分)+ ping/echo 与心跳机制(11 分)
2025 上
在线大模型训练平台
质量属性归类(12 分)+ 补全解释器风格图(6 分)+ 说理由(7 分)
模拟案例题 · 题目

自拟:城市轨道交通调度指挥系统

下面是一道自拟的完整案例题,不挂出处。背景和问法照着真题的样子写,做完再对照下一段的参考答案。

某市拟建设一套城市轨道交通调度指挥系统,覆盖 8 条线路、日均客流 600 万人次。系统接入各线路的实时信号,为调度员提供统一视图,并在异常时给出告警。在需求分析与架构设计阶段,公司提出的质量属性描述如下表。

第 1 问(10 分)

写出下表中 a 到 i 各条质量属性描述对应的质量属性名称。

第 2 问(8 分)

该系统要求主数据中心断电后 30 秒内把指挥业务切到异地灾备中心。请指出这属于哪一类质量属性的战术,并说明三种常见的可用性战术。

第 3 问(7 分)

如果要让系统支持新线路的动态接入,请从可修改性角度给出两种可选方案,并各说一句代价。

序号
质量属性描述
a
调度员登录后,界面应在 0.5 秒内呈现全线列车位置
b
系统发生故障时,应记录完整的操作日志与告警日志,便于事后分析
c
主数据中心断电后,应在 30 秒内把指挥业务切到异地灾备中心
d
新增一条线路的接入配置,应在 5 人天内完成
e
列车位置数据出现异常时,系统应给出告警并保留现场数据,不影响其他线路
f
不同岗位的调度员应看到不同的操作权限与功能菜单
g
界面需同时适配 4K 大屏与调度台小屏两种分辨率
h
系统需提供在线帮助与快捷操作提示,方便新调度员上手
i
列车追踪服务应支持横向扩展,扩容过程中服务不中断
模拟案例题 · 参考答案

归类表 + 战术 + 两种方案

第 1 问:归类(10 分)

九条按度量词对号入座。b 和 d 都带「人天」或日志,注意分开:b 是日志属于可维护性,d 是 5 人天属于可修改性。

第 2 问:可用性战术(8 分)

这属于可用性里的错误检测与错误恢复。「30 秒内切换」是度量词,检测靠心跳或 ping/echo,恢复靠冗余切换。

第 3 问:可修改性方案(7 分)

两种方案任选两种写,每种写清做了什么、代价是什么。分值按方案数加代价说明分配,只写方案不写代价会丢分。

序号
质量属性
a
性能
b
可维护性
c
可用性
d
可修改性
e
可靠性 / 鲁棒性
f
安全性
g
功能性
h
易用性
i
可修改性

√主动冗余:主备节点同时运行同一份数据,主节点故障时备节点立即接管,切换快但平时要付双份资源

√被动冗余:备用节点平时不承载业务,故障后才启动,资源省但启动要花时间

√检查点与回滚:定期把系统状态写成检查点,故障后从最近一个检查点恢复,能保证数据一致但要付出回滚期间的停机

√方案一 配置驱动:把线路编号、站点、信号协议做成外部配置项。新增线路只改配置不改代码,代价是配置写错会在运行时报错。

√方案二 插件化接入:每条线路写成独立的适配器插件,平台只认统一的接入接口。代价是接口与版本管理成本上升,插件之间要立规矩

本期复盘

案例第 1 题两种题型:把场景归到质量属性,或者拿两种架构风格做对比。归类看的是场景里的度量词,多少秒、多少分钟、几个人天;对比看的是这个系统自己的特征,数据要不要集中、流程要不要串起来。答的时候按分值数点,一行一个术语。做题顺序上,案例的时间是被选择题挤出来的,选择题拖久了,一类大题就得写快点。

案例分析这条线接着往下走,下一讲讲数据库与缓存那一类大题:分库分表怎么答,缓存一致性怎么踩点,照样是完整真题再配一道自拟题。

感谢觉得有帮助记得给小锅点赞关注收藏~

下方是总结知识卡片图,方便记忆学习

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