基于SpringAI的在线考试系统-核心模块的数据模型交互关系

考试系统完整业务模块流转关系

基于核心表结构,我将整个系统划分为8个核心模块,以下是详细的模块划分、交互关系和内部业务流程:

一、模块划分与依赖关系

学习分析统计模块
operation_log 操作日志表
错题管理模块
wrong_question_collection 错题集表
wrong_question_item 错题项表
阅卷评分模块
marking_task 阅卷任务表
marking_task_assignment 任务分配表
marking_score 评分表
marking_blind_score 盲评表
marking_quality_control 质控表
marking_arbitration_history 仲裁表
marking_progress 进度表
marking_anomaly 异常表
marking_config 配置表
考试管理模块
mock_exam 考试表
mock_exam_record 考试记录表
mock_exam_answer 答题记录表
exam_screen_record 屏幕监控表
试卷管理模块
paper 试卷表
paper_question 试卷试题关联表
试题管理模块
question 试题表
知识点管理模块
knowledge 知识点表
用户与基础数据模块
user 用户表
grade 年级表
classroom 班级表
subject 科目表

二、各模块详细说明

模块1:用户与基础数据模块

核心表user, grade, classroom, subject

模块内部流程:

用户创建流程
管理员
教师
学生
系统初始化
创建年级数据
创建科目数据
创建班级数据
创建用户数据
选择用户角色
分配系统权限
关联任教班级/科目
关联班级/年级

模块交互:
  1. 向上依赖:无(基础模块)
  2. 向下提供
    • 用户信息给所有模块
    • 班级/年级信息给考试、阅卷、学习分析模块
    • 科目信息给知识点、试题、试卷模块

模块2:知识点管理模块

核心表knowledge

模块内部流程:

有父知识点
无父知识点
选择科目
创建知识点
设置知识点层级
继承科目信息
独立设置科目
保存知识点
生成知识点编码
计算知识点路径

模块交互:
  1. 向上依赖subject表(科目信息)
  2. 向下提供
    • 知识点标签给试题模块
    • 知识点关系给学习分析模块
    • 知识点掌握度给错题管理模块

模块3:试题管理模块

核心表question

模块内部流程:

客观题
主观题
通过
驳回
选择试题类型
输入试题内容
选择题型配置
设置选项/答案
设置评分标准
关联知识点
设置难度/分值
试题审核流程
试题入库

模块交互:
  1. 向上依赖
    • knowledge表(知识点关联)
    • subject表(科目归属)
    • user表(创建人信息)
  2. 向下提供
    • 试题内容给试卷模块
    • 试题答案给考试模块
    • 试题解析给错题模块
    • 试题难度给学习分析模块

模块4:试卷管理模块

核心表paper, paper_question

模块内部流程:

手动组卷
智能组卷
创建试卷
设置试卷属性
选择组卷方式
从题库选题
设置组卷规则
调整试题顺序
计算试卷总分
设置各题分值
试卷审核发布

模块交互:
  1. 向上依赖
    • question表(试题内容)
    • user表(创建人信息)
  2. 向下提供
    • 试卷结构给考试模块
    • 试卷总分给阅卷模块
    • 试卷难度给学习分析模块

模块5:考试管理模块

核心表mock_exam, mock_exam_record, mock_exam_answer, exam_screen_record

模块内部流程:

答题监控流程
考试创建
考试配置
发布考试
学生参加考试
答题过程
提交试卷
客观题判分
生成考试记录
开始监控
记录答题行为
检测异常行为
记录异常日志

模块交互:
  1. 向上依赖
    • paper表(试卷关联)
    • user表(考生/创建人)
    • classroom表(班级归属)
  2. 向下提供
    • 答题记录给阅卷模块
    • 考试记录给学习分析模块
    • 错题信息给错题模块
    • 监控记录给质量分析

模块6:阅卷评分模块

核心表marking_task, marking_task_assignment, marking_score, marking_blind_score, marking_quality_control, marking_arbitration_history, marking_progress, marking_anomaly, marking_config

模块内部流程:

异常处理流程
单评
双评
分差小
分差大
创建阅卷任务
分配评卷任务
评卷模式
教师独立评分
双盲评分
生成评分结果
比较两评分
取平均分
仲裁评分
质量监控
评分统计
异常检测
记录异常
异常处理

模块交互:
  1. 向上依赖
    • mock_exam表(考试信息)
    • mock_exam_answer表(答题内容)
    • question表(试题信息)
    • user表(考生/教师信息)
  2. 向下提供
    • 评分结果给学习分析模块
    • 评分质量给质量监控
    • 仲裁记录给问题追溯

模块7:错题管理模块

核心表wrong_question_collection, wrong_question_item

模块内部流程:

错题检测
错题收集
错题分类
错题分析
生成错题集
错题复习
掌握度跟踪
错题移除

模块交互:
  1. 向上依赖
    • mock_exam_answer表(答题记录)
    • question表(试题信息)
    • knowledge表(知识点关联)
    • user表(学生信息)
  2. 向下提供
    • 错题统计给学习分析模块
    • 薄弱知识点给复习建议
    • 错题频次给教学调整

模块8:学习分析统计模块

核心表operation_log + 所有表的数据分析

模块内部流程:

数据分析维度
数据收集
数据清洗
数据分析
生成报告
可视化展示
学生维度分析
班级维度分析
知识点维度分析
时间维度分析

模块交互:
  1. 向上依赖:所有业务表的数据
  2. 向下提供
    • 学情分析给教学决策
    • 质量报告给管理评估
    • 趋势预测给教学规划

三、完整业务数据流转

仲裁教师 教师B 教师A 系统 学生 教师 管理员 仲裁教师 教师B 教师A 系统 学生 教师 管理员 alt [分差大] alt [双评模式] 1.初始化基础数据 (grade/classroom/subject) 2.创建用户 (admin/teacher/student) 3.创建知识点 (knowledge) 4.创建试题 (question) 5.组卷 (paper/paper_question) 6.创建考试 (mock_exam) 7.发布考试 8.参加考试 (mock_exam_record) 9.答题 (mock_exam_answer) 10.监控考试 (exam_screen_record) 11.提交试卷 12.创建阅卷任务 (marking_task) 13.分配评卷任务 (marking_task_assignment) 14.评卷 (marking_score) 15.第一评 16.第二评 17.比较分差 (marking_quality_control) 18.仲裁评分 (marking_arbitration_history) 19.自动收集错题 (wrong_question_item) 20.学情分析 (多表联合分析) 21.查看错题 (wrong_question_collection) 22.查看统计 (学习分析报告)

四、模块间的数据依赖链

复制代码
用户与基础数据
  ↓
  ├── 知识点管理 (依赖: subject, user)
  │     ↓
  │     └── 试题管理 (依赖: knowledge, subject, user)
  │           ↓
  │           └── 试卷管理 (依赖: question, user)
  │                 ↓
  │                 └── 考试管理 (依赖: paper, user, classroom)
  │                       ↓
  │                       ├── 阅卷评分 (依赖: mock_exam, mock_exam_answer, question, user)
  │                       │     ↓
  │                       │     └── 学习分析 (依赖: 所有评分表)
  │                       │
  │                       └── 错题管理 (依赖: mock_exam_answer, question, knowledge, user)
  │                             ↓
  │                             └── 学习分析 (依赖: 错题表)
  │
  └── 学习分析 (依赖: 所有表)

五、核心业务流程说明

1. 正向业务流程(数据生成)

  1. 基础数据准备 → 2. 知识点构建 → 3. 试题录入 → 4. 试卷组卷 → 5. 考试组织 → 6. 学生答题 → 7. 阅卷评分 → 8. 错题收集 → 9. 学情分析

2. 逆向业务流程(数据分析)

  1. 学情分析 → 2. 错题回溯 → 3. 评分追溯 → 4. 考试复盘 → 5. 试卷评估 → 6. 试题优化 → 7. 知识点调整 → 8. 教学改进

3. 关键数据流转点

  • 用户ID:贯穿所有表,作为数据关联主键
  • 科目ID:连接知识点、试题、试卷、考试
  • 知识点ID:连接试题、错题、学情分析
  • 试题ID:连接试卷、考试、答题、阅卷、错题
  • 考试ID:连接考试记录、答题、阅卷、错题
  • 班级ID:连接用户、考试、学情分析

六、系统模块特点总结

  1. 层级依赖清晰:从基础到应用,从数据到分析,层层递进
  2. 数据流向明确:用户数据自上而下,业务数据自下而上
  3. 模块解耦良好:各模块相对独立,通过外键关联
  4. 扩展性强:每个模块都可以独立扩展功能
  5. 数据闭环完整:从教学准备到学情分析形成完整闭环

这个模块划分和流转关系基于核心21张表结构,确保了数据的完整性和业务逻辑的清晰性,为系统的开发和维护提供了良好的架构基础。

相关推荐
yaoxin5211231 小时前
295. Java Stream API - 选择适用于并行计算的 BinaryOperator
java·开发语言
We....1 小时前
SpringBoot 微服务拦截器与负载均衡实践
java·spring boot·微服务·负载均衡
CCC:CarCrazeCurator2 小时前
汽车UDS诊断深度剖析:定义、原理、应用与未来趋势
人工智能·汽车
冬至喵喵2 小时前
RoaringBitmap与传统Bitmap
java·开发语言
FL16238631292 小时前
C# winform部署yolo26-seg实例分割的onnx模型演示源码+模型+说明
人工智能·深度学习
better_liang2 小时前
Java技术栈中的MySQL数据结构应用与优化
java·数据结构·mysql·性能调优·索引优化
Swift社区2 小时前
Spring Boot 配置文件未生效
java·spring boot·后端
计算机程序设计小李同学2 小时前
基于Web和Android的漫画阅读平台
java·前端·vue.js·spring boot·后端·uniapp
沛沛老爹2 小时前
从Web到AI:Agent Skills CI/CD流水线集成实战指南
java·前端·人工智能·ci/cd·架构·llama·rag