Files
xiaotutongxue/docs/02-需求追溯矩阵.md
T
lovife 63aec55329 docs: 产品文档与交互原型(P1-P7 交付物)
一期范围:学校收集 + 自主认定(4 类材料全部有实测样本)
- 主 PRD 190KB:125 条 FR / 21 条 VAL / 20 张表 DDL / 121 个接口
- 功能逻辑卷 88KB:不含代码模块
- 接口设计 116KB:58 个错误码 / 12 个 VO
- 核心模块设计:M1 命名 / M2 压缩 / M3 识别 / M4 门禁 / M5 校验 / M6 导出
- 开发任务拆解:100 任务 / 387 人日 / 15 周
- 验收测试清单:36 条 Golden 断言 / 111 条功能验收
- PostgreSQL DDL:已在 PG 16.15 实测零错误
- 交互原型 31 屏:学生端 11 / 班主任端 9 / 管理端 11
2026-09-28 16:19:19 +08:00

165 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 需求追溯矩阵(自审报告)
> 用途:把 PRD 的每条需求对上「**原型 / 库表 / 接口 / 验收**」四个交付面,找出**说了没做**和**做了没说**。
> 生成日期:2026-09-28
> 审计范围:**125 条 FR**(92 P0 / 30 P1 / 3 P2)+ **21 条 VAL 校验规则** + **121 个接口** + **20 张表**
> 结论:**主流程全覆盖。第三节的 10 个接口缺口已于 P3 补齐(共新增 21 个接口);配置类页面缺口见 3.2**
---
## 一、总览
| 模块 | 条数 | P0 | 库表 | 接口 | 原型 | 判定 |
|---|:--:|:--:|:--:|:--:|:--:|:--:|
| FR-100 租户与组织 | 5 | 5 | ✅ | ✅ | ❌ | ⚠️ 缺平台运营端原型 |
| FR-200 账号与角色 | 6 | 5 | ✅ | ✅ | ❌ | ⚠️ 缺登录页与用户管理页 |
| FR-300 收集任务 | 12 | 9 | ✅ | ✅ | ⚠️ | ✅ 暂停接口已补(P3) |
| FR-400 动态表单 | 8 | 6 | ✅ | ✅ | ❌ | ⚠️ **缺表单设计器原型** |
| FR-500 名单管理 | 24 | 21 | ✅ | ✅ | ✅ | ✅ **全覆盖**(含客户确认新增的 FR-509 系列 10 条) |
| FR-600 材料与规则 | 23 | 18 | ✅ | ✅ | ⚠️ | ✅ 识别结果已并入审核详情(P3) |
| FR-800 审核工作台 | 10 | 7 | ✅ | ✅ | ✅ | ✅ 撤回接口已补(P3) |
| FR-900 汇总导出 | 10 | 8 | ✅ | ✅ | ✅ | ✅ **全覆盖** |
| FR-1000 通知催报 | 6 | 4 | ✅ | ✅ | ⚠️ | ✅ 消息中心与额度已补(P3) |
| FR-1100 数据看板 | 5 | 2 | ✅ | ✅ | ✅ | ✅ **全覆盖** |
| FR-1200 系统管理 | 6 | 5 | ⚠️ | ✅ | ❌ | ⚠️ 接口已补(P3),原型仍缺 |
| FR-1300 SaaS 计费 | 4 | 2 | ⚠️ | ⚠️ | ❌ | ⚠️ 缺平台运营端 |
| FR-1400 历史整理器 | 6 | 0 | ✅ | ❌ | ❌ | ❌ **三面全缺**(P1,本轮未做) |
| **FR-700 校验引擎** | — | — | ✅ | ✅ | ✅ | ✅ 以 VAL-01~21 实现,三端均有体现 |
**图例**:✅ 完整覆盖 ⚠️ 部分覆盖 ❌ 未覆盖
---
## 二、覆盖亮点(这些是逐条核对过的)
| 能力 | 库表 | 接口 | 原型 | 备注 |
|---|:--:|:--:|:--:|---|
| **名单即预填报名表(18 业务列)** | ✅ | ✅ | ✅ | 已在 PG 16 实测;管理端③可视化呈现 |
| **门禁核验(含限流防枚举)** | ✅ | ✅ | ✅ | 学生端①②③;统一失败提示已实现 |
| **命名规范化引擎** | ✅ | ✅ | ✅ | 管理端②**试跑闸门**;学生端⑦结果卡 |
| **压缩引擎(五档 + 内存保护)** | ✅ | ✅ | ✅ | 实测 28/28 达标;管理端⑦报压缩率 |
| **材料识别(四层递进)** | ✅ | ✅ | ✅ | 学生端⑧;识别结果已并入审核详情响应 |
| **批量通过只带绿色项** | ✅ | ✅ | ✅ | 班主任端④ + ⑨(滑动层灰化) |
| **导出前置检查(禁止带问题打包)** | ✅ | ✅ | ✅ | 管理端⑦**禁用导出按钮** |
| **报考范围聚合与体检** | ✅ | ✅ | ✅ | 管理端④;plan-scope 接口已补 |
| **汇总 Excel 与目录树** | ✅ | ✅ | ✅ | 管理端⑦目录树预览 |
---
## 三、发现的缺口
### 3.1 接口缺口(**已在 P3 全部补齐**,共新增 21 个)
> 这些是"原型/PRD 里承诺了,但接口表里没有"的。放在 P3 接口设计里一并补齐。
| # | 缺口 | 对应需求 | 影响 | 建议接口 |
|:--:|---|---|---|---|
| I1 | **报考范围读取与确认** | FR-307~311 | 管理端④整屏无数据来源 | `GET/PUT /api/v1/tasks/{id}/plan-scope` |
| I2 | **历史数据整理器** | FR-1401~1406 | §5.14 六条需求**完全无接口** | `POST /api/v1/cleanup/jobs` 等 5 个 |
| I3 | **字典管理** | FR-1201 | 学历/等级/补考科目等下拉项无法维护 | `GET/POST/PUT /api/v1/dicts` |
| I4 | **操作日志** | FR-1202 | 审计留痕无法查询 | `GET /api/v1/logs/operations` |
| I5 | **登录日志** | FR-1203 | 同上 | `GET /api/v1/logs/logins` |
| I6 | **消息中心** | FR-1004~1005 | 学生端/教师端"消息"屏无数据来源 | `GET /api/v1/mp/messages`、`/mp/teacher/messages` |
| I7 | **订阅额度登记** | R12 对策 | 功能逻辑卷写 `/mp/subscribe`,**主 PRD 接口表漏登记** | `POST /api/v1/mp/subscribe` |
| I8 | **审核撤回** | FR-808、原型 | 原型承诺"终审前可撤回",无接口 | `POST /api/v1/audit/submissions/{id}/revoke` |
| I9 | **任务暂停/恢复** | FR-301 | FR 要求"发布、**暂停**、截止、归档",只有 publish/close/archive | `POST /api/v1/tasks/{id}/pause`、`/resume` |
| I10 | **材料识别结果读取** | FR-614d | 审核辅助要显示"系统判定:身份证 92%",无处取 | 并入 `GET /api/v1/audit/submissions/{id}` 响应 |
> **合计 10 项,已在 P3 全部补齐**:I10 并入审核详情响应,其余新增 20 个接口(含 1 项登记遗漏 `/mp/files/{fileId}/process`)
### 3.2 原型缺口(管理端 10 个页面;**其中 3 个已在 P2.5 补齐**)
> 本轮原型聚焦"**高频主流程 + 设计难点**",配置类页面未出。这不是遗漏,是优先级取舍,但需要明确记录,避免开发以为"不用做"。
| # | 页面 | 对应需求 | 复杂度 | 建议 |
|:--:|---|---|:--:|---|
| P1 | **表单设计器** | FR-401~408 | 高 | ⚠️ **必须补**——拖拽式字段编排是 P0,且交互复杂,光靠文字描述开发必理解偏 |
| P2 | **材料规则配置**(命名模板编辑器) | FR-601~609 | 高 | ⚠️ **建议补**——管理端②只做了"试跑",配置界面本身没画 |
| P3 | 历史数据整理器 | FR-1401~1406 | 中 | 建议补(差异化获客功能,客户演示时最吸睛) |
| P4 | 登录页 | FR-201 | 低 | 可略 |
| P5 | 组织与用户管理 | FR-103、203~206 | 中 | 可略(标准 CRUD) |
| P6 | 任务列表与详情 | FR-301~306 | 中 | 建议补简版(克隆、二维码、暂停) |
| P7 | 通知模板管理 | FR-1001~1002 | 低 | 可略 |
| P8 | 字典管理 | FR-1201 | 低 | 可略 |
| P9 | 操作日志查询 | FR-1202~1203 | 低 | 可略 |
| P10 | 平台运营端(租户/套餐/计费) | FR-101~102、1301~1304 | 中 | 建议二期做(一期客户是学校,不关心平台运营) |
### 3.3 需求条目本身的核查
> 审计过程中发现 4 个疑似问题,逐条核实后 **3 个是统计脚本的正则缺陷(不是文档缺陷)**,仅 1 个为真实待办。
| # | 疑似问题 | 核实结论 | 处理 |
|:--:|---|---|---|
| D1 | FR-614 主条目编号缺位 | ❌ **假警报**——FR-614 在 §5.6 存在(脚本未匹配**加粗编号**写法) | 无需处理 |
| D2 | FR-608 未出现在抽取结果 | ❌ **假警报**——同上,且其优先级格含补充说明文字 | 无需处理 |
| D3 | FR-1000 模块分级计数与条数不符 | ❌ **假警报**——1001~1004 为 P0、1005 为 P1、1006 为 P2,相加正确 | 无需处理 |
| **D4** | **「压缩质量抽检机制」在功能逻辑卷有详述,主 PRD 无独立 FR** | ✅ **真实**——PRD 仅在 §6.3 与验收标准中提及,未立为需求条目 | 🟡 **补 FR-616**:清晰度分级标记与抽检机制(P1) |
> **教训**:脚本审计前必须先验证脚本本身。本次若直接采信 D1~D3,会在文档里"修"三个不存在的问题,反而引入错误。
### 3.4 已闭环(无需处理)
| 项 | 状态 |
|---|---|
| 报考范围来自名单(不存在计划文件) | ✅ 已澄清并改设计 |
| DDL 在 PG 16 实测 | ✅ 零错误 |
| 压缩参数实测标定 | ✅ 300dpi/q85,28/28 达标 |
| 材料来源三通道(无拍照) | ✅ 已实现并出原型 |
| 滑动交互规则 | ✅ 只右滑通过 |
---
## 四、结论与行动
### 覆盖度小结
```
主流程(填报→审核→导出) ████████████████████ 100%
规则引擎(命名/压缩/识别) ████████████████████ 100%
配置类页面 ██████░░░░░░░░░░░░░░ 30%
平台运营 ░░░░░░░░░░░░░░░░░░░░ 0%
历史整理器 ░░░░░░░░░░░░░░░░░░░░ 0%(仅库表)
```
### 必须行动的 3 项
| 优先级 | 行动 | 归属 |
|:--:|---|---|
| ✅ 已完成 | ~~补 10 个缺失接口(3.1)~~ | → **P3 已完成(新增 21 个)** |
| ✅ 已完成 | ~~补**表单设计器**原型(3.2 P1)~~ | → **P2.5 已完成** |
| ✅ 已完成 | ~~补**材料规则配置**原型(3.2 P2)~~ | → **P2.5 已完成** |
| ✅ 已完成 | ~~补 **FR-616**「清晰度分级标记与抽检机制」~~ 及 **VAL-18~20** 三条校验规则 | → 已补入 PRD |
### 对计划的调整
发现了一个原计划未覆盖的缺口,**追加为 P2.5**:
| # | 任务 | 产出 | 理由 |
|---|---|---|---|
| **P2.5** | **管理端补充原型**:表单设计器 + 材料规则配置 + 整理器 | 补充到 `admin-web.html` | 追溯矩阵发现的缺口,三者都是**复杂交互、不画会理解偏**的页面 |
---
## 附录 · 完整需求索引(115 条)
| 模块 | 编号范围 | 条数 | 备注 |
|---|---|:--:|---|
| FR-100 | FR-101 ~ 105 | 5 | 全 P0 |
| FR-200 | FR-201 ~ 206 | 6 | 含 FR-202 小程序登录 |
| FR-300 | FR-301 ~ 312 | 12 | 含 FR-307~311 报考范围 |
| FR-400 | FR-401 ~ 408 | 8 | 全为表单引擎 |
| FR-500 | FR-501 ~ 509 | **24** | 含 502a/b、504a~d、**509a~i(客户确认新增 10 条)** |
| FR-600 | FR-601 ~ 616 | 23 | 含 601a/b、614a~e(**编号连续,无跳号**) |
| FR-800 | FR-801 ~ 810 | 10 | 审核 |
| FR-900 | FR-901 ~ 910 | 10 | 导出 |
| FR-1000 | FR-1001 ~ 1006 | 6 | 通知 |
| FR-1100 | FR-1101 ~ 1105 | 5 | 看板 |
| FR-1200 | FR-1201 ~ 1206 | 6 | 系统管理 |
| FR-1300 | FR-1301 ~ 1304 | 4 | 计费 |
| FR-1400 | FR-1401 ~ 1406 | 6 | 整理器 |
| **合计** | | **125** | **92 P0 / 30 P1 / 3 P2** |
**校验规则**:VAL-01 ~ VAL-21(21 条,编号连续;18~20 为 P4 补充,**21 为客户确认后补充的归属校验**)
**接口**:**121 个已定义**(原 96 + 补齐 21 + 客户确认新增 5 − 客户要求移除 1,见 `03-接口设计.md`)
**库表**:**20 张**完整 DDL + 4 张"从略"标准表