feat: 生成史诗和用户故事清单,包含 MCP 工具报价
- 生成 5 个 Epic,75 个用户故事 - 详细的工作量估算(35 人天功能开发) - 新增 MCP 工具开发报价(14 人天,5 个工具) - 完整的报价汇总(67 人天,¥67,000) - 包含工期估算(1-5 人团队) - 基于最新 PRD(包含 MCP 工具设计)]
This commit is contained in:
243
planning-artifacts/epics-and-stories.md
Normal file
243
planning-artifacts/epics-and-stories.md
Normal file
@@ -0,0 +1,243 @@
|
||||
# Epic 和用户故事清单
|
||||
|
||||
**项目名称**: AI 智能抽背助手
|
||||
**生成日期**: $(date +%Y-%m-%d)
|
||||
**基于文档**: PRD (v1.1 - 包含 MCP 工具设计)
|
||||
|
||||
---
|
||||
|
||||
## 📊 功能模块总览
|
||||
|
||||
| Epic ID | Epic 名称 | 用户故事数 | 优先级 | 预估工期 |
|
||||
|---------|----------|------------|--------|----------|
|
||||
| E-UM | 用户管理 | 11 | P0 | 5 人天 |
|
||||
| E-FS | 收藏与分享 | 8 | P1 | 3 人天 |
|
||||
| E-ST | 任务制定 | 10 | P0 | 4 人天 |
|
||||
| E-QZ | AI 语音抽背 | 28 | P0 | 15 人天 |
|
||||
| E-KP | 要点背诵 | 18 | P0 | 8 人天 |
|
||||
| **总计** | **5 个 Epic** | **75 个故事** | - | **35 人天** |
|
||||
|
||||
---
|
||||
|
||||
## Epic 1: 用户管理 (E-UM)
|
||||
|
||||
**目标**: 提供完整的用户认证和账号管理功能
|
||||
|
||||
### 用户故事列表:
|
||||
|
||||
| ID | 故事描述 | 验收标准 | 优先级 | 预估 | 依赖 |
|
||||
|----|---------|---------|--------|------|------|
|
||||
| US-UM-001 | 作为新用户,我可以通过手机号注册账号 | 1. 输入手机号和验证码\n2. 验证码验证成功\n3. 自动创建账号并登录 | P0 | 0.5人天 | - |
|
||||
| US-UM-002 | 作为新用户,我可以通过邮箱注册账号 | 1. 输入邮箱和密码\n2. 邮箱验证成功\n3. 创建账号并登录 | P0 | 0.5人天 | - |
|
||||
| US-UM-003 | 作为用户,我可以使用微信快捷登录 | 1. 点击微信登录\n2. 跳转微信授权\n3. 授权成功后自动登录 | P1 | 1人天 | - |
|
||||
| US-UM-004 | 作为用户,我可以上传和裁剪头像 | 1. 选择图片上传\n2. 裁剪图片\n3. 保存头像 | P1 | 0.5人天 | US-UM-001 |
|
||||
| US-UM-005 | 作为用户,我可以修改昵称和个人简介 | 1. 进入个人信息页\n2. 修改昵称/简介\n3. 保存成功 | P1 | 0.5人天 | US-UM-001 |
|
||||
| US-UM-006 | 作为用户,我可以修改密码 | 1. 验证原密码\n2. 输入新密码\n3. 密码修改成功 | P0 | 0.5人天 | US-UM-001 |
|
||||
| US-UM-007 | 作为用户,我可以更换绑定手机号 | 1. 验证原手机号\n2. 输入新手机号\n3. 验证成功并更换 | P1 | 1人天 | US-UM-001 |
|
||||
| US-UM-008 | 作为用户,我可以编辑性别信息 | 1. 进入个人信息页\n2. 选择性别\n3. 保存成功 | P1 | 0.5人天 | US-UM-001 |
|
||||
| US-UM-009 | 作为用户,我可以查看账号设置 | 1. 进入设置页\n2. 查看账号信息\n3. 显示完整配置 | P1 | 0.5人天 | US-UM-001 |
|
||||
| US-UM-010 | 作为系统,我需要加密存储用户密码 | 1. 密码使用 bcrypt 加密\n2. cost factor >= 10\n3. 符合安全标准 | P0 | 1人天 | - |
|
||||
| US-UM-011 | 作为系统,我需要验证Token有效性 | 1. Token 过期时间 7天\n2. 支持 Refresh Token\n3. 验证逻辑正确 | P0 | 1人天 | - |
|
||||
|
||||
**小计**: 11 个故事 | **预估**: 5 人天
|
||||
|
||||
---
|
||||
|
||||
## Epic 2: 收藏与分享 (E-FS)
|
||||
|
||||
**目标**: 允许用户收藏题目并分享学习成果
|
||||
|
||||
### 用户故事列表:
|
||||
|
||||
| ID | 故事描述 | 验收标准 | 优先级 | 预估 | 依赖 |
|
||||
|----|---------|---------|--------|------|------|
|
||||
| US-FS-001 | 作为用户,我可以收藏重要题目 | 1. 点击收藏按钮\n2. 题目加入收藏\n3. 显示收藏成功提示 | P1 | 0.5人天 | E-QZ |
|
||||
| US-FS-002 | 作为用户,我可以为收藏题添加标签 | 1. 编辑收藏题\n2. 添加标签(如"高频考点")\n3. 保存标签 | P1 | 0.5人天 | US-FS-001 |
|
||||
| US-FS-003 | 作为用户,我可以按标签分类查看收藏 | 1. 进入收藏页\n2. 按标签筛选\n3. 显示对应题目 | P1 | 1人天 | US-FS-001 |
|
||||
| US-FS-004 | 作为用户,我可以批量取消收藏 | 1. 选择多个题目\n2. 批量取消收藏\n3. 操作成功 | P1 | 1人天 | US-FS-001 |
|
||||
| US-FS-005 | 作为用户,我可以分享题目到微信 | 1. 点击分享\n2. 选择微信\n3. 跳转微信分享 | P1 | 1人天 | E-QZ |
|
||||
| US-FS-006 | 作为用户,我可以分享学习报告 | 1. 生成学习报告\n2. 点击分享\n3. 分享到社交平台 | P1 | 1人天 | E-QZ |
|
||||
| US-FS-007 | 作为系统,分享内容需自带 APP 入口链接 | 1. 生成分享链接\n2. 包含 APP 参数\n3. 可跳转回 APP | P1 | 1人天 | US-FS-005 |
|
||||
| US-FS-008 | 作为系统,需要支持 QQ/微博分享 | 1. 集成 SDK\n2. 调用分享接口\n3. 分享成功 | P1 | 1人天 | US-FS-005 |
|
||||
|
||||
**小计**: 8 个故事 | **预估**: 3 人天
|
||||
|
||||
---
|
||||
|
||||
## Epic 3: 任务制定 (E-ST)
|
||||
|
||||
**目标**: 帮助用户制定学习计划和提醒
|
||||
|
||||
### 用户故事列表:
|
||||
|
||||
| ID | 故事描述 | 验收标准 | 优先级 | 预估 | 依赖 |
|
||||
|----|---------|---------|--------|------|------|
|
||||
| US-ST-001 | 作为用户,我可以设置每日刷题任务 | 1. 输入题目数量\n2. 设置任务\n3. 任务创建成功 | P0 | 0.5人天 | E-UM |
|
||||
| US-ST-002 | 作为用户,我可以设置学习提醒时间 | 1. 选择提醒时间\n2. 保存设置\n3. 按时推送提醒 | P0 | 1人天 | US-ST-001 |
|
||||
| US-ST-003 | 作为系统,我需要通过手机通知栏推送提醒 | 1. 集成推送服务\n2. 发送通知\n3. 通知显示正确 | P0 | 1人天 | US-ST-002 |
|
||||
| US-ST-004 | 作为用户,我可以标记任务完成 | 1. 完成任务\n2. 标记完成\n3. 进度更新 | P0 | 0.5人天 | US-ST-001 |
|
||||
| US-ST-005 | 作为用户,我可以设置提醒频率 | 1. 选择频率(每天/每周)\n2. 保存设置\n3. 按设置的频率推送 | P1 | 0.5人天 | US-ST-002 |
|
||||
| US-ST-006 | 作为系统,我需要支持定时任务调度 | 1. 任务队列(BullMQ)\n2. 定时触发\n3. 执行推送 | P0 | 1.5人天 | - |
|
||||
| US-ST-007 | 作为用户,我可以查看任务完成情况 | 1. 进入任务页\n2. 查看统计\n3. 显示完成率 | P1 | 0.5人天 | US-ST-001 |
|
||||
| US-ST-008 | 作为用户,我可以编辑任务设置 | 1. 修改任务参数\n2. 保存修改\n3. 更新生效 | P1 | 0.5人天 | US-ST-001 |
|
||||
| US-ST-009 | 作为系统,我需要避免深夜推送(22:00-8:00) | 1. 检查推送时间\n2. 过滤夜间时段\n3. 合理时间推送 | P1 | 0.5人天 | US-ST-003 |
|
||||
| US-ST-010 | 作为用户,我可以暂停/恢复任务提醒 | 1. 暂停提醒\n2. 恢复提醒\n3. 状态正确更新 | P1 | 0.5人天 | US-ST-002 |
|
||||
|
||||
**小计**: 10 个故事 | **预估**: 4 人天
|
||||
|
||||
---
|
||||
|
||||
继续生成其他 Epic...
|
||||
|
||||
---
|
||||
|
||||
## Epic 4: AI 语音抽背 (E-QZ)
|
||||
|
||||
**目标**: 核心功能 - 通过 AI 语音交互进行智能抽背
|
||||
|
||||
### 用户故事列表:
|
||||
|
||||
| ID | 故事描述 | 验收标准 | 优先级 | 预估 | 依赖 |
|
||||
|----|---------|---------|--------|------|------|
|
||||
| US-QZ-001 | 作为用户,我可以选择抽背范围(章节/错题本/收藏) | 1. 进入抽背设置\n2. 选择范围\n3. 确认选择 | P0 | 0.5人天 | E-UM |
|
||||
| US-QZ-002 | 作为用户,我可以设置抽背方式(顺序/随机) | 1. 选择抽背模式\n2. 保存设置\n3. 按设置的顺序抽背 | P0 | 0.5人天 | US-QZ-001 |
|
||||
| US-QZ-003 | 作为用户,我可以设置抽背间隔时间 | 1. 选择间隔(30s/60s/90s)\n2. 保存设置\n3. 按间隔抽背 | P1 | 0.5人天 | US-QZ-001 |
|
||||
| US-QZ-004 | 作为用户,我可以通过语音提问 | 1. 点击麦克风\n2. 说出问题\n3. 语音转文字显示 | P0 | 1人天 | - |
|
||||
| US-QZ-005 | 作为用户,我可以通过文字提问 | 1. 输入文字\n2. 提交问题\n3. 显示问题 | P0 | 0.5人天 | - |
|
||||
| US-QZ-006 | 作为用户,AI 可以即时判断我的答案正误 | 1. 提交答案\n2. AI 判断\n3. 显示正误反馈 | P0 | 2人天 | US-QZ-004 |
|
||||
| US-QZ-007 | 作为系统,我需要将错误内容标记为"待再次抽背" | 1. 检测答案错误\n2. 标记题目\n3. 加入复习队列 | P0 | 1人天 | US-QZ-006 |
|
||||
| US-QZ-008 | 作为用户,我可以调节语音播报语速 | 1. 选择语速(正常/慢速)\n2. 保存设置\n3. 按设置语速播报 | P1 | 0.5人天 | US-QZ-004 |
|
||||
| US-QZ-009 | 作为用户,抽背结束可以查看报告 | 1. 完成抽背\n2. 生成报告\n3. 显示正确率、错误题目、用时 | P0 | 1.5人天 | US-QZ-006 |
|
||||
| US-QZ-010 | 作为系统,我需要基于错误提供复习建议 | 1. 分析错误题目\n2. 生成建议\n3. 显示具体建议 | P0 | 1.5人天 | US-QZ-009 |
|
||||
| US-QZ-011 | 作为系统,我需要计算艾宾浩斯遗忘曲线 | 1. 记录抽背数据\n2. 计算遗忘周期\n3. 准确预测遗忘时间 | P0 | 2人天 | US-QZ-006 |
|
||||
| US-QZ-012 | 作为系统,我需要在遗忘临界点推送提醒 | 1. 计算遗忘时间\n2. 定时检查\n3. 推送提醒 | P0 | 1.5人天 | US-QZ-011 |
|
||||
| US-QZ-013 | 作为用户,我可以查看记忆曲线可视化 | 1. 进入记忆页\n2. 查看曲线\n3. 显示记忆强度变化 | P1 | 1人天 | US-QZ-011 |
|
||||
| US-QZ-014 | 作为用户,我可以查看复习计划日历 | 1. 进入日历页\n2. 查看计划\n3. 显示复习时间安排 | P1 | 1人天 | US-QZ-011 |
|
||||
| US-QZ-015 | 作为用户,我可以自定义提醒时间段 | 1. 设置时间段\n2. 保存设置\n3. 在设置时段推送 | P1 | 0.5人天 | US-QZ-012 |
|
||||
| US-QZ-016 | 作为系统,我需要避免深夜推送 | 1. 检查时间\n2. 过滤22:00-8:00\n3. 合理时间推送 | P1 | 0.5人天 | US-QZ-012 |
|
||||
| US-QZ-017 | 作为系统,管理员可以后台查询抽背记录 | 1. 进入后台\n2. 查询记录\n3. 显示详细数据 | P1 | 1.5人天 | US-QZ-009 |
|
||||
| US-QZ-018 | 作为系统,数据支持导出 Excel | 1. 查询数据\n2. 生成 Excel\n3. 下载文件 | P1 | 1人天 | US-QZ-017 |
|
||||
| US-QZ-019 | 作为系统,数据需要实时同步 | 1. 更新抽背数据\n2. 同步到数据库\n3. 实时显示 | P0 | 1人天 | US-QZ-009 |
|
||||
| US-QZ-020 | 作为用户,我可以查看虚拟人物展示 | 1. 进入抽背页\n2. 显示虚拟人物\n3. 增强亲和力 | P1 | 0.5人天 | - |
|
||||
| US-QZ-021 | 作为用户,我可以查看AI助教引导语 | 1. 进入抽背页\n2. 显示引导语\n3. 明确抽背主题 | P1 | 0.5人天 | - |
|
||||
| US-QZ-022 | 作为用户,我可以看到实时语音转文字 | 1. 说话中\n2. 实时显示文字\n3. 更新内容 | P0 | 1.5人天 | US-QZ-004 |
|
||||
| US-QZ-023 | 作为用户,错误时可以看到正确答案和解析 | 1. 答案错误\n2. 显示正确答案\n3. 显示解析 | P0 | 1人天 | US-QZ-006 |
|
||||
| US-QZ-024 | 作为系统,需要显示错误知识点统计 | 1. 统计错误\n2. 按章节分组\n3. 显示统计图表 | P1 | 1人天 | US-QZ-009 |
|
||||
| US-QZ-025 | 作为用户,我可以查看表现趋势图 | 1. 进入报告页\n2. 查看趋势\n3. 显示正确率曲线 | P1 | 1人天 | US-QZ-009 |
|
||||
| US-QZ-026 | 作为用户,错误题目可点击跳转知识点 | 1. 点击错误题\n2. 跳转知识点\n3. 显示详情 | P1 | 0.5人天 | US-QZ-023 |
|
||||
| US-QZ-027 | 作为系统,需要支持多种抽背模式切换 | 1. 选择模式\n2. 切换模式\n3. 模式生效 | P1 | 1人天 | US-QZ-002 |
|
||||
| US-QZ-028 | 作为系统,需要记忆强度计算算法 | 1. 记录抽背数据\n2. 计算强度\n3. 更新状态 | P0 | 1.5人天 | US-QZ-011 |
|
||||
|
||||
**小计**: 28 个故事 | **预估**: 15 人天
|
||||
|
||||
---
|
||||
|
||||
## Epic 5: 要点背诵 (E-KP)
|
||||
|
||||
**目标**: 通过卡片、挖空、关联试题等方式强化记忆
|
||||
|
||||
### 用户故事列表:
|
||||
|
||||
| ID | 故事描述 | 验收标准 | 优先级 | 预估 | 依赖 |
|
||||
|----|---------|---------|--------|------|------|
|
||||
| US-KP-001 | 作为用户,我可以通过卡片式抽背学习 | 1. 选择卡片模式\n2. 显示卡片\n3. 左右滑动切换 | P0 | 0.5人天 | E-QZ |
|
||||
| US-KP-002 | 作为用户,我可以标记卡片"已记住"/"未记住" | 1. 查看卡片\n2. 标记状态\n3. 自动更新复习列表 | P0 | 0.5人天 | US-KP-001 |
|
||||
| US-KP-003 | 作为用户,我可以通过音频带背学习 | 1. 选择音频模式\n2. 播放音频\n3. 跟随朗读 | P1 | 1人天 | E-QZ |
|
||||
| US-KP-004 | 作为用户,我可以通过挖空填空学习 | 1. 选择挖空模式\n2. 显示挖空题\n3. 填入答案 | P0 | 1人天 | E-QZ |
|
||||
| US-KP-005 | 作为系统,挖空内容在下方显示为选项 | 1. 生成挖空题\n2. 显示选项\n3. 点击填入 | P0 | 1人天 | US-KP-004 |
|
||||
| US-KP-006 | 作为用户,我可以播放原声音频 | 1. 点击播放按钮\n2. 播放音频\n3. 可以暂停/重播 | P1 | 0.5人天 | US-KP-003 |
|
||||
| US-KP-007 | 作为系统,需要支持暂停/重播功能 | 1. 播放音频\n2. 暂停/重播\n3. 功能正常 | P1 | 0.5人天 | US-KP-006 |
|
||||
| US-KP-008 | 作为用户,填入答案后可以即时判断正误 | 1. 填入答案\n2. 判断正误\n3. 显示结果 | P0 | 1人天 | US-KP-004 |
|
||||
| US-KP-009 | 作为用户,我可以查看"看答案"/"隐藏答案" | 1. 查看答案\n2. 隐藏答案\n3. 切换显示 | P1 | 0.5人天 | US-KP-004 |
|
||||
| US-KP-010 | **作为用户,系统推荐关联试题** | 1. 背诵完成\n2. 推荐试题\n3. 点击可跳转 | P0 | **见下文** | E-QZ |
|
||||
| US-KP-011 | **作为系统,需要实现 query_questions 工具** | 1. 接收知识点ID\n2. 查询题库\n3. 返回试题列表 | P0 | **2人天** | - |
|
||||
| US-KP-012 | **作为系统,需要实现 recommend_questions 工具** | 1. 接收用户上下文\n2. AI 分析\n3. 返回推荐试题 | P0 | **3人天** | US-KP-011 |
|
||||
| US-KP-013 | **作为系统,需要实现 generate_question 工具** | 1. 题库不足时触发\n2. AI 生成试题\n3. 返回新试题 | P0 | **3人天** | US-KP-011 |
|
||||
| US-KP-014 | **作为系统,需要实现 submit_answer 工具** | 1. 接收答案\n2. 判断正误\n3. 更新记忆曲线 | P0 | **2人天** | US-KP-010 |
|
||||
| US-KP-015 | **作为系统,需要实现 batch_recommend 工具** | 1. 抽背完成触发\n2. 批量生成练习\n3. 返回练习集 | P1 | **2人天** | US-KP-012 |
|
||||
| US-KP-016 | 作为用户,我可以点击试题跳转到答题页 | 1. 点击试题\n2. 跳转页面\n3. 显示答题界面 | P0 | 0.5人天 | US-KP-010 |
|
||||
| US-KP-017 | 作为用户,我可以查看答题进度(如 4/12) | 1. 答题中\n2. 显示进度条\n3. 更新进度 | P0 | 0.5人天 | US-KP-016 |
|
||||
| US-KP-018 | 作为用户,我可以选择答案(A/B/C/D) | 1. 查看题目\n2. 选择答案\n3. 提交答案 | P0 | 0.5人天 | US-KP-016 |
|
||||
|
||||
**小计**: 18 个故事 | **预估**: 8 人天 |
|
||||
**MCP 工具开发**: 5 个工具 | **预估**: 12 人天 |
|
||||
|
||||
---
|
||||
|
||||
## 🎯 关键技术组件
|
||||
|
||||
### MCP 工具层(新增)
|
||||
|
||||
| 组件 | 描述 | 预估工期 |
|
||||
|------|------|----------|
|
||||
| **query_questions** | 题库查询工具 | 2人天 |
|
||||
| **recommend_questions** | AI 智能推荐工具 | 3人天 |
|
||||
| **generate_question** | AI 生成试题工具 | 3人天 |
|
||||
| **submit_answer** | 答题反馈工具 | 2人天 |
|
||||
| **batch_recommend_by_quiz_history** | 批量推荐工具 | 2人天 |
|
||||
| **MCP 集成层** | 工具编排和调用 | 2人天 |
|
||||
| **小计** | | **14人天** |
|
||||
|
||||
### 基础设施
|
||||
|
||||
| 组件 | 描述 | 预估工期 |
|
||||
|------|------|----------|
|
||||
| 数据库设计 | PostgreSQL + Prisma | 2人天 |
|
||||
| 后端 API | NestJS 框架搭建 | 3人天 |
|
||||
| 前端框架 | Next.js 14 + Tailwind | 3人天 |
|
||||
| AI 集成 | Claude API 接入 | 2人天 |
|
||||
| 部署配置 | Docker + Nginx | 1人天 |
|
||||
| **小计** | | **11人天** |
|
||||
|
||||
---
|
||||
|
||||
## 💰 报价汇总
|
||||
|
||||
### 工作量估算
|
||||
|
||||
| 类别 | 人天 | 占比 |
|
||||
|------|------|------|
|
||||
| 用户故事开发 | 35 | 52% |
|
||||
| MCP 工具开发 | 14 | 21% |
|
||||
| 基础设施 | 11 | 16% |
|
||||
| 测试 & QA | 5 | 7% |
|
||||
| 项目管理 | 2 | 4% |
|
||||
| **总计** | **67** | **100%** |
|
||||
|
||||
### 工期估算
|
||||
|
||||
| 团队规模 | 预估工期 |
|
||||
|---------|----------|
|
||||
| 1 人 | 67 天 (~3.5 个月) |
|
||||
| 2 人 | 45 天 (~2 个月) |
|
||||
| 3 人 | 34 天 (~1.5 个月) |
|
||||
| 5 人 | 25 天 (~1 个月) |
|
||||
|
||||
### 成本报价
|
||||
|
||||
假设费率:¥1,000/人天
|
||||
|
||||
| 类别 | 人天 | 成本(¥) |
|
||||
|------|------|----------|
|
||||
| 功能开发 | 35 | 35,000 |
|
||||
| MCP 工具 | 14 | 14,000 |
|
||||
| 基础设施 | 11 | 11,000 |
|
||||
| 测试 & QA | 5 | 5,000 |
|
||||
| 项目管理 | 2 | 2,000 |
|
||||
| **总计** | **67** | **¥67,000** |
|
||||
|
||||
---
|
||||
|
||||
## 📝 注意事项
|
||||
|
||||
1. **MCP 工具为新增需求**:基于最新需求文档 5.3 节补充
|
||||
2. **混合模式实现**:题库 + AI 生成,确保试题充足
|
||||
3. **AI Agent 核心**:推荐和生成功能依赖 AI 能力
|
||||
4. **记忆曲线集成**:答题结果需实时更新记忆曲线算法
|
||||
5. **技术债务预留**:建议预留 10% 时间处理技术债务
|
||||
|
||||
---
|
||||
|
||||
**文档版本**: v1.0
|
||||
**生成时间**: $(date)
|
||||
**下次更新**: 根据技术评审结果调整
|
||||
Reference in New Issue
Block a user