需求规格说明书 (Software Requirements Specification)
项目名称:通用教学平台(支持多学科课程)
版本:1.0
日期:2025-12-18
1. 引言
1.1 项目背景
高校课程在答疑、作业批改、学情统计与互动教学方面普遍存在效率瓶颈。随着大模型(LLM)与企业微信的普及,建设一套面向多学科、可模块化扩展的教学平台成为提升教学效率的有效途径。
1.2 项目目标
构建一个基于企业微信 H5 前端、Go 后端、可集成大模型与课程工具服务的通用教学平台,实现教学管理自动化、答疑辅导智能化、课程工具按需开放。
1.3 适用范围
本平台适用于高校多学科课程教学,可根据课程配置开放对应的专属模块(如仿真、写作分析、实验工具等)。
2. 用户角色 (Stakeholders)
| 角色 | 描述 | 核心权限 |
|---|---|---|
| 管理员 (Admin) | 系统维护人员 | 用户管理、系统配置、日志审计、所有数据访问权限 |
| 教师 (Teacher) | 课程主讲教师 | 课程创建、作业发布/评分、资源上传、查看学情、配置课程专属模块 |
| 助教 (Assistant) | 协助教学人员 | 作业批改、答疑回复、管理部分学情数据、协助课程维护 |
| 学生 (Student) | 课程学习者 | 查看通知/资源、提交作业、参与答疑/讨论、使用课程专属工具 |
3. 功能需求 (Functional Requirements)
3.1 教学业务管理模块
3.1.1 用户与鉴权
- 登录:支持账号密码登录;预留企业微信 OAuth 授权登录。
- 权限控制:基于 RBAC(基于角色的访问控制),不同角色拥有不同 API 访问权限。
- 个人信息:查看与修改基本信息(后续对接企微通讯录)。
3.1.2 课程管理
- 课程列表:教师可创建/编辑/关闭课程;学生查看已选课程。
- 课程详情:展示课程大纲、公告、教学日历。
- 成员管理:教师可导入/添加学生和助教;学生可扫码/输入邀请码加入课程。
3.1.3 作业与测验
- 发布作业:支持富文本、附件;设置截止时间、满分值、评分标准。
- 提交作业:学生上传文本、图片或文件;支持多次提交(截止前)。
- 批改与反馈:教师/助教在线打分、写评语;支持引用 AI 预批改结果。
- 成绩统计:自动计算平时成绩;支持导出成绩单。
3.1.4 资源中心
- 资料上传:教师上传课件(PDF/PPT)、习题集、参考代码。
- 分类浏览:按章节或类型(文档/视频/链接)组织资源。
- 浏览记录:记录学生资源访问情况(用于学情分析)。
3.1.5 考勤签到
- 发起签到:教师发起限时二维码或数字口令签到。
- 学生签到:学生在规定时间内进行签到(记录地理位置可选)。
- 统计:自动统计出勤率,标记迟到/缺勤。
3.2 AI 教学辅助模块(通用能力)
3.2.1 智能答疑 (Tutor Mode)
- 多轮对话:学生均可与 AI 助教对话,支持多学科知识问答与学习辅导。
- RAG 检索增强:基于课程讲义/教材构建本地知识库,AI 回答时优先引用库内知识,减少幻觉。
- 追溯引用:AI 回答需标注引用片段来源(如“《第一章》/讲义节次”)。
3.2.2 作业批改辅助 (Grader Mode)
- 预批改:AI 根据预设的评分细则(Rubrics)分析学生提交的作业内容。
- 错误诊断:识别关键步骤错误、计算错误或概念误用。
- 改进建议:生成针对性的改进建议,供教师参考或经教师确认后发送给学生。
- 提示模式:对于未提交的作业,AI 仅提供解题思路提示,不直接给出答案。
3.2.3 学情总结
- 薄弱点分析:基于班级作业数据,AI 总结共性错误和薄弱知识点。
- 教学建议:为教师生成下次课的重点讲解建议。
3.3 课程专属工具模块(示例:仿真/实验)
3.3.1 典型模型计算
- 模型库:根据课程类型加载专属模型或实验工具(示例:物理/工程课程的仿真模型)。
- 参数化输入:用户可在前端调整实验参数或配置项。
- 数值求解:后端调用课程工具服务完成计算或实验任务。
3.3.2 可视化输出
- 可视化输出:生成图表/结果卡片。
- 交互式查看:支持前端查看静态图片或交互式图表(缩放/数值探测)。
3.3.3 AI 协同解读
- 图像/数据解释:AI 结合输入参数与输出结果给出解释。
- 引导式提问:AI 根据结果向学生提问,引导深度思考。
4. 非功能需求 (Non-functional Requirements)
4.1 性能要求
- API 响应:常规业务接口响应时间 < 200ms。
- AI 响应:流式输出(Streaming),首字延迟 < 3s。
- 仿真计算:简单二维模型计算时间 < 5s;支持异步任务排队。
- 并发:支持单课程 100+ 学生同时签到/提交作业。
4.2 安全性要求
- 数据传输:全链路 HTTPS 加密。
- 敏感信息:密码 Hash 存储;学生隐私数据脱敏展示。
- 内容安全:AI 输入/输出需经过敏感词过滤;防止 prompt 注入攻击。
4.3 兼容性
- 客户端:优先适配企业微信内置浏览器(Android/iOS/Desktop);兼容主流桌面浏览器(Chrome/Edge)。
- 服务端:支持 Docker 容器化部署,兼容 Linux (Ubuntu/CentOS) 环境。
4.4 可维护性
- 代码规范:遵循 Go 与 React/TypeScript 社区标准规范。
- 文档:提供完整的 API 文档(Swagger/OpenAPI)和部署文档。
- 日志:详细的业务日志与错误追踪。
5. 接口需求
5.1 外部接口
- LLM API:对接阿里云 Qwen 或兼容 OpenAI 格式的推理服务接口。
- 企业微信 API(规划中):对接通讯录、消息推送、OAuth 授权接口。
5.2 内部接口协议
- 前后端交互:RESTful API,JSON 格式数据交换。
- 微服务通信:主后端与 AI/仿真服务之间通过 HTTP 调用,共享 Secret Key 鉴权。
6. 数据需求
6.1 数据存储
- 关系型数据库 (MySQL):存储用户、课程、作业、成绩、签到记录等结构化数据。
- 向量数据库 (FAISS/Chroma)(AI服务内部):存储知识库 Embeddings 索引。
- 文件存储:本地文件系统或对象存储(MinIO/OSS),存储作业附件、课件资源、仿真结果图。
6.2 数据备份
- 定期自动备份 MySQL 数据库SQL文件。
- 关键配置文件与持久化数据目录需支持挂载备份。