基于java+SpringBoot+HTML+Mysq在线选课系统设计与实现_哔哩哔哩_bilibili
源码+论文获取请私信获取
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境[1]。计算机的最到好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。
随着高校的多样全面发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,学生选课[2]作为一种信息资源的集散地,包含很多的信息数据的管理。由于数据繁多,容易丢失,且不易查找。并且数据处理手工操作工作量大,出错率高,出错后不易更改,造成各种不便,总的来说,缺乏系统,规范的信息管理手段[3]。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是学生选课管理信息系统的开发基本环境背景。
系统实现后,极大的方便对学生进行选课和选课后的安排管理工作,学生选课信息的管理。避免在安排课程信[4]息的滞后,减少信息交流的繁琐过程及其带来的额外开销。促进高校教育的计算机信息化进程,提高高校的工作效率。并且对于系统本身而言,具有更高的使用性[5]、安全性。能够满足学生选课[6],以及学生对选课信息的管理。
本优选在线选课系统主要包含三种角色教务管理员、教师、以及老师。三种角色功能组成组要包含以下功能:
教务管理员:学生管理、教师管理、课程管理;
教师包括:个人信息:我的课程、课表设置以及查看、设置以及查询学生分数,
学生包括:课程选择、我的课程、课程课表、课程分数等模块组成。
(1)可行性分析:观察选课管理行业,对整体方案进行可行性分析[7]。
(2)概要设计:对整体业务进行研究[8],划分出大概功能[9]。
(3)详细设计:对整个框架进行详细的设计[10],包括界面设计,数据库设计以及前后端接口设计。
(5)测试:设计测试用例,使用黑盒测试对系统进行测试,找到并优化bug。
2.1 软硬件要求
由于本系统未涉及复杂的算法计算,为了能够利用最节约的成本以及简洁的代码达到最佳的效果,经过调研,计划采用Java语言来开发,具体的软硬件环境要求如下。
(1)硬件环境:Corei7处理器,内存要求8G及以上,硬盘50G以上
(2)服务器: 采用普通办公用个人计算机作为服务器,用来发布服务。
(3)开发工具:Idea
(4)操作系统:可以采用Windows7及以上系统。
(5)数据库系统:采用现在比较流行的MySQL数据库。
(6)服务器:采用Tomcat9。
(7)Java环境:JDK10。
Spring Boot框架是由Pivotal公司开发的新框架,其设计的根本原因是为了简化Spring框架应用过程中搭建以及开发过程复杂的配置。这个框架使用了比较特殊方式来进行相关配置,使Java开发的人员不再需要各类型自定义样板配置。框架Spring Boot能够在蓬勃的发展互联网开发领域作为先锋[11]。MVC 的设计模式一般是指 MVC类型的框架, model通常是指数据的模型层[12], view通常是指是视图层, controller[13]通常是指控制层。 MVC框架设计的目的是将数据的模型层和视图层相关的代码分离。
图2.1 Spring boot启动流程图
之前在使用传统Spring框架去做Java的系统开发中,大量的配置文件存在各类型的项目之中,导致开发的项目变得很是笨重,繁琐的配置以及第三方框架配置,导致整个开发以及项目的部署效率大大降低。Spring Boot 不是用来代替 Spring 框架的,是用来提升所有 Spring 框架的开发人员开发工具。它集成了许多许多的常用第三方软件库,Spring Boot中这些软件库库几乎可以达到零配置即时可用,大部分的 Spring Boot 系统只需要要很少量配置就能够让Java开发人员启动项目。
通过LBMD引擎,让应用系统的开发变成固定化,形成一种新的开发者模式:用LEAP工具来搭建应用系统,也可以用LEAP[14]来运行应用系统,从而达到资金量减少、减少工作量的前提下快速构建大型、复杂项目的目的。通过LEAP提供“模型驱动”可以灵活部署仅用少量的代码就可以完成大型项目,大大的减少Java程序员工作量,还降低了bug的出现风险。LEAP采用了SOA框架简化开发,还同时可使用二进制的开发机制,并且完整了SDK,也是众多程序员选择Spring Boot的原因。
2.3 bootstrap库详细介绍
bootstrap 是免费且开源的。代码托管、开发和维护都在同一个平台上直接处理完成的。开发人员可以直接用预编的 CSS 文件快速开发,也可以从 Bootstrap 源码自定义一个自己想要的模块。一个框架、多种设备。网站和应用能在 Bootstrap 的帮助下通过同一份源码快速、有效地适各种设备,如:手机、平板、PC端等。这一切都是 CSS 媒体查询的效果。功能完整的Bootstrap 框架提供了各种各样优美的文档,开发人员能在这里找到关于 HTML元素、HTML 和 CSS 组件以及 jQuery 插件等详细文档。
3.1 可行性分析
经济可行性:基于ssm框架的优选在线选课系统系统,采用免费开源的Mysql作为数据库,开源的开发工具IDEA作为开发工具,用自己的电脑作为服务器,综上所属本项目在经济上是可行的。
技术可行性:基于ssm框架的优选在线选课系统系统采用Java语言作为后端开发语言,Mysql作为数据库,HTML、javascript等语言作为前端语言,以上语言都有成熟的框架,这些框架让编码没有那么难,所以,基于ssm框架的优选在线选课系统系统在技术上是可行的。
操作可行性:基于ssm框架的优选在线选课系统系统采用传统的系统操作形式,通过浏览器打开本系统,各项功能按照使用前后顺利平铺在左侧菜单栏,符合用户的操作习惯,所以基于ssm框架的优选在线选课系统系统在操作上是可行的。
法律可行性基于ssm框架的优选在线选课系统系统仅用作毕业设计,不会对外开放,不会存在法律风险。
3.2 需求分析
3.2.1 功能需求
优选在线选课系统主要包含三种角色教务管理员、教师、以及老师。三种角色功能组成组要包含以下功能:教务管理员:学生管理、教师管理、课程管理;教师包括:个人信息:我的课程、课表设置以及查看、设置以及查询学生分数,学生包括:课程选择、我的课程、课程课表、课程分数等模块组成。同时,根据每个子系统的功能不同,分别完成需求分析中的不同要求。
3.2.1 安全需求
访问时效:本基于ssm框架的优选在线选课系统响应时间应在人的感觉和视觉范围内,系统响应时间足够迅速,能够满足用户要求。
适应性:本基于ssm框架的优选在线选课系统在操作方式、运行环境、软件接口或开发计划等发生变化时,应具有适应能力。
系统的开发过程如下图3-1所示。
图3-1 系统开发过程图
基于ssm框架的优选在线选课系统是使用JAVA的SSM 框架基础上开发的,使用 IDEA作为开发工具,Mysql作为数据库,系统主要分为教务管理员、教师、学生三种角色,系统的总体结构设计如图 4-1 所示。
图4-1 系统总结构图
4.2.1 功能模块设计
(1)教务管理员:
系统登录:按照要求输入账号密码进行登录。
学生管理:在此模块对学生信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。
教务管理员管理:在此模块对教务管理员信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。
教师管理:在此模块对教师信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。
课程管理:在此模块对课程信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。
(2)教师:
系统登录:按照要求输入账号密码进行登录。
我的课程课表管理:在此模块对我的课程课表信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。
我的课程分数管理:在此模块对我的课程分数信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。
(3)学生:
系统登录:按照要求输入账号密码进行登录。
我的课程:查看我的课程信息;
课程选择:选择自己想要选择的课程。
课程课表:点击下载课表可以下载对应课程的课表安排信息。
课程分数:可查看自己的课程分数。
按照要求输入账号密码登录系统;如下图4-2所示。
图4-2 登录顺序图
(2)添加顺序图
管理员添加内容,如下图4-3所示。
图4-3 添加顺序图
(3)修改内容顺序图
登录用户打开需要修改的内容,按照要求输入需要修改的信息,点击提交修改成功,如下图4-4所示。
图4-4 修改顺序图
4.3.1 数据库E-R图设计
图4-5 数据库E-R图
(1)登录用户与管理员进行登录。登录信息描述如表4-1所示。
表4-1 登录用例
用例组成 | 具体内容 |
用例名称 | 用户与管理员登录 |
参与者 | 用户,管理员 |
前置条件 | 用户,管理员拥有账号与密码 |
后置条件 | 用户,管理员登录成功 |
用例概述 | 用户或管理员进行登录 |
基本事件流 | 1、用户或管理员通过账号与密码进行登录。 2、用户或管理员登陆成功。 |
备选事件流 | 1、登录成功,跳转到主页面。 2、登陆失败。 |
备注 | 无。 |
(2)个人资料用户个人资料。个人资料描述如表4-2所示。
表4-2 个人资料用例
用例组成 | 具体内容 |
用例名称 | 用户个人资料 |
参与者 | 用户 |
前置条件 | 用户进入个人资料 |
后置条件 | 用户能查看以及修改信息 |
用例概述 | 用户查看修改个人信息 |
基本事件流 | 1、用户输入自己的账号与密码进入个人资料。 |
备选事件流 | 1、修改成功。 2、修改失败。 |
备注 | 无。 |
(3)管理员模块管理员模块。管理员描述如表4-3所示。
表4-3 管理员用例
用例组成 | 具体内容 |
用例名称 | 管理员管理 |
参与者 | 管理员 |
前置条件 | 管理员成功登录进入系统 |
后置条件 | 无 |
用例概述 | 管理管理员 |
基本事件流 | 1、管理员输入信息搜索数据。 2、管理员通过系统添加一条数据。 3、管理员通过系统修改一条数据。 4、管理员通过系统删除一条数据。 |
备选事件流 | 1、系统响应,成功,失败。 |
备注 | 无。 |
(4)课程管理模块。课程管理描述如表4-4所示。
表4-4 课程管理用例
用例组成 | 具体内容 |
用例名称 | 课程管理 |
参与者 | 管理员 |
前置条件 | 管理员成功登录进入系统 |
后置条件 | 无 |
用例概述 | 课程管理 |
基本事件流 | 1、管理员输入信息搜索数据。 2、管理员通过系统添加一条数据。 3、管理员通过系统修改一条数据。 4、管理员通过系统删除一条数据。 |
备选事件流 | 1、系统响应,成功,失败。 |
备注 | 无。 |
(5)学生管理模块管理员模块。管理员描述如表4-5所示。
表4-5 学生管理用例
用例组成 | 具体内容 |
用例名称 | 学生管理 |
参与者 | 管理员 |
前置条件 | 管理员成功登录进入系统 |
后置条件 | 无 |
用例概述 | 学生管理 |
基本事件流 | 1、管理员输入信息搜索数据。 2、管理员通过系统添加一条数据。 3、管理员通过系统修改一条数据。 4、管理员通过系统删除一条数据。 |
备选事件流 | 1、系统响应,成功,失败。 |
备注 | 无。 |
(6)教师管理模块。管理员描述如表4-6所示。
表4-6 教师管理用例
用例组成 | 具体内容 |
用例名称 | 教师管理 |
参与者 | 管理员 |
前置条件 | 管理员成功登录进入系统 |
后置条件 | 无 |
用例概述 | 教师管理 |
基本事件流 | 1、管理员输入信息搜索数据。 2、管理员通过系统添加一条数据。 3、管理员通过系统修改一条数据。 4、管理员通过系统删除一条数据。 |
备选事件流 | 1、系统响应,成功,失败。 |
备注 | 无。 |
人员表字典:姓名、编号、密码、性别、电话、地址、出生年份、入学时间、学院、班级、学历、角色
用户和角色关联信息字典:用户ID、角色ID
角色和菜单关联信息字典:角色ID、菜单ID
角色信息表:角色ID、角色名称、角色权限字符串、显示顺序
课程表:课程名称、课程编号、老师名称、老师编号、时间、地点、周数、分数
成绩表:课程名称、课程编号、老师、老师编号、学生、学生编号、成绩
学生课程表:课程名称、课程编号、老师名称、老师编号、学生、学生编号、时间、地点、周数、分数
课表表:课程名称、课程编号、老师名称、老师编号、开始时间、结束时间、上课地点。
(1)人员表字典:姓名、编号、密码、性别、电话、地址、出生年份、入学时间、学院、班级、学历、角色。表结构如表4-7所示
表4-7 用户表
字段 | 类型 | 描述 |
id | varchar | 主键id |
Xm | varchar | 姓名 |
mm | varchar | 密码 |
xb | varchar | 性别 |
dh | varchar | 电话 |
dd | varchar | 地址 |
sr | varchar | 出生年份 |
rx | varchar | 入学时间 |
xy | varchar | 学院 |
bj | varchar | 班级 |
xl | varchar | 学历 |
js | varchar | 角色 |
(2)课程表:课程名称、课程编号、老师名称、老师编号、时间、地点、周数、分数。表结构如表4-8所示。
表4-8 课程表
字段 | 类型 | 描述 |
Id | varchar | Id |
Mc | varchar | 课程名称 |
bh | varchar | 课程编号 |
js | varchar | 老师名称 |
jsbh | varchar | 老师编号 |
sj | varchar | 时间 |
dd | varchar | 地点 |
zs | varchar | 周数 |
fs | varchar | 分数 |
Sj | varchar | 发布时间 |
(3)用户和角色关联信息字典:用户ID、角色ID等信息组成。表结构如表4-9所示。
表4-9 用户和角色关联信息表
字段 | 类型 | 描述 |
RoleID | varchar | 角色ID |
(4)角色和菜单关联信息字典:角色ID、菜单ID等信息组成。表结构如表4-10所示。
表4-10 角色和菜单关联
字段 | 类型 | 描述 |
Cdid | varchar | 菜单ID |
(5)角色信息表:角色ID、角色名称、角色权限字符串、显示顺序等信息组成。表结构如表4-11所示。
表4-11 角色表
字段 | 类型 | 描述 |
role_id | varchar | 角色ID |
role_name | varchar | 角色名称 |
role_key | varchar | 角色权限字符串 |
role_sort | varchar | 显示顺序 |
(6)成绩表:课程名称、课程编号、老师、老师编号、学生、学生编号、成绩。表结构如表4-12所示。
表4-12 成绩表
字段 | 类型 | 描述 |
notice_id | varchar | ID |
kc | varchar | 课程名称 |
bh | varchar | 课程编号 |
js | varchar | 老师 |
lsbh | varchar | 老师编号 |
xs | varchar | 学生 |
xsbh | varchar | 学生编号 |
5.1 系统登录页面
(1)功能介绍:用户使用已有的账号密码进行登录,不可以注册账号。
(2)页面描述:系统登录页面是优选在限选课管理系统的门户页面,用户在该页面可以进行系统的登录操作。如图5-1所示。
图5-1 登录界面效果图
基于java+SpringBoot+HTML+Mysq在线选课系统设计与实现_哔哩哔哩_bilibili
源码+论文获取请私信获取