# 易管•学生课程管理系统
> 易管从客户资料管理系统,到信息管理系统,再到学生课程管理系统,不断完善中,我的专业知识水平也不断提升。
## 环境
- java version 1.8.0_251 (jdk1.8)
- MariaDB 10.4.10 (MySQL 5.7及更新)
## 开始
1. 数据库配置。
创建数据库course_manage_system,服务器连接排序规则为utf8_general_cii或者utf8mb4_general_ci
导入数据库文件course_manage_system.sql
2. 使用IntelliJ IDEA打开项目文件(Eclipse等其他编辑器未经过验证),点击右上角运行'Application' 或者按组合快捷键Shift + F10。
3. 浏览器打开http://localhost:8080/。项目运行正常。
运行截图
## 项目依赖
此处说明不用关心,具体见工程下pom.xml文件
```xml
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.boot
spring-boot-starter-jdbc
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
mysql
mysql-connector-java
com.alibaba
druid
1.1.12
org.apache.tomcat.embed
tomcat-embed-jasper
provided
javax.servlet
jstl
com.google.code.gson
gson
```
## 功能简介
易管•学生课程管理系统提供四种身份:学生身份,教师身份,管理员身份和高级管理员身份。
除功能模块外,登录系统后系统右上角有当前时间和本地天气。非常银杏。
登录界面要输入验证码,防止机器人攻击。
### 管理员模块
管理员功能分为四大模块,基本数据管理,课程安排管理,学生成绩管理,个人信息管理。
#### 基本数据管理
基本数据管理包括管理员维护(高级管理员独有)、学生信息维护、教师信息维护、班级信息维护、课程信息维护。
##### 管理员维护(高级管理员独有)
管理员信息包括管理员登录名,姓名,密码。
对管理员进行增删改查,额外有批量删除功能、批量添加功能、分页功能,查询是根据管理员登录名模糊查询。
##### 学生信息维护
学生信息包括学号、班级、姓名、密码、性别、年龄、邮箱、手机号。
对学生信息进行增删改查,额外有批量删除功能、批量添加功能、分页功能,查询是根据学号以及姓名模糊查询。
##### 教师信息维护
教师信息包括教职工号、姓名、密码、邮箱、手机号。
对教师信息进行增删改查,额外有批量删除功能、批量添加功能、分页功能,查询是根据教职工号、姓名进行模糊查询。
##### 班级信息维护
班级信息包括班级号,班级名,所属学院、班级人数。
对班级信息进行增删改查,额外功能有批量删除功能、批量修改功能、分页功能,查询是根据班级名称、学院进行模糊查询。
##### 课程信息维护
课程信息包括课程编号、课程名称、课程人数。
对课程信息进行增删改查,额外功能有批量删除功能、批量修改功能、分页功能,查询是根据课程编号、名称进行模糊查询。
#### 课程安排管理
课程安排管理包括学生选课安排、教师授课安排、公选课安排。
##### 学生选课安排
学生选课安排是对学生选课信息进行管理的功能模块。学生选课信息包括学号、学生姓名、课程编号、课程名称、状态。
对学生选课信息进行增删改查,额外功能包括批量删除、批量添加、通过选课、批量通过选课、分页功能,查询是根据学号、课程编号进行模糊查询,还可以查询全部未通过学生选课。
##### 教师授课安排
教师授课安排是对教师授课信息进行管理的功能模块。教师授课信息包括教职工号、教师姓名、课程编号、课程名称、课程用书、状态。
对教师授课信息进行增删改查,额外功能还包括批量删除、批量添加、通过授课、批量通过授课、分页功能,查询是根据教职工号、课程编号进行模糊查询,还可以查询全部未通过教师授课。
##### 公选课安排
公选课安排比较特殊,在本页面有三个下拉框,分别是选择班级下拉框、选择教师下拉框、选择课程下拉框。
通过三个下拉框选择班级、教师、课程后,点击提交会为该班级中的所有学生安排本课程,为该教师安排本授课。十分方便。
#### 学生成绩管理
学生成绩管理只包含学生成绩管理一个功能模块。
##### 学生成绩管理
学生成绩信息包括课程编号、课程名称、学号、姓名、班级、授课教师、成绩。
对学生成绩信息进行删改查,额外功能包括批量删除、分页功能,查询可以根据学号、课程号进行模糊查询,还可以在下拉框中选择具体班级查看该班级中所有学生的成绩,还可以在下拉框中选择具体课程查看该课程中所有学生的成绩。
学生选课尚未通过者不显示在列表中。学生选课通过但未公布成绩者,成绩信息显示为/,已提交学生成绩的,成绩显示为具体数值。任课教师一列,显示的为该课程所有的授课教师。
#### 个人信息管理
个人信息管理包括修改个人信息(管理员独有)和退出登录。
##### 修改个人信息(管理员独有)
允许管理员对自己的姓名或者密码进行修改。
##### 退出登录
点击该模块后会退出登录。
### 学生模块
学生功能分为两大模块:基本信息管理、个人信息管理。
#### 基本信息管理
基本信息管理包括我的成绩查询、我的选课查询、申请新课程。
##### 我的成绩查询
学生成绩信息包括课程编号、课程名称、学号、姓名、班级、任课教师、成绩。未通过选课不会出现在列表中,未公布成绩中成绩信息显示未/,已公布成绩显示具体数值。任课教师一列,显示的为该课程所有的授课教师。
学生只能查询,不能对成绩进行其他操作。
##### 我的选课查询
选课信息包括课程编号、课程名称、学号、学生姓名、状态。
学生只能查询,不能对选课进行其他操作。
##### 申请新课程