• 基于java+SpringBoot+VUE+Mysql在线实验室管理系统


    目  录

    摘  要

    Abstract

    第1章 项目概述

    1.1 问题描述

    1.2 项目目标

    1.3 项目适用范围

    1.4 涉众

    第2章 需求分析

    2.1 业务需求

    2.1.1 业务流程

    2.1.2 业务对象

    2.2 功能性需求

    2.2.1 用例概述

    2.2.2 用例描述

    2.3 非功能性需求

    2.4 运行环境

    第3章 系统设计

    3.1 技术路线

    3.2 软件体系结构设计

    3.2.1 功能结构

    3.2.2 系统架构

    3.3 数据库设计

    3.3.1 概念结构设计

    3.3.2 表的详细设计

    3.4 对象设计

    3.4.1 模块设计

    3.4.2 类的描述

    3.5 用例实现

    3.5.1 登录用例实现

    3.5.2 修改用例实现

    3.5.3 数据添加用例实现

    第4章 系统实现

    4.1 管理员信息管理模块

    4.2 教师信息管理模块

    4.3 学生信息管理模块

    4.4 班级信息管理模块

    4.5 班级学生模块

    4.6 实验室预约模块

    4.7 作业管理模块

    4.8 作业批阅模块

    4.9 实验发布模块

    4.10 实验批阅模块

    4.11 微课管理模块

    4.12 我的资料模块

    4.13 实验室预约模块

    4.14 作业模块

    4.15 实验模块

    4.16 微课播放模块

    第5章 系统测试

    5.1 功能测试

    5.2 非功能测试

    5.3 测试总结

    第6章 结论与展望

    参考文献

    致  谢

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

    基于java+SpringBoot+VUE+Mysql在线实验室管理系统_哔哩哔哩_bilibili

    源码+论文获取:

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

    第1章 项目概述

    1.1 问题描述

    实验室是高校开展实践教学活动、科学研究工作的主要阵地,其管理质量的好坏不仅会直接影响学校教学及科研工作的顺利高效开展,同时也会影响学校的发展,因此,就需要各高校全面做好实验室管理。从当前我国高校实验室管理现状来看,大部分高校实验室管理均存在不少的问题。对此,就需要积极探索优化实验室管理的对策。在实验室的管理工作中,学生的管理以及实验室的管理是比较麻烦的事情,对于实验室是否空闲,学生的实验是否完成等工作统计起来都很麻烦。利用计算机辅助进行学生管理,以及实验室的状态更改可以实时的更改,有利于提高老师的办公效率,同时也便于学生对实验室报告的提交,提高工作效率,让实验室管理实现现代化。以前实验室的管理都是通过登记存档等工作进行的,随着近几年,国内发展和改革的步伐日趋加快,实验室建设的投入逐年增加,面对规模庞大,事务繁杂的实验室管理工作,许多管理上的问题也逐渐暴露出来,为了提高效率便有了此次的在线实验室管理系统的设计与开发。随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,在线实验室管理系统是基于网络环境的只需要通过互联网,就可以实现实验室管理,学生管理等功能,为老师和学生更加合理的安排实验时间,提高实验室的使用效率。

    1.2 项目目标

    系统主要目标是实现实验室的实验报告管理,学生可以提交实验报告,查看实验分数,预约实验室,也能够看到各个实验室的实时状态,还可以观看老师上传的微课。老师可以上传微课视频,还可以布置实验任务,可以为查看学生的实验报告并打分。

    1.3 项目适用范围

    本管理系统的开发适用于各大学校的实验室的线上管理,提高实验室管理过程的运作效率。实验室管理系统能够实现实验室的预约,微课的发布以及学习,实验内容的管理,实验报告的批阅等操作,为实验老师和学生更加合理的安排实验时间,提高实验室的管理效率。

    1.4 涉众

    系统管理员:管理员信息管理模块、教师信息管理模块、学生信息管理模块、班级信息管理模块、实验教室信息管理模块;

    教师:班级学生模块、实验室预约模块、作业管理模块、作业批阅模块、实验管理模块、实验批阅模块、微课管理模块;

    学生:我的资料模块、实验室预约模块、作业模块、实验模块、微课管理模块。

    第2章 需求分析

    2.1 业务需求

    2.1.1 业务流程

    实验室在线实验管理系统的总体业务流程如图2.1所示。

    图2.1 总体业务流程图

    2.1.2 业务对象

    本系统主要分为三个角色学生、教师、管理员。领域模型如图2.2所示。

    图2.2 领域模型

    2.2 功能性需求

    2.2.1 用例概述

    实验室在线实验管理系统为所有大学提供了一个简单快速的实验室在线实验管理系统,教师能够管理实验室、发布实验、作业以及微课,学生能够预约实验室、查看微课、上交作业以及实验报告实现实验室管理高层用例图如下图2.3所示。

    图2.3 高层用例图

    用例摘要描述如表2.1所示。

    表2.1 用例摘要描述

    用例标识(UC)

    用例名称

    摘要描述

    1

    登录

    根据分配账号进行登录

    2

    管理员管理

    管理系统管理员角色用户,对用户信息进行维护

    3

    用户管理

    管理系统教师和学生用户,对信息进行维护

    4

    教师管理

    对教师信息进行管理维护

    5

    班级管理

    对班级信息进行管理维护

    6

    实验室预约

    教师和学生预约实验室

    7

    作业

    教师可以发布作业,学生查看以及上交作业

    8

    课程

    教师发布课程,学生学习课程

    9

    实验

    教师可以发布实验,学生查看以及上交实验报告

    2.2.2 用例描述

    (1)用户管理用例描述如表2.2所示。

    表2.2 用户管理用例

    用例标识

    2.3

    用例名称

    用户管理

    参与者

    管理员

    前置条件

    已经以管理员身份登录

    后置条件

    在用户表中添加一条用户信息

    用例概述

    管理员可以对用户信息进行增删改查操作

    基本事件流

    1、管理员登录系统。

    2、管理员点击教师/学生管理

    3、系统显示管理页面

    4、点击添加按钮

    5、输入姓名,账号,密码,联系方式,详细地址,班级信息

    6、系统检查信息的有效性

    7、系统显示添加成功

    备选事件流

    5a系统查询到重复信息,提示添加失败

    备注

    (3)实验室管理用例描述如表2.3所示。

    表2.3 实验室管理用例

    用例标识

    2.3

    用例名称

    实验室管理

    参与者

    管理员

    前置条件

    已经以管理员身份登录

    后置条件

    在实验室表中添加一条实验室信息

    用例概述

    管理员可以添加实验室,修改实验室信息,以及删除实验室

    基本事件流

    1、管理员登录系统。

    2、管理员点击实验室管理

    3、系统显示实验室管理页面

    4、点击新增按钮

    5、输入实验室名称和实验室编号

    6、系统检查信息的有效性

    7、系统显示添加成功

    8、管理员点击编辑按钮

    9、系统弹出修改信息对话框

    10、管理员修改实验室信息,并点击确认

    11、系统提示修改成功

    12、管理员点击删除按钮

    13、系统提示是否继续

    14、管理员点击确定

    15、系统提示删除成功

    备选事件流

    5a系统查询到重复信息,提示添加失败

    备注

    (4)实验室预约用例描述如表2.4所示。

    表2.4 实验室预约用例

    用例标识

    2.4

    用例名称

    实验室预约

    参与者

    教师/学生

    前置条件

    教师/学生成功登录系统

    后置条件

    实验室预约成功

    用例概述

    教师/学生可以进行实验室预约

    基本事件流

    1、教师/学生登录系统

    2、教师/学生点击实验室预约

    3、系统显示实验室预约页面

    4、教师/学生点击新增按钮

    5、系统弹出实验室预约信息

    6、教师/学生输入实验室名称,选择开始时间和结束时间,点击确定

    7、系统提示预约成功

    备选事件流

    6a实验室已经被预约,显示预约失败

    备注

    (5)作业发布用例描述如表2.5所示。

    表2.5 作业发布用例

    用例标识

    2.5

    用例名称

    作业发布

    参与者

    教师

    前置条件

    教师已经登录系统

    后置条件

    作业发布成功,学生可以收到作业信息

    用例概述

    教师可以发布作业

    基本事件流

    1、教师登录系统。

    2、教师点击作业管理

    3、系统显示发布作业页面

    4、教师点击新增作业

    5、系统弹出作业信息对话框

    6、教师填写作业标题和作业内容,点击确定

    7、系统显示添加成功

    备选事件流

    备注

    2.3 非功能性需求

    正确性:不允许出现业务错误。

    健壮性:在系统出现故障时,系统必须提供相应的数据保护措施,不能丢失数据,并提供重新恢复正常工作的机制。

    性能:系统处理业务时间正常业务量的情况下不超过2秒,繁忙业务情况下最迟时间不可超过5秒。

    安全性:用户信息具有保密性。

    兼容性:可运行在Windows7以上操作系统中。

    2.4 运行环境

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

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

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

    (3)开发工具:Idea。

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

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

    (6)服务器:采用Tomcat9。

    (7)Java环境:JDK10。


    第3章 系统设计

    3.1 技术路线

    本在实验室在线实验管理系统的开发,我通过Idea作为这次毕业设计的开发工具,Java作为后端开发语言,Spring boot作为后端开发框架,Vue作为前端开发框架,MySQL数据管理工具作为本次系统开发数据库,MySQL它是一个能够支持很多的用户的一种新型的数据库,适用各类大中小规模的数据存储需求。MySQL保证了数据模块化存储的要求,当模块化存储能力的提高,有利于未来对在实验室在线实验管理系统的扩展以及修改。

    3.2 软件体系结构设计

    3.2.1 功能结构

    按照开题报告中设计的功能需求,可以将整个实验室在线实验管理系统拆分为学生模块、教师模块、管理员三大模块根据不同模块的功能设计。如图3.1所示。

    图3.1 系统功能结构图

    3.2.2 系统架构

    系统采用Ajax(Asynchronous Javascript And XML)技术进行异步交互,客户端系统架构图如图3.2所示。

    图3.2 客户端系统架构图

    服务端分为四层,实现不同职责的划分,控制层负责分发处理客户端请求、身份验证、权限控制、数据类型转换、视图解析、会话管理;业务逻辑层负责处理具体业务逻辑;基础服务层为业务逻辑层提供必要的支持;数据访问层负责业务实体持久化。服务端系统架构图如图3.3所示。

    图3.3 服务端系统架构图

    3.3 数据库设计

    3.3.1 概念结构设计

    管理员概念模型(ER图)如图3.4所示,用户概念模型(ER图)如图3.5所示。

    图3.4 管理员E-R图

    图3.5 用户E-R图

    3.3.2 表的详细设计

    (1)用户表(yhb)

    用来存储用户的基本信息,包括用户名、设置密码、确认密码、姓名、手机号、住址角色(管理员\学生\教师)、所属班级等信息。表结构如表3.1所示。

    表3.1 用户表(yhb)

    列名

    数据类型

    长度

    允许空

    是否主键

    说明

    userid

    varchar

    32

    name

    varchar

    500

    姓名

    account

    varchar

    1000

    账号

    password

    varchar

    1000

    密码

    phone

    varchar

    1000

    电话

    address

    varchar

    1000

    收货地址

    roles

    varchar

    1000

    角色

    (2)班级管理表(sybj)

    用来存储班级的基本信息,包括班级名称、班级编号等班级的基本信息。表结构如表3.2所示。

    表3.2 班级管理表(sybj)

    列名

    数据类型

    长度

    允许空

    是否主键

    说明

    id

    varchar

    32

    mc

    varchar

    500

    班级名称

    bh

    varchar

    500

    班级编号

    (3)实验教室表(syjs)

    用来存储实验教室表的基本信息,包括:实验室名称、实验室编号。表结构如表3.3所示。

    表3.3 实验教室表(sybj)

    列名

    数据类型

    长度

    允许空

    是否主键

    说明

    id

    varchar

    32

    mc

    varchar

    500

    实验室名称

    bh

    varchar

    500

    实验室编号

    (4)作业发布表(syzyfb)

    用来存储作业发布表的基本信息,包括:教师id、发布教师姓名、作业标题、作业内容、发布时间、班级。表结构如表3.4所示。

    表3.4 作业发布表(syzyfb)

    列名

    数据类型

    长度

    允许空

    是否主键

    说明

    id

    varchar

    32

    jsid

    varchar

    500

    发布教师姓名

    jsxm

    varchar

    1000

    教师id

    bt

    varchar

    1000

    作业标题

    nr

    varchar

    1000

    作业内容

    sj

    varchar

    1000

    发布时间

    (5)作业记录表(syzy)

    用来存储作业记录表的基本信息,包括:教师id、教师姓名、学生id、学生姓名、作业内容、学生提交作业、教师评分、教师备注、作业提交时间、作业标题、作业id等。表结构如表3.5所示。

    表3.5 作业记录表(syzy)

    列名

    数据类型

    长度

    允许空

    是否主键

    说明

    id

    varchar

    32

    jsid

    varchar

    500

    发布教师姓名

    jsxm

    varchar

    1000

    教师id

    xsid

    varchar

    1000

    学生姓名

    xsxm

    varchar

    1000

    学生id

    nr

    varchar

    1000

    作业内容

    xsnr

    varchar

    1000

    学生提交作业

    pf

    varchar

    1000

    教师评分

    bz

    varchar

    1000

    教师备注

    (6)实验发布表(synrfb)

    用来存储实验发布表的基本信息,包括:教师id、发布教师姓名、实验标题、实验内容、发布时间、班级。表结构如表3.6所示。

    表3.6 实验发布表(synrfb)

    列名

    数据类型

    长度

    允许空

    是否主键

    说明

    id

    varchar

    32

    jsid

    varchar

    500

    发布教师姓名

    jsxm

    varchar

    1000

    教师id

    bt

    varchar

    1000

    实验标题

    nr

    varchar

    1000

    实验内容

    sj

    varchar

    1000

    发布时间

    (7)实验记录表(synr)

    用来存储实验记录表的基本信息,包括:教师id、教师姓名、学生id、学生姓名、实验内容、学生提交实验、教师评分、教师备注、实验提交时间、实验标题、实验id等。表结构如表3.7所示。

    表3.7 实验记录表(synr)

    列名

    数据类型

    长度

    允许空

    是否主键

    说明

    id

    varchar

    32

    jsid

    varchar

    500

    实验发布教师姓名

    jsxm

    varchar

    1000

    教师id

    xsid

    varchar

    1000

    学生姓名

    xsxm

    varchar

    1000

    学生id

    nr

    varchar

    1000

    实验内容

    xsnr

    varchar

    1000

    学生提交实验报告

    pf

    varchar

    1000

    教师批阅

    bz

    varchar

    1000

    教师备注

    3.4 对象设计

    3.4.1 模块设计

    本系统由多模块构成,controller模块负责请求接入,service层负责业务逻辑处理,dao层做数据库操作层,各模块间依赖关系如图3.5所示。

    图3.5 模块依赖关系图

    3.4.2 类的描述

    (1)controller包中类的描述

    controller包中类的描述如表3.1所示。

    表3.1 controller包中类的描述

    类名

    属性/方法

    描述

    SybjController

    addsybj(Sybj sybj)

    新增班级

    updatesybj(Sybj sybj)

    修改班级

    deletesybj(Sybj sybj)

    删除班级

    sybjlist(Sybj sybj)

    查询班级

    SyjsController

    addsyjs(syjs syjs)

    新增教室

    updatesyjs(syjs syjs)

    修改教室

    deletesyjs(syjs syjs)

    删除教室

    syjslist(syjs sybj)

    查询教室

    synrController

    addsynr(synr synr)

    新增实验内容

    updatesynr(synr synr)

    修改实验内容

    deletesynr(synr synr)

    删除实验内容

    synrlist(synr synr)

    查询实验内容

    synrfbController

    addsynrfb(synrfb synrfb)

    新增实验内容发布

    updatesynrfb(synrfb synrfb)

    修改实验内容发布

    deletesynrfb(synrfb synrfb)

    删除实验内容发布

    synrfblist(synrfb synrfb)

    查询实验内容发布

    sywkController

    addsywk(sywk sywk)

    新增微课

    updatesywk(sywk sywk)

    修改微课

    deletesywk(sywk sywk)

    删除微课

    sywklist(sywk sywk)

    查询微课

    syyyController

    addsyyy(syyy syyy)

    新增实验预约

    updatesyyy(syyy syyy)

    修改实验预约

    deletesyyy(syyy syyy)

    删除实验预约

    syyylist(syyy syyy)

    查询实验预约

    syzyController

    addsyzy(syzy syzy)

    新增作业

    updatesyzy(syzy syzy)

    修改作业

    deletesyzy(syzy syzy)

    删除作业

    syzylist(syzy syzy)

    查询作业

    syzyfbController

    addsyzyfb(syzyfb syzyfb)

    新增作业发布

    updatesyzyfb(syzyfb syzyfb)

    修改作业发布

    deletesyzyfb(syzyfb syzyfb)

    删除作业发布

    syzyfblist(syzyfb syzyfb)

    查询作业发布

    yhbController

    addyhb(yhb yhb)

    新增用户

    updateyhb(yhb yhb)

    修改用户

    deleteyhb(yhb yhb)

    删除用户

    yhblist(yhb yhb)

    查询用户

    (2)service包中类的描述

    service包中类的描述如表3.2所示。

    表3.2 service包中类的描述

    类名

    属性/方法

    描述

    SybjService

    insert(Sybj record)

    新增班级

    updateByPrimaryKey(Sybj record)

    修改班级

    int deleteByPrimaryKey(String id)

    删除班级

    selectByPrimaryKey(String id)

    查询班级

    SyjsService

    insert(Syjs record)

    新增教室

    updateByPrimaryKey(Syjs record)

    修改教室

    int deleteByPrimaryKey(String id)

    删除教室

    selectByPrimaryKey(String id)

    查询教室

    synrService

    insert(Synr record)

    新增实验内容

    updateByPrimaryKey(Synr record)

    修改实验内容

    int deleteByPrimaryKey(String id)

    删除实验内容

    selectByPrimaryKey(String id)

    查询实验内容

    synrfbService

    insert(Synrfb record)

    新增实验内容发布

    updateByPrimaryKey(Synrfb record)

    修改实验内容发布

    int deleteByPrimaryKey(String id)

    删除实验内容发布

    selectByPrimaryKey(String id)

    查询实验内容发布

    sywkService

    insert(sywk record)

    新增微课

    updateByPrimaryKey(sywk record)

    修改微课

    int deleteByPrimaryKey(String id)

    删除微课

    selectByPrimaryKey(String id)

    查询微课

    syyyService

    insert(syyy record)

    新增实验预约

    updateByPrimaryKey(syyy record)

    修改实验预约

    int deleteByPrimaryKey(String id)

    删除实验预约

    selectByPrimaryKey(String id)

    查询实验预约

    syzyService

    insert(syzy record)

    新增作业

    updateByPrimaryKey(syzy record)

    修改作业

    int deleteByPrimaryKey(String id)

    删除作业

    selectByPrimaryKey(String id)

    查询作业

    syzyfbService

    insert(syzyfb record)

    新增作业发布

    updateByPrimaryKey(syzyfb record)

    修改作业发布

    int deleteByPrimaryKey(String id)

    删除作业发布

    selectByPrimaryKey(String id)

    查询作业发布

    yhbService

    insert(yhb record)

    新增用户

    updateByPrimaryKey(yhb record)

    修改用户

    int deleteByPrimaryKey(String id)

    删除用户

    selectByPrimaryKey(String id)

    查询用户

    (3)serviceImpl包中类的描述

    serviceImpl包中类的描述如表3.3所示。

    表3.3 serviceImpl包中类的描述

    类名

    属性/方法

    描述

    SybjServiceImpl

    insert(Sybj record)

    新增班级

    updateByPrimaryKey(Sybj record)

    修改班级

    int deleteByPrimaryKey(String id)

    删除班级

    selectByPrimaryKey(String id)

    查询班级

    SyjsServiceImpl

    insert(Syjs record)

    新增教室

    updateByPrimaryKey(Syjs record)

    修改教室

    int deleteByPrimaryKey(String id)

    删除教室

    selectByPrimaryKey(String id)

    查询教室

    synrServiceImpl

    insert(Synr record)

    新增实验内容

    updateByPrimaryKey(Synr record)

    修改实验内容

    int deleteByPrimaryKey(String id)

    删除实验内容

    selectByPrimaryKey(String id)

    查询实验内容

    synrfbServiceImpl

    insert(Synrfb record)

    新增实验内容发布

    updateByPrimaryKey(Synrfb record)

    修改实验内容发布

    int deleteByPrimaryKey(String id)

    删除实验内容发布

    selectByPrimaryKey(String id)

    查询实验内容发布

    sywkServiceImpl

    insert(sywk record)

    新增微课

    updateByPrimaryKey(sywk record)

    修改微课

    int deleteByPrimaryKey(String id)

    删除微课

    selectByPrimaryKey(String id)

    查询微课

    syyyServiceImpl

    insert(syyy record)

    新增实验预约

    updateByPrimaryKey(syyy record)

    修改实验预约

    int deleteByPrimaryKey(String id)

    删除实验预约

    selectByPrimaryKey(String id)

    查询实验预约

    syzyServiceImpl

    insert(syzy record)

    新增作业

    updateByPrimaryKey(syzy record)

    修改作业

    int deleteByPrimaryKey(String id)

    删除作业

    selectByPrimaryKey(String id)

    查询作业

    syzyfbServiceImpl

    insert(syzyfb record)

    新增作业发布

    updateByPrimaryKey(syzyfb record)

    修改作业发布

    int deleteByPrimaryKey(String id)

    删除作业发布

    selectByPrimaryKey(String id)

    查询作业发布

    yhbServiceImpl

    insert(yhb record)

    新增用户

    updateByPrimaryKey(yhb record)

    修改用户

    int deleteByPrimaryKey(String id)

    删除用户

    selectByPrimaryKey(String id)

    查询用户

    3.5 用例实现

    3.5.1 作业发布用例实现

    教师发布作业,发布成功返回提示具体如下图3.6所示;

    图3.6作业发布用例实现图

    3.5.2 微课发布用例实现

    教师发布作业,发布成功返回提示具体如下图3.7所示;

    图3.7微课发布用例实现图

    3.5.3 实验发布用例实现

    教师发布实验,发布成功返回提示具体如下图3.8所示;

    图3.8 实验发布用例实现图

    3.5.4 用户管理用例实现

    用户管理,添加成功返回提示具体如下图3.8所示;

    图3.8用户管理用例实现图

    第4章 系统实现

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

    基于java+SpringBoot+VUE+Mysql在线实验室管理系统_哔哩哔哩_bilibili

    源码+论文获取:

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

  • 相关阅读:
    服务端优化-连接性能,io模型,web容器
    机器学习-计算数据之间的距离
    【机器学习】深度神经网络(DNN):原理、应用与代码实践
    python基本语法(元组、字符串、切片、集合、字典)
    HTML5+CSS3+JS小实例:涟漪特效按钮
    计算机网络(5) ARP协议
    【我的OpenGL学习进阶之旅】关于OpenGL的着色器的向量和矩阵分类的访问方式: xyzw/rgba/stpq以及数组下标
    Pytorch学习笔记(9)——一文搞懂如何使用 torch 中的乘法
    河道采砂执法监管信息化平台:科技赋能,智慧监管
    基于Springboot+MySQL的个人健康监控管理系统
  • 原文地址:https://blog.csdn.net/zag1069464798/article/details/126375420