本文主要回顾2025年下半年(2025-11-8)系统架构设计师考试上午案例分析科目的简答题,同时附带参考答案、解析和所涉知识点。
另题目为考后回忆汇集而成,部分文字有出入,但题意是相同的。
2024年11月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(一)
2025年5月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(一)
2025年11月架构设计师综合知识真题回顾,附参考答案、解析及所涉知识点(一)
案例分析
试题一:质量属性+质量属性场景+AES-256加密算法
某市计划建设一套电动车充电管理系统,为城市的集中式充电站、路侧分布式充电桩以及用户手机APP提供统一的接入与管理服务。经过收集和讨论,汇总了系统需满足的如下质量需求场景(a~n):
a)当用户通过手机APP或现场终端发起"开始充电"操作后,系统必须在3秒内给出响应结果(成功/失败及原因),否则视为超时。(性能)
b)在充电站附近200米范围内,即便同时有超过300个设备在充电或等待充电口分配,系统CPU使用率仍需控制在40%以下,以保证系统性能稳定。(性能)
c)当运营方提出集成新的第三方支付或计费API时,自提出需求之日起,须在10个工作日内完成设计、开发、联调和上线,不影响原有业务功能。(可修改性)
d)当系统发生软件故障或节点宕机情况时,从故障发生到系统恢复正常对外服务的时间应不得超过5分钟。(可用性)
e)系统应支持模拟雷电、暴雨、冰雹等恶劣天气场景下的充电过程,包括电压波动、网络抖动等场景,以便用于环境仿真测试。(可测试性)
f)系统需支持远程调用测试接口(如开放RESTful或gRPC的测试端点),便于第三方测试平台进行自动化回归测试。(可测试性)
g)对于用户敏感信息(如用户账号、密码、位置信息等),系统需采用AES-256加密算法进行存储与传输,防止隐私数据泄露。(安全性)
h)系统应支持多语言界面、多种交互模式(触屏、键鼠等),并满足针对视力、听力或肢体障碍用户的无障碍使用标准(如放大字体、语音播报等),以提高不同人群的可访问性。(易用性)
i)系统整体采用模块化设计,要求运维人员在不依赖开发人员参与的前提下,能在2小时内通过手动配置快速替换故障模块(如更换计费模块、风控模块),以保证业务连续性。(可修改性)
j)针对普通新用户,从首次接触系统到能独立完成一次充电操作的时间,不应超过60秒,保证系统的易学性和操作简单性。(易用性)
k)系统前端界面需在不同分辨率与不同类型终端设备(手机、平板、PC、大屏)上自适应显示,保证布局清晰、控件可用。(易用性)
l)系统需支持计划内的滚动升级,在升级某个业务子系统时,已建立的充电会话不能中断,正在充电的用户不受影响,仅新建会话可能短暂切换到备用节点。(可用性)
m)系统需支持通过配置文件方式新增或调整充电策略(如分时电价、阶梯计费策略),而无需重新编译和发布应用程序。(可修改性)
n)当用户手机暂时没有网络时,APP应自动进入安全模式,从本地安全缓存中展示用户最近一次充电记录和账户关键信息,保证基本信息可见,待网络恢复后自动同步最新数据。(可用性)
【问题1】:(7分)
请将上述场景(a~n)与填入下表对应质量属性中。

参考答案:
(1)可用性 dIn
(2)安全性 g
(3)性能 ab
(4)可修改性 cim
(5)可测试性 ef
(6)易用性 hjk
解析及涉及知识点:
软件系统质量属性(Quality Attribute)是一个系统的可测量或者可测试的属性,用来描述系统满足利益相关者(Stakeholders)需求的程度。
可用性:指系统在一定时间内正常工作的时间所占的比例。可用性会受到系统错误,恶意攻击,高负载等问题的影响。
安全性:指软件系统同时兼顾向合法用户提供服务,以及阻止非授权使用的能力。
性能:性能是指软件系统及时提供相应服务的能力,如速度、吞吐量和容量等的要求。
可修改性:
可修改性(Modifability)是指能够快速地以较高的性价比对系统进行变更的能力。通常以某些具体的变更为基准,通过考查这些变更的代价来衡量可修改性。可修改性包含以下4个方面:
(1)可维护性(Maintainability)。这主要体现在问题的修复上,在错误发生后"修复"软件系统。可维护性好的软件架构往往能做局部性的修改并能使对其他构件的负面影响最小化。
(2)可扩展性(Extendibility)。这一点关注的是使用新特性来扩展软件系统,以及使用改进版本方式替换构件并删除不需要或不必要的特性和构件。为了实现可扩展性,软件系统需要松散耦合的构件。其目标是实现一种架构,能使开发人员在不影响构件客户的情况下替换构件。支持把新构件集成到现有的架构中也是必要的。
(3)结构重组(Reassemble)。这一点处理的是重新组织软件系统的构件及构件间的关系,例如通过将构件移动到一个不同的子系统而改变它的位置。为了支持结构重组,软件系统需要精心设计构件之间的关系。理想情况下,它们允许开发人员在不影响实现的主体部分的情况下灵活地配置构件。
(4)可移植性(Portability)。可移植性使软件系统适用于多种硬件平台、用户界面、操作系统、编程语言或编译器。为了实现可移植,需要按照硬件、软件无关的方式组织软件系统。可移植性是系统能够在不同计算环境下运行的能力,这些环境可能是硬件、软件,也可能是两者的结合。如果移植到新的系统需要做适当更改,则该可移植性就是一种特殊的可修改性。
可测试性:对软件测试以证明其满足需求规范的难易程度。
易用性:易用性质量属性场景主要关注用户在使用系统时的容易程度,包括系统的学习曲线、完成操作的效率、对系统使用过程的满意程度等。
【问题2】:(12分)
请说明质量属性场景包含哪六个组成部分?并指出场景中"集成新的API"以及"故障恢复时间不超过5分钟"分别对应哪两个组成部分?
参考答案:
(1)质量属性场景包含刺激源、刺激、环境、制品、响应和响应度量六个组成部分。
(2)"集成新的API"对应刺激;故障恢复时间不超过5分钟"对应响应度量。
解析及知识点:
为了精确描述软件系统的质量属性,通常采用质量属性场景(Quality Attribute Scenario)作为描述质量属性的手段。质量属性场景是一个具体的质量属性需求,是利益相关者与系统的交互的简短陈述。
质量属性场景是一种面向特定质量属性的需求。它由6部分组成:
刺激源(Source):这是某个生成该刺激的实体(人、计算机系统或者任何其他刺激器)。
刺激(Stimulus):该刺激是当刺激到达系统时需要考虑的条件。
环境(Environment):该刺激在某些条件内发生。当激励发生时,系统可能处于过载、运行或者其他情况。
制品(Artifact):某个制品被激励。这可能是整个系统,也可能是系统的一部分。
响应(Response):该响应是在激励到达后所采取的行动。
响应度量(Measurement):当响应发生时,应当能够以某种方式对其进行度量,以对需求进行测试。
c场景中"集成新的API"对应可修改性质量属性,可修改性质量属性场景主要关注系统在改变功能、质量属性时需要付出的成本和难度,可修改性质量属性场景可能发生在系统设计、编译、构建、运行等多种情况和环境下,下表给出了详细描述。

d场景中"故障恢复时间不超过5分钟"对应可用性质量属性,可用性质量属性场景所关注的方面包括系统故障发生的频率、出现故障时会发生什么情况、允许系统有多长是非正常运行、什么时候可以安全地出现故障、如何防止故障的发生以及发生故障时要求进行哪种通知,下表给出了详细描述。

【问题3】:(6分)
g场景中,用户个人信息、位置信息可能长度较长,而AES-256加密算法为128bit(16字节)定长固定块大小。那么对于超长数据,系统应如何处理?请从处理流程上进行说明。
参考答案:
针对超长数据,系统不能直接进行单次加密,需采用"分块+填充+工作模式"的组合流程来处理,具体步骤如下:
1、数据分块:将原始数据按16字节分割为若干完整块及一个不足块。
2、填充:使用PKCS#7等标准填充算法,将最后一块补齐至16字节。填充值等于缺少的字节数(如缺5字节则填充5个0x05)。
3、选择工作模式:推荐GCM(Galois/Counter Mode),它同时提供加密与完整性校验(认证),适合传输与存储。若只需机密性,可选CBC或CTR模式。
4、生成初始化向量(IV)/随机数:对于CBC/GCM等模式,需生成不可预测的IV(通常12字节用于GCM),每次加密使用不同IV,并与密文一同存储或传输。
5、逐块加密:使用AES-256密钥及IV,按选定模式对每个块进行加密,输出密文块序列。
6、认证标签(GCM模式):加密后生成认证标签(如16字节),与IV、密文一起保存或发送。
7、解密时:先解析IV,使用相同密钥和模式对密文解密,再去除填充还原原始数据。
此流程可处理任意长度数据,同时满足机密性与完整性要求。密码等短数据同样适用。
知识点:
高级加密标准(Advanced Encryption Standard,AES)
1997年1月,美国国家标准与技术局(NIST)为高级加密标准征集新算法。最初从许多响应者中挑选了15个候选算法,经过世界密码共同体的分析,选出了其中的5个。经过用ANSIC和Java语言对5个算法的加/解密速度、密钥和算法的安装时间,以及对各种攻击的拦截程度等进行了广泛的测试后,2000年10月,NIST宣布Rijndael算法为AES的最佳候选算法,并于2002年5月26日发布为正式的AES加密标准。
AES支持128、192和256位3种密钥长度,能够在世界范围内免版税使用,提供的安全级别足以保护未来20~30年内的数据,可以通过软件或硬件实现。
AES(Advanced Encryption Standard,高级加密标准),简单来说,就是当今全球最主流、最受信赖的"数据保险箱"。它是一种对称加密算法,用以取代老旧的DES算法,并已成为保护全球电子数据安全的中流砥柱。
但是因为加密和解密使用同一个密钥,如何安全地生成、分发、存储和轮换这个密钥,是整个加密体系的命脉。此外,AES本身不提供完整性校验(GCM等认证模式除外),也无法实现数字签名。
因此,在实际应用中,AES通常与其它技术结合:
混合加密:用非对称加密(如RSA)来加密AES的密钥,再用AES来加密海量数据。这在HTTPS协议中就是核心应用。
零信任架构:将AES-256加密与零信任架构结合,实现数据"在存储时"不可读,同时控制"谁可以访问",形成更强的防护体系。
AES之所以成为标准,不仅因为它本身足够强大,更在于它能通过工作模式、密钥长度等丰富的选择,灵活地融入各种现代安全架构,满足从个人应用到国家级机密的不同需求。
已开发小程序-"架构背记本",欢迎使用。