Skip to content

团队分工

1. 分工原则

  • 每人至少负责一个核心需求,并能说明对应需求、设计、接口、实现和测试证据。
  • 每人至少负责四个模块或子模块;每个成员的主要功能清单不少于五项。
  • 每个产品模块必须有明确主责人、协作人和验收复核人,避免“有人参与但无人兜底”。
  • 文档负责人必须同时承担对应模块的实现、联调或测试责任,避免只写不做。
  • 课程主链路、权限边界、数据持久化、异常反馈、文档和答辩材料都纳入分工覆盖范围。

2. 覆盖检查口径

本分工按以下材料逐项检查,不只按页面或代码目录拆分:

检查维度必须覆盖的内容
产品模块平台配置与组织、身份认证与授权、课程与成员、任务与评分规则、提交与在线作业、自动评测与隔离执行、环境型实验、人工批改与成绩、通知与公告、运营概览与审计
SRS 功能需求FR-CFG-*FR-IAM-*FR-CRS-*FR-TSK-*FR-SUB-*FR-JDG-*FR-REV-*FR-NTF-*FR-OPS-*
Web 终端实验REPORT 实验、TERMINAL 实验、环境模板、学生实验会话、连接 token、WebSocket 终端、fake runtime、Kubernetes runtime、会话回收
稳定 API 域认证接口、平台治理接口、课程接口、作业与题库接口、提交/工作区/评测接口、批改与成绩接口、实验接口、通知接口、审计接口
非功能需求易用性、性能、可靠性、安全、隐私、兼容性、可观测性、部署与演示稳定性
验收证据单元/集成测试、真实前后端联调、Playwright MCP 真实浏览器证据、文档构建、部署彩排、三次全链路彩排

检查结论:当前 6 人分工覆盖全部 P0 主链路和 P1 已落地增强点;Web 终端实验 单独由成员 F 主责,不再混入“在线 IDE”或普通实验报告模块。

3. 成员信息与总览

真实姓名、学号和 GitHub 用户名在提交课程材料前补齐;补齐前使用成员代号作为唯一责任标识。

成员姓名 / 学号 / GitHub核心主责协作与复核责任
成员 A待补平台治理、IAM、审计、安全基线复核全系统权限边界和审计留痕
成员 B待补课程、教学班、成员、课程内容复核课程作用域、班级功能开关和教学数据边界
成员 C待补作业、题库、任务规则、教师端作业流复核作业配置与提交/评测/成绩的上游契约
成员 D待补提交、在线 IDE 工作区、自动评测、go-judge复核代码运行、正式提交、评测报告和重评链路
成员 E待补人工批改、成绩册、通知、运营统计复核成绩可见性、发布通知和教学闭环
成员 F待补实验与实验在线终端、部署联调、验收证据复核实验域、Web 终端、运行环境和演示可用性

4. 每人详细分工检查

4.1 成员 A:平台治理、IAM 与审计

项目分工内容
核心需求平台初始化、组织治理、用户治理、认证会话、授权控制、审计留痕
负责模块 / 子模块平台配置、组织结构、用户与教务画像、作用域身份、账号生命周期、认证会话、RBAC + ABAC、审计日志
主要功能平台名称 / Logo / 主题 / 模块开关配置;学校 / 学院 / 课程 / 开课 / 班级治理层级维护;用户创建、批量导入、分页查询和详情查看;多作用域身份分配;账号启用、停用、锁定、解锁、会话强制失效;登录、刷新 token、退出、撤销 token;受保护接口鉴权与越权拦截;登录、配置、导入、权限变更审计
覆盖需求FR-CFG-01 ~ FR-CFG-07FR-IAM-01 ~ FR-IAM-06FR-OPS-03NFR-SEC-*NFR-OBS-*
API 与数据auth-api.mdplatform-admin-api.mdplatform_configsorg_unitsusersauth_sessionsuser_scope_rolesaudit_logs
测试与验收管理员配置平台;组织树非法层级拒绝;用户导入逐行错误;越权管理员返回 403;退出和强制失效后旧会话不可用;审计日志可检索
文档责任维护平台治理、IAM、审计、安全和错误码相关文档;答辩说明权限模型和安全边界

4.2 成员 B:课程、教学班与课程内容

项目分工内容
核心需求从课程模板到开课实例、教学班、成员、公告、讨论、资源的课程运行基础
负责模块 / 子模块学期、课程模板、开课实例、跨学院管理、教学班、课程成员、班级功能开关、课程公告、课程讨论、课程资源、我的课程
主要功能学期与课程模板创建 / 查询;开课实例创建、跨学院共同管理和详情查看;教学班创建和 CLASS 组织节点同步;教师 / 整课助教批量添加课程成员;CSV 导入既有用户为课程成员;同一用户跨班多身份支持;公告、讨论、资源按开课或教学班定向投放;学生按班级查看可见公告 / 讨论 / 资源;班级功能开关拦截对应入口
覆盖需求FR-CRS-01 ~ FR-CRS-08、课程侧 FR-NTF-03NFR-USE-02NFR-SEC-01
API 与数据courses-api.mdacademic_termscourse_catalogscourse_offeringsteaching_classescourse_memberscourse_announcementscourse_discussionscourse_resources
测试与验收教师可建班和导入成员;学生不能自主选课;整课助教可管理成员;班级助教只能查看授权班级;关闭公告 / 讨论 / 资源功能后学生入口被拒绝;Markdown 内容安全渲染
文档责任维护课程接口、课程业务规则、用户手册中课程与资源章节;答辩说明课程作用域如何支撑下游作业、实验和成绩

4.3 成员 C:作业、题库与任务规则

项目分工内容
核心需求教师创建任务、维护题库与试卷结构、配置提交和评分规则,并把作业发布给学生
负责模块 / 子模块作业生命周期、作业列表与详情、题库题目、试卷分节、题型配置、编程题配置、提交规则、评分方式、发布 / 关闭控制、作业 Markdown 阅读区
主要功能教师创建作业草稿;维护标题、Markdown 说明、附件、样例和模板代码;配置开放时间、截止时间、最大提交次数和允许提交形式;配置自动评测 / 人工批改 / 混合评分;维护单选、多选、简答、文件上传、编程题;配置编程题语言、入口文件、模板文件和隐藏测试点;发布、关闭作业并保留关键变更记录;学生和教师侧作业列表只返回摘要,详情接口返回完整题面
覆盖需求FR-TSK-01 ~ FR-TSK-07、作业入口相关 FR-SUB-01FR-SUB-06NFR-USE-01NFR-CMP-*
API 与数据assignments-api.mdassignments、作业 paper 快照、题库题目、assignment question 快照、编程题 judge 配置
测试与验收作业草稿可保存;发布后学生可见;未开放或已关闭作业禁止提交;题型配置校验完整;编程题配置能被提交和评测模块消费;列表不泄露完整答案裁剪和隐藏配置
文档责任维护作业与题库接口、任务规则说明、教师端用户手册作业章节;答辩说明作业配置如何驱动提交、评测和成绩

4.4 成员 D:提交、在线 IDE 工作区与自动评测

项目分工内容
核心需求学生在浏览器内编辑 / 运行 / 保存编程题,从作业详情页正式提交,系统异步评测并返回结构化结果
负责模块 / 子模块在线 IDE 工作区、目录树文件操作、工作区修订、附件上传、正式提交、提交历史、样例运行、正式评测、RabbitMQ 队列、go-judge 适配、评测报告、重评、评测环境模板
主要功能初始化编程题模板工作区;保存入口文件、目录树源码、目录列表、附件和最近 stdin;新建 / 更新 / 重命名 / 删除文件或目录;查看、恢复历史修订和重置模板;从作业详情页创建整份正式提交;提交时间窗、格式、大小、次数校验;提交生成唯一编号并写审计;样例运行返回 stdout / stderr / 退出状态 / 资源摘要;正式提交自动创建 judge job 并入队;go-judge 编译 / 运行 / 结果归一化;对象化保存详细评测报告和源码快照;教师重排队和下载报告
覆盖需求FR-SUB-01 ~ FR-SUB-09FR-JDG-01 ~ FR-JDG-08NFR-PERF-02NFR-PERF-03NFR-PERF-06NFR-PERF-07NFR-REL-01NFR-REL-03NFR-SEC-02
API 与数据提交 / 工作区 / 评测稳定接口、submissionssubmission_answerssubmission_artifactsprogramming_workspacesprogramming_workspace_revisionsprogramming_sample_runsjudge_jobsjudge_environment_profiles
测试与验收IDE 内保存不生成正式提交;正式提交只能从作业详情页触发;多标签页旧修订保存返回冲突;超时或次数超限提交被拒绝;样例运行不影响成绩;正式评测生成报告;学生只能查看自己的提交和评测;教师可重评授权课程提交
文档责任维护提交、在线 IDE、评测、判题与沙箱文档;答辩说明“在线 IDE 不提供终端”,代码运行和正式评测均通过隔离执行链路完成

4.5 成员 E:人工批改、成绩册、通知与运营统计

项目分工内容
核心需求教师 / 助教完成批改和成绩发布,学生按发布状态查看反馈,关键事件通过通知触达
负责模块 / 子模块人工批改、批量调分、CSV 导入导出、assignment 成绩发布 / 重新发布、教师成绩册、教学班成绩册、单学生成绩册、学生成绩册、统计报告、通知中心、未读数、SSE / 轮询、课程级运营概览
主要功能教师和助教对简答 / 文件 / 编程题写入分数与反馈;校验分数范围和助教作用域;发布成绩前扫描待批改 / 待评测项;发布和重新发布成绩并写审计;学生发布前看不到人工分和反馈;教师按开课、班级、单学生查看成绩册;成绩册导出 CSV;统计报告返回通过率、五档分布和班级对比;通知列表、未读数、标记已读和 SSE 实时通道;提交受理、评测完成、成绩发布、实验发布、实验报告评阅事件通知
覆盖需求FR-REV-01 ~ FR-REV-09FR-NTF-01 ~ FR-NTF-04FR-OPS-01FR-OPS-02FR-OPS-04NFR-PRV-02NFR-OBS-*
API 与数据grading-api.mdnotifications-api.md、成绩册接口、通知接口、submission_answersassignments.grade_published_atcourse_membersnotificationsaudit_logs
测试与验收未发布人工分不对学生泄露;待批改或待评测时拒绝发布;重新发布保留首发时间并通知受影响学生;班级助教不能越权到整课导出;通知 SSE 断连后可轮询补偿;成绩导出与页面可见性一致
文档责任维护批改、成绩、通知、统计报告和隐私可见性文档;答辩说明成绩发布、通知触达和教学反馈闭环

4.6 成员 F:实验、实验在线终端、部署联调与验收证据

项目分工内容
核心需求支持报告型实验和环境型 Web 终端实验,保证本地 fake runtime 与生产 Kubernetes runtime 边界清晰,并交付可演示、可验收的运行环境
负责模块 / 子模块实验管理、实验报告、实验附件、实验评阅、Web 终端实验、环境模板、学生实验会话、连接 token、WebSocket 终端、fake runtime、Kubernetes runtime、会话回收、部署脚本、验收证据
主要功能教师创建、更新、发布、关闭 REPORTTERMINAL 实验;学生查看实验、上传附件、保存草稿、正式提交实验报告;教师查看报告、填写批注 / 评语并发布评阅;TERMINAL 实验发布前校验启用环境模板;学生启动个人实验环境、查询当前会话、停止会话、重置环境;签发短期连接 token,数据库只保存 hash;打开 WebSocket 终端并完成输入 / 输出交互;教师查看学生会话状态列表但不能接管终端;fake runtime 支持本地联调和 E2E;Kubernetes runtime 创建 Pod、查询状态、删除 Pod 和 exec 连接;定时回收过期或空闲 session;部署环境变量、健康检查、演示数据和三次彩排证据
覆盖需求环境型实验产品需求、实验稳定 API、FR-TSK-01 的实验任务入口、实验通知事件、NFR-USE-01NFR-USE-02NFR-REL-*NFR-SEC-01NFR-SEC-03NFR-SEC-06NFR-CMP-*NFR-OBS-*
API 与数据实验稳定接口、labslab_reportslab_report_attachmentslab_environment_profileslab_sessionslab_connection_tokens、运行时配置 aubb.lab-runtime.*、Kubernetes Pod 安全约束
测试与验收报告实验不要求环境模板;终端实验发布前必须绑定启用模板;学生只能操作自己的会话;已有活动会话启动接口幂等返回;重置会停止旧会话并创建新会话;连接 token 默认 60 秒内有效且只返回一次;WebSocket 不接受长效 JWT 直接作为终端凭证;终端区域高度稳定、输出不撑乱页面;fake runtime 和 Kubernetes runtime 验收证据分开记录;部署彩排和 3 次全链路演示可复现
文档责任维护 Web 终端实验、实验接口、部署指南、测试报告、验收清单和答辩演示脚本;答辩说明在线 IDE 与实验在线终端的边界差异

5. 全量覆盖矩阵

覆盖项主责协作 / 复核覆盖状态
平台配置与组织 FR-CFG-*成员 A成员 B、成员 F已分配:平台配置、组织层级、用户导入、身份分配、配置留痕、资源策略
身份认证与授权 FR-IAM-*成员 A成员 B、成员 D、成员 E、成员 F已分配:登录、刷新、退出、会话撤销、RBAC + ABAC、越权拦截、账号生命周期
课程与成员 FR-CRS-*成员 B成员 A、成员 C、成员 F已分配:学期、课程模板、开课、教学班、成员、公告、讨论、资源、我的课程
任务与评分规则 FR-TSK-*成员 C成员 D、成员 E、成员 F已分配:作业草稿、题库、试卷、题型、提交规则、评分方式、发布关闭、实验任务入口
提交与在线作业 FR-SUB-*成员 D成员 C、成员 E已分配:提交入口、在线 IDE、保存、运行、正式提交、提交历史、附件、规则校验
自动评测与隔离执行 FR-JDG-*成员 D成员 C、成员 E、成员 F已分配:样例运行、正式评测、队列、go-judge、结果归一化、报告、重评、环境模板
实验与 Web 终端成员 F成员 B、成员 C、成员 E已分配:报告实验、终端实验、环境模板、会话、短期 token、WebSocket 终端、fake / Kubernetes runtime
人工批改与成绩 FR-REV-*成员 E成员 C、成员 D、成员 F已分配:人工评分、批量调整、成绩发布、成绩册、导出、统计、学生反馈
通知与公告 FR-NTF-*成员 E成员 B、成员 F已分配:通知列表、未读数、已读、SSE / 轮询、公告触达、关键业务事件
运营概览与审计 FR-OPS-*成员 A、成员 E成员 F已分配:审计日志、课程概览、平台概览、异常事件、运行指标
前端体验与角色入口成员 C、成员 D、成员 E、成员 F成员 A、成员 B已分配:管理员、教师、助教、学员入口;状态反馈;空状态;错误提示;Markdown 安全阅读区
后端 API 与数据库一致性对应模块主责人成员 A 复核权限;成员 F 复核部署已分配:每个稳定 API 域均有主责人,数据库对象按模块归属维护
非功能与安全成员 A、成员 D、成员 F全员已分配:认证授权、隔离执行、凭证安全、性能、可靠性、兼容性、可观测性
测试与验收证据成员 F全员提供模块证据已分配:模块自动化测试、真实浏览器回归、文档构建、部署彩排、演示彩排
文档与答辩材料成员 F 统筹全员维护对应模块章节已分配:SRS、设计、API、数据库、用户手册、测试报告、演示脚本按模块归属补齐

6. 跨成员边界检查

边界归属结论检查要点
在线 IDE 与实验在线终端在线 IDE 归成员 D;实验在线终端归成员 F在线 IDE 只提供编辑、保存、样例运行和输出面板,不提供 shell 终端;Web 终端实验通过 lab_sessions 和短期 token 连接独立环境
作业配置与正式提交作业配置归成员 C;正式提交和工作区归成员 DIDE 内“提交”只表示保存当前编程题并返回作业界面;整份作业正式提交必须由作业详情页发起
自动评测与人工批改自动评测归成员 D;人工批改和成绩发布归成员 Ejudge job 只产出自动评分和报告;人工分、发布可见性、成绩册和导出由 grading 模块负责
课程公告与通知中心课程公告归成员 B;通知中心归成员 E公告是课程内容;通知是事件触达和未读状态,两者不能混用数据模型
实验报告与 Web 终端会话报告型实验和终端实验均由成员 F 统筹REPORT 使用实验报告与附件;TERMINAL 使用环境模板、会话和连接票据,不把终端状态塞进报告字段
平台审计与业务统计审计归成员 A;成绩 / 课程统计归成员 E审计记录关键操作和排障上下文;统计面向教学运营和成绩分析
部署运行与模块实现成员 F 统筹部署;模块主责人负责各自配置项部署文档不得替代模块验收;各模块主责人必须提供可运行配置、测试证据和异常说明

7. 需要补充的实际信息

  • 每位成员真实姓名与学号
  • GitHub 用户名
  • 每位成员对应的实际提交记录或 PR
  • 每位成员负责章节的文档复核记录
  • 每位成员答辩展示章节、演示账号和演示数据
  • 每位成员负责模块的自动化测试、真实浏览器测试或部署彩排证据
  • 如实际人员分工发生变化,必须同步更新本文件和验收清单,不能只在答辩材料中口头调整