、立项背景和目标:传统纸质考试组卷、阅卷效率低,且无法防作弊。本项目旨在开发一套B/S架构的在线考试系统,支持随机抽题、自动阅卷、防切屏监控,目标提升教务管理效率70%以上。
2、软件功能、核心功能模块:包括用户管理(学生/教师/管理员)、题库管理(多题型、难度标签)、智能组卷(按知识点+难度随机抽题)、在线考试(防切屏、倒计时)、自动阅卷(客观题)及成绩分析报表。
3、业务流程、功能路径描述:教师登录 → 导入/编辑题库 → 设置考试参数(时间、参与班级、防作弊规则)→ 发布考试 → 学生登录 → 身份验证 → 进入考试 → 答题(系统记录切屏次数)→ 提交 → 客观题自动出分,主观题教师批阅 → 生成成绩分析与错题本。
1、整体架构和设计思路:采用前后端分离架构。前端Vue.js + ElementUI,后端Spring Boot构建RESTful API,MySQL存储业务数据,Redis缓存会话及防作弊标记。Nginx做负载均衡。
2、“我”的贡献模块和结果:独立完成后端智能组卷引擎与防作弊模块。智能组卷实现随机算法 + 难度比例控制,组卷耗时从平均2分钟降至0.3秒;防作弊模块基于前端埋点 + WebSocket心跳,实现切屏超3次自动交卷,上线后作弊行为降低约85%。
3、“我”遇到的难点、坑,和解决方案:难点是随机抽题的高并发下性能差——因每次需联表查询上千道题。解决方案:将题库按标签预切片并缓存至Redis,使用位图标记已抽题目,配合Lua脚本原子性取题,最终QPS从80提升至1200。另一个坑是WebSocket在移动端息屏后断开,改用心跳重连 + localStorage暂存切屏记录,保证数据不丢失。