• 基于java+SpringBoot+HTML+Mysq在线选课系统设计与实现


      详细功能设计:请点击下面链接查看

    基于java+SpringBoot+HTML+Mysq在线选课系统设计与实现_哔哩哔哩_bilibili

    源码+论文获取:

    源码+论文获取请私信获取

    目  录

    摘    要

    Abstract

    1  绪论

    1.1  研究背景

    1.2  研究意义

    1.3  开发设计内容

    1.4  研究方法

    2  关键技术介绍

    2.1  软硬件要求 

    2.2  开发技术介绍

    2.3  bootstrap库详细介绍

    3  系统分析

    3.1  可行性分析

    3.2  需求分析

    3.2.1  功能需求

    3.2.1  安全需求

    3.3系统开发流程

    4  系统设计

    4.1  系统总体结构设计

    4.2  系统功能模块设计

    4.2.1  功能模块设计

    4.2.2  系统时序图

    4.3  数据库设计

    4.3.1  数据库E-R图设计

    4.3.2  用例图设计

    4.3.3  数据表设计

    5  系统实现

    5.1  系统登录页面

    5.2  学生管理

    5.3  教师管理

    5.4  课程管理

    5.5  管理员个人信息管理

    5.6  管理员信息管理

    5.7  我的课程课表管理

    5.8  教师个人信息管理

    5.9  学生个人信息管理

    5.10  学生选课管理

    5.11  学生我的课程管理

    6  系统测试

    6.1  测试方法

    6.2  测试目的

    6.3  测试用例

    6.4  测试结论

    参 考 文 献

    致    谢

    1  绪论

    1.1  研究背景

    当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境[1]。计算机的最到好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

    尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。

    随着高校的多样全面发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,学生选课[2]作为一种信息资源的集散地,包含很多的信息数据的管理。由于数据繁多,容易丢失,且不易查找。并且数据处理手工操作工作量大,出错率高,出错后不易更改,造成各种不便,总的来说,缺乏系统,规范的信息管理手段[3]。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是学生选课管理信息系统的开发基本环境背景。

    1.2  研究意义

    系统实现后,极大的方便对学生进行选课和选课后的安排管理工作,学生选课信息的管理。避免在安排课程信[4]息的滞后,减少信息交流的繁琐过程及其带来的额外开销。促进高校教育的计算机信息化进程,提高高校的工作效率。并且对于系统本身而言,具有更高的使用性[5]、安全性。能够满足学生选课[6],以及学生对选课信息的管理。

    1.3  开发设计内容

    本优选在线选课系统主要包含三种角色教务管理员、教师、以及老师。三种角色功能组成组要包含以下功能:

    教务管理员:学生管理、教师管理、课程管理;

    教师包括:个人信息:我的课程、课表设置以及查看、设置以及查询学生分数,

    学生包括:课程选择、我的课程、课程课表、课程分数等模块组成。

    1.4  研究方法

    (1)可行性分析:观察选课管理行业,对整体方案进行可行性分析[7]。

    (2)概要设计:对整体业务进行研究[8],划分出大概功能[9]。

    (3)详细设计:对整个框架进行详细的设计[10],包括界面设计,数据库设计以及前后端接口设计。

    (4)代码实现:使用java技术栈对该平台进行代码开发。

    (5)测试:设计测试用例,使用黑盒测试对系统进行测试,找到并优化bug。

    2  关键技术介绍

    2.1  软硬件要求 

    由于本系统未涉及复杂的算法计算,为了能够利用最节约的成本以及简洁的代码达到最佳的效果,经过调研,计划采用Java语言来开发,具体的软硬件环境要求如下。 

    (1)硬件环境:Corei7处理器,内存要求8G及以上,硬盘50G以上

    (2)服务器: 采用普通办公用个人计算机作为服务器,用来发布服务。 

    (3)开发工具:Idea

    (4)操作系统:可以采用Windows7及以上系统。 

    (5)数据库系统:采用现在比较流行的MySQL数据库。 

    (6)服务器:采用Tomcat9。 

    (7)Java环境:JDK10。 

    (8)C端:谷歌浏览器。

    2.2  开发技术介绍

    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  系统分析

    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.3系统开发流程

    系统的开发过程如下图3-1所示。

     

    图3-1  系统开发过程图


    4  系统设计

    4.1  系统总体结构设计

    基于ssm框架的优选在线选课系统是使用JAVA的SSM 框架基础上开发的,使用 IDEA作为开发工具,Mysql作为数据库,系统主要分为教务管理员、教师、学生三种角色,系统的总体结构设计如图 4-1 所示。

     

    图4-1  系统总结构图

    4.2  系统功能模块设计

     4.2.1  功能模块设计

    (1)教务管理员:

    系统登录:按照要求输入账号密码进行登录。

    学生管理:在此模块对学生信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。

    教务管理员管理:在此模块对教务管理员信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。

    教师管理:在此模块对教师信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。

    课程管理:在此模块对课程信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。

    (2)教师:

    系统登录:按照要求输入账号密码进行登录。

    我的课程课表管理:在此模块对我的课程课表信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。

    我的课程分数管理:在此模块对我的课程分数信息进行管理,包括数据的添加、数据的删除、数据的修改、数据的查询等操作。

    (3)学生:

    系统登录:按照要求输入账号密码进行登录。

    我的课程:查看我的课程信息;

    课程选择:选择自己想要选择的课程。

    课程课表:点击下载课表可以下载对应课程的课表安排信息。

    课程分数:可查看自己的课程分数。

    4.2.2  系统时序图

    (1)登录顺序图

    按照要求输入账号密码登录系统;如下图4-2所示。

     

    图4-2  登录顺序图

    2)添加顺序图

    管理员添加内容,如下图4-3所示。

     

    图4-3  添加顺序图

    3)修改内容顺序图

    登录用户打开需要修改的内容,按照要求输入需要修改的信息,点击提交修改成功,如下图4-4所示。

     

    图4-4  修改顺序图

    4.3  数据库设计

    4.3.1  数据库E-R图设计

     

    图4-5  数据库E-R图

    4.3.2  用例图设计

    (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、系统响应,成功,失败。

    备注

    无。

    4.3.3  数据表设计

    人员表字典:姓名、编号、密码、性别、电话、地址、出生年份、入学时间、学院、班级、学历、角色

    用户和角色关联信息字典:用户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  系统实现

    5.1  系统登录页面

    (1)功能介绍:用户使用已有的账号密码进行登录,不可以注册账号。

    (2)页面描述:系统登录页面是优选在限选课管理系统的门户页面,用户在该页面可以进行系统的登录操作。如图5-1所示。

     

      图5-1  登录界面效果图

     详细功能设计:请点击下面链接查看

    基于java+SpringBoot+HTML+Mysq在线选课系统设计与实现_哔哩哔哩_bilibili

    源码+论文获取:

    源码+论文获取请私信获取

  • 相关阅读:
    Github相关知识
    19.详解AQS家族的成员:CountDownLatch
    博客的评论与回复功能的实现
    哈希的应用--位图和布隆过滤器
    MySQL--MySQL表的增删改查(进阶)
    【安信可NB-IoT模组EC系列应用笔记⑦】用这篇文章学会使用EC系列模组的MQTT
    JdbcTemplate操作数据库
    element 中添加一个属性就可解决 el-select 和 el-cascader 等下拉项 不随页面滚动问题
    葡萄糖-顺铂Glucose-cisplatin|葡萄糖-聚乙二醇-顺铂cisplatin-PEG-Glucose
    学信息系统项目管理师第4版系列08_管理科学基础
  • 原文地址:https://blog.csdn.net/zag1069464798/article/details/126376234