基于 Java(SSM 框架)+MySQL 实现(Web)的实验室云端监管系统【100011109】 您所在的位置:网站首页 网页框架结构代码 基于 Java(SSM 框架)+MySQL 实现(Web)的实验室云端监管系统【100011109】

基于 Java(SSM 框架)+MySQL 实现(Web)的实验室云端监管系统【100011109】

2023-06-16 20:17| 来源: 网络整理| 查看: 265

基于 SSM 框架的实验室云端监管系统的设计与实现

摘要 基于 SSM 框架的实验室云端监管系统是一个基于 SSM 框架的网站系统,采用 Java 编程语言开发,可以实现实验室信息管理,包括学生、教师的信息及权限管理,实验室实时状态查询。本论文主要介绍了基于 SSM 框架的实验室云端监管系统开发的选题背景以及本系统的开发环境等等,接下来对通过对系统的需求分析和设计来勾画整个程序的大概轮廓,此中包涵了对系统功能模块的设计,构建系统结构以及对系统界面的设计等等。

关键字 信息化管理;网站系统; Shiro;Spring Boot;SSM 框架;Java 编程语言;

概述 设计题目

基于 SSM 框架的实验室云端监管系统

系统概述

实验室云端监管系统采用 B/S 的设计结构,本系统开发主要包括后台数据处理、连接数据库、前端网页美化以及物联网四个部分。对于数据处理要求数据库中数据具有较强完整性及安全性,后台程序可以稳定运行并可多数据处理。对于前端网页要求可视化高,多平台使用等特点。实验室云端监管系统是一个学校信息化管理的重要组成部分,使实验室管理者更加简单快捷的实现学生管理、实验室设备管理及实验室日常状况查询。

选题背景

实验室管理在各高校日常管理中复杂且重要。高校学生人数不断增多,实验室中学生流量越来越大。导致实验室负责人管理困难,传统管理已无法满足形势需求。实验室的管理稍有不慎就会出现错误,而实验室中包含危险设备,不允许出现任何错误。这就需要实验室云端监管系统协助实验室负责人进行监管实验室。

研究现状

年 8 月 20 日发布的《中国互联网络发展状况统计报告》显示,中国网民规模达到 8.02 亿,手机网民达到 7.88 亿,互联网普及率高达 57.7%。在总人口数量中占据较大的比例。所有使用互联网的人都会接触到网站。在这个快节奏的时代环境下,不只是通过个人电脑来进入网站,还可以通过智能手机来快速进入网站。随着时代的发展,人们已经越来越注重简洁高效,一些臃肿的软件必然会被淘汰,网站的优势由此可见,它不占用系统空间,随时使用随时打开即可。

研究内容

为了设计此次实验室云端监管系统,我先对系统进行了需求分析。在此次设计中主要的研究内容有:

了解整个网站系统的工作流程,然后编写关于系统的需求分析。

针对学校对实验室管理的需求,分析并设计出整个实验室云端监管系统的功能框架结构。

从需求分析入手,规划出总体框架,然后设计出整个系统的结构图。

编写代码。

完成设计。

需求分析

功能性需求

确定系统使用时的环境,根据环境特点设计模块并结合实际操作流程来确认设计的系统是否可行,并对系统准备实现的目标做出明确分析,用以寻找开发需求。通过详细的需求分析,共为实验室云端监管系统设计了八个主要功能模块。

系统功能模块

系统设计了八个主要功能模块,包含了实验室信息管理模块、实验室位置信息管理模块、用户信息管理模块、角色信息管理模块、权限信息管理模块、温湿度信息管理模块、个人信息管理模块及消息通知模块。

细分为:

实验室信息管理:新建实验室信息、删除实验室信息、变更实验室信息、实验室列表展示、实验室详细信息

实验室位置信息管理:新建位置信息、删除位置信息、变更位置信息、位置信息查询

用户信息管理:新建用户信息、删除用户信息、变更用户信息、用户信息查询、值日表

角色信息管理:新建角色信息、删除角色信息、变更角色信息、角色信息查询

权限信息管理:新建权限信息、删除权限信息、变更权限信息、权限信息查询

温湿度信息管理:物联网硬件部分(Arduino 单片机、DHT11 温湿度传感器)、温度湿度信息数据录入、温度湿度信息数据读取

个人信息管理:登录、注册、忘记密码、个人详细信息

消息通知:实验室权限申请、申请批准

系统实现目标

在网络全面普及的环境下,通过建立在互联网办公系统。实现移动办公、无纸化办公,并且在这种基于互联网技术的环境下大幅度提升工作速度,从而提高工作效率。

非功能性需求

由于实验室云端监管系统是学校管理工作中的重要部分。在非功能性需求方面,要求整个网站具备安全可靠、使用简便且易于维护。可以保证在用户使用过程中流畅稳定。系统高吞吐量的情况下,数据处理及响应在尽可能短的时间内完成。

系统功能流程图

通过对系统进行需求分析,实现本系统的功能模块如下图 3.1 所示:

图 3.1 系统功能模块图

登录流程图

用户进入登录页面,输入用户名和密码,点击登录按钮登录。系统通过 Shiro 进行用户身份验证及获取用户权限。如下图 3.2 所示:

图 3.2 登录流程图

添加、修改或删除数据流程图

各功能模块添加、修改及删除数据时,如下图 3.3 所示:

图 3.3 新增、修改或删除流程图

数据库设计

数据分析

根据实验室云端监管系统的需求分析,需要以下的数据表:

实验室信息表:存放实验室信息。

实验室位置信息表:存放实验室位置信息。

用户信息表:存放用户信息。

用户职位表:存放用户职位信息。

职位信息表:存放职位信息。

职位权限表:存放职位权限信息。

权限信息表:存放权限信息。

实验室温湿度状态表:存放实验室温湿度状态信息。

数据库的实体关系 E-R 图

图 4.1 实验室基本信息 E-R 图

图 4.2 实验室位置信息 E-R 图

图 4.3 实验室温湿度状态信息 E-R 图

图 4.3 用户信息 E-R 图

图 4.3 用户职位信息 E-R 图

图 4.3 职位信息 E-R 图

图 4.3 职位权限信息 E-R 图

图 4.3 权限信息 E-R 图

系统设计

SSM 框架(Spring、SpringMVC、MyBatis)

Spring 是一个轻量级的开源 Java 开发框架,控制反转(IoC)和面向切面(AOP)的容器框架。用于解决企业应用开发的复杂性。Spring 不局限于服务器端的开发。其简单性、可测试性和松耦合可以为任何 Java 应用提供服务。

Spring MVC 是 Spring Framework 的后续产品。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,更方便进行定制。

MyBatis 是一个基于 Java 的持久层框架,通过 XML 或注解用于配置及原始映射。将接口和 Java 的 POJO 映射成数据库中的记录。也可将数据库结构自动生成 POJO。

Spring Boot 框架

Spring Boot 是全新框架,和微服务紧密联系在一起,通过起步依赖为项目的依赖管理提供帮助。用以简化 Spring 程序下的环境搭建及开发。起步依赖由特殊的 Maven 依赖和 Gradle 依赖组成,根据依赖传递自动把其他所需依赖引入项目,通过传递依赖解析定制的依赖。该框架采用特定的方式进行环境配置搭建,可快速整合第三方框架,降低了对环境的要求。从而不再需要编写复杂的配置文件,能在最小的阻力下开发 Spring 应用程序。对与开发及维护工作,节约了大量的成本。

Apache Shiro

Apache Shiro 是一个功能完善、使用简便的 Java 安全框架。提供了应用程序安全性 API 用以执行身份验证、权限授予、信息加密、会话管理四大应用程序安全性基础问题。易用性是这个项目的最终目标。简化到新手都可以使用,安全问题不再是一种痛苦了。

适用范围全面:没有范围限制的 Apache Shiro 可以为安全需求提供“一站式”服务。并且可以在任何环境中工作。

强大的网络能力:Apache Shiro 的 Web 应用程序的支持,允许基于应用程序的 URL 创建灵活的安全策略和网络协议(例如 REST),同时还提供一组 JSP 库控制页面输出。

高集成:清晰的 Shiro API 和设计模式使它容易与许多其他框架和应用程序集成。可以完美集成到 Spring 框架。

后端支持:Apache Shiro 是 Apache 软件基金会的一部分,项目开发问题有用户组、社区及 Apache 随时提供帮助。

系统环境搭建

本实验室云端监管系统是由 Eclipse 搭建的基于 SSM 框架的 Maven 项目,采用 Spring Boot 简化 SSM 框架的配置文件。使用 MyBatis 中 Generator 从数据库中逆向生成 POJO。系统运行时使用 Spring Boot 中内嵌的 Tomcat 服务器。在系统安全方面整合 Shiro,为后期系统开发中系统安全及权限管理提供服务支持。

系统实现及系统结构

登录、注册功能后台模块及前端网页

登录、注册功能模块包括登录功能、注册功能及密码重置功能。

图 5.1 登录界面

登录功能:

从前端网页 form 表单获取用户名及密码传递到后台,在后台将密码进行 MD5 加密后,通过 Shiro 进行登录验证。登录成功进入网站主页。

图 5.2 注册界面

注册功能:

前端页面中使用 JavaScript 对两次密码进行输入比对,确保信息完整。并从前端网页获取用户的信息通过 Form 表单传递到后台,通过 request 获取后台验证码并核实与前端传回验证码。将照片储存到本地路径;随机获取密码盐对密码进行 md5 加密;将照片虚拟路径、加密后密码、密码盐及其他个人信息写入数据库。注册成功跳转至登录界面。

图 5.3 忘记密码

忘记密码功能:

前端页面中使用 JavaScript 对两次密码进行输入比对,确保信息完整。并从前端网页获取用户的信息通过 Form 表单传递到后台,通过 request 获取后台验证码并核实与前端传回验证码。重新获取随机密码盐,对新密码进行加密,并把新密码及新密码盐存入数据库。

角色信息“增删改查”后台模块及前端

图 5.4.1 角色查看与添加 图 5.4.2 角色修改

*当前功能属于管理员权限

后台 Controller 从数据库中获取中角色信息,再通过中间表进行连表查询,获取每个角色的权限信息。

可查询全部角色信息并展示,可添加、删除角色信息。

可修改角色拥有的权限及角色信息(新添加角色需修改权限)。

权限信息“增删改查”后台模块及前端网页

图 5.5 权限增删改查

*当前功能属于管理员权限

后台 Controller 从数据库中获取中权限信息

查询全部权限信息并展示,可添加、删除权限信息。

可修改权限信息。

用户信息展示后台模块及前端网页

图 5.6 用户信息展示

后台 Controller 从数据库中获取中实验室信息,再通过中间表进行连表查询,获取每个实验室的用户信息。

查询全部用户信息,可按教师、学生分类展示。

用户信息“增删改”后台模块及前端网页

图 5.7.1 用户查询与添加 图 5.7.2 用户修改

*当前功能属于管理员权限

后台 Controller 从数据库中获取中用户信息,再通过中间表进行连表查询,获取每个用户的角色信息。

查询全部用户信息并展示,可添加、删除用户信息。

可修改用户信息及修改用户角色信息。(新添加用户需修改角色信息)

我的信息展示及修改

图 5.8 我的信息

后台 Controller 从数据库中获取中当前登录用户信息,再通过中间表进行连表查询,获取用户的角色信息、实验室权限信息。

修改时将信息传回 Controller 进行信息变更。

实验室信息展示后台模块及前端网页

图 5.9.1 实验室列表

登录后在后台 Controller 从数据库中获取中实验室信息。使用 HTTP Session 传递至前端,使用 c:forEach 循环遍历展示实验室列表。

查询所有实验室并展示,点击可进入实验室信息详情。

图 5.9.2 实验室详情

在后台 Controller 获取当前展示的实验室 id,通过 id 获取实验室中授权教师、学生及实验室温湿度记录。使用百度 EChars 仪表盘图表显示实时温湿度,折现图标展示温湿度记录。

实验室信息“增删改”后台模块及前端网页

图 5.10.1 实验室查看与添加 图 5.10.2 实验室修改

后台 Controller 从数据库中获取中实验室信息,再通过中间表进行连表查询,获取每个实验室的用户信息。

查询全部实验室信息并展示,可添加、删除实验室信息。

可修改实验室中用户及实验室所在位置信息(新添加实验室需修改信息)。

实验室位置信息“增删改查”后台模块及前端网页

图 5.11.1 位置查看与添加 图 5.11.2 位置信息修改

后台 Controller 从数据库中获取中实验室信息,再通过中间表进行连表查询,获取每个实验室的位置信息。

查询全部实验室位置信息并展示,可添加、删除位置信息。

可修改位置信息。

值日表功能模块

前端通过 JavaScript 读取实验室学生信息,顺序排列 7 天值日表。起始日为周一。

实验室权限申请模块

用户申请实验室时,通过 URL 将用户 id 及实验室 id 传递给 Controller。在数据库实验室与用户的中间表中添加此条信息,用户属性为“申请中”,实验室负责教师提示用户申请,同意后属性变更“已通过”,否之“未通过”。用户提示申请结果,确认后加入实验室或清除数据。

温湿度信息录入功能模块(Java 控制台程序)

读取串口中 Arduino 传递的数据,分类后直接写入数据库。

温湿度获取功能模块(Arduino 程序)

读取 DHT11 的温湿度信息,通过串口传递给服务器。

温湿度获取功能硬件

由 Arduino Nano,DHT11 温湿度传感器组成。

图 5.12 物联网部分硬件电路连接图 ♻️ 资源

在这里插入图片描述

大小: 37.9MB ➡️ 资源下载:https://download.csdn.net/download/s1t16/87537525 注:如当前文章或代码侵犯了您的权益,请私信作者删除!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有