课程计划模板 · 线索三 · 需求开发与验收 - sebestp/coursewise GitHub Wiki

课程计划模板 · 线索三 · 需求开发与验收

针对基线需求 + 挑战需求 A–E,能力驱动、节奏不固定。每个需求走同一套流程:发布 → 澄清 → 开发 → 验收。各组开发进度不同,最终做到的需求级数有差异。

需求流(以挑战A为例)

发布需求(老师,同时设定「最晚验收日」)
  → 需求澄清(学生 @ 助教提问)
  → 开发实现(学生)
  → 成果验收(学生提交 + 助教校验)
      ├─ 做得快 → 可随时提前提交
      ├─ 做得慢 → 最晚验收日前必须完成
      └─ 做不完 → 向助教申请延期
  → 有组通过 → 老师发布下一需求(设定新的最晚验收日)

每个需求的 4 个环节

子环节 谁 触发 助教动作
D-N-a 需求发布 老师 条件满足 发布需求到 Wiki + 钉钉群,设定最晚验收日
D-N-b 需求澄清 学生+助教 学生 @ 提问 扮演需求提供方答疑
D-N-c 开发实现 学生 — 暂不参与(预留扩展点)
D-N-d 成果验收 学生+助教 学生提交 五方面校验 + 延期管理

D-N-a · 需求发布

step: D<N>-a
line: 需求开发与验收
name: <需求名>·发布
trigger: event          # 有组通过前一需求验收后,老师决定发布
participants: [老师]
skill: course-wiki-publish
deadline: <最晚验收日>   # 发布时由老师指定

发布触发(解锁逻辑):

  • 基线需求 D0:引论课老师直接发布
  • 挑战需求 D1 起:前一需求列出现第一个 ✅,老师发布下一需求
  • 学期末时间不够 → 不再发布新需求(如到 C 截止),各组完成度自然有差异

D-N-b · 需求澄清

step: D<N>-b
line: 需求开发与验收
name: <需求名>·需求澄清
trigger: event          # 学生 @ 助教提问
participants: [学生, 助教]
skill: requirement-provider
  • 学生针对当前需求提问,助教扮演需求提供方答疑
  • 澄清记录写入课程 Wiki「需求澄清记录」

D-N-c · 开发实现

step: D<N>-c
line: 需求开发与验收
name: <需求名>·开发实现
trigger: null
participants: [学生]
skill: null            # 暂不参与,预留后续扩展点

D-N-d · 成果验收(助教核心环节)

step: D<N>-d
line: 需求开发与验收
name: <需求名>·成果验收
trigger: event          # 学生提交验收申请
participants: [学生, 助教]
skill: acceptance-verifier
deadline: <最晚验收日>
writeback: 执行表·表3 验收进度矩阵

助教动作(acceptance-verifier)

  1. 识别学生提交的验收申请
  2. 校验:对照《系统验收标准》五方面(需求/代码/构建/部署/运行)逐项核验
  3. 回写:通过 → 矩阵标 ✅;不通过 → 回写问题清单退回

延期管理(最晚验收日规则)

  • 提前提交:学生无需等时间点,做完即可提交
  • 最晚验收日 = 截止线:助教在最晚验收日前做一次提醒;逾期未交且未延期 → 标 逾期
  • 延期申请:学生直接向助教申请,助教记录延期状态(矩阵里记「延期日」),并在延期日之前提醒一次
  • 逾期后提交:过了延期日学生再提交,助教有权拒绝;或需征得老师同意后才能重新允许提交

验收五方面标准见「系统验收标准」页。

⚠️ **GitHub.com Fallback** ⚠️