ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【原创唯一】基于SpringBoot+Vue+AI大模型的高校在线选课与课表智能排课系统

【原创唯一】基于SpringBoot+Vue+AI大模型的高校在线选课与课表智能排课系统 摘要高校在线选课与课表管理系统面向管理员、教师和学生覆盖学期与时间窗配置、班级可视化排课、在线选课、个人课表、成绩绩点与学分统计。系统采用 Spring Boot 与 Vue 分离架构。管理员按班级勾选课程并在课表格子排课保存时校验教师冲突与教室容量合班必修课自动选课不可退选选修课组由学生在时间窗内自选子课程。智能排课按每周课时生成建议大模型只解读未排原因不直接改库。选课检测冲突、容量与先修约束学分按必修选修分项统计。本文从需求、设计到测试说明上述实现为高校选课与课表管理提供可落地方案。需求分析明确管理员、学生、教师的权限边界与核心业务流程系统设计给出总体架构、数据库表结构与REST接口划分并对系统重点业务模块的实现思路进行说明。经功能与流程测试验证主要业务可闭环运行能够支撑高校在线选课与课表管理系统的演示与应用需求为同类信息化系统建设提供参考。技术栈 Spring Boot 3 MyBatis-Plus MySQL Vue 3 Element Plus AI大模型数据库表15张创新点教室容量合班与班级可视化排课、智能排课建议与AI大模型说明、选修课组与子课程分层选课、选课时间窗与冲突约束闭环、可配置绩点规则与学分分项统计演示视频高校在线选课与课表智能排课系统文末获取联系文末获取联系作者介绍专注计算机编程个人开发坚持原创非工作室源码全网唯一。✅技术主流SpringBoot Vue 前后端分离MySQLAI大模型可本地运行✅配套资料源码 数据库 实验报告/论文 答辩 PPT部署演示远程调试问题解答技术范围SpringBoot、Vue、数据可视化、小程序、HLMT、Nodejs、uni-app、MySQL数据库、ElementUi等设计与开发。适用范围软件工程、软件技术、计算机科学与技术、大数据、云计算、JavaWeb开发、JavaEE、Java、Web应用开发、动态网页设计、小程序的毕设参考开发文档创新点说明、功能需求分析、数据库表结构设计、后端接口设计、创新点代码分析功能展示学生学生功能菜单名称1课程浏览2我的选课3个人课表4学分统计5公告通知教师教师功能菜单名称1数据统计2课程查看3选课名单4公告通知管理员管理员功能菜单名称1数据统计2院系管理3班级管理4教室管理5班级排课6学期管理7选课时间窗8选课规则9绩点规则10课程管理11选课名单12学生管理13教师管理14公告管理15管理员账号数据库及架构系统数据库设计为数据库设计SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0; -- ---------------------------- -- Table structure for admins -- ---------------------------- DROP TABLE IF EXISTS admins; CREATE TABLE admins ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, username varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 账号, password varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 密码, name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 姓名, phone varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 手机号, enabled tinyint(4) NULL DEFAULT 1 COMMENT 状态, PRIMARY KEY (id) USING BTREE, UNIQUE INDEX username(username) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 2 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 管理员 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for class_course_plans -- ---------------------------- DROP TABLE IF EXISTS class_course_plans; CREATE TABLE class_course_plans ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, class_id bigint(20) NOT NULL COMMENT 班级ID, course_id bigint(20) NOT NULL COMMENT 课程ID, term_id bigint(20) NOT NULL COMMENT 学期ID, weekly_sessions int(11) NULL DEFAULT 1 COMMENT 每周上课次数, PRIMARY KEY (id) USING BTREE, UNIQUE INDEX uk_class_course_term(class_id, course_id, term_id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 49 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 班级课程计划 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for classes -- ---------------------------- DROP TABLE IF EXISTS classes; CREATE TABLE classes ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 班级名称, code varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 班级代码, department_id bigint(20) NULL DEFAULT NULL COMMENT 院系ID, grade varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 年级, student_count int(11) NULL DEFAULT 0 COMMENT 班级人数, description varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 描述, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 10 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 班级 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for classrooms -- ---------------------------- DROP TABLE IF EXISTS classrooms; CREATE TABLE classrooms ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 教室名称, code varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 教室编号, building varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 楼栋, capacity int(11) NOT NULL DEFAULT 50 COMMENT 容纳人数, enabled tinyint(4) NULL DEFAULT 1 COMMENT 启用状态, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 11 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 教室 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for course_schedules -- ---------------------------- DROP TABLE IF EXISTS course_schedules; CREATE TABLE course_schedules ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, course_id bigint(20) NOT NULL COMMENT 课程ID, class_id bigint(20) NULL DEFAULT NULL COMMENT 班级ID, classroom_id bigint(20) NULL DEFAULT NULL COMMENT 教室ID, weekday tinyint(4) NOT NULL COMMENT 星期 1-7, period tinyint(4) NOT NULL COMMENT 时段 1上午 2下午 3晚上, section tinyint(4) NOT NULL COMMENT 节次 1-4, location varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 上课地点, week_type tinyint(4) NULL DEFAULT 0 COMMENT 周次类型, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 64 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 课程排课 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for course_selections -- ---------------------------- DROP TABLE IF EXISTS course_selections; CREATE TABLE course_selections ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, student_id bigint(20) NOT NULL COMMENT 学生ID, course_id bigint(20) NOT NULL COMMENT 课程ID, term_id bigint(20) NOT NULL COMMENT 学期ID, status tinyint(4) NULL DEFAULT 1 COMMENT 状态, is_required tinyint(4) NULL DEFAULT 0 COMMENT 是否必修自动选课 1是 0否, score decimal(5, 2) NULL DEFAULT NULL COMMENT 成绩, credit_percent int(11) NULL DEFAULT NULL COMMENT 折算比例快照, grade_point decimal(5, 2) NULL DEFAULT NULL COMMENT 绩点学分×比例, selected_at datetime NULL DEFAULT NULL COMMENT 选课时间, dropped_at datetime NULL DEFAULT NULL COMMENT 退课时间, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 76 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 选课记录 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for courses -- ---------------------------- DROP TABLE IF EXISTS courses; CREATE TABLE courses ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, term_id bigint(20) NOT NULL COMMENT 学期ID, teacher_id bigint(20) NULL DEFAULT NULL COMMENT 教师ID选修课程组可为空, name varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 课程名称, code varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 课程代码, credits decimal(4, 1) NULL DEFAULT 2.0 COMMENT 学分, capacity int(11) NULL DEFAULT 50 COMMENT 容量, selected_count int(11) NULL DEFAULT 0 COMMENT 已选人数, location varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 上课地点, description text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 课程描述, material_url varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 资料文件路径, prerequisite_course_id bigint(20) NULL DEFAULT NULL COMMENT 先修课程ID, status tinyint(4) NULL DEFAULT 0 COMMENT 状态, warning_sent tinyint(4) NULL DEFAULT 0 COMMENT 预警已发, enabled tinyint(4) NULL DEFAULT 1 COMMENT 启用状态, course_type tinyint(4) NULL DEFAULT 2 COMMENT 课程类型 1必修 2选修, selection_open tinyint(4) NULL DEFAULT 0 COMMENT 选修开放选课 1是 0否, parent_id bigint(20) NULL DEFAULT NULL COMMENT 上级课程组ID, is_group tinyint(4) NULL DEFAULT 0 COMMENT 是否课程组(仅排课/分组) 1是, department_id bigint(20) NULL DEFAULT NULL COMMENT 开课院系ID, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 27 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 课程 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for departments -- ---------------------------- DROP TABLE IF EXISTS departments; CREATE TABLE departments ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 院系名称, code varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 院系代码, description varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 描述, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 5 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 院系 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for grade_rules -- ---------------------------- DROP TABLE IF EXISTS grade_rules; CREATE TABLE grade_rules ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, term_id bigint(20) NULL DEFAULT NULL COMMENT 学期IDNULL为全局默认, name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 规则名称, min_score decimal(5, 2) NOT NULL COMMENT 分数下限含, max_score decimal(5, 2) NOT NULL COMMENT 分数上限含, credit_percent int(11) NOT NULL COMMENT 学分折算比例0-100, sort_order int(11) NULL DEFAULT 0 COMMENT 排序越大越优先, enabled tinyint(4) NULL DEFAULT 1 COMMENT 启用, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 4 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 成绩绩点折算规则 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for notices -- ---------------------------- DROP TABLE IF EXISTS notices; CREATE TABLE notices ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, title varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 标题, content text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 内容, publisher_type varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 发布者类型, publisher_id bigint(20) NULL DEFAULT NULL COMMENT 发布者ID, target_type varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 目标类型, target_id bigint(20) NULL DEFAULT NULL COMMENT 目标ID, publish_at datetime NULL DEFAULT NULL COMMENT 发布时间, status tinyint(4) NULL DEFAULT 1 COMMENT 状态, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 2 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 公告通知 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for selection_rules -- ---------------------------- DROP TABLE IF EXISTS selection_rules; CREATE TABLE selection_rules ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, term_id bigint(20) NOT NULL COMMENT 学期ID, name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 规则名称, max_credits int(11) NULL DEFAULT 30 COMMENT 最大学分, max_courses int(11) NULL DEFAULT 10 COMMENT 最大门数, capacity_warn_percent int(11) NULL DEFAULT 80 COMMENT 容量预警比例, allow_cross_dept tinyint(4) NULL DEFAULT 1 COMMENT 允许跨院系, description varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 描述, enabled tinyint(4) NULL DEFAULT 1 COMMENT 状态, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 2 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 选课规则 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for selection_windows -- ---------------------------- DROP TABLE IF EXISTS selection_windows; CREATE TABLE selection_windows ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, term_id bigint(20) NOT NULL COMMENT 学期ID, name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 窗口名称, start_time datetime NULL DEFAULT NULL COMMENT 开始时间, end_time datetime NULL DEFAULT NULL COMMENT 结束时间, enabled tinyint(4) NULL DEFAULT 1 COMMENT 状态, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 2 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 选课时间窗 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for students -- ---------------------------- DROP TABLE IF EXISTS students; CREATE TABLE students ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, username varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 账号, password varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 密码, name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 姓名, student_no varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 学号, gender tinyint(4) NULL DEFAULT NULL COMMENT 性别, phone varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 手机号, avatar varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 头像, class_id bigint(20) NULL DEFAULT NULL COMMENT 班级ID, enabled tinyint(4) NULL DEFAULT 1 COMMENT 状态, PRIMARY KEY (id) USING BTREE, UNIQUE INDEX username(username) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 10 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 学生 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for teachers -- ---------------------------- DROP TABLE IF EXISTS teachers; CREATE TABLE teachers ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, username varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 账号, password varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 密码, name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 姓名, phone varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 手机号, department_id bigint(20) NULL DEFAULT NULL COMMENT 院系ID, enabled tinyint(4) NULL DEFAULT 1 COMMENT 状态, PRIMARY KEY (id) USING BTREE, UNIQUE INDEX username(username) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 11 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 教师 ROW_FORMAT Dynamic; -- ---------------------------- -- Table structure for terms -- ---------------------------- DROP TABLE IF EXISTS terms; CREATE TABLE terms ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 学期名称, code varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 学期代码, start_date date NULL DEFAULT NULL COMMENT 开始日期, end_date date NULL DEFAULT NULL COMMENT 结束日期, status tinyint(4) NULL DEFAULT 0 COMMENT 状态, PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 2 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 学期 ROW_FORMAT Dynamic; SET FOREIGN_KEY_CHECKS 1;擅长功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路等。获取联系项目功能完整可在本地运行并可远程调试确保运行顺利获取联系方式毕业设计获取https://blog.csdn.net/qq_59059632/article/details/163759879?spm1011.2415.3001.5331
返回列表