[T.7] 团队项目:Alpha 阶段初始任务分配
Alpha 阶段任务分解
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | 2026 年北航软件工程 |
| 这个作业的要求在哪里 | [T.6] 团队项目:技术规格说明书 |
| 我们在这个课程的目标是 | 完整参与一套成熟软件的开发过程,提升自己的工程能力和技术能力 |
| 这个作业在哪个具体方面帮助我实现目标 | 团队分工与落实 |
WBS 总览
工作分解结构
第 0 级为 Alpha 交付;第 1 级为工作包;第 2 级为可分配 Issue 的叶子任务,见第 2 节编号 alpha-xx。
| 0 级 | 1 级工作包 | 2 级概要 |
|---|---|---|
| Alpha | 1. 工程化与部署 | CI、文档、compose、.env、种子数据 |
| 2. 账户与鉴权 | 注册/登录/刷新 后端 + 前端 + Axios | |
| 3. 知识问答:服务端与 RAG | 会话、非流式、RAG 客户端、SSE 代理、RAG 健康、课程与 KB | |
| 4. 知识问答:前端 | 页壳、消息区、流式、侧栏、免责 | |
| 5. 题库只读 | API、bank 页、空态 | |
| 6. 收束与 AIGC 最低验收 | 演示、录屏、手测、线框、AIGC 范围说明、抽检验收、可观测性 |
flowchart TB
R[Alpha 交付物]
R --> P1[1 工程化与部署]
R --> P2[2 账户与鉴权]
R --> P3[3 知识问答 后端 RAG]
R --> P4[4 知识问答 前端]
R --> P5[5 题库只读]
R --> P6[6 收束与 AIGC 最低线]
P1 --> P1a[CI / 联调环境]
P2 --> P2a[Auth API + UI + 拦截器]
P3 --> P3a[会话 聊天 流式 健康 映射]
P4 --> P4a[页面 SSE 侧栏 免责]
P5 --> P5a[Bank API + 页 + 空态]
P6 --> P6a[演示 抽检验 AIGC 文]
子任务清单(WBS 叶子节点)
说明:alpha-xx 为建议 Issue 标题前缀;估时≤8h;依赖为前置任务编号。
工作包 1:工程化与部署
| ID | 子任务 | 估时 h | 依赖 |
|---|---|---|---|
| alpha-01 | 三仓 CI:Backend、RAG 测试与 Frontend 构建通过 | 3 | 无 |
| alpha-02 | 联调说明:端口、.env 必要项、服务启动顺序 |
4 | alpha-01 |
| alpha-03 | 一键起依赖:MySQL、Redis、Backend、RAG 的 compose 或等价 | 8 | alpha-02 |
| alpha-04 | .env.example 与禁止密钥入库的检查项 |
3 | 无 |
| alpha-05 | 测试账号、种子数据:至少 1 门课、对话可写入 | 5 | alpha-03 |
小计 23 h
工作包 2:账户与鉴权
| ID | 子任务 | 估时 h | 依赖 |
|---|---|---|---|
| alpha-06 | 注册:邮箱与密码规则、邮件验证码 | 6 | alpha-05 |
| alpha-07 | 登录与 refresh、统一 ApiResponse 与错误码 | 5 | alpha-06 |
| alpha-08 | 前端注册页、校验与中文错误 | 5 | alpha-06 |
| alpha-09 | 登录页、Pinia auth、路由 guestOnly / requiresAuth | 6 | alpha-07 |
| alpha-10 | Axios 拦截器:401 刷新、失败回登录 | 5 | alpha-09 |
小计 27 h
工作包 3:知识问答 后端、RAG 与流式
| ID | 子任务 | 估时 h | 依赖 |
|---|---|---|---|
| alpha-11 | 会话与消息:创建、列表、删除、与 user 绑定 | 6 | alpha-07 |
| alpha-12 | 非流式:拼 history、RAG POST /v1/chat、落库 |
6 | alpha-11 |
| alpha-13 | RAG HTTP 客户端:超时、非 2xx、解析失败与日志 | 5 | alpha-12 |
| alpha-14 | 后端流式:代理 RAG SSE,断连与结束 | 8 | alpha-13 |
| alpha-15 | RAG 可启动;GET /v1/health;与联调文档一致 |
5 | alpha-03 |
| alpha-16 | course_id 与知识库名在 RAG 请求体可解析 |
4 | alpha-15 |
小计 34 h
工作包 4:知识问答 前端
| ID | 子任务 | 估时 h | 依赖 |
|---|---|---|---|
| alpha-17 | 问答页:课程选择、输入区、空内容拦截 | 5 | alpha-10 |
| alpha-18 | 消息区:用户与助手分栏、基础 Markdown | 6 | alpha-17 |
| alpha-19 | 前端流式:SSE 或流式 fetch,错误提示 | 7 | alpha-14, alpha-18 |
| alpha-20 | 历史会话侧栏:新建、删除、高亮 | 6 | alpha-11, alpha-17 |
| alpha-21 | 模型与引用免责或来源区 | 3 | alpha-19 |
小计 27 h
工作包 5:题库只读
| ID | 子任务 | 估时 h | 依赖 |
|---|---|---|---|
| alpha-22 | 后端 question-bank 只读 | 6 | alpha-05 |
| alpha-23 | 前端 bank:课程 → 试卷 → 详情 |
6 | alpha-22 |
| alpha-24 | 无课、无卷空态与提示 | 3 | alpha-23 |
小计 15 h
工作包 6:收束与 AIGC 最低线
| ID | 子任务 | 估时 h | 依赖 |
|---|---|---|---|
| alpha-25 | 演示 checklist | 3 | 主体可跑 |
| alpha-26 | 录屏 5~10 分钟、备用账号 | 4 | alpha-25 |
| alpha-27 | 主浏览器手测、缺陷表 | 4 | alpha-25 |
| alpha-28 | 全局 5xx/网络错误展示策略 | 5 | 无 |
| alpha-29 | 关键页线框或截图入 docs/ |
4 | 无 |
| alpha-30 | AIGC 与工程范围一页说明、组内评审 | 3 | 无 |
| alpha-31 | 固定用例下回答含预期关键词的抽检验收 | 5 | alpha-12 |
| alpha-32 | 流式首包或总时长可观测 | 4 | alpha-19 |
小计 32 h
| 统计项 | 数值 |
|---|---|
| 子任务条数 | 32 |
| 人时合计 | 158 h |
| 加 15% 管理缓冲后 | 约 182 h |
| 说明 | 人时为串行加总;并行后日历工期可以明显短于 158h,以看板与截止日 5.3 反推排期。 |
项目管理模式与 GitHub 工作流
| 项 | 做法 |
|---|---|
| 任务形态 | 每个 alpha-xx 建 GitHub Issue,Description 中写清估时、依赖 Issue 号、验收条件 |
| 里程碑 | 建 Milestone Alpha-启元知微 |
| 标签 | 建议 alpha、area:frontend / area:backend / area:rag、aigc、blocked |
| 分配 | 下表为首版分配;后续可预分配或改派,PM负责协调与解阻塞 |
| 合并 | PR 使用 Closes #编号 关闭 Issue;需评审的加 review needed |
| 动态调整 | 每周例会对照剩余天数与风险,收缩范围或借调人力需 PM 与相关同学书面确认在 Issue 评论 |
| ID | 负责人 | 估时 h |
|---|---|---|
| alpha-01, 02, 03, 05, 25, 30(与李昊宸共评 30) | 袁子轩 | 26 |
| alpha-04, 06, 22,26,28 | 罗浩宇 | 24 |
| alpha-07, 11, 13, 32 | 李昊霖 | 21 |
| alpha-12, 14, 15, 16, 31 | 李昊宸 | 26 |
| alpha-08, 21, 24, 29 | 刘诗怡 | 21 |
| alpha-09, 19, 23, 27 | 王赫 | 23 |
| alpha-10, 17, 18, 20 | 赵志勇 | 22 |
AIGC 工作说明
-
AIGC 辅助产出的代码,只要逻辑正确、无明显缺陷、通过功能与联调验证、符合团队编码规范,即按正常开发任务计工作量,依团队既有奖励与评分规则估值;不因使用辅助工具而扣减工时,也不因「使用即加分」普调增加工时。
-
交付物须经过功能测试、Code Review 以及必要的自动化检查(如 CI 中的
pytest、类型检查与构建等)。 若出现明显整段复制辅助工具输出、未经本地运行与人工审阅即合入、或与业务不一致的,对该任务基础分扣减 20%;情节严重的由 PM 要求限期整改或回退。 -
凡通过 AIGC 生成或辅助修改的、非零星补全的提交,在 Git 提交信息中必须以
[vibe]作为前缀,便于审查与责任追溯。纯人工思考下书写、仅作语法级提示的,不强制加前缀,但不得为规避该规则而故意拆成多笔小提交。

浙公网安备 33010602011771号