# 基于ssm框架和mysql的网上选课系统
# 一、需求分析
## 1.1 业务需求
随着社会的发展,学生的人数和课程种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此我们开发了学生选课管理系统。本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。
文中首先对课题背景,数据库基础理论和SQL语言进行了简单的叙述,然后对系统前台开发工具IDEA进行了详细的分析设计,划分具体的功能模块。
学生选课管理系统分为学生部分和教师部分。可以实现基本的增删改查的基本操作,还可以实现如根据教师姓名进行筛选选课、教师对自己所开课程进行评分等操作。
## 1.2 业务环境
本系统主要面向用户是学生和教师。教师进行选课信息、自己的课程安排查看以及学生信息的管理。学生主要进行个人信息管理、查询教师开课情况以及进行选课。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/35a3c181862979f87496083e49bbfd34.writebug)
# 二、系统分析与设计
## 2.1 系统的模块分析与设计
把网上选课系统划分为以下三个模块:用户登录模块、个人资料模块、网上选课模块。用户登录模块用于对用户的登录进行检查,个人资料模块显示个人的资料并且能够更改密码,网上选课模块为主要模块,可以选择自己的课程查看已经选择的课程。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/0e806477f25779a585512249753808bd.writebug)
## 2.2 类图
网上学生选课系统主要实现了十六个类,分别是Page、PageServiceimpl、LoginController、StudentController、TeacherController、Course、Course_choose、Course_limit、Institution、Student、Teacher、User、CourseServiceImpl、UserServiceImpl。其中Page类进行页面的管理,PageServiceimpl类设置页面的显示,Student、Teacher、User类用来获取用户的信息,LoginController类控制用户登录的信息,StudentController类显示控制学生的信息管理, TeacherController类对学生的信息进行管理,Course、Course_choose、Course_limit类用来进行课程的选择,限定和课程信息管理,CourseServiceImpl类用来对课程的服务信息管理,UserServiceImpl类用来对用户的的各类信息管理,OrderManage类用来管理用户的订单的信息,ShopMange用来管理商家店铺的信息。
网上学生选课系统的类图如图所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/966e4387cee702697ad7c7d3b16fc334.writebug)
## 2.3 数据库的分析与设计
### 2.3.1 表与表之间的关系图
通过对系统进行需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的实体对象分别为学生、课程选择、教师、学院、课程、选择课程限制。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/e16c909b8b82444d6ab9e883853f946a.writebug)
**学生信息E-R图**
学生信息包括学号、姓名、学生密码、学院ID、学院名称。管理员信息实体E-R图如图所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/fab14a0e0e22899fb11f98fe0c560fce.writebug)
**选课信息E-R图**
选课信息包括选课ID、学生ID、班级ID、分数 选课信息实体E-R图如图所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/f64a7f5ef4f53bf538ef8a8e9d398ad9.writebug)
**课程信息E-R图**
课程信息包括课程ID、课程名称、班级号、教师ID、班级选择号 课程信息实体E-R图如图所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/b99152cba4edac39f60ee66182da7106.writebug)
**学院信息E-R图**
学院信息包括学院ID、学院名称 学院信息实体E-R图如图所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/cd1ffceda0d2b28e88b475d32f4226af.writebug)
**教师信息E-R图**
教师信息包括教师ID、教师名称 教师信息实体E-R图如图所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/9c48404e1267d8a2392372bc4c09f0bc.writebug)
**课程限制E-R图**
课程限制包括限定ID、班级ID 学院ID实体E-R图如图所示。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/a3ae767dc1e65cd4687c86f4b63698dd.writebug)
### 2.3.2 数据库的表设计
**学生表的设计及信息查看**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/054873dd1c5500d58fc3562bdae67fe2.writebug)
**选课表的设计及信息查看**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/fce00aa732486c542ab139bd2ad05039.writebug)
**课程的设计及信息查看**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/73429cb19c2a88467e8208e3f6916c01.writebug)
**学院表的设计**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/dd4e40bbebf1c97f4cd53f9b0abf25b6.writebug)
**教师表的设计**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/d6dcf29fd0889881f5fcabfe5bd56175.writebug)
**课程限定表的设计**
![](http://www.writebug.com/myres/static/uploads/2021/10/19/8a17bee40f14801da40363214b1f36ef.writebug)
# 三、详细设计
## 3.1 登陆
用户根据账号与密码登陆,系统根据账号来区分学生和教师身份,判断是否为教师还是学生来登入不同系统管理。首次登入为初始账号和密码,可以进行密码修改来确保账号的安全。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/aafc9951673f04981e54e6a0eda1e0ca.writebug)
## 3.2 个人资料
根据登陆系统的账户去数据库中匹配查询所属信息,通过response来获取响应数据并通过提交表单来进行页面显示。若想更改账号密码,可通过点击页面内修改密码来对密码进行更新操作。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/126bbe395c8477974b6e0618407f1876.writebug)
## 3.3 筛选功能
根据教师名称、学院名称到数据库中进行关键字匹配相应信息,通过选取教师姓名筛选可以获取到指定老师所教授的课程,并可以查询到该老师的课程编号、课程名称、教师名称、人数限制、已选人数、学院限制;按照学院名称来筛选可以把指定学院限制的课程显示出
![](http://www.writebug.com/myres/static/uploads/2021/10/19/1c2ff50871316a651290fa29c4f5323d.writebug)
## 3.4 选课功能
学生通过登陆系统可以根据筛选信息来查询选课信息,在选择课程时存在学院限制和人数限制,根据学生所处学院来进行限制,选课时只能选取同学院课程。当课程人数已经达到人数限制时,学生同样不可继续选取。对于已选课程可以进行退选操作,避免操作失误的处理。学生可以在我的选课里对于自己所选取的课程进行编辑和成绩的查询。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/f5e48ccc3e677cee86feac4530999e64.writebug)
## 3.5 课程管理
老师通过特殊账号登陆选课系统进入课程管理,同样存在个人资料的查询和密码的修改;老师可以对自己所教授的课程进行管理,进行课程的增加、删除、权限的修改以及对于选择该课程的同学进行评分和剔除。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/6d5010586773f6647a75137b5cbf2890.writebug)
# 四、编码实现和测试
**配置DispatcherServlet实现分发请求:**
```xml
<!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置springMVC需要加载的配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-val
精选_基于ssm框架和mysql的网上选课系统_源码打包
版权申诉
142 浏览量
2022-03-08
12:38:05
上传
评论
收藏 26.81MB ZIP 举报
工具盒子
- 粉丝: 60
- 资源: 1313
最新资源
- 基于python实现的信用卡客户高风险识别源码+数据+文档说明(毕业设计)
- 基于MapReduce实现的物品的协同过滤算法,即电影推荐系统Python源码+文档说明+流程图+全部数据(高分项目)
- 基于Mahout实现协同过滤推荐算法的电影推荐系统Java源码+文档说明+界面截图
- 计算机视觉大作业-基于Python实现的道路坑洼检测源码
- 基于TensorFlow2实现手写数字识别和猫狗二分类识别Python源码+文档说明+截图+数据(高分项目)
- 基于卷积神经网络经典项目猫狗识别kaggle+Python源码+文档说明+详细注释
- 基于A3C算法实现入侵检测系统(IDS),对网络空间中的流量数据进行识别和异常分类Python源码
- 基于Vue+Suricata实现的简单的网络入侵检测系统c源码+文档说明+界面截图+安装教学(毕业设计)
- 基于联邦学习以及知识蒸馏用于搭建网络入侵检测检测模型Python源码+NSL-KDD数据集+文档说明(高分项目)
- 基于PHP实现的网络入侵检测系统源码+详细注释(高分项目)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈