软考分析师90天冲刺|DAY35·架构文档编写


- 核心知识点: 架构决策记录(ADR)、4+1视图文档
- 精炼讲解: 架构文档标准结构与编写规范
- 真题实战: 架构文档编写案例分析题
- 实践应用: 编写系统架构设计文档
在软考系统分析师下午案例分析中,架构文档编写是每年必考的重头戏。很多考生架构设计思路清晰,却因文档结构混乱、视图选型错误或ADR要素缺失而痛失分数。架构文档不仅是交付物,更是设计思维的具象化。今天这篇文章,直接拆解历年考法,把4+1视图和ADR揉碎了讲,附赠标准结构表与实战模板,建议收藏反复打磨!

一、 核心考点拆解:4+1视图与ADR
架构文档的核心在于“多角度描述”与“决策可追溯”。掌握以下两大工具,就能覆盖80%的考点。
1. 4+1视图文档模型
4+1视图模型通过5个视角全面描述系统架构,考试常考视图名称、关注点、对应UML图的匹配。
| 视图名称 | 核心关注点 | 对应UML图/文档 | 考试高频关键词 |
| 逻辑视图 | 功能需求、领域模型、类与对象关系 | 类图、对象图、状态图 | 业务逻辑、职责划分、静态结构 |
| 开发视图 | 软件模块组织、依赖关系、代码结构 | 组件图、包图 | 源码管理、子系统划分、接口契约 |
| 进程视图 | 并发、同步、线程/进程通信、性能瓶颈 | 活动图、序列图、时序图 | 吞吐量、死锁、资源竞争、实时性 |
| 物理视图 | 硬件部署、网络拓扑、节点映射 | 部署图、网络图 | 服务器集群、负载均衡、物理节点 |
| 场景视图(+1) | 用例驱动、串联其他视图、验证架构 | 用例图、活动图 | 核心业务流程、异常流、架构验证 |

💡 避坑指南:
- 题目若提到“描述系统如何部署到服务器”,必选物理视图。
- 题目若提到“模块间的API调用与依赖”,必选开发视图。
- 场景视图不是独立存在的,它是贯穿和验证其他4个视图的纽带。
2. 架构决策记录 (ADR)
ADR用于记录架构设计过程中的关键决策及其理由,解决“为什么这么设计”的问题。软考近年频繁考查ADR的标准字段与编写时机。
ADR标准五要素:
- 标题 (Title):简明扼要,如“采用微服务架构替代单体架构”。
- 背景 (Context):描述问题场景、约束条件、业务驱动力。
- 决策 (Decision):明确选择的具体方案(如“采用Kafka作为消息中间件”)。
- 后果 (Consequences):决策带来的利弊(如“提升解耦与扩展性,但增加运维复杂度”)。
- 状态 (Status):提议中、已接受、已废弃、已替代。
📌 考点提示:考试中常以填空题形式出现,要求补全ADR缺失要素。牢记ADR的核心价值是知识沉淀与避免重复踩坑,而非简单的配置清单。

二、 架构文档标准结构与编写规范
一份合格的系统架构设计文档,必须符合ISO/IEC/IEEE 42010标准精神。结合软考阅卷习惯,标准结构如下:
架构文档标准结构对照表
| 章节 | 核心内容 | 编写规范与得分点 |
| 1. 引言 | 文档目的、范围、术语定义、参考文献 | 术语需与需求规格说明书保持一致;明确利益相关者 |
| 2. 架构概述 | 架构目标、约束条件、设计原则、技术栈 | 突出非功能需求(性能、安全、可用性)的映射关系 |
| 3. 架构视图 | 4+1视图详细描述与图表 | 图表必须有编号与说明;视图间需保持逻辑一致性 |
| 4. 架构决策 | ADR记录表、关键权衡分析 | 必须体现“决策-后果”的闭环;避免只有结论没有理由 |
| 5. 质量属性场景 | 性能、安全、可修改性等场景描述 | 采用“刺激源-环境-制品-响应-响应度量”六要素法 |
| 6. 接口与集成 | 内部/外部接口定义、通信协议 | 明确接口契约、版本控制策略与错误处理机制 |
| 7. 部署与运维 | 物理拓扑、CI/CD流水线、监控告警 | 映射物理视图;体现可观测性与灾难恢复策略 |
📝 编写规范铁律:
- 适度抽象:不要陷入代码级细节,聚焦组件交互与数据流向。
- 一致性检查:逻辑视图的类必须在开发视图的组件中有所体现;物理视图的节点必须支撑进程视图的并发需求。
- 可追溯性:每个架构决策必须能回溯到具体的需求条目或质量属性场景。
三、 真题实战:案例分析题破题思路
【历年真题还原】(2023年11月下午题改编)
某跨境电商平台需重构原有单体系统。架构师在编写架构文档时,要求:
- 描述用户下单、支付、库存扣减的并发处理流程与死锁避免机制。
- 记录为何选择“最终一致性”而非“强一致性”事务方案。
- 说明系统如何部署在多云环境中以实现高可用。
问题: (1) 上述1、2、3分别对应4+1视图中的哪个视图? (2) 第2点要求记录的内容,应采用哪种文档规范?请列出其核心字段。 (3) 架构文档中描述“高可用”质量属性,应采用什么方法描述?
🧠 破题步骤:
- 定位视图:
- “并发处理与死锁” -> 关注运行时行为与线程交互 -> 进程视图。
- “部署在多云环境” -> 关注硬件/云资源映射 -> 物理视图。
- (注:下单流程若侧重功能模块划分则为逻辑视图,但题干强调“并发处理”,故进程视图更准;若考卷选项无进程视图,则场景视图为兜底,但系分考试中进程视图是标准答案)。
- 识别规范:记录决策理由与权衡 -> 架构决策记录 (ADR)。核心字段:标题、背景、决策、后果、状态。
- 质量属性描述:必须使用质量属性场景化描述法(刺激源、环境、制品、响应、响应度量)。阅卷踩分点在于是否写出“度量指标”(如RTO<5分钟,可用性99.99%)。
✅ 答题模板话术:
“针对并发与死锁问题,应采用进程视图,使用活动图/序列图描述线程同步机制;针对事务选型决策,应采用ADR记录,明确背景为跨服务调用延迟高,决策为采用Saga/TCC模式,后果为提升吞吐量但增加补偿逻辑复杂度;高可用场景需按六要素法编写,明确故障刺激下的自动切换响应与RTO/RPO度量值。”
四、 实践应用:系统架构设计文档编写清单
在实际项目或论文/案例作答中,按以下清单自检,可大幅提升文档专业度:
🛠️ 架构文档自检清单 (Checklist)
- 利益相关者映射:文档是否涵盖了开发、运维、测试、业务方的关注点?
- 视图完整性:4+1视图是否齐全?图表是否带编号、图例、版本说明?
- ADR闭环:每个重大技术选型(如DB选型、缓存策略、通信协议)是否有ADR支撑?是否包含“备选方案对比”?
- 质量属性落地:性能、安全、可靠性是否转化为具体的场景与度量指标?是否映射到具体视图?
- 接口契约:是否明确定义了API格式(REST/gRPC)、鉴权方式、限流降级策略?
- 一致性校验:逻辑视图的模块边界是否与开发视图的代码结构对齐?物理视图的资源是否满足进程视图的性能估算?
- 可演进性:是否预留了扩展点?架构防腐层(ACL)是否定义清晰?
📄 考场/实战万能结构模板

结语
架构文档不是形式主义,而是设计思维的体检报告。在软考系统分析师考试中,阅卷老师寻找的是你的系统性思维与工程化落地能力。掌握4+1视图的精准选型,用好ADR记录决策脉络,严格遵循标准结构编写,你就能在案例分析中稳拿高分。
点个赞,送你小花花~
夜雨聆风