@zeyue0329/xiaoma-cli 1.0.20 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/XIAOMA-CLI/345/267/245/344/275/234/346/265/201/344/270/216/346/231/272/350/203/275/344/275/223/347/274/226/346/216/222/350/257/246/347/273/206/346/226/207/346/241/243.md +18 -18
- package/XIAOMA-CLI/346/231/272/350/203/275/344/275/223/344/270/216/345/221/275/344/273/244/345/256/214/346/225/264/346/226/207/346/241/243.md +5 -5
- package/dist/agents/analyst.txt +1 -1
- package/dist/agents/architect.txt +5 -5
- package/dist/agents/automation-orchestrator.txt +396 -0
- package/dist/agents/database-architect.txt +1 -1
- package/dist/agents/pm.txt +7 -7
- package/dist/agents/po.txt +1 -1
- package/dist/agents/sm.txt +1395 -0
- package/dist/agents/xiaoma-master.txt +11 -11
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +1 -1
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +1 -1
- package/dist/teams/team-all.txt +1766 -15
- package/dist/teams/team-fullstack-with-database.txt +2116 -22
- package/dist/teams/team-fullstack.txt +14 -14
- package/dist/teams/team-ide-minimal.txt +1396 -1
- package/dist/teams/team-no-ui.txt +14 -14
- package/package.json +1 -1
- package/tools/installer/package.json +1 -1
- package/xiaoma-core/agent-teams/team-fullstack-with-database.yaml +3 -1
- package/xiaoma-core/agents/analyst.md +1 -1
- package/xiaoma-core/agents/automation-orchestrator.md +353 -0
- package/xiaoma-core/agents/database-architect.md +1 -1
- package/xiaoma-core/agents/pm.md +1 -1
- package/xiaoma-core/agents/po.md +1 -1
- package/xiaoma-core/agents/sm.md +4 -0
- package/xiaoma-core/checklists/dev-completion-checklist.md +324 -0
- package/xiaoma-core/checklists/po-story-validation-checklist.md +219 -0
- package/xiaoma-core/checklists/qa-approval-checklist.md +393 -0
- package/xiaoma-core/tasks/automated-story-cycle.md +370 -0
- package/xiaoma-core/tasks/create-database-design.md +2 -2
- package/xiaoma-core/tasks/create-enhanced-story-with-database.md +250 -0
- package/xiaoma-core/templates/api-design-tmpl.yaml +704 -0
- package/xiaoma-core/templates/brownfield-architecture-tmpl.yaml +5 -5
- package/xiaoma-core/templates/brownfield-prd-tmpl.yaml +6 -6
- package/xiaoma-core/templates/enhanced-story-with-database-tmpl.yaml +428 -0
- package/xiaoma-core/workflows/automated-story-development.yaml +331 -0
- package/xiaoma-core/workflows/enhanced-fullstack-with-database.yaml +13 -6
- package//346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/345/242/236/345/274/272/345/212/237/350/203/275/344/275/277/347/224/250/346/214/207/345/215/227.md +1 -1
- package//350/207/252/345/212/250/345/214/226/347/224/250/346/210/267/346/225/205/344/272/213/345/274/200/345/217/221/346/265/201/347/250/213/344/275/277/347/224/250/346/214/207/345/215/227.md +377 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
# 自动化用户故事开发循环
|
|
2
|
+
|
|
3
|
+
## 任务概述
|
|
4
|
+
|
|
5
|
+
执行完整的自动化用户故事开发循环,从故事创建到QA验收的端到端自动化流程。确保每个环节都有严格的质量控制和验证标准。
|
|
6
|
+
|
|
7
|
+
## 前置条件检查
|
|
8
|
+
|
|
9
|
+
- [ ] 数据库设计文档已完成 (`docs/database/database-design.md`)
|
|
10
|
+
- [ ] 基础代码已生成 (`src/main/java/`)
|
|
11
|
+
- [ ] Epic分解已完成 (`docs/epics/`)
|
|
12
|
+
- [ ] 测试环境已准备就绪
|
|
13
|
+
- [ ] 所有智能体处于可用状态
|
|
14
|
+
|
|
15
|
+
## 执行流程
|
|
16
|
+
|
|
17
|
+
### 阶段1: 用户故事创建 (SM智能体)
|
|
18
|
+
|
|
19
|
+
#### 1.1 切换到SM智能体
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
*agent sm
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
#### 1.2 创建增强用户故事
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
*draft-enhanced
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
#### 1.3 创建后质量检查
|
|
32
|
+
|
|
33
|
+
**必须验证的内容**:
|
|
34
|
+
|
|
35
|
+
- [ ] 用户故事格式符合模板要求
|
|
36
|
+
- [ ] 包含完整的数据库设计相关信息
|
|
37
|
+
- [ ] API接口规范详细完整
|
|
38
|
+
- [ ] 请求响应示例具体明确
|
|
39
|
+
- [ ] 数据映射关系准确
|
|
40
|
+
- [ ] 验收标准清晰可测试
|
|
41
|
+
- [ ] 任务分解合理可执行
|
|
42
|
+
|
|
43
|
+
#### 1.4 质量门控检查
|
|
44
|
+
|
|
45
|
+
如果任何检查项不通过:
|
|
46
|
+
|
|
47
|
+
- 记录问题详情
|
|
48
|
+
- 重新执行故事创建(最多3次)
|
|
49
|
+
- 超过重试次数则升级到项目经理
|
|
50
|
+
|
|
51
|
+
### 阶段2: 故事验证 (PO智能体)
|
|
52
|
+
|
|
53
|
+
#### 2.1 切换到PO智能体
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
*agent po
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
#### 2.2 执行故事验证
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
*validate-story-draft {story_file}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
#### 2.3 验证检查清单
|
|
66
|
+
|
|
67
|
+
**业务需求验证**:
|
|
68
|
+
|
|
69
|
+
- [ ] 故事与PRD需求一致
|
|
70
|
+
- [ ] 业务价值明确
|
|
71
|
+
- [ ] 用户角色定义准确
|
|
72
|
+
- [ ] 功能边界清晰
|
|
73
|
+
|
|
74
|
+
**技术实现验证**:
|
|
75
|
+
|
|
76
|
+
- [ ] 数据库实体设计合理
|
|
77
|
+
- [ ] API接口设计符合规范
|
|
78
|
+
- [ ] 技术实现方案可行
|
|
79
|
+
- [ ] 性能要求现实
|
|
80
|
+
|
|
81
|
+
**可测试性验证**:
|
|
82
|
+
|
|
83
|
+
- [ ] 验收标准可验证
|
|
84
|
+
- [ ] 测试数据准备充分
|
|
85
|
+
- [ ] 测试场景覆盖完整
|
|
86
|
+
- [ ] 错误处理考虑周全
|
|
87
|
+
|
|
88
|
+
#### 2.4 验证结果处理
|
|
89
|
+
|
|
90
|
+
**如果验证通过**:
|
|
91
|
+
|
|
92
|
+
- 更新故事状态: `Draft → Approved`
|
|
93
|
+
- 记录验证通过时间
|
|
94
|
+
- 进入下一阶段
|
|
95
|
+
|
|
96
|
+
**如果验证失败**:
|
|
97
|
+
|
|
98
|
+
- 记录具体问题和修复建议
|
|
99
|
+
- 返回SM智能体修复故事
|
|
100
|
+
- 重复验证流程(最多3轮)
|
|
101
|
+
|
|
102
|
+
### 阶段3: 代码开发 (Dev智能体)
|
|
103
|
+
|
|
104
|
+
#### 3.1 切换到Dev智能体
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
*agent dev
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
#### 3.2 执行故事开发
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
*develop-story
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
#### 3.3 开发实现步骤
|
|
117
|
+
|
|
118
|
+
**数据库层实现**:
|
|
119
|
+
|
|
120
|
+
- [ ] 实现Mapper接口方法
|
|
121
|
+
- [ ] 编写SQL映射文件
|
|
122
|
+
- [ ] 添加数据验证逻辑
|
|
123
|
+
- [ ] 处理数据库约束
|
|
124
|
+
|
|
125
|
+
**业务逻辑层实现**:
|
|
126
|
+
|
|
127
|
+
- [ ] 实现Service接口
|
|
128
|
+
- [ ] 编写业务逻辑代码
|
|
129
|
+
- [ ] 添加业务规则验证
|
|
130
|
+
- [ ] 实现事务处理
|
|
131
|
+
|
|
132
|
+
**API接口层实现**:
|
|
133
|
+
|
|
134
|
+
- [ ] 实现Controller方法
|
|
135
|
+
- [ ] 添加请求参数验证
|
|
136
|
+
- [ ] 实现响应格式化
|
|
137
|
+
- [ ] 添加异常处理
|
|
138
|
+
|
|
139
|
+
**测试代码编写**:
|
|
140
|
+
|
|
141
|
+
- [ ] 编写单元测试
|
|
142
|
+
- [ ] 编写集成测试
|
|
143
|
+
- [ ] 编写API测试
|
|
144
|
+
- [ ] 编写数据库测试
|
|
145
|
+
|
|
146
|
+
#### 3.4 执行自测
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
*run-tests
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
#### 3.5 自测验证标准
|
|
153
|
+
|
|
154
|
+
**代码质量检查**:
|
|
155
|
+
|
|
156
|
+
- [ ] 所有单元测试通过 (100%)
|
|
157
|
+
- [ ] 代码覆盖率 ≥ 80%
|
|
158
|
+
- [ ] 静态代码分析通过
|
|
159
|
+
- [ ] 代码规范检查通过
|
|
160
|
+
|
|
161
|
+
**功能验证检查**:
|
|
162
|
+
|
|
163
|
+
- [ ] 所有API端点正常工作
|
|
164
|
+
- [ ] 数据库操作正确执行
|
|
165
|
+
- [ ] 业务逻辑符合需求
|
|
166
|
+
- [ ] 错误处理机制有效
|
|
167
|
+
|
|
168
|
+
**性能检查**:
|
|
169
|
+
|
|
170
|
+
- [ ] API响应时间 < 500ms
|
|
171
|
+
- [ ] 数据库查询优化
|
|
172
|
+
- [ ] 内存使用合理
|
|
173
|
+
- [ ] 并发处理正常
|
|
174
|
+
|
|
175
|
+
#### 3.6 自测结果处理
|
|
176
|
+
|
|
177
|
+
**如果自测通过**:
|
|
178
|
+
|
|
179
|
+
- 更新故事状态: `Approved → Review`
|
|
180
|
+
- 提交代码变更
|
|
181
|
+
- 更新文件列表
|
|
182
|
+
- 进入QA测试阶段
|
|
183
|
+
|
|
184
|
+
**如果自测失败**:
|
|
185
|
+
|
|
186
|
+
- 分析失败原因
|
|
187
|
+
- 修复代码问题
|
|
188
|
+
- 重新运行测试
|
|
189
|
+
- 重复直到通过(最多5轮)
|
|
190
|
+
|
|
191
|
+
### 阶段4: QA测试验证 (QA智能体)
|
|
192
|
+
|
|
193
|
+
#### 4.1 切换到QA智能体
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
*agent qa
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
#### 4.2 执行QA测试
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
*review {story_file}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
#### 4.3 QA测试检查清单
|
|
206
|
+
|
|
207
|
+
**功能测试**:
|
|
208
|
+
|
|
209
|
+
- [ ] 所有验收标准得到满足
|
|
210
|
+
- [ ] 正常业务流程测试通过
|
|
211
|
+
- [ ] 边界条件处理正确
|
|
212
|
+
- [ ] 异常场景处理适当
|
|
213
|
+
|
|
214
|
+
**API契约测试**:
|
|
215
|
+
|
|
216
|
+
- [ ] 请求参数验证正确
|
|
217
|
+
- [ ] 响应格式符合规范
|
|
218
|
+
- [ ] HTTP状态码准确
|
|
219
|
+
- [ ] 错误响应格式正确
|
|
220
|
+
|
|
221
|
+
**数据完整性测试**:
|
|
222
|
+
|
|
223
|
+
- [ ] 数据创建操作正确
|
|
224
|
+
- [ ] 数据更新操作安全
|
|
225
|
+
- [ ] 数据删除遵循软删除
|
|
226
|
+
- [ ] 数据关联关系维护
|
|
227
|
+
|
|
228
|
+
**性能测试**:
|
|
229
|
+
|
|
230
|
+
- [ ] 响应时间满足要求
|
|
231
|
+
- [ ] 并发处理能力充分
|
|
232
|
+
- [ ] 内存使用效率高
|
|
233
|
+
- [ ] 数据库查询优化
|
|
234
|
+
|
|
235
|
+
**安全测试**:
|
|
236
|
+
|
|
237
|
+
- [ ] 输入验证充分
|
|
238
|
+
- [ ] SQL注入防护
|
|
239
|
+
- [ ] XSS攻击防护
|
|
240
|
+
- [ ] 权限控制有效
|
|
241
|
+
|
|
242
|
+
#### 4.4 QA结果处理
|
|
243
|
+
|
|
244
|
+
**如果QA测试通过**:
|
|
245
|
+
|
|
246
|
+
- 更新故事状态: `Review → Done`
|
|
247
|
+
- 记录测试通过时间
|
|
248
|
+
- 生成QA测试报告
|
|
249
|
+
- 当前故事开发完成
|
|
250
|
+
|
|
251
|
+
**如果QA测试失败**:
|
|
252
|
+
|
|
253
|
+
- 详细记录问题清单
|
|
254
|
+
- 评估问题严重程度
|
|
255
|
+
- 分配问题给Dev智能体
|
|
256
|
+
- 更新故事状态: `Review → InProgress`
|
|
257
|
+
- 返回开发阶段修复
|
|
258
|
+
|
|
259
|
+
### 阶段5: 循环控制和完成检查
|
|
260
|
+
|
|
261
|
+
#### 5.1 检查项目完成状态
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
*agent automation-orchestrator
|
|
265
|
+
*check-completion-status
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
#### 5.2 完成状态评估
|
|
269
|
+
|
|
270
|
+
**检查所有故事状态**:
|
|
271
|
+
|
|
272
|
+
- [ ] 统计各状态故事数量
|
|
273
|
+
- [ ] 识别阻塞和问题故事
|
|
274
|
+
- [ ] 计算整体完成进度
|
|
275
|
+
- [ ] 评估剩余工作量
|
|
276
|
+
|
|
277
|
+
#### 5.3 决策分支
|
|
278
|
+
|
|
279
|
+
**如果还有未完成故事**:
|
|
280
|
+
|
|
281
|
+
- 启动下一个故事的开发循环
|
|
282
|
+
- 重复阶段1-4的流程
|
|
283
|
+
- 持续监控进度和质量
|
|
284
|
+
|
|
285
|
+
**如果所有故事都已完成**:
|
|
286
|
+
|
|
287
|
+
- 生成项目完成报告
|
|
288
|
+
- 统计开发质量指标
|
|
289
|
+
- 归档所有文档和代码
|
|
290
|
+
- 标记项目开发阶段完成
|
|
291
|
+
|
|
292
|
+
## 质量控制机制
|
|
293
|
+
|
|
294
|
+
### 自动化验证
|
|
295
|
+
|
|
296
|
+
- 每个阶段都有明确的通过标准
|
|
297
|
+
- 自动化测试和检查工具
|
|
298
|
+
- 质量门控严格执行
|
|
299
|
+
- 问题自动识别和报告
|
|
300
|
+
|
|
301
|
+
### 错误处理策略
|
|
302
|
+
|
|
303
|
+
- 分类错误类型和严重程度
|
|
304
|
+
- 差异化的重试和修复策略
|
|
305
|
+
- 升级机制处理复杂问题
|
|
306
|
+
- 问题追踪和解决记录
|
|
307
|
+
|
|
308
|
+
### 进度监控
|
|
309
|
+
|
|
310
|
+
- 实时跟踪每个故事的状态
|
|
311
|
+
- 收集开发效率指标
|
|
312
|
+
- 识别瓶颈和改进机会
|
|
313
|
+
- 生成进度和质量报告
|
|
314
|
+
|
|
315
|
+
## 输出文件
|
|
316
|
+
|
|
317
|
+
### 故事文件
|
|
318
|
+
|
|
319
|
+
- `docs/stories/{epic}.{story}.{title}.md` - 用户故事文档
|
|
320
|
+
- `docs/stories/status-tracking.md` - 状态跟踪文档
|
|
321
|
+
|
|
322
|
+
### 实现文件
|
|
323
|
+
|
|
324
|
+
- `src/main/java/{package}/entity/` - 实体类
|
|
325
|
+
- `src/main/java/{package}/mapper/` - Mapper接口
|
|
326
|
+
- `src/main/java/{package}/service/` - 服务层
|
|
327
|
+
- `src/main/java/{package}/controller/` - 控制层
|
|
328
|
+
- `src/test/java/{package}/` - 测试代码
|
|
329
|
+
|
|
330
|
+
### 报告文件
|
|
331
|
+
|
|
332
|
+
- `docs/reports/development-progress.md` - 开发进度报告
|
|
333
|
+
- `docs/reports/quality-metrics.md` - 质量指标报告
|
|
334
|
+
- `docs/reports/completion-summary.md` - 完成总结报告
|
|
335
|
+
|
|
336
|
+
## 成功标准
|
|
337
|
+
|
|
338
|
+
### 个人故事成功标准
|
|
339
|
+
|
|
340
|
+
- 故事状态达到 `Done`
|
|
341
|
+
- 所有验收标准满足
|
|
342
|
+
- 代码质量达标
|
|
343
|
+
- 测试覆盖充分
|
|
344
|
+
|
|
345
|
+
### 整体项目成功标准
|
|
346
|
+
|
|
347
|
+
- 所有故事开发完成
|
|
348
|
+
- 质量指标达到要求
|
|
349
|
+
- 没有未解决的阻塞问题
|
|
350
|
+
- 文档和代码完整
|
|
351
|
+
|
|
352
|
+
## 故障恢复
|
|
353
|
+
|
|
354
|
+
### 智能体故障
|
|
355
|
+
|
|
356
|
+
- 自动重试机制
|
|
357
|
+
- 备用智能体切换
|
|
358
|
+
- 状态恢复和继续
|
|
359
|
+
|
|
360
|
+
### 系统故障
|
|
361
|
+
|
|
362
|
+
- 保存中间状态
|
|
363
|
+
- 支持断点续传
|
|
364
|
+
- 数据一致性保护
|
|
365
|
+
|
|
366
|
+
### 人工介入
|
|
367
|
+
|
|
368
|
+
- 提供人工接管接口
|
|
369
|
+
- 支持手动状态修正
|
|
370
|
+
- 保留自动化日志
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
## 前置条件
|
|
8
8
|
|
|
9
9
|
- 已完成需求分析(PRD文档)
|
|
10
|
-
-
|
|
10
|
+
- 已分析现有数据库结构(如果是现有项目项目)
|
|
11
11
|
|
|
12
12
|
## 执行步骤
|
|
13
13
|
|
|
@@ -134,7 +134,7 @@ INDEX idx_user_status (user_id, status)
|
|
|
134
134
|
{DDL语句}
|
|
135
135
|
```
|
|
136
136
|
|
|
137
|
-
### 8.
|
|
137
|
+
### 8. 与现有结构对比(现有项目项目)
|
|
138
138
|
|
|
139
139
|
```yaml
|
|
140
140
|
action: compare_with_existing
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
# 创建增强用户故事(包含数据库和API设计)
|
|
2
|
+
|
|
3
|
+
## 任务概述
|
|
4
|
+
|
|
5
|
+
基于Epic分解,结合数据库设计和API接口规范,创建详细的用户故事文档。此任务要求深度集成database-architect生成的数据库设计和API接口设计。
|
|
6
|
+
|
|
7
|
+
## 前置条件
|
|
8
|
+
|
|
9
|
+
- 已完成Epic分解和优先级排序
|
|
10
|
+
- 已有数据库设计文档 (`docs/database/database-design.md`)
|
|
11
|
+
- 已有API接口设计文档
|
|
12
|
+
- 已完成架构设计
|
|
13
|
+
|
|
14
|
+
## 输入要求
|
|
15
|
+
|
|
16
|
+
- Epic文档
|
|
17
|
+
- 数据库设计文档
|
|
18
|
+
- API接口设计文档
|
|
19
|
+
- 架构设计文档
|
|
20
|
+
|
|
21
|
+
## 执行步骤
|
|
22
|
+
|
|
23
|
+
### 1. 分析Epic和设计文档
|
|
24
|
+
|
|
25
|
+
#### 1.1 Epic分析
|
|
26
|
+
|
|
27
|
+
- 确定用户故事的业务价值和优先级
|
|
28
|
+
- 识别涉及的用户角色
|
|
29
|
+
- 明确功能边界和范围
|
|
30
|
+
|
|
31
|
+
#### 1.2 数据库设计分析
|
|
32
|
+
|
|
33
|
+
- 从`docs/database/database-design.md`中识别相关实体
|
|
34
|
+
- 确定涉及的数据表和字段
|
|
35
|
+
- 分析数据操作类型(增删改查)
|
|
36
|
+
- 理解业务规则和约束
|
|
37
|
+
|
|
38
|
+
#### 1.3 API接口分析
|
|
39
|
+
|
|
40
|
+
- 从API设计文档中识别相关接口
|
|
41
|
+
- 确定HTTP方法和路径
|
|
42
|
+
- 分析请求参数和响应格式
|
|
43
|
+
- 理解错误处理机制
|
|
44
|
+
|
|
45
|
+
### 2. 使用增强模板创建用户故事
|
|
46
|
+
|
|
47
|
+
使用模板:`enhanced-story-with-database-tmpl.yaml`
|
|
48
|
+
|
|
49
|
+
#### 2.1 基础信息填写
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
epic_num: '{{epic_number}}'
|
|
53
|
+
story_num: '{{story_number}}'
|
|
54
|
+
story_title_short: '{{story_title}}'
|
|
55
|
+
role: '{{user_role}}'
|
|
56
|
+
action: '{{user_action}}'
|
|
57
|
+
benefit: '{{user_benefit}}'
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### 2.2 数据库设计部分填写
|
|
61
|
+
|
|
62
|
+
**相关实体表格**:
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
| 实体名称 | 表名 | 主要用途 | 关键字段 |
|
|
66
|
+
| -------- | -------- | ------------ | ---------------------------- |
|
|
67
|
+
| User | users | 用户信息管理 | id, username, email |
|
|
68
|
+
| Product | products | 产品信息管理 | id, name, price, category_id |
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**数据操作清单**:
|
|
72
|
+
|
|
73
|
+
- 查询操作:明确需要的查询条件和返回字段
|
|
74
|
+
- 插入操作:明确需要插入的数据和验证规则
|
|
75
|
+
- 更新操作:明确可更新的字段和业务规则
|
|
76
|
+
- 删除操作:明确删除条件和级联规则
|
|
77
|
+
|
|
78
|
+
**业务规则约束**:
|
|
79
|
+
|
|
80
|
+
- 数据验证规则(长度、格式、范围)
|
|
81
|
+
- 外键约束和引用完整性
|
|
82
|
+
- 唯一性约束
|
|
83
|
+
- 业务逻辑约束(状态转换等)
|
|
84
|
+
|
|
85
|
+
#### 2.3 API接口规范部分填写
|
|
86
|
+
|
|
87
|
+
**API端点列表**:
|
|
88
|
+
|
|
89
|
+
```markdown
|
|
90
|
+
| 序号 | 接口名称 | HTTP方法 | 路径 | 说明 | 状态 |
|
|
91
|
+
| ---- | ------------ | -------- | --------------- | ------------------ | ------ |
|
|
92
|
+
| 1 | 创建用户 | POST | /api/users | 创建新用户账户 | 待实现 |
|
|
93
|
+
| 2 | 查询用户详情 | GET | /api/users/{id} | 根据ID查询用户信息 | 待实现 |
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**API详细设计**:
|
|
97
|
+
为每个API提供:
|
|
98
|
+
|
|
99
|
+
- 完整的请求参数说明
|
|
100
|
+
- 响应数据结构定义
|
|
101
|
+
- 具体的请求示例(curl命令)
|
|
102
|
+
- 成功和错误响应示例
|
|
103
|
+
- 错误码定义和处理建议
|
|
104
|
+
|
|
105
|
+
**数据映射关系**:
|
|
106
|
+
|
|
107
|
+
```markdown
|
|
108
|
+
#### 请求参数 -> 数据库字段映射
|
|
109
|
+
|
|
110
|
+
| API参数 | 数据库表 | 数据库字段 | 数据类型 | 说明 |
|
|
111
|
+
| -------- | -------- | ---------- | ------------ | -------- |
|
|
112
|
+
| username | users | username | VARCHAR(50) | 用户名 |
|
|
113
|
+
| email | users | email | VARCHAR(100) | 邮箱地址 |
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
#### 2.4 任务分解
|
|
117
|
+
|
|
118
|
+
**后端开发任务**:
|
|
119
|
+
|
|
120
|
+
- 数据库相关:Mapper方法实现、Service业务逻辑、数据验证
|
|
121
|
+
- API接口实现:Controller方法、参数验证、响应格式化、异常处理
|
|
122
|
+
- 测试相关:单元测试、集成测试、数据库测试
|
|
123
|
+
|
|
124
|
+
**前端开发任务**(如需要):
|
|
125
|
+
|
|
126
|
+
- 页面组件实现
|
|
127
|
+
- API调用集成
|
|
128
|
+
- 表单验证
|
|
129
|
+
- 用户交互
|
|
130
|
+
|
|
131
|
+
#### 2.5 开发者说明
|
|
132
|
+
|
|
133
|
+
**数据库上下文**:
|
|
134
|
+
|
|
135
|
+
- 实体类位置:`src/main/java/{package}/entity/`
|
|
136
|
+
- Mapper接口位置:`src/main/java/{package}/mapper/`
|
|
137
|
+
- Service层位置:`src/main/java/{package}/service/`
|
|
138
|
+
- 业务逻辑要求和数据验证规则
|
|
139
|
+
|
|
140
|
+
**API接口上下文**:
|
|
141
|
+
|
|
142
|
+
- Controller位置:`src/main/java/{package}/controller/`
|
|
143
|
+
- 请求响应格式标准
|
|
144
|
+
- 错误处理机制
|
|
145
|
+
- 接口版本控制
|
|
146
|
+
|
|
147
|
+
**集成上下文**:
|
|
148
|
+
|
|
149
|
+
- 与其他模块的依赖关系
|
|
150
|
+
- 外部系统调用要求
|
|
151
|
+
- 缓存策略和事务处理
|
|
152
|
+
- 性能要求
|
|
153
|
+
|
|
154
|
+
### 3. 质量检查清单
|
|
155
|
+
|
|
156
|
+
#### 3.1 完整性检查
|
|
157
|
+
|
|
158
|
+
- [ ] 所有涉及的数据库实体都已识别
|
|
159
|
+
- [ ] 所有需要的API接口都已定义
|
|
160
|
+
- [ ] 请求参数和响应格式完整
|
|
161
|
+
- [ ] 错误处理机制明确
|
|
162
|
+
- [ ] 数据映射关系清晰
|
|
163
|
+
|
|
164
|
+
#### 3.2 一致性检查
|
|
165
|
+
|
|
166
|
+
- [ ] API参数与数据库字段对应
|
|
167
|
+
- [ ] 数据类型一致
|
|
168
|
+
- [ ] 业务规则与数据库约束匹配
|
|
169
|
+
- [ ] 接口设计符合RESTful规范
|
|
170
|
+
|
|
171
|
+
#### 3.3 可实现性检查
|
|
172
|
+
|
|
173
|
+
- [ ] 任务分解合理可执行
|
|
174
|
+
- [ ] 技术实现方案可行
|
|
175
|
+
- [ ] 测试覆盖充分
|
|
176
|
+
- [ ] 开发者说明详细
|
|
177
|
+
|
|
178
|
+
### 4. 输出文件
|
|
179
|
+
|
|
180
|
+
生成的用户故事文件:`docs/stories/{{epic_num}}.{{story_num}}.{{story_title_short}}.md`
|
|
181
|
+
|
|
182
|
+
### 5. 后续协作
|
|
183
|
+
|
|
184
|
+
#### 5.1 与开发者协作
|
|
185
|
+
|
|
186
|
+
- 确保开发者理解数据库设计和API规范
|
|
187
|
+
- 提供必要的技术支持和澄清
|
|
188
|
+
- 跟踪开发进度和问题解决
|
|
189
|
+
|
|
190
|
+
#### 5.2 与QA协作
|
|
191
|
+
|
|
192
|
+
- 明确测试重点和验收标准
|
|
193
|
+
- 提供API测试用例和数据
|
|
194
|
+
- 确保质量标准得到执行
|
|
195
|
+
|
|
196
|
+
## 模板使用示例
|
|
197
|
+
|
|
198
|
+
### 示例:用户注册功能
|
|
199
|
+
|
|
200
|
+
**用户故事**:
|
|
201
|
+
|
|
202
|
+
> 作为新用户,我希望能够注册账户,以便使用系统的各项功能。
|
|
203
|
+
|
|
204
|
+
**相关实体**:
|
|
205
|
+
|
|
206
|
+
- Users表:存储用户基本信息
|
|
207
|
+
- UserProfiles表:存储用户详细资料
|
|
208
|
+
|
|
209
|
+
**涉及API**:
|
|
210
|
+
|
|
211
|
+
- POST /api/users:创建用户账户
|
|
212
|
+
- POST /api/users/verify-email:验证邮箱
|
|
213
|
+
- GET /api/users/check-username:检查用户名可用性
|
|
214
|
+
|
|
215
|
+
**数据操作**:
|
|
216
|
+
|
|
217
|
+
- 插入用户基本信息到users表
|
|
218
|
+
- 验证用户名和邮箱的唯一性
|
|
219
|
+
- 创建用户会话信息
|
|
220
|
+
|
|
221
|
+
**API详细设计**:
|
|
222
|
+
|
|
223
|
+
```json
|
|
224
|
+
// POST /api/users
|
|
225
|
+
{
|
|
226
|
+
"username": "johndoe",
|
|
227
|
+
"email": "john@example.com",
|
|
228
|
+
"password": "hashedPassword"
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// 响应
|
|
232
|
+
{
|
|
233
|
+
"code": 200,
|
|
234
|
+
"message": "用户创建成功",
|
|
235
|
+
"data": {
|
|
236
|
+
"userId": 12345,
|
|
237
|
+
"username": "johndoe",
|
|
238
|
+
"email": "john@example.com",
|
|
239
|
+
"status": "active"
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## 注意事项
|
|
245
|
+
|
|
246
|
+
1. **数据一致性**:确保API设计与数据库设计保持一致
|
|
247
|
+
2. **安全性**:考虑数据验证、权限控制和敏感信息保护
|
|
248
|
+
3. **性能**:关注查询效率和接口响应时间
|
|
249
|
+
4. **可维护性**:保持代码结构清晰和文档完整
|
|
250
|
+
5. **可测试性**:确保功能可以被充分测试
|