摘 要
随着物联网技术的飞速发展,基于小程序的物联网管理平台逐渐成为一种新兴的解决方案。该设计在构建一个轻量化、便捷操作的管理平台,通过小程序作为用户界面,实现对物联网设备的高效监控与控制。平台整合了设备租用、在线客服、设备领取、修改密码、设备归还、警报提醒等功能,支持多协议接入和跨品牌设备的统一管理。提升了用户体验和管理效率。该设计不仅降低了企业物联网系统的运维成本,也推动了物联网技术在各行各业的广泛应用。
此物联网管理平台小程序主要包括了前端Spring Boot框架,后端Spring Boot框架技术的开发,数据库的建立和后台管理员的管理,并且采用JAVA语言进行开发,使用MYSQL数据库存储相关的数据。从而实现了物联网管理的相关功能,包含用户管理、设备类型管理、设备资源管理、设备入库管理、设备租用管理、设备领取管理、设备归还管理、设备状态管理、警报提醒管理、设备维护管理、系统管理、我的资料等功能,其操作简单,界面友好,运行比较稳定,于是适用于大部分用户。
关键词:物联网;Spring Boot框架;JAVA语言;MYSQL数据库;
Abstract
With the rapid development of Internet of Things technology, the Internet of Things management platform based on small program has gradually become a new solution. The design is to build a lightweight, convenient management platform, through the small program as a user interface, to achieve efficient monitoring and control of Internet of things devices. The platform integrates equipment rental, online customer service, equipment collection, password change, equipment return, alarm reminder and other functions, and supports multi-protocol access and unified management of cross-brand equipment. Improved user experience and management efficiency. This design not only reduces the operation and maintenance cost of enterprise iot system, but also promotes the wide application of iot technology in all walks of life.
The small program of the Internet of Things management platform mainly includes the front-end Spring Boot framework, the development of the back-end Spring Boot framework technology, the establishment of the database and the management of the background administrator, and the development of the JAVA language, the use of MYSQL database to store relevant data. Thus realized the related functions of the Internet of Things management, including user management, equipment type management, equipment resource management, equipment storage management, equipment rental management, equipment management, equipment receipt management, equipment return management, equipment status management, alarm reminder management, equipment maintenance management, system management, my data and other functions, its operation is simple, friendly interface, stable operation. Therefore, it is suitable for most users.
Key words: Internet of Things; Spring Boot framework; JAVA language; MYSQL database;
目 录
1 概 述
1.1 研究背景与意义
在当今信息技术迅猛发展的时代,物联网(IoT)作为连接物与物、人与物的桥梁,正逐步渗透到生产、生活的各个领域。它通过嵌入式系统、传感器、通信技术等将各种设备相连,实现了信息化的信息收集、交换和处理。随着接入设备数量的激增和应用场景的复杂化,如何高效地管理这些设备、处理海量信息、保障系统安全运行成为亟待解决的问题。用户对于操作界面的便捷性和直观性也提出了更高的要求。微信小程序作为一种轻量级的应用形式,因其无需下载安装、即用即走的便捷特性,以及广泛的用户基础,为物联网管理提供了新的交互入口。基于小程序开发物联网管理平台,能够更好地满足现代人对智慧生活的需求,同时为企业提供更为高效的物联网解决方案。
设计一个基于小程序的物联网管理平台,具有深远的研究和应用意义。该平台使得用户能够通过简洁易用的小程序界面直接管理和监控物联网设备,极大地提升了用户体验。用户可以轻松地实现设备租用、在线客服、设备领取、修改密码、设备归还、警报提醒等功能,而无需关心复杂的后台技术和设备差异。这样的平台可以降低管理成本,提高工作效率。该平台的信息处理能力有助于企业洞察业务趋势,优化决策过程。该研究成果还将推动物联网技术的普及和创新,促进相关产业的发展,为构建设备资源等领域提供技术支持,具有广阔的社会和经济价值。
1.2 国内外研究现状
在中国,物联网管理平台的研究和应用已经取得了一定的进展。众多高校和研究机构在物联网的通信协议、数据安全、智能处理等方面开展了深入研究,并取得了诸多成果。随着国家对信息化建设的重视,相关政策的支持也促进了物联网技术的发展与应用。国内市场对于轻量化应用的需求日益增长,微信小程序作为一种新型的应用形式,因其便利性和广泛的用户基础,被广泛应用于各个行业。基于小程序的物联网管理平台也因此得到了快速发展,如智能家居、智能制造、智慧农业等领域都有实际应用案例。由于物联网标准尚未统一,设备兼容性和平台通用性仍然是研究和实践中需要解决的问题。
在国际上,物联网管理平台的研究同样活跃。发达国家在物联网技术研发和产业化方面投入巨大,产生了许多创新的解决方案和商业模式。例如,通过利用云计算、大数据等技术,实现了设备的高效管理和海量数据的智能分析。国际上的企业和研究机构也在探索将物联网与移动互联网应用结合的新途径,特别是如何利用已普及的移动应用平台(如LINE, KakaoTalk等)来提供物联网服务。国际标准化组织也在积极推动物联网相关标准的制定,以期实现不同系统和设备之间的互操作性。但是,物联网设备及平台的安全问题、隐私保护以及跨境数据流动的法律法规问题,依然是国际社会需要共同面对和解决的挑战。
1.3 本论文的主要论文结构
第一章,引言:本章节大致描述了该课题的研究背景与意义、国内外研究现状等。
第二章,开发技术:系统主要使用了JAVA语言,Spring Boot框架和myspl数据库,并对此做了介绍。
第三章,系统分析:包括了系统总体结构、对系统的性能、功能、流程图进行了分析。
第四章,系统设计:对软件功能模块和数据库进行详细设计。
第五章,系统总体设计:对系统管理员和用户的功能进行描述。
第六章,该章讲述了测试的目的以及测试过程及用例。
最后对论文进行总结,包括致谢和参考文献等内容。
物联网的管理平台设计过程中采用Java开发语言,B/S结构,采取springboot框架,并以MySql为数据库进行开发。结合以上技术,对本系统的整体、数据库、功能模块、系统页面以及系统程序等设计进行了详细的研究与规划。
2.1 Java介绍
Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的语言,可以在多个操作系统上运行,包括Windows、Mac OS和Linux等。Java的设计目标是让程序员能够编写一次代码,然后在不同的平台上运行,而不需要重新编译。Java具有很多优点,其中最显著的是它的可移植性和安全性。由于Java代码在运行时是在虚拟机(JVM)上执行的,因此它可以在不同的操作系统和硬件架构上运行,而不需要重新编译。这使得Java成为开发跨平台应用程序的理想选择。此外,Java还具有强大的安全性功能,包括内置的安全机制和防止恶意软件攻击的能力。Java的另一个重要特点是它的面向对象编程(OOP)特性。OOP是一种编程范式,它将程序组织成对象,每个对象都有自己的属性和方法。这种结构使得程序更易于理解和维护,并且可以重用代码。Java提供了一套丰富的类库,包括用于图形用户界面(GUI)、网络编程、数据库访问等方面的类库,这使得开发人员可以快速构建复杂的应用程序。Java还具有高度的并发性。它支持多线程编程,这意味着可以同时执行多个任务。这使得Java非常适合用于开发需要处理大量数据或需要实时响应的应用程序,例如Web服务器和游戏引擎。除了这些基本特性外,Java还具有许多其他的特性和工具,例如垃圾回收机制、异常处理、反射机制等等。这些特性使得Java成为一种非常强大和灵活的编程语言,适用于各种不同的应用场景。Java是一种非常流行的编程语言,它具有跨平台性、安全性、面向对象编程、并发性等多种优点。无论是开发桌面应用程序、移动应用程序还是企业级应用程序,Java都是一个非常不错的选择。
2.2 MySql数据库
MySQL是一个开源的关系型数据库管理系统,它被广泛应用于Web应用程序开发中。MySQL具有高性能、稳定性和可扩展性等优点,因此成为了互联网上最受欢迎的数据库之一。MySQL最初是由瑞典MySQL AB公司开发的,后来被Sun Microsystems公司收购,并于2009年被Oracle公司收购。MySQL使用标准的SQL语言进行数据操作,支持多种操作系统和编程语言,如Java、PHP、Python等。MySQL的主要特点包括:
(1)开源免费:MySQL是开源软件,可以免费使用和修改。这使得MySQL得到了广泛的应用和支持,也促进了其不断发展和完善。
(2)高性能:MySQL采用了多种优化技术,如索引、缓存、分区等,能够快速地处理大量的数据请求。同时,MySQL还支持多线程并发访问,进一步提高了性能。
(3)稳定性:MySQL具有高度的稳定性和可靠性,能够在长时间运行的情况下保持稳定的性能。此外,MySQL还提供了备份和恢复功能,可以保证数据的完整性和安全性。
(4)可扩展性:MySQL支持分布式存储和处理,可以通过水平扩展和垂直扩展来提高系统的容量和性能。此外,MySQL还支持多种存储引擎,可以根据不同的应用场景选择合适的存储引擎。
(5)易用性:MySQL提供了简单易用的管理和开发工具,如命令行工具、图形化管理工具、API等。这些工具可以帮助用户轻松地管理和开发数据库应用。
MySQL是一款功能强大、性能优异、稳定可靠的关系型数据库管理系统,适用于各种规模的Web应用程序开发。无论是小型的个人网站还是大型企业级应用系统,都可以通过使用MySQL来满足其数据存储和管理的需求。
2.3 SpringBoot框架
SpringBoot是全新一代的Spring框架,不过依旧是Spring框架,主要是为了优化应用配置的搭建,可以把一些日常使用更频繁的第三方依赖进行整合,它的关键功能就是通过Maven工程来简化开发中对于XML的配置工作,帮助我们自动配置,减少不必要的的工作量,开箱即用,节省时间,给我们提供了很多便捷的组件。
它的优势是比Spring更加轻量,预先设定好了配置,通过java代码文件实现初始化,后产生的class文件加载过后,就能进行访问了。
2.4 Tomcat简介
Tomcat是Java Servlet,JavaServerPages,Java Expression Language和JavaWebSocket(Java EE)技术的开源实现。因为可以通过HTTP提供HTML页面等静态内容的请求访问,所以是一个WEB服务器。
2.5 B/S架构
B/S架构,即浏览器/服务器架构,是一种网络应用程序的架构模式。在这种架构中,用户通过浏览器访问服务器上的应用程序,服务器负责处理用户的请求并返回相应的结果。这种架构模式具有跨平台、易于维护和升级等优点,因此在企业级应用开发中得到了广泛的应用。与传统的C/S架构相比,B/S架构更加灵活和可扩展。在C/S架构中,客户端需要安装特定的软件才能访问服务器上的应用程序;而在B/S架构中,用户只需使用通用的浏览器即可访问应用程序,无需安装任何额外的软件。由于服务器端负责处理所有的业务逻辑和数据存储,因此可以方便地进行升级和维护。
2.6 微信小程序框架
微信小程序是一种轻量级的应用,它可以在微信中直接运行,无需下载安装。微信小程序框架提供了丰富的API和组件,使得开发者可以快速构建各种类型的应用,如电商、社交、游戏等。微信小程序具有跨平台的特性,可以在Android和iOS系统上运行,同时也支持多种设备,如手机、平板和智能手表等。微信小程序的开发语言是JavaScript,开发者可以使用微信开发者工具进行开发和调试。微信开发者工具提供了实时预览、代码编辑、调试和发布等功能,使得开发者可以更加高效地进行开发工作。微信小程序还支持云开发模式,开发者可以通过云开发实现数据存储、用户认证和支付等功能,无需搭建服务器和购买域名。微信小程序的界面布局采用了WXML(WeiXin Markup Language)和WXSS(WeiXin Style Sheets)技术,它们分别类似于HTML和CSS,用于描述页面结构和样式。通过WXML和WXSS,开发者可以轻松地实现页面的布局和样式设计。同时,微信小程序还提供了丰富的组件库,如按钮、列表、轮播图等,可以帮助开发者快速构建界面。微信小程序的API分为客户端API和服务端API两类。客户端API主要用于实现页面交互和数据处理,如获取用户信息、上传文件等;服务端API则用于实现后端业务逻辑,如数据查询、推送消息等。通过调用这些API,开发者可以实现各种功能需求。此外,微信小程序还支持第三方SDK接入,如地图、支付等,可以帮助开发者扩展应用的功能。微信小程序的生命周期分为启动、显示、隐藏和卸载四个阶段。在每个阶段,开发者都可以编写相应的代码来处理业务逻辑。例如,在启动阶段,开发者可以获取用户信息并保存到本地;在显示阶段,开发者可以加载数据并渲染页面;在隐藏阶段,开发者可以暂停某些操作以节省资源;在卸载阶段,开发者可以进行一些清理工作,如清除定时器等。微信小程序的性能优化是非常重要的,它直接影响到用户的体验。为了提高性能,开发者可以采取以下措施:减少页面重绘次数、合理使用缓存、优化网络请求、避免使用过多全局变量等。此外,微信小程序还提供了性能分析工具,开发者可以通过分析性能报告来找出性能瓶颈并进行优化。
微信小程序是一种轻量级、跨平台的应用框架,它具有丰富的功能和强大的开发能力。通过学习和掌握微信小程序框架,开发者可以快速构建各种类型的应用,为用户提供便捷的服务。
3.1系统功能需求分析
对于用户而言,信息化系统的开发已经逐步成为各行业建设的必不可少的一部分,无论是高校还是企业单位等等,都在开发属于自己的内部平台,通过平台方式能够拉近用户与管理者的距离,通过建设的平台能够有效的降低成本,为用户和管理员提供巨大便利。从而设计出系统的框架、流程及其用例。现在可以根据此次设计的系统,对不同的功能,从而划分出不同的模块。因此此系统分成了两个模块,一个模块是用户管理模块,另一个模块是管理员管理模块。这两个模块相互存在,密不可分,最后还确立了每个模块相对于的具体功能。
本次课题主要实现以下内容,有系统功能分析的设计,数据库的连接和实现。并且管理员登陆可以实现以下管理,分别是用户管理、设备类型管理、设备资源管理、设备入库管理、设备租用管理、设备领取管理、设备归还管理、设备状态管理、警报提醒管理、设备维护管理、系统管理、我的资料等功能。用户登陆的时候可以修改个人信息,设备租用、在线客服、设备领取、修改密码、设备归还、警报提醒功能。
3.2 系统环境需求分析
系统软件环境配置有Windows 7 or Windows 10操作系统。硬件环境配置有台式计算机(PC)一台或者笔记本电脑一台,如表3.1所示。
表3.1 运行环境硬件配置
硬件 | 配置 |
处理器 | Intel 1G HZ以上 |
内存 | 1G以上 |
硬盘空间 | 16G以上 |
3.3 系统可行性分析
可行性分析是指通过比较项目的主要内容和支撑条件,如市场需求、资源供应、环境影响、资金筹措情况、盈利能力等,预测项目建成后可能产生的资金、经济效益、社会和环境影响,为项目决策提供依据的综合性系统分析方法。可行性研究报告编制的质量直接影响着投资决策的成,而可行性研究报告编制程序又决定了可行性研究报告能否得到有效执行。因此,必须重视可行性研究工作,提高其编制水平。可行性分析应当具有预见性、公正性、可靠性和科学性。
3.3.1 技术可行性分析
本系统是为了为用户寻找物联网管理平台小程序提供更加安全、高效、便捷的方式,本系统需要运用到Spring Boot、MySQL和B/S结构等技术,这些技术在国内外已经非常成熟,在大学期间也有所涉及,相关的知识和工具在网络上也可以查到,再加上老师的指导,在技术上的难题可以得到解决。
3.3.2 经济可行性分析
该系统的主题是物联网管理平台小程序。开发所需的软件资源是Eclipse。我们可以在它的网站上安装一个免费的版本,这对我们的开发和使用是足够好的。数据库就是MySQL数据库。是开源是免费的,服务器使用Tomcat服务器,浏览器使用日常IE浏览器,java语言是开源的。经过可行性评估,软件资源支出符合经济可行性。硬件方面,配备齐全的笔记本电脑作为工具在经济上是可行的。
3.3.3 运行可行性
运行可行性也可以说是系统可用性的体现,物联网管理平台小程序本身具有运行可行性的特点,其界面的设计清晰、功能权限分配合理、操作方便。本论文设计的是物联网管理平台小程序,通过技术的结合提出一套切实可行的解决方案。不同的用户接入之后不需要经过特殊的训练就可以运行到对应功能模块中。
3.3 系统用例分析
物联网管理平台小程序可以将功能划分为用户的使用功能和管理员功能。
(1)用户关键功能包含用户注册登录,我的服务、设备租用、在线客服、设备领取、修改密码、设备归还、警报提醒等有关信息,并进行详细操作。用户用例如下:
图3.2 用户用例图
(2)管理员的权限是最高的,可以对系统所在功能进行查看,修改和删除,包括用户功能。管理员用例如下:
图3.3管理员用例图
3.4系统流程分析
3.4.1程序流程图设计
在物联网管理平台小程序中,首先用户需要先在设备上登录系统,如果某用户是第一次使用物联网管理平台小程序,就必须先进行注册操作,获取自己的账号和密码后,才能进入系统完成后续的操作。详细的用户注册操作流程图如图3.4所示:
图3.4 注册流程图
已完成注册或已有账号的用户直接进行登录就可以操作功能。详细的用户登录操作流程如图3.5所示:
图3.5登录流程图
4 系统的设计
4.1 系统总功能模块设计
物联网管理平台分两大部分,即管理员管理和用户管理。系统按照用户的实际需求开发而来,贴近生活。从管理员出拿到分配好的账号密码可以进入系统,使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。
系统整体模块设计:系统分为管理员和用户两大用户角色,系统管理员有最大的权限,整体功能展示如图4.1所示。
图4.1 系统整体功能图
4.2 系统数据库设计
物联网管理平台小程序使用的是开放源码的MySQL数据库。在整个物联网管理平台小程序中,数据库设计是至关重要的一环。在对用户需求和管理员需求展开全面分析的基础上,将其抽象出了多个实体,并对这些实体进行了简化处理。
4.2.1 E-R模型结构设计
E-R图由实体与有关实体关联相结合构成的图,利用E-R图对清楚地表达出系统内的实体之间的关联。在系统中将对 “设备资源、设备归还、设备租用、警报提醒、设备状态、用户”等几个主要的实体属性进行布局,如图4-2所示:
图4-2系统局部E-R图
4.3数据表设计
在创建数据库和表之间的关联时,我们花费了一些时间来确保表格的完善。通过努力,我们成功地使表格更加明了和清晰。我们使用了MySQL的可视化软件Navicat Premium来创建数据表,其简洁明了的设计使得数据库的创建操作更加快捷。数据表的详细情况如下表所示。
表4-1:设备类型
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shebeileixing | varchar | 200 | 设备类型 |
表4-2:设备归还
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shebeibianhao | varchar | 200 | 设备编号 | ||
shebeimingcheng | varchar | 200 | 设备名称 | ||
shebeitupian | longtext | 4294967295 | 设备图片 | ||
shebeileixing | varchar | 200 | 设备类型 | ||
yongtu | varchar | 200 | 用途 | ||
shuliang | int | 归还数量 | |||
guihaishijian | datetime | 归还时间 | |||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-3:警报提醒
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shebeimingcheng | varchar | 200 | 设备名称 | ||
shebeileixing | varchar | 200 | 设备类型 | ||
shebeitupian | longtext | 4294967295 | 设备图片 | ||
wenduxianshi | double | 温度显示 | |||
shiduxianshi | double | 湿度显示 | |||
kaiguanzhuangtai | varchar | 200 | 开关状态 | ||
gengxinshijian | datetime | 更新时间 | |||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 |
表4-4:设备资源评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
表4-5:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-6:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-7:设备租用
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shebeibianhao | varchar | 200 | 设备编号 | ||
shebeimingcheng | varchar | 200 | 设备名称 | ||
shebeitupian | longtext | 4294967295 | 设备图片 | ||
shebeileixing | varchar | 200 | 设备类型 | ||
yongtu | varchar | 200 | 用途 | ||
shuliang | int | 租借数量 | |||
zulinshijian | datetime | 租赁时间 | |||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
shenqingshijian | datetime | 申请时间 | |||
lingquzhuangtai | varchar | 200 | 领取状态 |
表4-8:在线客服
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
adminid | bigint | 管理员id | |||
ask | longtext | 4294967295 | 提问 | ||
reply | longtext | 4294967295 | 回复 | ||
isreply | int | 是否回复 |
表4-9:设备资源
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shebeibianhao | varchar | 200 | 设备编号 | ||
shebeimingcheng | varchar | 200 | 设备名称 | ||
shebeitupian | longtext | 4294967295 | 设备图片 | ||
shebeileixing | varchar | 200 | 设备类型 | ||
yongtu | longtext | 4294967295 | 用途 | ||
shebeiweizhi | varchar | 200 | 设备位置 | ||
shuliang | int | 数量 | |||
gengxinshijian | datetime | 更新时间 | |||
discussnum | int | 评论数 | 0 | ||
storeupnum | int | 收藏数 | 0 |
表4-10:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
touxiang | longtext | 4294967295 | 头像 | ||
shoujihao | varchar | 200 | 手机号 | ||
xingbie | varchar | 200 | 性别 |
表4-11:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-12:设备状态
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shebeimingcheng | varchar | 200 | 设备名称 | ||
shebeileixing | varchar | 200 | 设备类型 | ||
shebeiweizhi | varchar | 200 | 设备位置 | ||
shebeitupian | longtext | 4294967295 | 设备图片 | ||
wenduxianshi | double | 温度显示 | |||
shiduxianshi | double | 湿度显示 | |||
kaiguanzhuangtai | varchar | 200 | 开关状态 | ||
gengxinshijian | datetime | 更新时间 |
表4-13:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-14:设备维护
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shebeimingcheng | varchar | 200 | 设备名称 | ||
shebeileixing | varchar | 200 | 设备类型 | ||
shebeiweizhi | varchar | 200 | 设备位置 | ||
shebeitupian | longtext | 4294967295 | 设备图片 | ||
wenduxianshi | double | 温度显示 | |||
shiduxianshi | double | 湿度显示 | |||
weixiuxiangmu | longtext | 4294967295 | 维修项目 | ||
weixiujieguo | varchar | 200 | 维修结果 | ||
gengxinshijian | varchar | 200 | 更新时间 |
表4-15:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-16:系统简介
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-17:设备入库
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
caigoubianhao | varchar | 200 | 采购编号 | ||
shebeimingcheng | varchar | 200 | 设备名称 | ||
shebeitupian | longtext | 4294967295 | 设备图片 | ||
shebeileixing | varchar | 200 | 设备类型 | ||
yongtu | varchar | 200 | 用途 | ||
shuliang | int | 采购数量 | |||
caigoudanjia | double | 采购单价 | |||
zongjiazhi | double | 总价值 | |||
caigoushijian | datetime | 采购时间 |
表4-18:设备领取
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
shebeibianhao | varchar | 200 | 设备编号 | ||
shebeimingcheng | varchar | 200 | 设备名称 | ||
shebeitupian | longtext | 4294967295 | 设备图片 | ||
shebeileixing | varchar | 200 | 设备类型 | ||
yongtu | varchar | 200 | 用途 | ||
shuliang | int | 租借数量 | |||
lingqushijian | datetime | 领取时间 | |||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
guihaizhuangtai | varchar | 200 | 归还状态 |
以上就是物联网管理平台小程序中重点使用的关键数据库表格,表格全部展示过于杂乱,选取重点表格展示。
按照软件工程的流程来说,在系统的详细设计与实现阶段,要把模块、视图、模板进行相应的组合完成一个个所需的功能,此章将会把设计中模块一一说明如何设计和实现的。
5.1小程序端实现
5.1.1登录界面的实现
首先双击打开小程序客户端,连上网络之后会显示出本系统的登录界面,这是进入小程序的初始页面“登录”,能成功进入到该登录界面则代表小程序的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。
登录界面如图5-1所示。
图5-1 登录界面
5.1.2注册界面的实现
第一次使用本小程序的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将用户信息录入注册表,确认信息正确后,系统才会进入登录界面,用户登录成功后可使用本小程序所提供的所有功能。
注册界面如图5-2所示。
图5-2 注册界面
5.1.3 小程序首页功能的实现
小程序首页是用户注册登录后进入的第一个界面,在这里,人们能够看到小程序的导航条,内容包括首页、设备资源、我的等。小程序首页界面如图5-3所示。
图5-3 小程序首页界面图
5.1.4用户功能
用户登录成功后,点击“我的”进入我的页面,在我的页面可以对我的服务、设备租用、在线客服、设备领取、修改密码、设备归还、警报提醒等进行详细操作。用户功能界面如图5-4所示。
图5-4用户功能界面图
5.2 小程序系统管理员功能的实现
在登录流程中,用户首先在uni前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-5所示。
图5-5管理员登录界面图
管理员登录进入小程序可以查看系统首页、用户管理、设备类型管理、设备资源管理、设备入库管理、设备租用管理、设备领取管理、设备归还管理、设备状态管理、警报提醒管理、设备维护管理、系统管理、我的资料等功能进行详细操作,如图5-6所示。
图5-6管理员功能界面图
设备类型功能在视图层(view层)进行交互,比如点击“搜索、增加或删除”按钮或填写设备类型信息表单。这些设备类型表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、编辑或删除设备类型信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便设备类型功能可以看到最新的信息或相应的操作反馈。设备类型界面如图5-7所示:
图5-7设备类型管理界面
设备资源功能在视图层(view层)进行交互,比如点击“搜索、增加或删除”按钮或填写设备资源信息表单。这些设备资源表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、采购入库、编辑、查看评论或删除设备资源信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便设备资源功能可以看到最新的信息或相应的操作反馈。设备资源界面如图5-8所示:
图5-8设备资源管理界面
设备租用功能在视图层(view层)进行交互,比如点击“搜索或删除”按钮或填写设备租用信息表单。这些设备租用表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、领取登记或删除设备租用信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便设备租用功能可以看到最新的信息或相应的操作反馈。设备租用界面如图5-9所示:
图5-9设备租用管理界面
设备领取功能在视图层(view层)进行交互,比如点击“搜索或删除”按钮或填写设备领取信息表单。这些设备领取表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、警报提醒或删除设备领取信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便设备领取功能可以看到最新的信息或相应的操作反馈。设备领取界面如图5-10所示:
图5-10设备领取管理界面
设备归还功能在视图层(view层)进行交互,比如点击“搜索、删除或审核”按钮或填写设备归还信息表单。这些设备归还表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看或删除设备归还信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便设备归还功能可以看到最新的信息或相应的操作反馈。设备归还界面如图5-11所示:
图5-12设备归还管理界面
设备状态功能在视图层(view层)进行交互,比如点击“搜索、增加或删除”按钮或填写设备状态信息表单。这些设备状态表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、编辑、维护记录或删除设备状态信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便设备状态功能可以看到最新的信息或相应的操作反馈。设备状态界面如图5-13所示:
图5-13设备状态管理界面
警报提醒功能在视图层(view层)进行交互,比如点击“搜索或删除”按钮或填写警报提醒信息表单。这些警报提醒表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、编辑或删除警报提醒信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便警报提醒功能可以看到最新的信息或相应的操作反馈。警报提醒界面如图5-14所示:
图5-14警报提醒管理界面
设备维护功能在视图层(view层)进行交互,比如点击“搜索或删除”按钮或填写设备维护信息表单。这些设备维护表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、编辑或删除设备维护信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便设备维护功能可以看到最新的信息或相应的操作反馈。设备维护界面如图5-15所示:
图5-15设备维护管理界面
6.1系统测试
系统测试是把经过测试的子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合预定要求。在系统测试中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。
系统整体测试中包含了以下测试:
集成测试:在单元测试之后就是集成测试,集成测试是测试和组装软件的系统化技术。并且分为了自顶向下集成和自底向上集成。
确认测试:也称为验收测试,目的是验证软件的有效性。
系统测试:在实际运行环境下,对系统进行的一系列集成和确认测试。
经过以上先从单元测试,然后集成测试,然后确认测试,最后系统测试等步骤,最终完成整体测试。
测试用例如下所示:
表6.1 登录测试表
登录模块 | |||
编号 | 输入条件 | 输出结果 | 测试结果 |
1 | 用户名:admin 密码:admin | 能够正常登录 | 运行成功 |
2 | 用户名:124 密码:admin | 用户名错误,登录失败 | 运行失败 |
3 | 用户名:admin密码:123457 | 密码错误,登录失败 | 运行失败 |
表6.2 用户测试表
用户测试 | |||
编号 | 测试过程 | 输出结果 | 测试结果 |
1 | 点击设备归还,跳转到设备归还界面,其次根据上面提示输入所需要的信息,最后点击提交发布。 | 跳转相应界面,跳出发布成功对话框。 | 运行成功 |
2 | 点击发布设备租用,跳转到发布设备租用界面,其次根据上面提示输入所需要的信息,最后点击提交发布。 | 跳转相应界面,跳出发布成功对话框。 | 运行成功 |
3 | 在个人中心中,点击修改个人信息,跳转到修改个人信息界面,其次根据上面提示输入想要修改的信息,最后点击提交修改。 | 跳转相应界面,跳出修改成功对话框。 | 运行成功 |
6.2 本章小结
通过几个相关数据以一定的测试规则去测试这个测试主要是证明该系统的完成程度。有没有原则上的错误,还有没有在完成过程中没发现到的错误。通过测试方法,它没有发现任何程序上大错误。当通过测试方法,去实践自己程序时,发生的错误,程序员根据反馈回来的错误信息,进行相应的修改,完善和增加相应功能时,会减少开发中不必要的损失。
通过这次这段时间进行的毕业设计,在学习中和生活中发现各方面的不足,在生活中,对于毕业设计的各项工作没有完好的时间安排,在学习中发现了自己知识储备不够,导致了设计中出现许多问题。例如由于时间关系,系统功能实现不够完善,使用不是很方便。还有系统界面做的比较粗糙,使人看起来感觉不太完美。
以上这些问题都是需要我自己继续完善的地方,一步一步慢慢前行,争取把这些问题全都解决。
这段时间我在其中也学到了不少新的东西,积累了实践动手能力,面对问题沉着冷静处理的能力,自己能够解决的自己想办法解决,自己不能解决的,可以寻求同学和老师的帮助。在以后的生涯中我相信这是一段令人印象深刻的时间。
经过这学期的不懈努力,本次的毕业设计和论文已经接近完成,从选题、收集材料以及动手去做,都使我学到了很多以前在书本上学不到的东西,更提高了本人的实践能力。另外在老师的指导和教学下,我终于完成了此次的项目,因为在之前的学习中,从未自己单独设计过一个项目,此次设计的项目让我从中学习到了很多的知识,包括课本上没有的知识,这些都是我不断查询课外书籍以及登录课外网站慢慢学会的。在这期间我也意识到了自己在开发方面的不足,正是因为这些不足,所以我才能够在毕业设计中能够举一反三,更快的做好手上工作。
此次毕业设计内容是对几年的学习一次很好的总结和巩固,使我不仅仅学习到了理论知识,也在实践中了解了真实开发环境中遇到的问题,而不是在书本中泛泛而谈。而且正是在指导老师的指导下,让我能够在有限的时间内完成此次设计内容,对老师我是万分感激。
最后感谢所有参与我论文评审的老师们,感谢你们抽出宝贵的时间评审我的论文,并提出宝贵意见,我一定虚心接受,你们的教导就是对我的帮助。
参考文献
[1] 基于Web服务器的取证技术研究[J]. 张婷婷;陈云云.网络安全技术与应用,2023(06)
[2] 基于SpringBoot的毕业论文管理系统设计和开发. 胡明;文翠;黄川.电脑编程技巧与维护,2020
[3] 一种面向Web的英汉平行语料库的构建方法[J]. 徐润华;王东波.金陵科技学院学报(社会科学版),2021(04)
[4] Spring Boot+Springboot+MyBatis技术应用解析. 陈倩怡;何军.电脑编程技巧与维护,2020
[5] 基于SpringBoot框架应用开发技术的分析与研究. 熊永平.电脑知识与技术,2019
[6] 数据可视化Web应用技术举例[J]. 陈益全;刘强.计算机时代,2022(03)
[7] 基于Spring Boot.js的信息管理系统前端架构[J]. 蔡泽铭;王文华.电子技术与软件工程,2020(18)
[8] 基于“互联网+”的电子信息管理系统设计与应用[J]. 张焕英;任萍.信息与电脑(理论版),2023(09)
[9] 基于Spring Boot与Spring Boot的系统管理模块开发探究. 杨妍.电声技术,2019
[10] 基于WEB的试验室档案管理系统方案的设计与应用[J]. 蔡宇飞;肖莹;江思杰;徐海明;乔文霞;成厚龙;张海旺.环境技术,2022(02)
[11] 软件工程中的Web开发技术应用[J]. 韩迎红.数字通信世界,2022(07)
[12] Spring Boot+Springboot+MyBatis技术应用解析. 陈倩怡;何军.电脑编程技巧与维护,2020
[13]Qu Xiaona. Application of Java Technology in Dynamic Web Database Technology[J]. Journal of Physics: Conference Series,2021,1744(4).
[14]Bouamrane Karim,Matallah Houcine,Belalem Ghalem. Comparative Study Between the MySQL Relational Database and the MongoDB NoSQL Database[J]. International Journal of Software Science and Computational Intelligence (IJSSCI),2021,13(3).