软件架构设计师案例分析大题总结
2026/8/14 20:34:25 网站建设 项目流程

系统架构下午大题

第一大题必做

二到五题,建议选2,4 或者2,5 作答

软件架构设计师下午案例分析(按题目拆解版)

第一题 系统架构设计与评估(25分)

第一问(12分左右)

很大概率考系统质量效用树

题目会给一个业务场景:
例如:

  • 医疗系统
  • 电商系统
  • 银行系统
  • 政务系统
    让你构建效用树。

效用树标准结构

Utility ├──性能 │ ├──安全性 │ ├──可用性 │ ├──可修改性 │ ├──易用性 │ └──可测试性

必须会写

质量属性

  • 性能
  • 安全性
  • 可用性
  • 可修改性
  • 易用性
  • 可测试性

运行期(系统运行时体现)
性能
安全性
可用性
易用性

开发期(开发维护时体现)
可修改性
可测试性

质量属性场景模板

六要素:
刺激源、刺激、环境、制品、响应、响应度量
6大质量属性场景示例

1. 性能(Performance)

刺激源: 用户 刺激: 1000并发访问 环境: 系统正常运行 制品: 订单系统 响应: 处理请求并返回结果 响应度量: 平均响应时间≤2秒

2. 安全性(Security)

刺激源: 黑客 刺激: 非法访问系统 环境: 系统运行中 制品: 用户数据库 响应: 识别并拒绝访问 响应度量: 未发生数据泄露

3. 可用性(Availability)

关注系统故障后的恢复能力。

刺激源: 服务器 刺激: 服务器宕机 环境: 系统运行中 制品: 业务系统 响应: 自动切换到备用服务器 响应度量: 5分钟内恢复服务

或者:

刺激源: 数据库服务器 刺激: 数据库故障 环境: 高峰期运行 制品: 电商系统 响应: 切换到主备数据库 响应度量: 业务中断时间≤30秒

4. 易用性(Usability)

关注用户是否容易使用系统。

刺激源: 新用户 刺激: 首次使用系统 环境: 系统正常运行 制品: 用户界面 响应: 快速完成注册和下单 响应度量: 5分钟内完成操作

或者:

刺激源: 普通用户 刺激: 查询订单 环境: 系统运行中 制品: 前端界面 响应: 引导用户完成查询 响应度量: 操作步骤≤3步

5. 可修改性(Modifiability)

关注需求变更时修改系统的难易程度。

刺激源: 开发人员 刺激: 新增支付方式 环境: 系统维护阶段 制品: 支付模块 响应: 增加新支付渠道 响应度量: 修改代码量≤5个模块

或者:

刺激源: 业务部门 刺激: 新增会员等级规则 环境: 系统升级阶段 制品: 会员管理系统 响应: 完成规则扩展 响应度量: 开发时间≤2天

6. 可测试性(Testability)

关注系统是否容易测试。

刺激源: 测试人员 刺激: 执行功能测试 环境: 测试环境 制品: 订单模块 响应: 完成自动化测试 响应度量: 测试覆盖率≥90%

或者:

刺激源: 测试工程师 刺激: 执行接口测试 环境: 系统集成测试阶段 制品: 微服务系统 响应: 快速定位问题 响应度量: 缺陷定位时间≤10分钟

万能模板

刺激源: 某个生成该刺激的实体 刺激: XXX事件发生 环境: 系统运行中/维护阶段/测试阶段 制品: XXX系统(模块) 响应: 系统采取XXX措施 响应度量: XXX指标达到要求

性能、安全性、可用性、可修改性是最常考的四个质量属性

如果是为了软件架构设计师考试(6分),教材上的定义必须会背,但确实比较抽象。

我建议用“谁、在什么情况下、对什么、做了什么、效果如何”来理解六要素。


满分答案(考试版)

质量属性场景用于描述系统在特定条件下对某种刺激的响应方式,是质量属性需求的标准化表达方式。一个完整的质量属性场景由六个要素组成:

1. 刺激源(Source)

产生刺激的实体,即谁发起了该事件。

刺激源可以是:

  • 用户
  • 外部系统
  • 运维人员
  • 黑客攻击者
  • 硬件设备

例如:用户提交订单、攻击者发起恶意请求。


2. 刺激(Stimulus)

作用于系统的事件或条件,即发生了什么事情。

例如:

  • 用户访问系统
  • 数据库故障
  • 系统并发量激增
  • 网络中断

3. 环境(Environment)

刺激发生时系统所处的状态或运行环境。

常见环境:

  • 正常运行状态
  • 高并发状态
  • 故障状态
  • 系统维护状态
  • 网络异常状态

例如:系统正处于业务高峰期。


4. 制品(Artifact)

受到刺激影响的对象,即刺激作用于系统的哪个部分。

可以是:

  • 整个系统
  • 数据库
  • Web服务器
  • 微服务模块
  • 缓存组件

例如:订单服务模块。


5. 响应(Response)

系统接收到刺激后采取的行为或处理措施。

例如:

  • 返回查询结果
  • 自动切换备用节点
  • 记录日志
  • 拒绝非法访问
  • 触发告警

6. 响应度量(Response Measure)

用于衡量响应效果的指标,是判断质量属性是否满足要求的依据。

例如:

  • 响应时间 ≤ 2秒
  • 系统可用性 ≥ 99.9%
  • 故障恢复时间 ≤ 5分钟
  • 吞吐量 ≥ 1000TPS

一句话记忆法(考试特别好用)

六要素本质上回答了六个问题:

要素回答的问题
刺激源谁干的?
刺激发生了什么?
环境在什么情况下发生?
制品影响了谁?
响应系统怎么做?
响应度量做得怎么样?

即:

谁(刺激源)在什么情况下(环境)做了什么事(刺激),作用于什么对象(制品),系统如何处理(响应),处理效果如何衡量(响应度量)。


用一个完整例子理解(性能质量属性)

场景:

在系统运行期间,1000名用户同时访问订单查询功能,订单服务能够在2秒内完成处理并返回结果。

对应六要素:

要素内容
刺激源用户
刺激1000个并发查询请求
环境系统正常运行期间
制品订单查询服务
响应系统处理请求并返回结果
响应度量平均响应时间 ≤ 2秒

架构师考试阅卷最喜欢的表述

答题时最后补一句:

质量属性场景通过“刺激源、刺激、环境、制品、响应和响应度量”六个要素,对系统质量需求进行结构化描述,使质量属性需求能够被分析、设计、验证和测试。

这句话基本就是标准教材语言,阅卷老师看见就知道你掌握了质量属性场景的核心思想。

考试标准答案可以直接写:

质量属性场景是对质量属性需求的结构化描述,由六个要素组成:

(1)刺激源(Source):产生刺激的实体,如用户、外部系统等。

(2)刺激(Stimulus):作用于系统的事件或条件,如用户请求、系统故障等。

(3)环境(Environment):刺激发生时系统所处的状态,如正常运行、高负载运行等。

(4)制品(Artifact):受到刺激影响的对象,可以是整个系统或系统中的某个组件。

(5)响应(Response):系统接收到刺激后采取的行为或处理措施。

(6)响应度量(Response Measure):用于衡量响应结果的指标,如响应时间、吞吐量、可用性等。

对于架构师考试,我建议记成:

谁 → 干什么 → 什么时候 → 影响谁 → 怎么处理 → 处理得怎么样

对应:

刺激源 → 刺激 → 环境 → 制品 → 响应 → 响应度量

评分点

一般每个场景2分

质量属性名称1分

场景描述1分

第一题 第二问(13分左右)

考法一(出现最多)

架构风格识别
题目会给系统描述
让你回答:

采用什么架构风格

为什么适合

优缺点

必背架构风格

架构风格主要特点主要优点主要缺点适合领域
管道-过滤器风格过滤器相对独立。功能模块复用;可维护性和可扩展性较强;具有并发性;模块独立性高。不适于交互性强的应用,对于存在关系的数据流必须进行协调。系统可划分清晰的模块;模块相对独立;有清晰的模块接口。
面向对象风格力争实现问题空间和软件系统空间结构的一致性。高度模块化;实现封装;代码共享灵活;易维护;可扩充性好。增加了对象之间的依赖关系。多种领域。
事件驱动风格系统由若干子系统构成且称为一个整体;系统有统一的目标;子系统有主从之分;每一个子系统有自己的事件收集和处理机制。适合描写系统组;容易实现并发处理和多任务;可扩展性好;具有类层次结构;简化代码。因为树型结构所以削弱了对系统计算的控制能力;各个对象的逻辑关系复杂。一个系统对外部的表现可以从它对事件的处理表现出来。
分层风格各个层次的组件形成不同功能级别的虚拟机;多层相互协同工作,而且实现透明。支持系统设计过程中的逐级抽象;可扩展性好;支持软件复用。不同层次之间耦合度高的系统很难实现。适合功能层次的抽象和相互之间低耦合的系统。
数据共享风格采用两个常用构件:中央数据单元和一些相对独立的组件集合。中央数据单元实现了数据的集中,以数据为中心。适合于特定领域。适合于专家系统等人工智能领域问题的求解。
解释器风格系统核心是虚拟机。可以用多种操作来解释一个句子,灵活应对自定义场景。适合于特定领域。适合于模式匹配系统与语言编译器。
闭环控制风格通过不断的测量被控对象,认识和掌握被控对象;将控制理论引入体系结构构建。将控制理论引入到计算机软件体系结构中。适合于特定领域。该系统中一定存在有目标的作用、信息处理闭环控制过程。
架构风格关键词
管道-过滤器数据流、流水线
面向对象封装、继承、多态
事件驱动发布订阅、消息通知
分层MVC、三层架构
数据共享数据中心、黑板模型
解释器DSL、编译器、规则引擎
闭环控制反馈控制、自动调节

典型案例对应
管道-过滤器:编译器(词法分析→语法分析→语义分析→代码生成)
面向对象:ERP、OA、电商系统
事件驱动:RocketMQ、Kafka、GUI事件处理
分层架构:Spring Boot 三层架构(Controller → Service → DAO)
数据共享风格:专家系统、知识库系统
解释器风格:SQL解释器、正则表达式引擎、规则引擎
闭环控制风格:自动驾驶、温控系统、工业控制系统

软考案例分析最喜欢考的通常是:
分层架构、事件驱动、管道-过滤器、面向对象,这四种需要重点掌握。


建议熟记下面这篇博文 八、软考-系统架构设计师笔记-系统质量属性和架构评估:
https://blog.csdn.net/qq_37883866/article/details/136590430

第二题 结构化分析设计 or 面向对象分析设计(25分)

推荐必选。
常考:
ER 图、数据流图(DFD) 和 UML 图

对比项UML 类图ER 图
全称Unified Modeling LanguageEntity-Relationship Diagram
主要用途面向对象分析与设计数据库概念设计
建模对象类(Class)实体(Entity)
属性类属性实体属性
方法有方法(操作)无方法
关系关联、聚合、组合、继承、依赖等联系(1:1、1:N、M:N)
关注重点系统结构与行为数据结构与数据关系
面向思想面向对象面向数据
最终产物类设计、代码实现数据库表设计

– 主要分为下面三大类:
① 结构化分析与设计
DFD、数据字典、结构化设计、模块结构图、变换分析、事务分析

② 面向对象分析与设计
UML、用例图、类图、时序图、状态图、活动图……

③ 数据库设计
E-R图、关系模式、规范化、事务、数据库设计


第一问(9分)

数据流图DFD补图 UML 用例图 顺序图 活动图 状态图

设计模式的识别

必考元素

外部实体

方框

加工

圆形

数据流

箭头

数据存储

双平行线

数据平衡原则

高频考点

父图输入=子图输入 父图输出=子图输出

常见错误

新增输入

新增输出

遗漏数据流


第二问(9分)

ER图补图


必考

实体

属性

联系


联系类型

1:1 1:N M:N

高频考点

M:N转化

例如:

学生 课程

必须变成:

学生 选课 课程

主键

必须唯一

不能为空


第三问(7分)

数据字典


四个组成

数据项 数据结构 数据流 数据存储

各阶段作用

需求分析:

统一数据定义

概要设计:

数据库设计依据

详细设计:

程序设计依据

维护阶段:

数据参考标准

第三题 嵌入式系统(25分)

一般不推荐。


第一问

实时操作系统

RTOS特点

实时性 可靠性 确定性

第二问

任务调度


常考

抢占式 非抢占式

第三问

中断


必须会:

中断响应 中断处理 中断返回

第四题 软件体系结构设计&数据库(25分)

推荐。


第一问

Web系统架构


经典答案:

表现层 业务层 数据层

或者

前端层 网关层 服务层 数据库层

第二问

Redis

近5年非常高频。


缓存穿透

请求不存在的数据

解决:

布隆过滤器 缓存空值

缓存击穿

热点Key失效

解决:

互斥锁 永不过期

缓存雪崩

大量缓存同时失效

解决:

随机过期 多级缓存

第三问

负载均衡


常见:

Nginx LVS HAProxy

作用:

提高并发 提高可用性 故障转移

数据库 主从复制、分库分表、负载均衡、 四大属性ACID

参考文章:
https://deepjava.blog.csdn.net/article/details/163759483?spm=1011.2415.3001.5331

第五题 中间件与新技术&Web应用& AI相关技术(25分)

推荐。


第一问

架构图分析


考察:

模块职责 调用关系 部署关系

第二问

MongoDB

特点:

文档数据库 Schema灵活 水平扩展

第三问

ES

高频答案:

倒排索引 全文检索 分布式搜索

近年新增热点

Kafka

发布订阅 削峰填谷 异步解耦

微服务

服务拆分 独立部署 去中心化

考前一天只看这张表

题目必背内容
第一题效用树、质量属性场景6要素、架构风格
第二题DFD、数据平衡、ER图、数据字典
第三题RTOS、中断、任务调度
第四题Web分层、Redis三大问题、负载均衡
第五题架构图、MongoDB、ES、Kafka、微服务

如果目标是45分通过下午案例,实际上最值得投入时间的是:

第一题(必须拿15+) + 第二题(拿15+) + 第四题或第五题(拿15+)

这是目前通过率最高的答题路线。

且第一题快速做掉,剩余题目快速读问题,选做自己擅长的两个做。
列条目回答问题,把自己认为对的,都写上,多写不会扣分,少写一定会扣分。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询