文件预览

template.md

查看 Software Architecture Design SOP 技能包中的文件内容。

文件内容

template.md

# Architecture Design Document — Output Template

Use this chapter structure for every architecture document produced by this skill.
Replace all `[placeholder]` text with actual content.

---

```markdown
# [Project Name] · [System Name] 架构设计文档

---

## 1. 文档说明

| 项目 | 内容 |
|------|------|
| **文档名称** | [系统名称] 架构设计文档 |
| **版本号** | V1.0 |
| **创建日期** | [YYYY-MM-DD] |
| **作者** | [作者姓名] |
| **状态** | 草稿 / 评审中 / 已确认 |
| **依据文档** | [需求文档 / 标书 / PRD 名称] |
| **合规标准** | [适用标准,如 ISO/IEC 27001, GB xxx] |

**文档结构说明**

| 章节 | 内容 |
|------|------|
| 第 2 章 | 项目范围、交付边界、性能目标 |
| 第 3 章 | 系统总体架构与模块划分 |
| 第 4 章 | 核心业务流程 |
| 第 5 章 | 数据架构 |
| 第 6 章 | 技术选型与关键设计决策 |
| 第 7 章 | 接口设计 |
| 第 8 章 | 部署与运行架构 |
| 第 9 章 | 扩展性设计(插件/SPI/配置) |
| 第 10 章 | 非功能性设计 |
| 第 11 章 | 风险、待办与变更记录 |

---

## 2. 项目范围与目标

### 2.1 项目背景

[2–3 段说明项目背景、为什么需要这个系统、业务价值]

### 2.2 交付范围

**MVP 包含**

| 类别 | 内容 |
|------|------|
| [功能域] | [具体功能列表] |

**MVP 不包含**

| 内容 | 计划版本 | 原因 |
|------|----------|------|
| [功能] | v1.1 | [原因] |

### 2.3 系统上下文

![系统上下文图](./diagrams/system-context.png)

> [一句话说明系统与外部参与者的关系]

### 2.4 性能目标(MVP)

| 指标 | 目标值 | 说明 |
|------|--------|------|
| [指标名] | [值] | [测量方法] |

---

## 3. 系统总体架构

### 3.1 架构模式

[说明选用的架构模式(分层/事件驱动/微服务/插件化),以及选型理由]

### 3.2 分层架构

![系统架构图](./diagrams/architecture.png)

| 层次 | 技术栈 | 职责 |
|------|--------|------|
| **[展示层]** | [技术] | [职责] |
| **[业务层]** | [技术] | [职责] |
| **[执行层]** | [技术] | [职责] |
| **[基础设施层]** | [技术] | [职责] |

层间通信:[HTTP REST / WebSocket / 消息队列 / gRPC]

### 3.3 模块划分

![模块依赖图](./diagrams/module-architecture.png)

| 层次 | 模块 | 职责 |
|------|------|------|
| [层] | [模块名] | [一句话职责] |

---

## 4. 核心业务流程

### 4.1 [主流程名称]

![主流程时序图](./diagrams/main-flow.png)

**状态机**:[状态A] → [状态B] → [状态C / 状态D(异常)]

**异常处理**

| 场景 | 处理策略 |
|------|----------|
| [异常场景] | [处理方式] |

### 4.2 [次流程名称]

![次流程图](./diagrams/sub-flow.png)

> [流程说明]

---

## 5. 数据架构

### 5.1 核心实体关系

![ER 图](./diagrams/er-diagram.png)

### 5.2 存储选型

| 存储组件 | 存储内容 | 选型理由 |
|----------|----------|----------|
| [组件] | [内容] | [理由] |

### 5.3 核心数据实体

| 实体 | 主要字段 | 说明 |
|------|----------|------|
| [表名] | [字段列表] | [说明] |

---

## 6. 技术选型与关键设计决策

### 6.1 技术选型

| 类别 | 选型 | 版本 | 说明 |
|------|------|------|------|
| [类别] | [技术] | [版本] | [选型理由] |

### 6.2 关键设计决策

| 决策点 | 方案 A | 方案 B(选定) | 理由 |
|--------|--------|---------------|------|
| [决策点] | [方案A] | [方案B] | [理由] |

---

## 7. 接口设计

### 7.1 平台 API

**[功能模块] 接口**

| 接口 | 方法 | 路径 | 说明 |
|------|------|------|------|
| [接口名] | GET/POST | `/api/v1/[path]` | [说明] |

### 7.2 扩展接口契约(SPI)

[如果系统有插件/扩展机制,在此定义标准接口]

| 接口 | 方法 | 路径 | 说明 |
|------|------|------|------|
| 健康检查 | GET | `/health` | 含资源信息 |

---

## 8. 部署与运行架构

### 8.1 部署拓扑

![部署拓扑图](./diagrams/deployment.png)

### 8.2 服务器规格

| 场景 | 规格 | 说明 |
|------|------|------|
| 最低配置 | [CPU / RAM / 存储] | [说明] |
| 推荐配置 | [CPU / RAM / 存储] | [说明] |

### 8.3 服务组成

| 服务 | 说明 | 端口 | 重启策略 |
|------|------|------|----------|
| [服务名] | [说明] | [端口] | always |

### 8.4 CI/CD 流程

![CI/CD 流程图](./diagrams/cicd.png)

> [触发条件] → [构建步骤] → [测试] → [发布]

---

## 9. 扩展性设计

### 9.1 [扩展点名称]

[描述插件/配置/SPI 的规范,使用者如何扩展系统]

### 9.2 扩展路线图

![扩展路线图](./diagrams/roadmap.png)

---

## 10. 非功能性设计

### 10.1 高可用

| 故障场景 | 处理策略 |
|----------|----------|
| [故障] | [策略] |

### 10.2 性能指标

| 目标 | 指标 |
|------|------|
| [指标名] | [目标值] |

### 10.3 安全性

| 类别 | 设计 |
|------|------|
| 认证 | [方案] |
| 数据隔离 | [方案] |
| 审计日志 | [方案] |

### 10.4 可观测性

[MVP 阶段的监控接口;完整阶段的 Prometheus/Grafana 指标]

---

## 11. 风险、待办与变更记录

### 11.1 风险与应对

| 风险 | 概率 | 影响 | 应对措施 |
|------|------|------|----------|
| [风险描述] | 高/中/低 | 高/中/低 | [措施] |

### 11.2 待办事项

- [ ] [待确认事项]
- [ ] [待 POC 验证事项]

### 11.3 变更记录

| 版本 | 日期 | 作者 | 变更内容 |
|------|------|------|----------|
| V1.0 | [日期] | [作者] | 初稿 |

---

*[项目名] · 依据:[需求文档] · 合规:[标准]*
```