# courseArrange **Repository Path**: AaronCos/course-arrange ## Basic Information - **Project Name**: courseArrange - **Description**: 基于SpringBoot的高校排课系统 (遗传算法) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 13 - **Created**: 2024-05-27 - **Last Updated**: 2024-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CourseArrange #### 介绍 排课问题是个复杂的问题,这个系统只是用遗传算法解决了基本的硬约束问题。 必需要解决的问题称为硬约束 就是 教师+教室+班级+课程+时间 五个基本条件的关联与冲突的问题 还有更加人性化的软约束 教师偏爱的上课时间或教室 相邻课程安排的地点问题(不同校区),同一课程安排的时间间隔等等各种软约束问题都可以纳入适应度函数的计算。但up太low,时间也不够就没做。 最终实现参考的主要系统: 1.大佬的高中排课系统:https://gitee.com/lequal/CourseArrange (感谢大佬提供的遗传算法书籍和思路) 2.48块的源码空间的排课系统(前端页面实现的大部分参考) 3.b站上有项目最终实现效果的视频,可以先去看看:https://www.bilibili.com/video/BV1WT411V7EJ #### 软件架构 前端技术栈: Vue + Element UI, 直接下载了全部文件在项目里,所以有点大。 后端技术栈: JDK1.8 + Spring Boot + MySQL5.7 ,使用maven实现包管理,开发工具:IDEA #### 安装教程 1. 配置好JDK环境,maven环境。 2. 项目在配置好JDK环境之后,使用IDEA等IDE工具打开。 3. 建立数据库,数据库在项目目录的doc目录下,直接导入生成即可。 4. 运行maven安装项目所需依赖,配置好数据库的连接,待依赖安装完成启动项目的Application启动类即可。 5. 管理员登录(账户:root 密码:1008611 ) 教师登录(账户:1520182500 密码:000000) 登录页面:http://localhost:8080/login.html ![](https://gitee.com/pang-965541927/course-arrange/raw/master/uplaods/6.png) ![](https://gitee.com/pang-965541927/course-arrange/raw/master/uplaods/7.png) #### 实现功能 ​ 系统有管理员、教师 两种用户 ​ 实现截图如下: ![](https://gitee.com/pang-965541927/course-arrange/raw/master/uplaods/1.png) ![](https://gitee.com/pang-965541927/course-arrange/raw/master/uplaods/2.png) ![](https://gitee.com/pang-965541927/course-arrange/raw/master/uplaods/3.png) ![](https://gitee.com/pang-965541927/course-arrange/raw/master/uplaods/4.png) ![](https://gitee.com/pang-965541927/course-arrange/raw/master/uplaods/5.png) #### 后面的话 1. 不学无术,学的很垃圾,写出来的代码也垃圾的很。 2. 只是自己毕设的一个记录和给大家做排课方面的小项目有一个小参考。 3. 希望这个项目可以对大家有所帮助。 4. 不知道图片到底能不能看见