Skip to content

项目章程

1. 文档信息

  • 文档名称:AUBB(Academic Unified Builder Bench)项目章程
  • 版本:v1.0
  • 状态:正式基线
  • 更新日期:2026-04-14
  • 适用对象:项目经理、产品、研发、测试、答辩成员

2. 项目背景

课程大作业要求团队围绕 AUBB(Academic Unified Builder Bench)完成一套可运行系统和一套连续、规范、可追踪的过程文档。对标系统包含头歌、希冀和高校 SPOC 平台,意味着项目不能只做课程展示页或单点提交功能,而必须形成完整教学闭环。

本项目将 AUBB 定位为“以浏览器为主入口、面向高校课程的在线教学与编程实训平台”,重点解决以下问题:

  • 教师在课程组织、任务发布、批改和成绩统计之间切换工具过多。
  • 学员完成编程实验时依赖本地环境,环境差异导致教学成本升高。
  • 提交、自动评测、人工批改和成绩发布之间缺少统一留痕与追踪。
  • 平台缺少可观测和可治理能力,难以支撑课程演示与验收。

3. 项目目标

3.1 业务目标

  1. 为教师提供课程、任务、评测、批改和成绩的一体化工作台。
  2. 为学员提供无需复杂本地环境的在线实训与反馈能力。
  3. 为平台管理员提供组织、账号、审计和平台级概览能力。
  4. 为课程答辩提供可演示、可复现、可验证的完整主链路。

3.2 工程目标

  1. 以 SRS 为基线,产出可直接指导编码的概要设计、详细设计、数据库设计和 API 设计。
  2. 采用“Web 前端 + 业务后端 + 判题工作进程 + 标准基础设施”的可落地架构,而不是过度微服务化。
  3. 用开源能力缩短开发周期,但所有接口、数据模型和验收口径必须由项目团队自己掌控。

4. 干系人与职责

干系人关注点项目响应方式
课程教师 / 助教文档是否规范、系统是否覆盖核心需求、答辩是否清晰建立标准化文档体系与可演示主链路
项目团队范围是否可控、实现是否可落地、分工是否可执行采用模块化单体架构和分阶段里程碑
教师用户建课、发任务、批改是否顺畅提供教师工作台、任务模板、成绩闭环
学员用户提交是否方便、结果是否及时提供在线编辑、提交记录和评测反馈
平台管理员平台配置、组织治理、审计是否完整提供治理后台、平台概览和审计日志

5. 范围与非范围

5.1 本期范围

  • 平台配置、组织与用户管理
  • 登录鉴权与角色授权
  • 课程创建、资源组织、成员管理
  • 任务创建、发布、关闭和评分规则配置
  • 在线提交、文件提交、提交历史
  • 自动评测、结果回传、重新评测
  • 人工批改、成绩生成、成绩发布和导出
  • 站内通知、公告、课程级与平台级概览
  • 审计日志、异常事件留痕、基础可观测性

5.2 非范围

  • 商业化计费与合同结算
  • 原生移动端与离线客户端
  • 全量教务系统深度集成
  • 高级反作弊、查重和学术诚信分析
  • 完整 AI 教学闭环

6. 推荐技术路线

为兼顾课程交付速度、实现复杂度和可演示性,建议采用以下基线方案:

层次推荐方案说明
Web 前端Vue 3 + TypeScript + Vite + Pinia + Vue Router统一教师、学员、管理员三类界面
组件与图表Element Plus + Monaco Editor + ECharts支撑表单、表格、在线编码与仪表盘
业务后端NestJS + TypeScript以模块化单体承载业务 API
数据层PostgreSQL + Redis + MinIO分别承载事务数据、缓存/队列、对象存储
判题层Judge0 CE 或等效 Docker 沙箱 + 异步 Worker采用开源判题能力,平台保留统一结果模型
观测层Prometheus + Grafana + Loki/结构化日志支撑课程要求中的可观测性加分项
部署Docker Compose 起步,保留私有化部署能力适合课程环境与演示环境

7. 开源采用策略

本项目允许采用开源项目,但原则如下:

  • 可采用基础设施型或能力型开源组件,如 Judge0、Monaco Editor、ECharts、MinIO。
  • 不直接照搬完整成品平台的业务代码、页面结构和文档。
  • 平台的领域模型、接口定义、权限边界、页面信息架构和测试口径必须自主设计。
  • 对开源组件的封装层、适配层和数据模型转换层必须写入设计文档。

8. 成功标准

项目达标至少满足以下条件:

  1. 从平台初始化到学员查看成绩的主链路可完整演示。
  2. 全部 MUST 级需求均在需求、设计、接口、测试文档中有对应实现依据。
  3. 平台支持浏览器在线提交,并通过隔离执行返回可读评测结果。
  4. 教师可完成任务发布、人工批改、成绩发布和成绩导出。
  5. 管理后台可查看平台概览、审计日志和关键异常事件。
  6. 文档足以指导团队完成编码,而不是依赖口头补充。

9. 风险与应对

风险影响应对策略
范围膨胀主链路不稳定,过程文档失真以 SRS MUST 级需求为唯一基线,增强项后置
判题模块复杂度过高自动评测无法稳定交付优先采用开源判题组件,并通过统一结果模型解耦
文档与实现脱节代码难以落地或答辩时口径不一致所有接口和数据结构变化必须先更新文档
测试准备不足答辩演示时出现阻塞故障提前准备固定账号、固定数据和固定脚本
大模型内容失真文档与代码出现错误承诺所有大模型产出必须保留人工复核记录

10. 文档交付清单

本项目最终需要形成以下交付件:

  • 软件开发计划书
  • 软件需求规格说明书
  • 软件概要设计说明书
  • 软件详细设计说明书
  • 测试报告
  • 部署文档
  • 用户手册
  • 大模型使用说明
  • 研发设计文档、API 文档、测试与运维文档、团队协作文档