基于ssm框架和mysql的网上选课系统

攀登者ing

发布日期: 2020-12-04 08:46:26 浏览量: 405
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

一、需求分析

1.1 业务需求

随着社会的发展,学生的人数和课程种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此我们开发了学生选课管理系统。本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。

文中首先对课题背景,数据库基础理论和SQL语言进行了简单的叙述,然后对系统前台开发工具IDEA进行了详细的分析设计,划分具体的功能模块。

学生选课管理系统分为学生部分和教师部分。可以实现基本的增删改查的基本操作,还可以实现如根据教师姓名进行筛选选课、教师对自己所开课程进行评分等操作。

1.2 业务环境

本系统主要面向用户是学生和教师。教师进行选课信息、自己的课程安排查看以及学生信息的管理。学生主要进行个人信息管理、查询教师开课情况以及进行选课。

二、系统分析与设计

2.1 系统的模块分析与设计

把网上选课系统划分为以下三个模块:用户登录模块、个人资料模块、网上选课模块。用户登录模块用于对用户的登录进行检查,个人资料模块显示个人的资料并且能够更改密码,网上选课模块为主要模块,可以选择自己的课程查看已经选择的课程。

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用来管理商家店铺的信息。

网上学生选课系统的类图如图所示。

2.3 数据库的分析与设计

2.3.1 表与表之间的关系图

通过对系统进行需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的实体对象分别为学生、课程选择、教师、学院、课程、选择课程限制。

学生信息E-R图

学生信息包括学号、姓名、学生密码、学院ID、学院名称。管理员信息实体E-R图如图所示。

选课信息E-R图

选课信息包括选课ID、学生ID、班级ID、分数 选课信息实体E-R图如图所示。

课程信息E-R图

课程信息包括课程ID、课程名称、班级号、教师ID、班级选择号 课程信息实体E-R图如图所示。

学院信息E-R图

学院信息包括学院ID、学院名称 学院信息实体E-R图如图所示。

教师信息E-R图

教师信息包括教师ID、教师名称 教师信息实体E-R图如图所示。

课程限制E-R图

课程限制包括限定ID、班级ID 学院ID实体E-R图如图所示。

2.3.2 数据库的表设计

学生表的设计及信息查看

选课表的设计及信息查看

课程的设计及信息查看

学院表的设计

教师表的设计

课程限定表的设计

三、详细设计

3.1 登陆

用户根据账号与密码登陆,系统根据账号来区分学生和教师身份,判断是否为教师还是学生来登入不同系统管理。首次登入为初始账号和密码,可以进行密码修改来确保账号的安全。

3.2 个人资料

根据登陆系统的账户去数据库中匹配查询所属信息,通过response来获取响应数据并通过提交表单来进行页面显示。若想更改账号密码,可通过点击页面内修改密码来对密码进行更新操作。

3.3 筛选功能

根据教师名称、学院名称到数据库中进行关键字匹配相应信息,通过选取教师姓名筛选可以获取到指定老师所教授的课程,并可以查询到该老师的课程编号、课程名称、教师名称、人数限制、已选人数、学院限制;按照学院名称来筛选可以把指定学院限制的课程显示出

3.4 选课功能

学生通过登陆系统可以根据筛选信息来查询选课信息,在选择课程时存在学院限制和人数限制,根据学生所处学院来进行限制,选课时只能选取同学院课程。当课程人数已经达到人数限制时,学生同样不可继续选取。对于已选课程可以进行退选操作,避免操作失误的处理。学生可以在我的选课里对于自己所选取的课程进行编辑和成绩的查询。

3.5 课程管理

老师通过特殊账号登陆选课系统进入课程管理,同样存在个人资料的查询和密码的修改;老师可以对自己所教授的课程进行管理,进行课程的增加、删除、权限的修改以及对于选择该课程的同学进行评分和剔除。

四、编码实现和测试

配置DispatcherServlet实现分发请求:

  1. <!-- 配置DispatcherServlet -->
  2. <servlet>
  3. <servlet-name>SpringMVC</servlet-name>
  4. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  5. <!-- 配置springMVC需要加载的配置文件-->
  6. <init-param>
  7. <param-name>contextConfigLocation</param-name>
  8. <param-value>classpath:spring-*.xml</param-value>
  9. </init-param>
  10. <load-on-startup>1</load-on-startup>
  11. <!--异步支持-->
  12. <async-supported>true</async-supported>
  13. </servlet>
  14. <servlet-mapping>
  15. <servlet-name>SpringMVC</servlet-name>
  16. <!-- 匹配所有请求-->
  17. <url-pattern>/</url-pattern>
  18. </servlet-mapping>

定义数据库连接池:

  1. jdbc.driver=com.mysql.jdbc.Driver
  2. #数据库地址
  3. jdbc.url=jdbc:mysql://localhost:3306/Course_Selection_System?useUnicode=true&characterEncoding=utf8
  4. #用户名
  5. jdbc.username=root
  6. #密码
  7. jdbc.password=123

SpringMVC相关配置信息:

  1. <!-- 扫描web相关的bean -->
  2. <context:component-scan base-package="com.zxc.controller"/>
  3. <!-- 开启SpringMVC注解模式 -->
  4. <mvc:annotation-driven/>
  5. <!-- 静态资源默认servlet配置 -->
  6. <mvc:default-servlet-handler/>
  7. <!-- 配置jsp 显示ViewResolver -->
  8. <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  9. <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
  10. <property name="prefix" value="/WEB-INF/views/"/>
  11. <property name="suffix" value=".jsp"/>
  12. </bean>

测试结果

个人信息

课程信息

课程管理

五、课程设计成果

5.1 部署Tomcat

把文件导入IntelliJ IDEA

导入成功后点击运行按钮即可

5.2 系统的软硬件需求

  • 开发环境

    • 后台基于maven使用SSM框架整合(Spring、SpringMVC、Mybatis)
    • 前端jsp页面样式基于layui框架,bootstrap和jquery
  • ide:Intellij IDEA 2017.2.4

  • java版本:jdk1.8.0_152

  • 数据库版本:mysql 5.7.18-1

  • 服务器 硬件 处理器:Intel PII或者更好 

  • 内存:256M以上 

  • 硬盘:20G以上

5.3 系统的功能使用介绍

5.3.1 登录功能

对用户的账号密码检查,如果成功就让用户进入选课界面,否则提示用户登录失败。

5.3.2 个人资料功能

当用户点击这个时可以查看用户的个人信息,也可以对用户的密码进行修改。

5.3.3 选课功能

选课功能模块分为两种一种是我的选课查看用户已选课程的信息和退课,第二种是排课信息,进行选课。

上传的附件 cloud_download 基于WEB的网上选课系统.zip ( 28.11mb, 15次下载 )
error_outline 下载需要12点积分

发送私信

57
文章数
9
评论数
最近文章
eject