134 lines
4.3 KiB
Markdown
134 lines
4.3 KiB
Markdown
# L2 技术方案设计
|
|
|
|
## 每个子任务一份文档
|
|
|
|
每个子任务只创建一份:
|
|
|
|
```text
|
|
02.技术实现方案.md
|
|
```
|
|
|
|
该子任务的全部功能、接口、CRUD、消息、回调、定时任务、批处理和数据模型设计都写在同一文档内。除非用户明确要求,不得拆成多个功能方案文件。使用目录、编号标题、功能编号和接口总览表管理长文档。
|
|
|
|
## 设计流程
|
|
|
|
```text
|
|
读取已确认的 01
|
|
→ 确认需求版本和代码基线
|
|
→ 调查现有实现和测试
|
|
→ 识别复用和约束
|
|
→ 设计总体流程
|
|
→ 设计每个功能和接口
|
|
→ 设计数据模型和一致性
|
|
→ 分析影响与回归
|
|
→ 设计实施顺序和验证
|
|
→ 更新 STATUS
|
|
```
|
|
|
|
设计中发现业务规则缺失或矛盾时,将受影响内容退回需求分析。
|
|
|
|
## 文档结构
|
|
|
|
```markdown
|
|
# ST-XXX 技术实现方案
|
|
|
|
## 目录
|
|
## 1. 文档信息、依据和版本
|
|
## 2. 目标、范围和验收依据
|
|
## 3. 现有实现与复用分析
|
|
## 4. 总体实现方案
|
|
## 5. 功能点和接口总览
|
|
## 6. 各功能点实现方案
|
|
## 7. 数据模型设计
|
|
## 8. 跨工程改造与依赖顺序
|
|
## 9. 变更影响与回归范围
|
|
## 10. 权限、安全、事务、并发和幂等
|
|
## 11. 非功能、日志、监控和审计
|
|
## 12. 兼容、迁移、发布和回滚
|
|
## 13. 测试与验证设计
|
|
## 14. 实施步骤
|
|
## 15. 方案取舍、风险和待确认项
|
|
## 16. 需求追溯
|
|
```
|
|
|
|
确实不适用的章节写明原因,不得机械填充。
|
|
|
|
## 每个功能必须有方案
|
|
|
|
每个 `F-XXX` 都要说明:
|
|
|
|
- 目标及需求/验收依据;
|
|
- 涉及工程和模块;
|
|
- 现有实现、可复用符号及 Commit 证据;
|
|
- 新增、修改、复用和非范围;
|
|
- 正常、异常和适用的边界流程;
|
|
- 接口、请求、响应、错误码和权限;
|
|
- 业务校验;
|
|
- 数据读写;
|
|
- 事务、一致性、并发和幂等;
|
|
- 缓存、搜索和消息行为;
|
|
- 兼容性;
|
|
- 测试和验证;
|
|
- 风险与待确认项。
|
|
|
|
简单 CRUD 也必须提供精简方案,至少覆盖校验、唯一性、分页/筛选、删除语义、权限、数据影响、适用的幂等和冒烟验证。
|
|
|
|
## 数据模型设计
|
|
|
|
发生任何数据模型变化时,在同一文档第 7 节设计。
|
|
|
|
### 数据库
|
|
|
|
说明实体含义、表、字段类型/可空/默认值、主键、约束、索引及查询依据、关系、枚举、审计/逻辑删除、容量、DDL、历史迁移、兼容、发布和回滚。
|
|
|
|
### Redis
|
|
|
|
说明 Key 规则、数据类型和值结构、事实数据源、TTL、读写时机、更新/失效、未命中/空值、原子性、并发、热 Key/大 Key 风险和旧 Key 清理。
|
|
|
|
### Elasticsearch
|
|
|
|
说明索引/Alias、文档 ID 和示例、Mapping/分词、适用的分片/副本/Routing、查询场景、数据库到 ES 的同步、延迟目标、重试修复、Reindex、历史初始化、Alias 切换和回滚。
|
|
|
|
### 跨存储一致性
|
|
|
|
明确事实数据源、写入顺序、事件或 CDC 链路、缓存失效、ES 同步、幂等、重试/补偿、对账和失败行为。
|
|
|
|
没有数据模型变化时,也要写明并指出复用依据。
|
|
|
|
## 影响与回归
|
|
|
|
每个被修改的接口或功能都要调查:
|
|
|
|
- 上游调用方和下游依赖;
|
|
- 复用同一核心方法的其他接口;
|
|
- 共享数据库表、Redis Key 和 ES 文档;
|
|
- 消息、消费者、任务、报表、导入导出;
|
|
- 前端、客户端和外部集成;
|
|
- 权限、状态流转、监控和发布顺序。
|
|
|
|
影响分类:直接、间接、兼容、数据、行为、性能、发布、潜在或已验证无影响。
|
|
|
|
维护:
|
|
|
|
| 影响编号 | 变更项 | 受影响接口/功能 | 工程 | 类型 | 说明 | 是否改造 | 回归级别 |
|
|
|---|---|---|---|---|---|---|---|
|
|
|
|
以及:
|
|
|
|
| 回归编号 | 工程 | 接口/功能 | 回归场景 | 原因 | 优先级 |
|
|
|---|---|---|---|---|---|
|
|
|
|
禁止写“回归相关功能”等模糊描述。必须列出具体场景。“无影响”也要写明检查过的调用链和数据链证据。
|
|
|
|
影响超出已确认范围时,记录后果和选项并请用户确认,不得静默扩大范围。
|
|
|
|
## 追溯与 G2
|
|
|
|
建立:
|
|
|
|
```text
|
|
需求 → F-XXX → 方案章节 → 涉及工程 → AC-XXX → TC-XXX 验证用例
|
|
```
|
|
|
|
`02.技术实现方案.md` 和 `03.冒烟与逻辑验证.md` 的验证计划部分完成后,一起提交 G2;确认前不得开始实现。
|