Skip to content

软件需求规格说明书

1. 文档概述

1.1 文档信息

  • 文档名称:AUBB(Academic Unified Builder Bench)软件需求规格说明书
  • 版本:v4.3
  • 状态:需求基线稿
  • 更新日期:2026-04-14
  • 适用对象:产品、研发、测试、实施、运维、评审人员
  • 适用范围:平台 V1 版本及首轮交付验收
版本日期修订说明
v1.0初稿,覆盖核心功能清单
v2.0补充角色、非功能需求和数据对象
v3.02026-04-08增加详细用例、验收标准、业务规则、数据字典和追踪矩阵
v4.02026-04-13按 SRS 标准边界重构文档,收敛实现细节,重组为范围、功能、接口、数据、质量属性、约束、验证与追踪的正式基线
v4.12026-04-13新增“在线 IDE 编辑 / 运行 / 提交”需求边界,补充工作区与运行会话数据对象
v4.22026-04-14明确平台正式名称为 AUBB(Academic Unified Builder Bench),同步更新文档口径
v4.32026-04-14将平台治理需求调整为 JWT、四层组织、分层管理员与即时生效配置

1.2 编写目的

本说明书用于定义 AUBB(Academic Unified Builder Bench)V1 的业务目标、范围边界、功能需求、外部接口需求、数据需求、非功能需求和验收依据。本文档回答的是“系统必须做什么、做到什么程度、如何验证”,而不是“系统内部如何设计或实现”。

本文档是下列工作的共同输入:

  • 概要设计与详细设计
  • 开发任务拆分与联调范围确认
  • 测试方案与验收用例设计
  • 交付评审、上线评审和项目答辩

1.3 文档边界

本说明书应包含:

  • 产品背景、目标、范围、角色、业务场景和运行模式
  • 编号化的功能需求、非功能需求、接口需求和数据需求
  • 受外部约束影响的设计约束与运行前提
  • 验证方法、验收基线、追踪关系和未决事项

本说明书不应包含:

  • 详细 API 端点、请求报文、响应结构、错误码清单
  • 数据库物理表结构、字段类型、索引、分库分表或缓存策略
  • 框架、语言、中间件、消息系统、容器编排、存储产品等选型
  • 页面像素级视觉设计、组件实现方案和前后端分层细节
  • 部署步骤、运维 Runbook、排障手册、监控面板配置脚本
  • 测试用例脚本、自动化实现、项目排期、人力分工和成本计划

上列内容如有需要,应分别进入以下文档:

  • 软件开发计划书
  • 软件概要设计说明书
  • 软件详细设计说明书
  • API 文档
  • 测试策略 / 测试报告
  • 部署文档 / 用户手册

1.4 需求质量准则

本文档中的需求条目应满足以下质量要求:

质量准则说明
正确与业务目标、用户期望和范围边界一致,不引入错误约束
完整覆盖正常流程、异常流程、边界条件、输入输出和状态变化
单义术语统一,避免“尽快”“适当”“友好”等无法判定的模糊表达
一致不同章节之间不存在冲突的规则、状态、口径和范围
可验证每条 MUST 级需求至少能对应一种验证方法
可追踪需求可追踪到场景、接口、数据对象和验收活动
可修改条目独立、编号稳定,便于后续增删改和版本比对
已分级使用 MUST / SHOULD / COULD 区分交付优先级

1.5 参考资料

  • ISO/IEC/IEEE 29148:2018, Systems and software engineering — Life cycle processes — Requirements engineering
  • ISO/IEC/IEEE 29148:2011, Systems and software engineering — Life cycle processes — Requirements engineering
  • NASA Software Engineering Handbook, Topic 5.2.1 / SWE-109, Document Software Requirements
  • 《AUBB(Academic Unified Builder Bench)软件开发计划书 v2.0》
  • 项目现有文档:概要设计说明书、详细设计说明书、API 总览、测试策略、部署文档

1.6 术语、缩略语与优先级

术语含义
AUBBAcademic Unified Builder Bench,平台正式名称
平台管理员负责平台级配置、组织、用户、权限和运营治理的用户
教师负责课程组织、任务发布、批改和成绩发布的用户
助教在授权范围内协助批改、管理成员或处理复核的用户
学员参与课程、完成任务、查看反馈和成绩的用户
OJOnline Judge,在线评测系统
沙箱执行学员提交内容的隔离运行环境
Rubric人工批改时使用的评分量规
提交学员围绕任务上传的代码、文件或在线编辑结果
MUST本版本必须满足,缺失将阻断交付
SHOULD建议满足,缺失不阻断首发但会影响质量或效率
COULD后续增强能力,本版本可不实现

2. 产品概述

2.1 产品定位与业务目标

AUBB(Academic Unified Builder Bench)是面向高校、职业培训机构和企业培训部门的一体化在线教学与实训平台。平台以浏览器为主要入口,通过统一的课程、任务、在线提交、自动评测、人工批改、成绩发布和审计治理能力,承载正式教学与训练活动,而不是一次性演示工具。

平台 V1 的业务目标如下:

  1. 为机构提供统一的课程组织、任务发布和成绩管理入口。
  2. 为教师提供标准化的教学任务配置、批改和反馈闭环。
  3. 为学员提供无需本地复杂配置的在线完成与反馈体验。
  4. 为平台管理员和运维人员提供可追踪、可治理、可审计的运营基础。

2.2 范围界定

V1 范围内:

编号能力范围
IN-01平台初始化、品牌配置、组织与用户导入
IN-02课程创建、资源组织、成员管理和课程归档
IN-03作业、实验或文档类任务的创建、发布和关闭
IN-04学员加入课程、查看任务、使用在线 IDE 编辑 / 运行并提交,或进行文件提交
IN-05自动评测、人工批改、成绩生成、成绩发布和复核
IN-06学员个人学习概览、通知中心和结果查看
IN-07课程级与平台级运营概览、关键审计和异常留痕
IN-08支持私有化交付或独立部署场景下的平台级配置

V1 范围外:

编号不在本期范围内的内容
OUT-01商业订阅、计费、合同、开票和财务结算系统
OUT-02线下专用硬件、考场终端或实验设备控制
OUT-03原生移动端 App 和离线客户端
OUT-04面向所有第三方教务系统的深度定制集成
OUT-05高级学术诚信分析、查重引擎和智能作弊识别
OUT-06AI 智能问答、自动讲解、自动纠错等非主链路能力

2.3 用户类别与关键诉求

角色核心目标关键操作优先级
平台管理员完成平台初始化与治理配置平台、维护组织、导入用户、分配角色、查看审计与平台概览MUST
教师组织教学活动并完成反馈闭环建课、上传资源、发布任务、查看提交、批改、发布成绩、导出结果MUST
助教协助教师处理课程事务查看提交、执行授权批改、管理成员、协助处理复核SHOULD
学员完成学习任务并获取反馈加入课程、查看任务、在线提交、查看评测结果和成绩MUST
运维/客服保障平台可用并处理异常查看健康状态、告警、审计记录和异常事件SHOULD

2.4 运行环境

  • 平台应以 Web 端为主要交互入口。
  • 平台应支持按部署实例进行平台级自定义配置。
  • 平台应具备应用层、数据存储层、文件存储层和评测执行层等基本运行边界。
  • 编程类任务应提供浏览器内完成和隔离执行能力,不以学员本地环境为前提。
  • 系统默认语言为简体中文,界面文案应支持配置。

2.5 假设、依赖与约束

假设:

  • 使用机构具备常规校园网或企业内网访问能力。
  • 教师能够提供课程资料、任务说明、Rubric 和评测规则。
  • 学员使用受支持的现代浏览器访问平台。

依赖:

  • 自动评测能力依赖可用的隔离执行环境。
  • 通知扩展能力依赖邮件、短信或企业 IM 等外部通道。
  • 如启用统一认证,则依赖外部身份源可用。

约束:

  • 平台配置变更不得破坏既有课程、提交和成绩数据。
  • 不同角色之间必须进行页面、操作和数据访问隔离。
  • 单次提交文件大小上限默认 50 MB,可按平台配置调整。
  • 单次评测执行时间上限默认 60 秒,可按任务配置调整。

2.6 运行状态与模式

运行模式说明系统必须满足的行为
正常运行全部核心服务可用允许完整教学主链路执行
降级运行评测或通知等非阻断服务暂时不可用课程浏览、提交受理和历史结果查询仍可继续;受影响能力需明确提示
维护状态平台进行受控维护阻止普通用户发起高风险写操作,仅允许经授权的维护入口

3. 系统上下文与业务场景

3.1 系统上下文

外部实体 / 子系统交互目的对系统提出的边界要求
浏览器客户端用户访问页面、提交表单、查看结果需支持受保护资源访问控制、令牌管理和错误反馈
评测执行环境执行学员提交、返回评测结果需支持隔离执行、状态查询和结果回传
文件存储服务保存课程资料、提交文件和导出文件需支持权限控制、引用管理和生命周期管理
消息通道发送邮件、短信或企业 IM 通知需支持异步触达和失败反馈
机构统一认证提供单点登录或统一身份信息需支持可选接入和失败回退方案
外部学习平台同步课程、成绩或提供嵌入式接入属于可选扩展,不影响核心主链路

3.2 核心业务主链路

步骤参与者期望结果
1平台管理员完成平台配置、组织建立、教师和学员账号导入
2教师创建课程并组织教学资源
3教师创建任务,配置提交规则与评分方式并发布
4学员加入课程,查看任务说明与截止时间
5学员通过在线 IDE 编辑并运行代码后正式提交,或通过文件上传完成提交
6系统受理提交并在需要时自动发起评测
7教师 / 助教查看提交、进行人工批改、生成并发布成绩
8学员查看评测结果、评语、成绩和个人学习概览
9管理员 / 运维查看运营概览、审计记录和异常事件

3.3 主要业务场景

场景编号场景名称主要参与者优先级
UC-01平台初始化与组织导入平台管理员MUST
UC-02课程创建与资源组织教师MUST
UC-03任务创建与发布教师MUST
UC-04学员加入课程与查看任务学员MUST
UC-05学员在线 IDE 编辑、运行与提交学员MUST
UC-06自动评测与结果查询系统、学员、教师MUST
UC-07人工批改与成绩发布教师、助教MUST
UC-08学员查看反馈与个人学习概览学员SHOULD
UC-09平台运营概览与安全审计平台管理员、运维/客服MUST
UC-10成绩复核与支持学员、教师SHOULD

4. 功能需求

验证方法编码:D = 演示(Demonstration),T = 测试(Test),A = 分析(Analysis),I = 检查(Inspection)。

4.1 平台配置与组织管理

编号需求描述优先级验证
FR-CFG-01平台基础信息配置系统应支持配置平台名称、简称、Logo、页脚信息和默认首页等基础信息MUSTD/T
FR-CFG-02品牌与模块配置系统应支持配置主题、登录页文案和模块启停等平台级可配置项MUSTD/T
FR-CFG-03组织结构维护平台应支持维护 学校 -> 学院 -> 课程 -> 班级 四层组织结构,并将用户归属到指定组织节点MUSTD/T
FR-CFG-04用户导入与创建平台管理员应能批量导入、手动创建和邀请用户MUSTT/I
FR-CFG-05身份与账号状态管理平台应支持按组织作用域分配管理员身份,并管理账号启用、停用、锁定与解锁MUSTT/I
FR-CFG-06即时生效配置平台配置修改后应立即生效,并保留更新留痕MUSTT/I
FR-CFG-07平台级资源策略平台应支持配置评测并发、存储额度和通知开关等资源策略SHOULDD/T

业务规则:

  • BR-CFG-01:平台配置只保留一份当前生效配置,更新后立即覆盖旧值。
  • BR-CFG-02:组织结构固定为 学校 -> 学院 -> 课程 -> 班级 四层。
  • BR-CFG-03:管理员身份必须绑定到组织节点;教师在平台治理阶段视为班级管理员。
  • BR-CFG-04:用户批量导入必须返回逐行校验结果和失败原因。
  • BR-CFG-05:配置调整不得删除既有课程、提交、成绩和审计数据。

4.2 身份认证与授权

编号需求描述优先级验证
FR-IAM-01登录与退出平台应支持用户安全登录、签发 JWT 访问令牌并安全退出MUSTT
FR-IAM-02基于身份与作用域的授权系统应按管理员身份及其组织作用域控制页面、操作和数据访问范围MUSTT/I
FR-IAM-03未授权访问拦截未登录或无权限用户不得访问受保护资源;系统应返回明确拒绝结果MUSTT
FR-IAM-04账号生命周期管理平台应支持启用、停用、锁定、解锁和失效等账号状态控制MUSTT/I
FR-IAM-05密码管理平台应支持密码重置、首次登录修改密码和密码失效处理SHOULDT
FR-IAM-06统一认证扩展平台应预留对 OAuth2、OIDC、SAML 等统一认证方案的接入能力SHOULDA/I

业务规则:

  • BR-IAM-01:密码长度不得少于 8 位,且应包含字母和数字。
  • BR-IAM-02:连续 5 次登录失败后,账号默认锁定 30 分钟。
  • BR-IAM-03:JWT 访问令牌默认有效期为 2 小时,可由管理员配置。
  • BR-IAM-04:同一用户可在不同课程中拥有不同课程角色。
  • BR-IAM-05:权限控制必须同时作用于界面入口和服务端资源访问。

4.3 课程与成员管理

编号需求描述优先级验证
FR-CRS-01课程创建与编辑教师应能创建课程并维护名称、简介、学期、所属组织等基础信息MUSTD/T
FR-CRS-02课程状态管理系统应支持课程草稿、进行中和归档等状态管理MUSTT
FR-CRS-03成员管理教师和平台管理员应能查看、添加、移除和调整课程成员角色MUSTD/T
FR-CRS-04学员加入课程学员应能通过邀请码、课程码或组织分配等方式加入课程MUSTD/T
FR-CRS-05课程资源管理教师应能上传、分类、组织和发布课程资源MUSTD/T
FR-CRS-06课程结构编排系统应支持按章节、模块或任务列表组织课程内容SHOULDD/T
FR-CRS-07课程归档与历史访问课程归档后应默认只读,但教师和学员仍可查看被允许的历史数据SHOULDT
FR-CRS-08资源或模板复用平台可支持跨课程复用任务模板或课程资源COULDD

业务规则:

  • BR-CRS-01:一门课程必须有且仅有一名负责教师,可有 0 到多名助教。
  • BR-CRS-02:邀请码默认有效期为 30 天,可由教师刷新或关闭。
  • BR-CRS-03:课程状态路径为 draft -> active -> archived。
  • BR-CRS-04:归档课程不可接收新提交,但可查询历史成绩和提交记录。
  • BR-CRS-05:课程资源总量上限应可由平台级策略配置。

4.4 任务与评分规则

编号需求描述优先级验证
FR-TSK-01任务创建教师应能创建编程、文档或实验报告类任务,并指定所属课程MUSTD/T
FR-TSK-02任务说明维护教师应能维护任务标题、正文、附件、样例、模板代码或环境说明MUSTD/T
FR-TSK-03提交规则配置教师应能配置开放时间、截止时间、提交次数、允许的提交形式和文件限制MUSTT
FR-TSK-04评分方式配置教师应能配置自动评测、人工批改或混合评分方式MUSTT
FR-TSK-05发布与关闭控制教师应能保存草稿、发布任务、关闭任务,并保留重要变更记录MUSTT/I
FR-TSK-06Rubric 配置教师应能为人工批改任务定义评分项、分值和判定标准SHOULDD/T
FR-TSK-07任务模板复用教师可复制历史任务作为新任务模板COULDD

业务规则:

  • BR-TSK-01:任务满分默认 100 分,可按任务配置调整。
  • BR-TSK-02:截止时间必须晚于开放时间至少 1 小时。
  • BR-TSK-03:混合评分模式下,各评分权重之和必须等于 100%。
  • BR-TSK-04:任务状态路径为 draft -> published -> closed。
  • BR-TSK-05:已发布任务的重大修改必须保留版本号、修改人和修改时间。

4.5 提交与在线作业

编号需求描述优先级验证
FR-SUB-01提交入口与要求展示学员在任务开放期间应能进入提交入口并查看提交要求MUSTD/T
FR-SUB-02提交形式支持平台应支持在线 IDE 工程快照提交、代码文本提交、文件上传或两者结合的提交方式MUSTD/T
FR-SUB-03在线 IDE 工作区对编程类任务,平台应提供浏览器内在线 IDE,至少支持语法高亮、模板工程加载、文件切换和运行 / 提交入口MUSTD/T
FR-SUB-04提交受理与编号平台受理提交后应生成唯一提交标识,并记录提交时间、提交者和受理状态MUSTT/I
FR-SUB-05提交历史查询学员应能查看个人历史提交;教师和助教应能按权限查看课程提交记录MUSTD/T
FR-SUB-06提交规则校验对不满足时间、格式、大小或次数限制的提交,系统应拒绝受理并说明原因MUSTT
FR-SUB-07草稿保存与恢复在线 IDE 场景下,平台应支持工作区草稿暂存、自动保存和恢复SHOULDT
FR-SUB-08提交前运行学员在正式提交前应能在在线 IDE 中运行代码,并查看标准输出、标准错误、退出状态和资源摘要MUSTD/T
FR-SUB-09运行与提交分离系统应区分“运行代码”和“正式提交评测”两类操作,避免将试运行结果误记为正式成绩依据MUSTT/I

业务规则:

  • BR-SUB-01:每次提交必须生成全局唯一提交标识。
  • BR-SUB-02:一旦提交被成功受理,记录不得被学员删除。
  • BR-SUB-03:学员仅能查看自己的提交;教师和助教仅能查看授权课程下的提交。
  • BR-SUB-04:允许的文件类型和大小由任务配置决定。
  • BR-SUB-05:若因存储或系统异常导致受理失败,该次失败不得扣减提交次数。
  • BR-SUB-06:在线运行不计入正式提交次数,不得直接生成正式成绩或替代正式评测结果。
  • BR-SUB-07:正式提交必须基于某一时刻的不可变代码 / 文件快照,后续工作区修改不得回写既有提交内容。
  • BR-SUB-08:工作区自动保存失败时,系统应提示学员并保留最近一次成功保存的可恢复版本。

4.6 自动评测与隔离执行

编号需求描述优先级验证
FR-JDG-01自动触发评测对启用自动评测的任务,系统在提交受理后应自动发起评测流程MUSTT
FR-JDG-02异步状态流转评测任务应支持待处理、处理中、已完成、超时和失败等状态,并可被查询MUSTT
FR-JDG-03结果结构化输出平台应输出得分、通过情况、错误摘要、运行时间和必要日志摘要MUSTD/T
FR-JDG-04结果持久化与追溯每次评测结果应与对应提交关联保存,并保留历史记录MUSTT/I
FR-JDG-05隔离执行学员提交内容必须在隔离环境中执行,不得直接运行在平台主服务进程内MUSTA/T
FR-JDG-06评测规则配置教师应能配置语言、用例、评分比例、时间和资源限制SHOULDD/T
FR-JDG-07重新评测教师或管理员应能对指定提交重新发起评测SHOULDT
FR-JDG-08多运行环境扩展平台可支持不同任务类型绑定不同运行环境模板COULDA

业务规则:

  • BR-JDG-01:评测队列应按受理顺序处理,同一学员的多个评测任务默认不并行执行。
  • BR-JDG-02:单次评测默认时间限制为 60 秒,默认内存限制为 256 MB,可按任务覆盖。
  • BR-JDG-03:隔离环境默认禁止网络访问,并限制文件写入范围和进程数量。
  • BR-JDG-04:重新评测必须生成新结果,不得覆盖原始评测记录。
  • BR-JDG-05:评测服务不可用时,系统应进入降级模式并给出清晰提示。

4.7 人工批改、成绩与复核

编号需求描述优先级验证
FR-REV-01提交详情查看教师和助教应能查看提交内容、自动评测结果和历史记录MUSTD/T
FR-REV-02人工批改教师和授权助教应能填写评语、应用 Rubric 和录入人工评分MUSTD/T
FR-REV-03最终成绩生成平台应按任务配置生成最终成绩,并可追溯到依据的提交和批改记录MUSTT/I
FR-REV-04成绩发布与撤回教师应能控制成绩对学员是否可见,并支持撤回后重新发布MUSTT
FR-REV-05学员查看反馈学员应能查看本人得分、评语、评测结果和发布时间MUSTD/T
FR-REV-06成绩汇总与筛选教师和平台管理员应能按课程、任务或学员维度查看成绩汇总结果MUSTD/T
FR-REV-07成绩导出平台应支持导出课程成绩或任务成绩结果SHOULDT
FR-REV-08成绩复核申请学员应能在允许窗口内发起复核申请,由教师处理并留痕SHOULDD/T
FR-REV-09个人学习概览学员应能查看本人课程进度、未完成任务、成绩状态和最近反馈SHOULDD/T

业务规则:

  • BR-REV-01:默认以最后一次有效提交作为成绩计算基准;教师可手动选择其他提交。
  • BR-REV-02:成绩状态路径为 pending -> unpublished -> published -> withdrawn。
  • BR-REV-03:已发布成绩的修改必须记录变更原因和操作者。
  • BR-REV-04:复核申请窗口默认为成绩发布后 7 天内,可按机构规则调整。
  • BR-REV-05:助教批改结果应保留“助教批改”标识,教师可复核后再发布。

4.8 通知与公告

编号需求描述优先级验证
FR-NTF-01站内通知平台应支持围绕关键事件向指定用户发送站内通知MUSTD/T
FR-NTF-02已读状态管理用户应能查看通知列表并更新通知已读状态MUSTT
FR-NTF-03系统公告平台管理员应能向指定范围发布公告SHOULDD/T
FR-NTF-04多渠道通知扩展平台应预留邮件、短信或企业 IM 的通知接入能力SHOULDA/I

业务规则:

  • BR-NTF-01:通知触发事件至少包括任务发布、提交受理、评测完成、成绩发布、复核处理和系统公告。
  • BR-NTF-02:同一事件对同一用户在 5 分钟内默认不重复通知。
  • BR-NTF-03:站内通知默认保留 90 天。
  • BR-NTF-04:用户可关闭非强制通知;系统公告不可关闭。

4.9 运营概览与审计

编号需求描述优先级验证
FR-OPS-01课程级运营概览平台应提供课程活跃度、提交量、评测通过率和成绩分布等概览MUSTD/A
FR-OPS-02平台级概览平台管理员应能查看平台课程数、用户数、活跃度和资源使用概况SHOULDD/A
FR-OPS-03审计日志平台应记录登录、任务发布、成绩修改、权限变更和导出等关键操作MUSTT/I
FR-OPS-04异常事件留痕平台应记录异常登录、评测失败和资源超限等异常事件SHOULDT/I

业务规则:

  • BR-OPS-01:审计日志至少应包含操作者、身份、时间、操作类型、操作对象、结果和来源信息。
  • BR-OPS-02:审计日志不得被普通业务角色修改或删除。
  • BR-OPS-03:审计日志默认保留 1 年,可按机构要求调整。
  • BR-OPS-04:以下操作必须进入审计范围:登录/登出、创建/删除用户、身份变更、平台配置更新、任务发布/修改、成绩修改、重新评测、导出数据。

5. 外部接口需求

5.1 用户界面需求

本说明书仅定义界面必须承载的业务能力和交互要求,不包含视觉设计稿、组件实现或像素级布局。

角色必须提供的界面能力说明
学员端登录、加入课程、查看课程与任务、在线 IDE 编辑与运行、正式提交、查看评测结果、查看成绩与通知、查看个人学习概览核心主链路必须完整可用
教师端课程管理、资源管理、成员管理、任务编辑、提交查看、人工批改、成绩发布与导出面向教学组织和反馈闭环
管理 / 运维端平台配置、组织与用户管理、平台概览、审计日志、异常事件查看面向平台治理和运行支持
通用能力搜索、筛选、分页、状态反馈、表单校验、操作确认应在关键页面保持一致交互习惯

界面级要求:

  • UI-01:导航、按钮、状态标签和错误提示应与当前用户角色匹配。
  • UI-02:所有关键写操作应给出成功、失败或处理中反馈。
  • UI-03:对删除、关闭、撤回、发布等不可逆或高风险操作,应提供二次确认。
  • UI-04:任务、提交、评测结果和成绩页面之间应保持可追踪的跳转关系。

5.2 外部软件接口需求

接口对象交互目的必要信息范围边界要求
评测执行环境下发待评测提交并接收结果提交内容引用、运行参数、结果状态、得分摘要需支持隔离执行、结果回传和失败留痕
文件存储服务保存课程资料、提交文件和导出文件文件元数据、访问范围、生命周期信息需支持权限控制和生命周期管理
统一认证服务用户身份认证与单点登录用户身份标识、认证状态、必要属性可选接入,失败时应具备明确回退策略
消息通道扩展通知发送接收人、通知类型、内容摘要、发送结果支持异步发送与失败反馈
外部学习平台课程或成绩同步、嵌入式接入课程标识、用户标识、成绩摘要可选扩展,不应阻断本平台核心主链路

接口边界说明:

  • IF-01:接口协议、鉴权方式、报文字段和错误码由后续 API / 接口设计文档定义。
  • IF-02:SRS 中仅保留“必须交换什么信息”和“接口必须满足什么约束”。
  • IF-03:任何接口调整都不得破坏既有已发布成绩、提交记录和审计留痕。

5.3 通信接口需求

  • COM-01:所有对外通信必须采用受保护的传输通道。
  • COM-02:受保护资源的访问必须支持访问令牌失效与重新认证。
  • COM-03:长耗时操作应采用异步反馈机制,避免长时间阻塞用户交互。
  • COM-04:导入、导出、评测和通知等异步交互应能够回传成功或失败状态。

5.4 导入与导出需求

功能输入 / 输出需求说明
用户批量导入输入:.xlsx 模板文件必须返回总数、成功数、失败数和逐行失败原因
课程成员导入输入:.xlsx 模板文件必须支持按课程批量导入成员
评测用例导入输入:结构化用例包必须校验用例完整性和格式合法性
成绩导出输出:.xlsx导出结果应包含学员标识、任务名称、成绩和发布时间等必要字段
审计日志导出输出:.csv 或等效结构化格式导出结果应包含完整审计字段并受权限控制
提交内容导出输出:压缩包或等效批量文件导出时应按课程/任务/学员维度进行可追踪组织

导入导出规则:

  • IO-01:导入模板应提供版本标识和必填字段说明。
  • IO-02:导出文件名应包含时间戳和范围标识。
  • IO-03:不具备相应权限的用户不得导出成绩、提交或审计数据。

6. 数据需求

6.1 逻辑数据实体

数据实体必备信息关键要求
PlatformConfig平台名称、品牌配置、模块开关、资源策略、更新时间配置变更应立即生效且不破坏历史业务数据
OrgUnit名称、父级、类型、层级支持学校 / 学院 / 课程 / 班级四层组织结构
User登录标识、显示名称、组织、身份、账号状态支持账号生命周期和最小必要个人信息
Course名称、负责人、所属组织、学期、状态、邀请信息支持状态管理与成员关联
CourseMember课程、用户、课程角色、加入来源、状态支持同一用户在不同课程中拥有不同角色
Resource课程、资源名称、资源类型、可见范围、引用位置支持权限控制与资源组织
Task所属课程、任务类型、说明、规则、评分方式、状态、版本支持任务版本留痕和状态管理
Rubric所属任务、评分项、分值分配、版本、生效状态支持人工批改一致性
IDEWorkspace所属任务、所属学员、当前语言、当前文件树、草稿版本、最后保存时间支持在线 IDE 草稿恢复与工作区隔离
Submission所属任务、提交者、提交内容引用、提交时间、提交序号、状态每次提交独立留痕
RunSession所属任务、所属学员、运行输入、输出摘要、退出状态、资源指标、运行时间明确区分试运行与正式评测
EvaluationResult所属提交、评测状态、得分、用例摘要、错误信息、运行指标支持历史结果追溯
ReviewRecord所属提交、批改人、评语、Rubric 快照、人工评分、批改时间支持批改来源追踪
Grade学员、任务、基准提交、最终成绩、发布状态、时间戳必须能追溯成绩来源
Notification接收人、通知类型、内容、已读状态、关联对象支持消息生命周期管理
AuditLog操作者、动作、对象、结果、时间、来源不可随意篡改,支持审计检索

6.2 数据关系与完整性要求

  • DAT-01:一个课程可关联多个成员、多个资源和多个任务。
  • DAT-02:一个任务必须归属于一个课程;一个任务可产生多次提交。
  • DAT-03:一个提交可关联多次评测记录,但同一时刻只能有一个当前有效结果。
  • DAT-04:一个成绩必须能追溯到对应的任务、学员以及相关提交或批改记录。
  • DAT-05:平台配置、课程、提交、成绩和审计数据的关联关系不得因配置调整而失效。
  • DAT-06:停用或删除账号时,其历史提交、成绩和审计记录不得被直接物理删除。
  • DAT-07:用户、成绩、提交和审计数据必须按角色和作用范围进行访问控制。
  • DAT-08:一个编程任务可为每个学员维护一个独立 IDE 工作区;工作区数据不得被其他学员访问。
  • DAT-09:一次运行会话可关联某个工作区版本,但运行结果不得直接替代正式提交或成绩记录。

6.3 核心状态模型

对象状态合法流转说明
平台配置activeactive当前版本为单份即时生效配置
课程draft / active / archiveddraft -> active -> archived归档后默认为只读
任务draft / published / closeddraft -> published -> closed关闭可由时间触发或人工触发
提交accepted / evaluating / evaluated / failedaccepted -> evaluating -> evaluated 或 failed提交被受理后不可删除
评测结果pending / running / success / failed / timeout / errorpending -> running -> 终态终态结果保留供追溯
成绩pending / unpublished / published / withdrawnpending -> unpublished -> published -> withdrawn -> published撤回后允许重新发布

6.4 数据保留与隐私要求

数据类别默认保留要求补充说明
用户与组织信息至少保留到账号停用后的审计期结束应遵循最小必要原则
提交记录与结果文件默认保留 3 年过期后可按策略归档或删除文件实体
评测结果默认保留 3 年历史结果需支持查询与审计
成绩记录默认保留 5 年机构如有更长要求,以机构规则为准
审计日志默认保留 1 年可按机构合规要求延长
通知消息默认保留 90 天超期可归档或清理

隐私规则:

  • PRV-01:成绩数据默认仅对本人、授权教师、助教和管理员可见。
  • PRV-02:个人信息采集范围应限定在账号、组织、教学管理和审计所需范围内。
  • PRV-03:涉及导出和删除的数据操作必须受权限控制并产生审计记录。

7. 非功能需求

7.1 易用性与可访问性

编号需求衡量标准优先级验证
NFR-USE-01浏览器内完成主链路学员无需安装本地开发环境即可完成“查看任务 -> 在线 IDE 编辑 / 运行 -> 提交 -> 查看结果”主链路MUSTD/T
NFR-USE-02明确的状态与错误反馈关键操作必须给出成功、失败或处理中提示,错误信息应可理解MUSTD/T
NFR-USE-03首次使用可完成主链路首次使用者应能在无专门培训情况下完成“加入课程 -> 查看任务 -> 在线 IDE 运行 -> 提交 -> 查看结果”SHOULDD/T
NFR-USE-04基本可访问性关键页面应提供键盘可达、焦点可见和足够对比度等基本可访问性支持SHOULDI/T

7.2 性能

编号需求指标优先级验证
NFR-PERF-01常规页面响应时间列表、详情、配置等常规页面 95th 响应时间应不高于 2 秒MUSTT/A
NFR-PERF-02提交受理响应提交请求返回受理结果的时间应不高于 2 秒MUSTT
NFR-PERF-03评测状态感知延迟前端感知评测状态变化的延迟应不高于 5 秒SHOULDT
NFR-PERF-04批量导入性能导入 500 条合法用户数据的反馈时间应不高于 30 秒SHOULDT
NFR-PERF-05成绩导出性能导出 500 条成绩记录的生成时间应不高于 10 秒SHOULDT
NFR-PERF-06在线编辑器输入延迟在线编辑器字符输入显示延迟应不高于 100 毫秒SHOULDT
NFR-PERF-07在线运行反馈时间对公开样例或自定义输入的单次试运行,95th 首次结果返回时间应不高于 5 秒SHOULDT

7.3 可靠性与可用性

编号需求衡量标准优先级验证
NFR-REL-01提交受理后不丢失一旦提交被系统受理,不得因页面刷新、前端断连或普通服务重启导致记录丢失MUSTT
NFR-REL-02关键数据备份恢复关键业务数据应具备备份和恢复能力MUSTA/I
NFR-REL-03评测故障隔离评测服务故障不应影响课程浏览、提交受理和成绩查询等其他核心能力MUSTT/A
NFR-REL-04降级运行评测服务不可用时,系统应能进入降级模式并保留后续恢复空间SHOULDD/A
NFR-REL-05SaaS 可用性目标对 SaaS 部署形态,月度可用性目标应不低于 99.9%,计划内维护除外SHOULDA
NFR-REL-06SaaS 灾备目标对 SaaS 部署形态,默认目标为 RPO <= 15 分钟、RTO <= 4 小时SHOULDA/I

7.4 安全与隐私

编号需求衡量标准优先级验证
NFR-SEC-01受保护资源访问控制所有受保护页面、接口和数据都必须经过认证和授权校验MUSTT
NFR-SEC-02提交隔离执行学员提交内容必须在受限环境执行,并限制网络、文件系统和资源边界MUSTT/A
NFR-SEC-03传输安全敏感信息在传输过程中必须受到保护MUSTT/I
NFR-SEC-04凭证安全存储密码和等效凭证不得以明文或可逆形式存储MUSTI
NFR-SEC-05异常登录防护系统应具备基础限流、登录失败锁定和异常登录检测能力SHOULDT
NFR-SEC-06常见漏洞防护接口和上传能力应防范注入、跨站脚本、跨站请求伪造和恶意文件上传等常见攻击MUSTT/A
NFR-PRV-01最小必要采集平台应仅采集教学和治理所必需的个人信息与行为数据MUSTI
NFR-PRV-02成绩隐私学员成绩默认不得对其他学员公开展示MUSTT
NFR-PRV-03数据保留与删除策略平台应支持按机构规则执行数据保留、导出和删除策略SHOULDI/A

7.5 兼容性与可移植性

编号需求衡量标准优先级验证
NFR-CMP-01主流浏览器兼容Web 端应兼容最新两个主要版本的 Chrome、Firefox、Edge 和 SafariMUSTT
NFR-CMP-02常见桌面分辨率支持核心页面在 1280x720 至 3840x2160 范围内应能正常显示和操作MUSTT
NFR-CMP-03默认语言与文案配置平台默认语言为简体中文,界面文案应支持配置SHOULDD/I
NFR-CMP-04部署形态适配平台应支持独立部署或私有化部署,并允许关闭非必需扩展模块SHOULDA/I

7.6 可扩展性与可观测性

编号需求衡量标准优先级验证
NFR-EXT-01分层扩展应用层、评测执行层和通知处理层应支持独立扩展SHOULDA
NFR-EXT-02能力增量扩展新增任务类型、运行环境或外部集成时,不应破坏既有课程、提交和成绩模型SHOULDA/I
NFR-OBS-01日志与指标平台应输出结构化日志、关键性能指标和异常告警MUSTI/A
NFR-OBS-02错误追踪上下文关键失败链路应包含请求标识、用户标识和时间信息,便于问题定位MUSTI
NFR-OBS-03评测观测指标评测服务应提供队列深度、平均处理时间和失败率等指标SHOULDI/A
NFR-OBS-04运行状态查看授权运维人员应能查看服务健康状态、评测状态和资源使用情况SHOULDD/A

8. 验证、追踪与分阶段交付

8.1 验证方法定义

代码方法说明
D演示(Demonstration)通过角色操作、界面交互或业务演示验证需求满足情况
T测试(Test)通过手工或自动化测试验证输入、处理和输出是否符合预期
A分析(Analysis)通过日志、指标、容量分析、故障注入或设计约束分析验证
I检查(Inspection)通过文档审查、配置检查和记录核对确认需求已被实现和留痕

8.2 V1 验收基线

V1 交付至少应满足以下条件:

  1. 全部 MUST 级功能需求和非功能需求均有对应证据,且不存在阻断主链路的问题。
  2. 核心业务主链路能够从“平台初始化”连续执行到“成绩发布与查看”。
  3. 学员提交隔离执行、权限控制和审计留痕均完成验证。
  4. 关键数据对象、状态流转和导入导出能力均具备可复查证据。
  5. 必需的异常场景至少覆盖:无权限访问、超时提交、评测失败、成绩撤回、导出权限校验。

8.3 需求追踪矩阵(摘要)

需求组代表编号关联场景核心数据对象主要验证
平台配置与组织FR-CFG-01 ~ FR-CFG-07UC-01, UC-09PlatformConfig, OrgUnit, UserD/T/I
认证与授权FR-IAM-01 ~ FR-IAM-06UC-01, UC-04, UC-09User, AuditLogT/I
课程与成员FR-CRS-01 ~ FR-CRS-08UC-02, UC-04Course, CourseMember, ResourceD/T
任务与规则FR-TSK-01 ~ FR-TSK-07UC-03Task, RubricD/T/I
提交与在线作业FR-SUB-01 ~ FR-SUB-09UC-05IDEWorkspace, Submission, RunSessionD/T
自动评测FR-JDG-01 ~ FR-JDG-08UC-06Submission, EvaluationResultT/A
批改与成绩FR-REV-01 ~ FR-REV-09UC-07, UC-08, UC-10ReviewRecord, GradeD/T/I
通知与公告FR-NTF-01 ~ FR-NTF-04UC-06, UC-07, UC-08, UC-10NotificationD/T
运营与审计FR-OPS-01 ~ FR-OPS-04UC-09AuditLog, Course, Submission, GradeD/A/I
非功能需求NFR-*全部场景全部关键对象T/A/I

8.4 分阶段交付建议

交付阶段建议范围
V1 基线全部 MUST 级需求
V1.1 优先增强FR-IAM-05、FR-IAM-06、FR-CRS-06、FR-CRS-07、FR-TSK-06、FR-SUB-07、FR-JDG-06、FR-JDG-07、FR-REV-07、FR-REV-08、FR-REV-09、FR-NTF-03、FR-NTF-04、FR-OPS-02、FR-OPS-04
后续版本候选FR-CRS-08、FR-TSK-07、FR-JDG-08,以及范围外的高级反作弊、深度集成和 AI 能力

8.5 未决事项

编号类型内容当前状态
TBD-01容量指标基准部署配置下的并发用户数和并行评测容量目标尚需在设计阶段明确待确认
TBD-02外部认证范围是否在 V1 即纳入统一认证正式对接,取决于交付对象和部署场景待确认
TBD-03成绩保留年限某些机构可能要求高于 5 年的成绩留存期限,需在项目签约或需求澄清时确认待确认

9. 附录

9.1 本次优化的收敛原则

相较于 v3.0,本版做了以下文档层面的收敛:

  • 保留了范围、角色、需求、接口、数据、质量属性、验证和追踪等 SRS 必备信息。
  • 删除了数据库字段类型、接口协议、技术栈和部署实现等过度实现化内容。
  • 将冗长的逐步用例流程收缩为主链路和场景摘要,避免与设计说明书、测试用例文档重复。
  • 将 AI 能力、深度三方集成和高级诚信分析移出 V1 正式范围,避免目标膨胀。
  • 增加了运行模式、逻辑数据要求、非功能编号体系和未决事项,以提升正式性和可维护性。

9.2 后续文档建议

为避免 SRS 再次膨胀,后续建议如下:

  • 概要设计说明书:补总体架构、模块划分、关键流程、接口分层、部署逻辑图。
  • 详细设计说明书:补模块内部设计、状态机实现、异常处理策略、数据结构和接口时序。
  • API 文档:补端点、字段、鉴权、错误码、分页和示例请求响应。
  • 测试策略 / 测试报告:补测试分层、测试用例、缺陷和回归证据。
  • 部署文档:补运行依赖、环境变量、初始化、发布、回滚和排障步骤。