课程计划模板 · 线索三 · 需求开发与验收 - sebestp/coursewise GitHub Wiki
针对基线需求 + 挑战需求 A–E,能力驱动、节奏不固定。每个需求走同一套流程:发布 → 澄清 → 开发 → 验收。各组开发进度不同,最终做到的需求级数有差异。
发布需求(老师,同时设定「最晚验收日」)
→ 需求澄清(学生 @ 助教提问)
→ 开发实现(学生)
→ 成果验收(学生提交 + 助教校验)
├─ 做得快 → 可随时提前提交
├─ 做得慢 → 最晚验收日前必须完成
└─ 做不完 → 向助教申请延期
→ 有组通过 → 老师发布下一需求(设定新的最晚验收日)
| 子环节 | 谁 | 触发 | 助教动作 |
|---|---|---|---|
| D-N-a 需求发布 | 老师 | 条件满足 | 发布需求到 Wiki + 钉钉群,设定最晚验收日 |
| D-N-b 需求澄清 | 学生+助教 | 学生 @ 提问 | 扮演需求提供方答疑 |
| D-N-c 开发实现 | 学生 | — | 暂不参与(预留扩展点) |
| D-N-d 成果验收 | 学生+助教 | 学生提交 | 五方面校验 + 延期管理 |
step: D<N>-a
line: 需求开发与验收
name: <需求名>·发布
trigger: event # 有组通过前一需求验收后,老师决定发布
participants: [老师]
skill: course-wiki-publish
deadline: <最晚验收日> # 发布时由老师指定发布触发(解锁逻辑):
- 基线需求 D0:引论课老师直接发布
- 挑战需求 D1 起:前一需求列出现第一个 ✅,老师发布下一需求
- 学期末时间不够 → 不再发布新需求(如到 C 截止),各组完成度自然有差异
step: D<N>-b
line: 需求开发与验收
name: <需求名>·需求澄清
trigger: event # 学生 @ 助教提问
participants: [学生, 助教]
skill: requirement-provider- 学生针对当前需求提问,助教扮演需求提供方答疑
- 澄清记录写入课程 Wiki「需求澄清记录」
step: D<N>-c
line: 需求开发与验收
name: <需求名>·开发实现
trigger: null
participants: [学生]
skill: null # 暂不参与,预留后续扩展点step: D<N>-d
line: 需求开发与验收
name: <需求名>·成果验收
trigger: event # 学生提交验收申请
participants: [学生, 助教]
skill: acceptance-verifier
deadline: <最晚验收日>
writeback: 执行表·表3 验收进度矩阵- 识别学生提交的验收申请
- 校验:对照《系统验收标准》五方面(需求/代码/构建/部署/运行)逐项核验
-
回写:通过 → 矩阵标
✅;不通过 → 回写问题清单退回
- 提前提交:学生无需等时间点,做完即可提交
-
最晚验收日 = 截止线:助教在最晚验收日前做一次提醒;逾期未交且未延期 → 标
逾期 - 延期申请:学生直接向助教申请,助教记录延期状态(矩阵里记「延期日」),并在延期日之前提醒一次
- 逾期后提交:过了延期日学生再提交,助教有权拒绝;或需征得老师同意后才能重新允许提交
验收五方面标准见「系统验收标准」页。