一、需求分析
学生选课管理系统🗄️🛎️是一个用于高校或教育机构的管理系统,旨在帮助学生方便地选择课程,同时为教务管理人员提供有效的管理工具。该系统可以实现课程信息的管理、学生选课、成绩记录、查询统计等多种功能,提升选课的效率和准确性。
🔻 学生选课管理系统的主要功能
-
用户管理🗂️:学生注册与登录:学生可以通过学号、邮箱等信息注册和登录系统。教师与管理员账号管理:提供教师和管理员的注册、登录和权限管理功能。
-
课程管理📐📏:课程信息录入:管理员可以添加、修改、删除课程信息,包括课程名称、编号、授课教师、学分、课程性质等。课程查询与浏览:学生可以查看所有可选课程,支持按学科、教师、时间等条件进行检索。
-
选课功能🔍:选课时间管理:设定选课时间段,系统自动控制学生的选课时间。课程选择与提交:学生可以选择所需课程,查看课程的冲突情况(如时间、授课教师),并提交选课申请。
-
选课结果查询🔬:学生可以查询自己的选课结果,包括已选课程、未选课程和课程状态(如是否被退选)。
-
成绩管理📋:教师可以录入学生的成绩,学生可以查看自己的成绩。支持按课程、学期等条件查询成绩。
-
统计与分析📊:提供选课数据的统计分析功能,如课程选课人数、选课率等,帮助学校进行教学资源的优化配置。
-
通知与公告:管理员可以发布选课相关的通知、公告,学生可以查看相关信息。
-
用户反馈与支持:提供反馈渠道,学生可以提交选课相关的问题和建议,管理员进行处理。
二、角色管理
管理员💼:
- 专业信息管理
- 班级信息管理(班级属于某个专业)
- 学生信息管理(学生属于某个班级)
- 教师信息录入
- 可选课程信息录入(含课程编号,学分,与授课教师信息绑定,最多可上课人数);
- 修改课程信息;
- 查找已知课程编号的课程信息;
- 查找已知课程名称的课程信息;
- 设置选课开始结束时间,并发布选课公告
- 设置选课规则:每个学生最多选 3 门,3 可设置
- 查看选课结果(看每门课已有多少人选课 ,并显示 已选人数/最大选课人数 的值)
- 按课程编号浏览选了该课的学生信息
学生👨🎓📝✏️:
- 登录
- 查看选课公告,获知选课开始结束时间
- 查看可选课程信息(课程简介,教师简介)
- 选课
- 自动选课:在选课开始结束期间方能使用的功能,当课程名额有空缺时,最早对该课程使用自动选课功能的学生获得名额。 一个学生最多能同时对 3 门课程使用自动选课。当学生选够 3 门课程(选课规则中的设置)时,其设置的自动选课功能失效。
- 撤销选课(选课未结束前可撤销,最多可撤销 5 次)
- 查看已选课程
【系统结构图】
三、数据库设计
1.学生表
类型 | 长度 | 名称 | 注释 |
id | int | 11 | 自增主键 |
name | varchar | 20 | 学生名字 |
number | varchar | 32 | 学号 |
pwd | varchar | 32 | 学生登录密码 |
class_id | int | 11 | 班级id |
create_time | bigint | 20 | 创建时间 |
update_time | bigint | 20 | 更新时间 |
2.课程信息表
类型 | 长度 | 名称 | 注释 |
id | int | 11 | 自增主键 |
student_id | int | 11 | 学生id |
give_courses_id | int | 11 | 授课id |
create_time | bigint | 20 | 创建时间 |
update_time | bigint | 20 | 更新时间 |
3.可选课程信息表
类型 | 长度 | 名称 | 注释 |
id | int | 11 | 自增主键 |
give_courses_id | int | 11 | 授课id |
create_time | bigint | 20 | 创建时间 |
update_time | bigint | 20 | 更新时间 |
4、自动选课表
类型 | 长度 | 名称 | 注释 |
id | int | 11 | 自增主键 |
student_id | int | 11 | 学生id |
give_courses_id | int | 11 | 授课id |
create_time | bigint | 20 | 创建时间 |
update_time | bigint | 20 | 更新时间 |
四、界面展示
1. 登录界面
2.学生登录主页
3、学生选课
4、个人信息
5、管理员首页
6、维护界面
7、选课编辑
8、系统设置