PRD-SAMPLE · 批量作业批改 - V0.5

状态:Draft | Frozen(待定) · 本页与 PRD-MD 严格 1:1,不压缩 · 配套:PRD-SAMPLE-测试用例

1. 综述

1.1 项目背景与核心问题

教师在 POC 阶段需要批量批改英语单词作业。当前流程为逐张人工核对,单批 20 张需 30 分钟以上,且标准答案录入易出错。本需求提供一个一站式页面:一次性上传多张作业图片、录入标准答案、配置批改模型与权重,触发批量批改并跳转监控视图,把单批操作压缩到分钟级,并把配置错误在提交前拦截掉。

1.2 用户旅程地图

  1. 阶段一:任务提交 - 用户在单页完成图片上传与标准答案录入,配置批改参数并触发批量批改任务。
  2. 阶段二:任务监控 - 用户在监控视图实时查看批改进度与逐张结果,对失败项发起重试。

1.3 流程/状态/时序图

1.3.1 用户操作流(必填)

flowchart TD
  A["开始:用户进入批量任务页"] --> B["上传图片 + 录入标准答案"]
  B --> C{"校验:数量 / 体积 / 序号连续性"}
  C -->|全部通过| D["激活 #quot;开始批改#quot; 并创建任务"]
  C -->|失败 / 异常| E["输入框下方提示具体错误,禁用提交"]
  D --> F["跳转任务监控视图"]
  E --> B
  F --> G["结束"]
查看 Mermaid 源码
flowchart TD
  A[开始:用户进入批量任务页] --> B[上传图片 + 录入标准答案]
  B --> C{校验:数量/体积/序号连续性}
  C -->|全部通过| D[激活"开始批改"并创建任务]
  C -->|失败/异常| E[输入框下方提示具体错误,禁用提交]
  D --> F[跳转任务监控视图]
  E --> B
  F --> G[结束]

1.3.2 状态机(当存在明确状态流转对象时必填)

stateDiagram-v2
  [*] --> 草稿
  草稿 --> 已提交: 点击开始批改
  已提交 --> 处理中: 系统开始批改
  处理中 --> 成功: 全部批改完成
  处理中 --> 失败: 存在批改失败项
  失败 --> 已提交: 用户对失败项重试
  成功 --> [*]
查看 Mermaid 源码
stateDiagram-v2
  [*] --> 草稿
  草稿 --> 已提交: 点击开始批改
  已提交 --> 处理中: 系统开始批改
  处理中 --> 成功: 全部批改完成
  处理中 --> 失败: 存在批改失败项
  失败 --> 已提交: 用户对失败项重试
  成功 --> [*]

1.3.3 关键场景时序(仅当“时序/并发/重试/超时”影响用户可见结果时填写)

sequenceDiagram
  participant U as 用户
  participant A as App/前台
  participant S as 批改系统

  U->>A: 点击"开始批改"
  A->>S: 提交批量批改任务(图片集 + 标准答案)
  alt 成功
    S-->>A: 返回任务ID与初始状态"处理中 0/N"
    A-->>U: 跳转监控页,展示"处理中 0/N"
  else 失败/异常
    S-->>A: 返回失败原因(如超出批量上限)
    A-->>U: 弹窗提示并保留已填数据供调整
  end
查看 Mermaid 源码
sequenceDiagram
  participant U as 用户
  participant A as App/前台
  participant S as 批改系统

  U->>A: 点击"开始批改"
  A->>S: 提交批量批改任务(图片集 + 标准答案)
  alt 成功
    S-->>A: 返回任务ID与初始状态"处理中 0/N"
    A-->>U: 跳转监控页,展示"处理中 0/N"
  else 失败/异常
    S-->>A: 返回失败原因(如超出批量上限)
    A-->>U: 弹窗提示并保留已填数据供调整
  end

2. 用户故事

US-01
作为 POC 测试用户,我希望上传多张作业图片并配置批改参数,以便一次性发起批量批改任务。
价值陈述
  • 作为 POC 测试用户
  • 我希望 在一个页面完成图片上传与标准答案录入
  • 以便于 用最少的操作触发批量批改并减少配置错误
业务规则与逻辑
  1. 前置条件:用户已登录;系统已加载可用的批改模型列表。
  2. 操作流程 (Happy Path):
    1. 用户从导航栏进入“批量任务”页面。
    2. 左侧“拖拽上传区”选择≤20张、单张≤10MB的图片;文件列表实时展示,支持单项删除。
    3. 右侧“多行输入框”按“序号. 单词”格式录入标准答案,系统即时校验序号连续性和英文字符合法性。
    4. 用户选择批改模型(默认项)、是否启用“智能终审”、以及批改权重模板(从下拉框加载)。
    5. 所有校验通过后,“开始批改”按钮激活;点击后创建任务,页面跳转到任务监控视图。
  3. 异常处理 (Error Handling):
    • 图片体积 >10MB 或扩展名不在白名单时,系统拒绝并提示“请压缩后重试”。
    • 标准答案校验失败时,在输入框下方显示具体错误(如“第3行缺少序号”),并禁用提交按钮。
    • 创建任务失败且提示为“超出批量上限”时,弹窗提醒“批次上限为20张”,保留已填数据供用户调整。
  4. 性能与容量提示:单次提交最多20张图片,总体积≤150MB;点击“开始批改”后应在合理时间内给出明确反馈;失败后支持重试并尽量减少用户重复操作。
验收标准

场景1: 成功提交

  • GIVEN 我上传了10张图片并输入合法标准答案
  • WHEN 我点击“开始批改”
  • THEN 系统应跳转到监控页,显示任务状态为“处理中 0/10”。

场景2: 超出批量上限

  • GIVEN 我尝试上传第21张图片
  • WHEN 系统完成校验
  • THEN 上传被拒绝,提示“单次批改最多20张”,已上传列表保持不变。
页面布局线框图
+-------------------------------------------------------------+
| 批量任务创建                                                |
+==============================+==============================+
| 图片上传 (Drag & Drop)       | 标准答案 (多行输入)          |
| - hw_001.jpg   [删除]        | 1. apple                     |
| - hw_002.jpg   [删除]        | 2. banana                    |
| ...                          | ...                          |
+------------------------------+------------------------------+
| 批改模型: [ 默认 v ]  智能终审: [✓]  权重模板: [ 默认 v ]      |
| [ 取消 ]                                   [ 开始批改 ]      |
+-------------------------------------------------------------+
US-02
作为 POC 测试用户,我希望实时查看批改进度并对失败项重试,以便确认批量结果并补救个别异常。
价值陈述
  • 作为 POC 测试用户
  • 我希望 在监控视图看到逐张批改进度与结果
  • 以便于 第一时间发现失败项并仅对失败项发起重试,而不必整批重跑
业务规则与逻辑
  1. 前置条件:US-01 已成功创建任务并跳转至监控视图。
  2. 操作流程 (Happy Path):
    1. 监控视图轮询任务状态,顶部进度条显示“处理中 m/N”。
    2. 列表逐张展示结果:成功项标“已批改”,失败项标“失败”并附原因。
    3. 全部完成后,状态变为“成功”,提供导出结果入口。
  3. 异常处理 (Error Handling):
    • 个别图片识别失败时,该项状态置“失败”,提供“重试本项”按钮,不影响其它项。
    • 轮询接口连续 3 次超时,顶部提示“连接不稳定,正在重连”,保留已展示进度。
验收标准

场景1: 全部成功

  • GIVEN 我提交了10张图片的批改任务
  • WHEN 全部10张批改完成
  • THEN 顶部状态显示“成功 10/10”,并出现“导出结果”入口。

场景2: 单项失败重试

  • GIVEN 第3张图片批改失败并标“失败”
  • WHEN 我点击该项“重试本项”
  • THEN 仅第3项重新进入“处理中”,其余9项结果保持不变。
本页给人查阅,全部内容来自 PRD-MD,仅翻译排版、未增删事实。Mermaid 图浏览器内渲染,源码原文在「查看 Mermaid 源码」内完整保留。