arc42 是什么
arc42 是一份开源的架构文档模板,把架构文档拆成十二个固定章节:目标与约束、上下文、策略、构建块、运行时、部署、横切概念、决策、质量需求、风险与技术债、术语表。它的价值在于给出“有话可写、无处可躲”的骨架——质量需求与风险两节强制留下可验证内容,避免文档写成组件清单加示意图。
基本信息
| 性质 | 开源模板,可裁剪、可增补,不绑定方法学与工具 |
|---|---|
| 结构 | 十二个章节,按“目标 → 方案 → 决策 → 质量与风险”组织 |
| 适配 | 中小团队可按需裁剪章节;大型项目可配合独立文档补充 |
| 与其他实践关系 | 决策章节与 ADR 对接,质量章节与 ATAM 场景对接 |
典型使用场景
- 新项目启动:用模板形成基线文档,明确目标、约束与上下文边界
- 架构交接:新人通过固定结构快速定位关心的部分
- 评审准备:质量需求与风险章节直接作为评审输入材料
- 合规与审计:目标、约束与决策记录可追溯到具体条文
- 文档治理:统一模板后,跨项目文档可比、可复用
章节清单
- 1 引言与目标
- 2 约束
- 3 上下文与范围
- 4 解决方案策略
- 5 构建块视图
- 6 运行时视图
- 7 部署视图
- 8 横切概念
- 9 架构决策
- 10 质量需求
- 11 风险与技术债
- 12 术语表
易被敷衍的章节
| 章节 | 容易写成什么 | 合格标准 |
|---|---|---|
| 质量需求 | 罗列“高性能”“高可用”等词 | 可度量的场景:触发条件、制品、响应与度量 |
| 架构决策 | 只写结论不写备选 | 含备选方案、取舍依据与被否决原因 |
| 风险与技术债 | 空白或一句话带过 | 列明影响、概率与缓解措施,含责任人与跟踪状态 |
| 横切概念 | 仅列名词 | 说明该类问题在实际项目中的具体约定与落地位置 |
裁剪要点(小型项目)
裁剪要点(小型项目)
必留:3 上下文与范围 | 5 构建块 | 9 决策 | 10 质量需求
可合并:6 运行时与 7 部署合并为一节
可简化:4 解决方案策略用一段话说明总体思路
可后续补:11 风险与技术债在首次评审后补全
# 裁剪的是篇幅,不是内容类型:质量与决策两节不能省模板价值在于“有话可写、无处可躲”:质量需求与风险两节强制留下可验证内容,这两节写得越具体,文档越难变成摆设。
把模板当交付清单逐节填满,会产出无人维护的文档:先确定读者是谁、要回答什么问题,再决定哪些章节需要详细展开。