SpringBoot 高校实验室资产管理系统-计算机毕设 附源码85189

news2024/11/26 9:44:26

SpringBoot高校实验室资产管理系统

摘  要

随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使人们的生活与工作方式发生了很大的改观。本课题研究的高校实验室资产管理系统,主要功能模块包括后台首页,轮播图,公告管理,资源管理,系统用户(管理员,普通用户,普管用户),模块管理(资产信息,资产分类,设备借用,设备归还,耗材信息,耗材领用,库存信息,入库记录,出库记录,资产使用报告,设备图,耗材图,维护信息)等,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用SpringBoot框架进行系统的开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、意义,为研究工作的合理性打下了基础。针对高校实验室资产管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现系统各大模块。

关键词高校实验室资产管理系统;Java语言;SpringBoot框架;mysql

SpringBoot University Laboratory Asset Management System

ABSTRACT

With the development of computer technology, especially the development of computer network and database technology, people's way of life and work has undergone significant changes. The university laboratory asset management system studied in this project has main functional modules including backend homepage, rotation chart, announcement management, resource management, and system users (administrators, ordinary users, and general management users), Module management (asset information, asset classification, equipment borrowing, equipment return, consumables information, consumables requisition, inventory information, inbound records, outbound records, asset usage reports, equipment diagrams, consumables diagrams, maintenance information), etc. adopts an object-oriented development model for software development and hardware installation, which can effectively meet the actual needs of use and improve the corresponding software installation and program coding work, Adopting MySQL as the main storage unit for backend data and using the SpringBoot framework for system development, all functions of this system have been achieved. This report first analyzes the background and significance of the research, laying the foundation for the rationality of the research work. This article analyzes the various requirements and technical issues of the university laboratory asset management system, proves the necessity and feasibility of the system, and then provides a basic introduction to the technical software and design ideas required for designing the system. Finally, it realizes the major modules of the system.

Key words: University laboratory asset management system; Java language; SpringBoot framework; mysql

目  录

摘  要

ABSTRACT

第1章 绪论

1.1研究背景

1.2 开发现状

1.3 研究方法

第2章 相关技术

2.1开发技术

2.2 Java简介

2.3  MVVM模式

2.4  B/S结构

2.5  MySQL数据库

2.6  SpringBoot框架

第3章 系统分析

3.1 需求分析

3.2 系统可行性分析

3.2.1技术可行性

3.2.2经济可行性

3.2.3操作可行性

3.3 项目设计目标与原则

3.4系统流程分析

3.4.1操作流程

3.4.2添加信息流程

3.4.3删除信息流程

第4章 系统设计

4.1 系统体系结构

4.2系统结构设计

4.3开发流程设计

4.4 数据库设计原则

4.5 数据表

第5章 系统实现

5.1基本任务

5.2登录模块的实现

5.3管理员功能模块

5.4普通用户功能模块

第6章  系统测试

6.1系统测试的目的

6.2系统测试方法

6.3功能测试

结  论

致  谢

参考文献

1章 绪论

1.1研究背景

随着高校改革的不断推进,对创新型人才的培养引起了各大高校的广泛关注。高校创新型人才的培养离不开各类实践学习活动,而实践学习的实施离不开各类实验室的支持,开放式实验室就是其中一种。这类实验室是指科研实验室在完成科研任务的前提下,利用现有师资、仪器设备、设施等实验条件,面向学生开放,为学生提供开放实践学习及资源交流共享的平台。利用开放式实验室,提供充足的设备、资源,实现资源统一以及信息共享,使老师可以通过实践教学,将理论知识同实践相结合,更好地完成教学计划;使学生能够在课余时间更好地利用实验室自主检验知识、加强理解、提高能力。

目前,我国各个高校的开放式实验室均已投入使用,但由于开放式实验室进入高校视野的时间较短,对于高校开放式实验室的管理未形成一套独立完整的体系。虽然部分高校已经采取了新的管理手段对开放式实验室进行管理,如建立高素质实验教师队伍,带动学校教学的工作进展;建立完善的设备故障报备机制,及时解决设备故障问题;将实验教学与理论教学有机结合,构建新的教学体系,并利用校园网对开放实验教学进行管理,实现网络实验教学、网络教学管理及网络信息交流等,但多数高校目前仍沿用手工加手工的传统实验室的管理手段对开放式实验室进行管理。因此,应提出一种各高校通用的对策以解决高校开放式实验室管理中存在的各方面问题。

将人工转为程序化则是对管理繁琐的解决对策,因此本文将简述实验室资产管理系统的设计和开发。

1.2 开发现状

国外将信息管理系统应用于教育时间相对较早,走在世界的前列为美国,在教育信息化方面非常领先。通过相关论文以及资料显示,环球网上拥有美国三分之一的各大高校的课程可以查看到。各个大学拥有专门的网站。学生的各种服务基本通过校园网可以实施,信息系统在校园的广泛使用极大的提高了高校的管理效率,极大的方便了学生和教师。

在2006年,Alexander De Vora, Michael E.Auer 讨论了在线实验室通用框架的建立,特别是在电子学习领域的应用。他们提出在线实验室允许学生通过使用在线实验室在实践中做实验来加深他们的知识。这些在线实验室可以通过互联网访问。因此,学生可以随时随地参加实验室。但目前可用的在线实验室资产管理系统是基于中心的系统,它只允许在一个中心系统上预约和访问在线实验室,这就意味着如果预订系统由于某种原因而关闭,一个在线实验室就不能被预订或访问了,因此他们展示了一种利用分布式预约系统来避免这个问题,还展示了如何在一个共同的框架内提供简单而有效的在线实验室。

2019年,Yiting Wang; Zhenhua Wei; Junwu Cao; Zhifeng Liu在分析以往高校实验室管理体制经验的基础上,探索构建适合高校实验室设备预约管理的综合体系,他们设计的系统采用Java Web相关技术、Web数据库交互技术和B/S架构,形成了功能完备、管理灵活的模块化结构。该系统的建设实现了高校实验室的规范化、程序化和集成化管理,促进了高校实验室设备的有效利用。

同样是2019年,Yassine Khazri; Ahmed Fahli; Mohamed Moussetad; Ahmed Naddami分析了以往的虚拟和远程实验室,设计了远程实验室资产管理系统和新排队系统。他们所设计的远程实验室成功地实现了远程预约实验室的功能,在以往的基础上运用了排队系统,避免了由于预约人数过多而造成的混乱。

目前国内大多数高校都能意识到实验室教学在整个教学环节中的重要性,尤其是高校在积极培养创新型人才的要求下,实验室的作用更是不容替代。2016年,王惠婷设计了一个基于Andorid的实验室资产管理系统,她利用java完成了Andorid应用程序的编写,运用MySQL数据库去输入数据。她设计的系统实现了登陆注册,个人信息修改,注销,预约,取消预约,反馈等功能,算的上是非常贴合于如今所需求的预约系统。

2020年4月,赵家伟、白花蒲等设计了实验室资产管理系统,他们先采用调查问卷的方式去征求学生对于实验室资产管理系统的意见,然后通过调查结果去设计系统。他们首先先完成了手机小程序的注册,然后通过微信的开发者工具对小程序进行编程,建立新项目,完成小程序的开发、测试以及代码上传等工作。

2020年5月,刘素转、朱立萍、王晓娜也设计了基于微信小程序的开放实验室资产管理系统,他们在之前的基础上增加了一些功能,比如按时在实验室进行签到,签到不成功则视为爽约,爽约次数过多会直接取消其预约的机会。他们还为其实验室添加了课表以及系统聊天功能,使得预约系统更加功能完善。

又是在2020年8月,叶叶设计与实现了实验室资产管理系统,她设计的系统实现了课程预约,实验室预约、实验室课程信息设置、个人信息功能查看、开放式实验课程常规管理、公告管理。她提出运用PC端预约系统,开发微信公众平台开发接口,进行公众平台认证,由此也开创了新的课程授课方式,显著提升了开放实验室运行效率。

1.3 研究方法

首先,通过引擎搜索或者查阅相关文献资料,了解了本系统开发的背景以及设计系统的意义所在,收集用户需求信息。其次,在开发工具上,最终确定选用Java来设计开发本系统,Mysql作为设计数据库的工具。即利用Java语言实现用户界面,并同数据库连接起来实现完整的通信功能。之后,设计出系统大致的功能模块。主要从方便用户和系统管理员的角度进行分析,明确该系统应该具有的功能。最终是测试系统,通过用例测试发现存在的问题并找到解决的方案。利用现有的开发平台,结合自己所学的知识,在老师的指导帮助下来完成该设计,确保系统的可用性、实用性。

第2章 相关技术

2.1开发技术

本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis等相关技术。

2.2 Java简介

Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,Java servlet API,JSP(Java server pages),和XML技术。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。

Java语言和一般编译器以及直译的区别在于,Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。

2.3  MVVM模式

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性糅合进去,以应对客户日益复杂的需求变化。

2.4  B/S结构

B/S(Browser/Server)比前身架构更为省事的架构。它借助Web server完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题。

2.5  MySQL数据库

Mysql的语言是非结构化的,用户可以在数据上进行工作。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。并且因为Mysql的语言和结构比较简单,但是功能和存储信息量很强大,所以得到了普遍的应用。

Mysql数据库在编程过程中的作用是很广泛的,为用户进行数据查询带来了方便。Mysql数据库的应用因其灵活性强,功能强大,所以在实现某功能时只需要一小段代码,而不像其他程序需要编写大段代码。总体来说,Mysql数据库的语言相对要简洁很多。

数据流程分析主要就是数据存储的储藏室,它是在计算机上进行的,而不是现实中的储藏室。数据的存放是按固定格式,而不是无序的,其定义就是:长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要是数据存储、修改和增加以及数据表的建立。为了保证系统数据的正常运行,一些有能力的处理者可以进行管理而不需要专业的人来处理。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。介于数据库的功能强大等特点,本系统的开发主要应用了Mysql进行对数据的管理。

 2.6  SpringBoot框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。Spring集成多种事务模板,系统可以通过事务模板、XML或Java注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。Spring的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对Java:JDBC、iBATS/MyBATIs、Hibernate、Java数据对象(JDO)、ApacheOJB和ApacheCayne等所有流行的数据访问框架中提供支持,同时还可以与Spring的事务管理一起使用,为数据访问提供了灵活的抽象。Spring框架最初是没有打算构建一个自己的WebMVC框架,其开发人员在开发过程中认为现有的StrutsWeb框架的呈现层和请求处理层之间以及请求处理层和模型之间的分离不够,于是创建了SpringMVC。

第3章 系统分析

3.1 需求分析

高校实验室资产管理系统主要是借助信息管理系统,实现实验室资产管理、设备借还、耗材领用、出入库记录等功能需求。它能更好存储所有数据信息及快速方便的检索功能。对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。

系统所要实现的功能分析,对于现在网络方便的管理,系统要实现用户可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改信息,这样既能节省时间,不用再像传统的方式耽误时间,难以满足用户的各种需求。所以高校实验室资产管理系统的开发不仅仅是能满足用户的需求,还能提高管理员的工作效率,减少原有不必要的工作量。

3.2 系统可行性分析

3.2.1技术可行性

该系统在Windows操作系统中进行开发,并且目前PC机的性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。

系统的开发环境和配置都是可以自行安装的,系统使用JavaScript框架Vue.js,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。

(1)硬件可行性分析

高校实验室资产管理系统对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。

(2)软件可行性分析

开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障系统的安全及数据信息的及时备份。

因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。

3.2.2经济可行性

在高校实验室资产管理系统开发之前所做的市场调研及相关的管理系统,都是没有任何费用的,都是通过开发者自己的努力,所有的工作的都是自己亲力亲为,在碰到自己比较难以解决的问题,大多是通过同学和指导老师的帮助进行相关信息的解决,所以对于高校实验室资产管理系统的开发在经济上是完全可行的,没有任何费用支出的。

3.2.3操作可行性 

可操作性主要是对高校实验室资产管理系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、用户两种用户角色,都可以简单明了的进入到自己的系统界面,通过界面导航菜单可以简单明了地操作功能模块,方便用户信息的操作需求和管理员管理数据信息,对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以在系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。

3.3 项目设计目标与原则

1、关于高校实验室资产管理系统的基本要求

(1)功能要求:首页,轮播图,公告管理,资源管理,系统用户(管理员,普通用户,普管用户),模块管理(资产信息,资产分类,设备借用,设备归还,耗材信息,耗材领用,库存信息,入库记录,出库记录,资产使用报告,设备图,耗材图,维护信息)等功能模块。

(2)性能:在不同操作系统上均能无差错实现在不同类型的用户登入相应界面后能不出差错、方便地进行预期操作。

(3)安全与保密要求:用户都必须通过身份验证才能进入系统,并且用户的权限也需要根据用户的类型进行限定。

(4)环境要求:支持多种平台,可在Windows系列、Vista系统等多种操作系统下使用。

2、开发目标

高校实验室资产管理系统的主要开发目标如下:

(1)实现管理系统信息关系的系统化、规范化和自动化;

(2)减少维护人员的工作量以及实现用户对信息的控制和管理。

(3)方便查询信息及管理信息等;

(4)通过网络操作,改善处理问题的效率,提高操作人员利用率;

(5)考虑到用户多样性特点,要求界面简单,操作简便。

3、设计原则

本系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。

高校实验室资产管理系统的设计与实现的设计思想如下:

  1. 操作简单方便、系统界面安全良、简单明了的页面布局、方便查询相关信息。

2、即时可见:对高校实验室资产管理系统信息的处理将可以实时查询到,从而实现“即时发布、即时见效”的系统功能。

3、功能的完善性:首页,轮播图,公告管理,资源管理,系统用户(管理员,普通用户,普管用户),模块管理(资产信息,资产分类,设备借用,设备归还,耗材信息,耗材领用,库存信息,入库记录,出库记录,资产使用报告,设备图,耗材图,维护信息)等模块的修改维护操作。

3.4系统流程分析

3.4.1操作流程

系统登录流程图,如图所示:

 

图3-1登录流程图

3.4.2添加信息流程

添加信息流程图,如图所示:

 

图3-2添加信息流程图

3.4.3删除信息流程

删除信息流程图,如图所示:

 

图3-3删除信息流程图

4章 系统设计

4.1 系统体系结构

本系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:

 

图4-1 系统工作原理图

4.2系统结构设计

整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。

本系统结构图如图4-2所示。

 

图4-2 系统功能结构图

4.3开发流程设计

系统流程的分析是通过调查系统所涉及问题的识别、可行性、可操作性、系统分析处理能力等具体环节来调节、整理系统的设计方案以确保系统能达到理想的状态。这些操作都要从注册、登录处着眼进行一系列的流程测试保证数据库的完整,从而把控系统所涉及信息管理的安全、保证信息输入、输出正常转换。然后,通过实际操作完成流程图的绘制工作。

高校实验室资产管理系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-4所示。

 

图4-4开发系统流程图

4.4 数据库设计原则

学习编程,我们都知道数据库设计是基于需要设计的系统功能,我们需要建立一个数据库关系模型,用于存储数据信息,这样当我们在程序中时,就没有必要为程序页面添加数据,从而提高系统的效率。数据库存储了很多信息,可以说是信息管理系统的核心和基础,数据库还提供了添加、删除、修改和检查,使系统能够快速找到自己想要的信息,而不是在程序代码中找到。数据库中信息表的每个部分根据一定的关系精确地组合,排列和组合成数据表。

通过高校实验室资产管理系统的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:

用户信息属性图如图4-5所示。

 

图4-5 用户信息实体属性图

系统的E-R图如下图所示:

 

图4-6系统E-R图

4.5 数据表

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表article (文章:用于内容管理系统的文章)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

article_id

mediumint

8

0

N

Y

文章id:[0,8388607]

2

title

varchar

125

0

N

Y

标题:[0,125]用于文章和html的title标签中

3

type

varchar

64

0

N

N

0

文章分类:[0,1000]用来搜索指定类型的文章

4

hits

int

10

0

N

N

0

点击数:[0,1000000000]访问这篇文章的人次

5

praise_len

int

10

0

N

N

0

点赞数

6

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

8

source

varchar

255

0

Y

N

来源:[0,255]文章的出处

9

url

varchar

255

0

Y

N

来源地址:[0,255]用于跳转到发布该文章的网站

10

tag

varchar

255

0

Y

N

标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开

11

content

longtext

2147483647

0

Y

N

正文:文章的主体内容

12

img

varchar

255

0

Y

N

封面图

13

description

text

65535

0

Y

N

文章描述

表article_type (文章分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

type_id

smallint

5

0

N

Y

分类ID:[0,10000]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]决定分类显示的先后顺序

3

name

varchar

16

0

N

N

分类名称:[2,16]

4

father_id

smallint

5

0

N

N

0

上级分类ID:[0,32767]

5

description

varchar

255

0

Y

N

描述:[0,255]描述该分类的作用

6

icon

text

65535

0

Y

N

分类图标:

7

url

varchar

255

0

Y

N

外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表asset_classification (资产分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

asset_classification_id

int

10

0

N

Y

资产分类ID

2

asset_classification

varchar

64

0

Y

N

资产分类

3

recommend

int

10

0

N

N

0

智能推荐

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表asset_information (资产信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

asset_information_id

int

10

0

N

Y

资产信息ID

2

asset_map

varchar

255

0

Y

N

资产图

3

asset_number

varchar

64

0

Y

N

资产编号

4

asset_name

varchar

64

0

Y

N

资产名称

5

asset_classification

varchar

64

0

Y

N

资产分类

6

inventory_quantity

int

10

0

Y

N

0

库存数量

7

detailed_introduction

longtext

2147483647

0

Y

N

详细介绍

8

hits

int

10

0

N

N

0

点击数

9

recommend

int

10

0

N

N

0

智能推荐

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表asset_usage_report (资产使用报告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

asset_usage_report_id

int

10

0

N

Y

资产使用报告ID

2

asset_number

varchar

64

0

Y

N

资产编号

3

asset_name

varchar

64

0

Y

N

资产名称

4

asset_classification

varchar

64

0

Y

N

资产分类

5

analysis_report

longtext

2147483647

0

Y

N

分析报告

6

recommend

int

10

0

N

N

0

智能推荐

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表collect (收藏)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

来源表:

4

source_field

varchar

255

0

Y

N

来源字段:

5

source_id

int

10

0

N

N

0

来源ID:

6

title

varchar

255

0

Y

N

标题:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表comment (评论)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

comment_id

int

10

0

N

Y

评论ID:

2

user_id

int

10

0

N

N

0

评论人ID:

3

reply_to_id

int

10

0

N

N

0

回复评论ID:空为0

4

content

longtext

2147483647

0

Y

N

内容:

5

nickname

varchar

255

0

Y

N

昵称:

6

avatar

varchar

255

0

Y

N

头像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

9

source_table

varchar

255

0

Y

N

来源表:

10

source_field

varchar

255

0

Y

N

来源字段:

11

source_id

int

10

0

N

N

0

来源ID:

表consumable_diagram (耗材图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

consumable_diagram_id

int

10

0

N

Y

耗材图ID

2

consumable_number

varchar

64

0

Y

N

耗材编号

3

consumable_name

varchar

64

0

Y

N

耗材名称

4

total_inventory

int

10

0

Y

N

0

总库存

5

available

int

10

0

Y

N

0

可用

6

recommend

int

10

0

N

N

0

智能推荐

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表consumable_requisition (耗材领用)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

consumable_requisition_id

int

10

0

N

Y

耗材领用ID

2

consumable_diagram

varchar

255

0

Y

N

耗材图

3

consumable_number

varchar

64

0

Y

N

耗材编号

4

consumable_name

varchar

64

0

Y

N

耗材名称

5

classification_of_consumables

varchar

64

0

Y

N

耗材分类

6

recipient

int

10

0

Y

N

0

领用人

7

received_quantity

int

10

0

Y

N

0

领用数量

8

contact_information

varchar

64

0

Y

N

联系方式

9

upload_signature_photo

varchar

255

0

Y

N

上传签名照

10

usage_instructions

text

65535

0

Y

N

领用说明

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表equipment_borrowing (设备借用)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

equipment_borrowing_id

int

10

0

N

Y

设备借用ID

2

asset_number

varchar

64

0

Y

N

资产编号

3

asset_name

varchar

64

0

Y

N

资产名称

4

asset_classification

varchar

64

0

Y

N

资产分类

5

borrower

int

10

0

Y

N

0

借用人

6

borrowed_quantity

int

10

0

Y

N

0

借用数量

7

contact_information

varchar

64

0

Y

N

联系方式

8

borrowing_date

date

10

0

Y

N

借用日期

9

expected_return_date

date

10

0

Y

N

预计归还日期

10

upload_signature_photo

varchar

255

0

Y

N

上传签名照

11

borrowing_instructions

text

65535

0

Y

N

借用说明

12

examine_state

varchar

16

0

N

N

未审核

审核状态

13

examine_reply

varchar

16

0

Y

N

审核回复

14

recommend

int

10

0

N

N

0

智能推荐

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表equipment_diagram (设备图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

equipment_diagram_id

int

10

0

N

Y

设备图ID

2

asset_number

varchar

64

0

Y

N

资产编号

3

asset_name

varchar

64

0

Y

N

资产名称

4

total_inventory

int

10

0

Y

N

0

总库存

5

available

int

10

0

Y

N

0

可用

6

borrow_from

int

10

0

Y

N

0

外借

7

recommend

int

10

0

N

N

0

智能推荐

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表equipment_return (设备归还)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

equipment_return_id

int

10

0

N

Y

设备归还ID

2

asset_number

varchar

64

0

Y

N

资产编号

3

asset_name

varchar

64

0

Y

N

资产名称

4

asset_classification

varchar

64

0

Y

N

资产分类

5

borrower

int

10

0

Y

N

0

借用人

6

return_quantity

int

10

0

Y

N

0

归还数量

7

contact_information

varchar

64

0

Y

N

联系方式

8

borrowing_date

varchar

64

0

Y

N

借用日期

9

return_date

date

10

0

Y

N

归还日期

10

return_signature_photo

varchar

255

0

Y

N

归还签名照

11

return_remarks

text

65535

0

Y

N

归还备注

12

recommend

int

10

0

N

N

0

智能推荐

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表general_management_users (普管用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

general_management_users_id

int

10

0

N

Y

普管用户ID

2

name_of_general_manager

varchar

64

0

N

N

普管姓名

3

general_management_worker_number

varchar

64

0

Y

N

普管工号

4

gender

varchar

64

0

Y

N

性别

5

examine_state

varchar

16

0

N

N

已通过

审核状态

6

recommend

int

10

0

N

N

0

智能推荐

7

user_id

int

10

0

N

N

0

用户ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表inventory_information (库存信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

inventory_information_id

int

10

0

N

Y

库存信息ID

2

asset_number

varchar

64

0

Y

N

资产编号

3

asset_name

varchar

64

0

Y

N

资产名称

4

asset_classification

varchar

64

0

Y

N

资产分类

5

inventory_quantity

int

10

0

Y

N

0

库存数量

6

asset_status

varchar

64

0

Y

N

资产状态

7

recommend

int

10

0

N

N

0

智能推荐

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表maintenance_information (维护信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

maintenance_information_id

int

10

0

N

Y

维护信息ID

2

asset_map

varchar

255

0

Y

N

资产图

3

asset_number

varchar

64

0

Y

N

资产编号

4

asset_name

varchar

64

0

Y

N

资产名称

5

asset_classification

varchar

64

0

Y

N

资产分类

6

maintenance_time

date

10

0

Y

N

维护时间

7

maintenance_cost

int

10

0

Y

N

0

维护费用

8

enclosure

varchar

255

0

Y

N

附件

9

pre_maintenance_status

text

65535

0

Y

N

维护前状态

10

post_maintenance_status

text

65535

0

Y

N

维护后状态

11

recommend

int

10

0

N

N

0

智能推荐

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notice (公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

标题:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表ordinary_users (普通用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

ordinary_users_id

int

10

0

N

Y

普通用户ID

2

user_name

varchar

64

0

N

N

用户姓名

3

gender

varchar

64

0

Y

N

性别

4

examine_state

varchar

16

0

N

N

已通过

审核状态

5

recommend

int

10

0

N

N

0

智能推荐

6

user_id

int

10

0

N

N

0

用户ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表outbound_records (出库记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

outbound_records_id

int

10

0

N

Y

出库记录ID

2

asset_number

varchar

64

0

Y

N

资产编号

3

asset_name

varchar

64

0

Y

N

资产名称

4

asset_classification

varchar

64

0

Y

N

资产分类

5

outbound_quantity

int

10

0

Y

N

0

出库数量

6

recommend

int

10

0

N

N

0

智能推荐

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表praise (点赞)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

praise_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

status

bit

1

0

N

N

1

点赞状态:1为点赞,0已取消

表slides (轮播图)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

slides_id

int

10

0

N

Y

轮播图ID:

2

title

varchar

64

0

Y

N

标题:

3

content

varchar

255

0

Y

N

内容:

4

url

varchar

255

0

Y

N

链接:

5

img

varchar

255

0

Y

N

轮播图:

6

hits

int

10

0

N

N

0

点击量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表supplies_information (耗材信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

supplies_information_id

int

10

0

N

Y

耗材信息ID

2

consumable_diagram

varchar

255

0

Y

N

耗材图

3

consumable_number

varchar

64

0

Y

N

耗材编号

4

consumable_name

varchar

64

0

Y

N

耗材名称

5

classification_of_consumables

varchar

64

0

Y

N

耗材分类

6

inventory_quantity

int

10

0

Y

N

0

库存数量

7

detailed_introduction

longtext

2147483647

0

Y

N

详细介绍

8

hits

int

10

0

N

N

0

点击数

9

recommend

int

10

0

N

N

0

智能推荐

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表warehousing_records (入库记录)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

warehousing_records_id

int

10

0

N

Y

入库记录ID

2

asset_number

varchar

64

0

Y

N

资产编号

3

asset_name

varchar

64

0

Y

N

资产名称

4

asset_classification

varchar

64

0

Y

N

资产分类

5

receipt_quantity

int

10

0

Y

N

0

入库数量

6

recommend

int

10

0

N

N

0

智能推荐

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

第5章 系统实现

5.1基本任务

本章节详细介绍了系统各大功能模块的实现过程和实现方法,对每个功能进行实现,设计详细的根本目标是确定应该具体实现所要求的系统,每个模块都对应着相应的界面和显示的配图。主要从主页面的实现、登录模块的实现、管理员模块,系统用户模块的实现等方面来描述。

系统呈现出一种简洁大方的后台:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台。

5.2登录模块的实现

系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。

登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,调用src下的mainctrl类的dopost方法来验证。

用户登录模块的IPO如下所示:

输入:用户名和密码。

处理:

1)检测用户输入的账号、密码是否正确及在数据库已对应存在。

2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。

3)根据用户名,将其显示在系统首页上。

输出:是否成功的信息。

登录流程图如下所示。

 

图5-1登录流程图

系统登录界面如下所示。

 

图5-2系统登录界面

登录代码如下:

 /**

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.select(map, new HashMap<>()).getResultList();

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

5.3管理员功能模块

管理员登录高校实验室资产管理系统,有后台首页,轮播图,公告管理,资源管理,系统用户(管理员,普通用户,普管用户),模块管理(资产信息,资产分类,设备借用,设备归还,耗材信息,耗材领用,库存信息,入库记录,出库记录,资产使用报告,设备图,耗材图,维护信息)等功能,如下图所示:

 

                      图 5-3 管理员后台功能界面

系统用户管理,普通用户及普通管理员无需注册均有管理员添加。在此界面可查看普通用户及普通管理员的用户名,姓名,性别,手机号码,邮箱等信息,还可在此页面进行重置,删除,添加等操作,如图5-4。

 

图5-4系统用户管理界面

 

图5-5普管用户添加界面

资产信息管理,在此界面可维护管理资产信息,包括资产图,资产编号,资产名称,分类,库存数量等信息,还可在此页面进行重置,删除,添加等操作,如下图所示。

 

图5-6资产信息管理界面

 

图5-7资产信息添加界面

耗材信息管理,在此界面可维护管理耗材信息,包括耗材图,耗材编号,耗材名称,分类,库存数量等信息,还可在此页面进行重置,删除,添加等操作,如下图所示。

 

图5-8耗材信息管理界面

 

图5-9耗材信息添加界面

库存信息管理,在此界面可维护管理库存信息,包括包括资产图,资产编号,资产名称,分类,库存数量等信息,还可在此页面进行重置,删除,添加,入库,出库等操作,如下图所示。

 

图5-10库存信息管理界面

 

图5-11入库界面

设备借用,在此界面可查看用户提交的借用申请,包括资产信息,借用人信息,借用日期,预计归还日等信息。还可在此页面进行查询,重置,审核等操作,如下图所示。

 

图5-12设备借用管理界面

 

图5-13设备借用审核界面

5.4普通用户功能模块

普通用户登录系统,可以查看首页,公告,实验室资讯,资产信息,耗材信息,设备借用,设备归还,耗材领用等信息,如下图所示:

 

图5-14普通用户系统首页界面

实验室资讯,在此页面可以通过局部搜索,下拉菜单搜索,排序等方式查看资讯,还可在详情页面进行点赞,收藏,评论等操作。如下图所示。

 

图5-15资讯列表界面

 

图5-16资讯详情界面

资产信息,在此页面可以通过关键字搜索,下拉菜单搜索,排序等方式查看资产信息,包括资产图,资产编号,资产名称,分类,库存数量等信息,还可在详情页面进行收藏,评论,申请借用等操作。如下图所示。

 

图5-17资产信息列表界面

 

图5-18资产信息详情界面

 

图5-19设备借用申请界面

6章  系统测试

6.1系统测试的目的

程序设计不能保证没有错误,这是一个开发过程,在错误或错误的过程中都是难以避免的。虽然这是不可避免的,但我们不能使这些错误始终存在于系统中,错误可能会造成无法估量的后果,如系统崩溃,安全信息泄露,系统无法正常启动等,为了避免这些问题,我们需要测试程序,再测试过程中发现问题,并纠正它们,从而使系统更长时间稳定成熟。本章的作用是发现这些问题,并对其进行修改,虽然耗时费力,但对于长期使用而言是非常重要和必要系统的开发。

软件在设计后必须进行测试,调试过程中使用的方法是软件测试方法。在开发新软件时,系统测试是检查软件是否合格的关键步骤,以及是否符合设计目标的参考。测试主要是查看软件中数据的准确性,正确的操作与否,以及操作的结果,还有哪些方面需要改进。

高校实验室资产管理系统的实现,对于系统中功能模块的实现及操作都必须通过测试进行来评判系统是否可以准确的实现。在高校实验室资产管理系统正式上传使用之前必须做的一步就是系统测试,对于测试发现的错误及时修改处理,保证系统准确无误的供给用户使用。

6.2系统测试方法

在对高校实验室资产管理系统进行测试的时候在找到问题的情况下必须在第一时间找到解决问题的办法,不要存在侥幸的心理,这样才能让高校实验室资产管理系统开发的质量可以过关,并且开发的周期会大大缩短,还有就是在测试时,不要出现重复性的错误,遇到一个错误问题,要将整个高校实验室资产管理系统开发所牵扯的该问题都必须一一解决,提高高校实验室资产管理系统平台的安全性、稳定性。

白盒测试与黑盒测试是测试中比较常用的两种方法。

①结构测试俗称白盒测试:这种测试是在对程序的处理过程与结构都有详尽谅解的前提下,顺从程序内部的逻辑而完成的系统测试,以确定系统中所有的通路都能够遵照设计要求正常工作,不出现任何偏差。

②功能测试又成黑盒测试:主要是针对程序功能能够按照设计正常实现的一种检测,在程序接口处进行,检测程序手法数据是否正常,与外部信息的交换是否完整。

6.3功能测试

用户登录测试:

模块名称

测试用例

预期结果

实际结果

是否通过

登录模块

用户名:admin   密码:123  

弹出错误提示,提示密码错误

弹出错误提示,提示密码错误

通过

登录模块

用户名:123   

密码:admin   

弹出错误提示,提示用户名错误

弹出错误提示,提示用户名错误

通过

登录模块

用户名:admin   

密码:admin   

管理员登录成功

管理员登录成功

通过

修改密码测试:

模块名称

测试用例

预期结果

实际结果

是否通过

修改密码模块

原密码:666

新密码:123

确认密码:123  

弹出错误提示,提示原密码错误

弹出错误提示,提示原密码错误

通过

修改密码模块

原密码:admin   新密码:123

确认密码:333  

弹出错误提示,提示确认密码不一致

弹出错误提示,提示确认密码不一致

通过

修改密码模块

原密码:admin   新密码:123

确认密码:123  

密码修改成功

密码修改成功

通过

通过对功能的测试,高校实验室资产管理系统的基本功能都是可行的,不管是系统里面的功能,还是界面的设计都是可值得推广宣传的。

结  论

此时项目已经完成,即使实施的时间不是很长,但是这个过程中需要准备很长的一段时间去对系统设计开发所相关技术进行学习。在学习的过程中,我逐渐认识得到了我自身存在的一些不足。对于一些控制是必要的应用技能,能够理解,整个过程中仅仅是一个掌握了常用的性能和控制方法,我觉得挺容易的。从该系统中,系统的分析和设计的调查数据,并且已经经历了几个月,并努力几个月,该系统已经完成。很显然,该系统仍有很多不成熟的地方,在系统设计过程中有许多技术缺陷存在。在设计的过程中也涉及到了很多自己无法解决的问题,主要通过咨询老师解决这些问题,对于毕业设计的圆满完成,需要感谢老师们的指导。系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得系统运行更具有稳定性和安全性,从而完成实现系统的开发。

回顾毕业设计的整个过程,既付出汗水也收获了很多。虽然经历了各种各样的困难,自己的不断研究探索,系统的实现仍有不足之处。

在以后的学习及工作中,我仍然继续学习计算机方面的技术,让我在后期的平台开发中可以更好更快的实现需求功能。我相信我可以让更多的好工作,做出更大的贡献。


致  谢

高校实验室资产管理系统的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。

首先要感谢我的指导老师,谢谢您在设计和论文中给我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。

感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。

感谢我的同学们,对我的大力支持及帮助,正是你们不断的帮助、鼓励,给我带来了极大的动力,最终系统可以顺利的运行。我们在交流、谈论的这段时间,将是我未来的财富,我要深深地感谢你们。

毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人。

参考文献

[1]王以伍,舒晖.基于SpringBoot+Vue前后端分离的高校实验室预约管理系统的设计与实现[J].现代计算机,2023,29(01):114-117.

[2]Yu Yang. Design and Implementation of Student Information Management System Based on Springboot[J]. Advances in Computer, Signals and Systems,2022,6(6).

[3]刘适铭,赵仲飚,柳佳娜.一种基于微信公众平台的高校实验室资产管理系统[J].科技视界,2022(33):234-237.DOI:10.19694/j.cnki.issn2095-2457.2022.33.64.

[4]陈颖灵,朱映辉,江玉珍,黄栾雅.基于SpringBoot学生实训管理系统的设计与实现[J].电脑知识与技术,2022,18(19):49-51.DOI:10.14004/j.cnki.ckt.2022.1319.

[5]朱启方,黄彩霞,范旭,万坦,任淑晖,牛佳坤.基于SpringBoot和Vue的多功能时间管理系统的设计与实现[J].电脑知识与技术,2022,18(18):31-32+41.DOI:10.14004/j.cnki.ckt.2022.1024.

[6]向兵,董晓红.基于SpringBoot的高校教材管理系统的设计与实现[J].电脑知识与技术,2022,18(14):12-15.DOI:10.14004/j.cnki.ckt.2022.0827.

[7]刘云龙.基于SpringBoot的高职院校校外实训基地管理系统设计与实现[J].科技风,2022(01):53-55.DOI:10.19392/j.cnki.1671-7341.202201017.

[8]Gu Mengdie,Sun Rui,Yang Shulin,Gu Huijie,Yuan Ming. Research on copyright appointment registration microplatform system based on vue[J]. MATEC Web of Conferences,2022,355.

[9]杨晶晶.基于RFID技术的高校实验室资产管理系统设计[J].信息技术与信息化,2021(12):158-160.

[10]周游,张国华.基于Web的实验室资产管理系统设计[J].信息技术与信息化,2021(11):13-15.

[11]蒋晟,陈科.基于SpringBoot的学生宿舍管理系统的设计与实现[J].现代信息科技,2021,5(12):6-9.DOI:10.19850/j.cnki.2096-4706.2021.12.002.

[12]钟怡旸,郭昱君.基于Springboot的博客管理系统设计与实现[J].现代信息科技,2021,5(07):18-20+24.DOI:10.19850/j.cnki.2096-4706.2021.07.005.

[13]Guanhong Chen,Jiangming Xu. Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science,2020,6(1).

[14]Jian Chen,Chen Jian,Pan Hailan. Design of Man Hour Management Information System on SpringBoot Framework[J]. Journal of Physics: Conference Series,2020,1646(1).

[15]葛萌,王颖.基于SpringBoot+SSM框架的进销存管理系统设计与实现[J].科学技术创新,2020(24):74-77.

[16]胡明,文翠,黄川.基于SpringBoot的毕业论文管理系统设计和开发[J].电脑编程技巧与维护,2020(07):92-93+104.DOI:10.16184/j.cnki.comprg.2020.07.033.

[17]杨锦山,王辉.基于SpringBoot的项目信息管理系统的设计与实现[J].电子技术与软件工程,2020(09):38-39.

[18]Ji K,Chen X,Qin A, et al. Design and Implementation of Teaching Quality Evaluation System Based on SpringBoot[C]//西南石油大学(Southwest Petroleum University).第七届计算与信息科学国际学术会议论文集.第七届计算与信息科学国际学术会议论文集,2019:444-452.

[19]郑定超.实验室资产管理系统设计与实现[J].现代计算机(专业版),2018(08):139-142.

请关注点赞+私信博主,免费领取项目源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/665676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WindowManager中Surface申请流程

WindowManager中Surface申请流程 1、SurfaceFlinger 和 WindowManager2、WindowManager中Surface申请流程2.1 WMS侧添加界面时scheduleTraversals()2.2 Window更新过程时scheduleTraversals()2.3 Surface初始化申请2.4 简易时序图 3、对应画布Layer创建3.1 简易时序图 android1…

【Vue3 页面美化】常用组件库推荐

Vue 作为一款深受广大群众喜欢的前端框架&#xff0c;拥有众多优秀的开源 UI 组件库&#xff0c;这里整理了一下供大家参考。 这几套框架主要用于后台管理系统和移动端的制作&#xff0c;方便开发者快速开发。 一、PC 端 UI 库 1.1 Element Plus 官网地址&#xff1a;https…

基于阿里云免费算力自建LLM(类GPT)大模型

这会是一个关于 ChatGPT 的系列文章&#xff0c;主要记录老胡日常使用 ChatGPT 的思考和一些有趣的开源项目&#xff0c;然后这些信息我都会汇总到一个 ChatGPT 信息群(免费&#xff0c;目的是为了交流)&#xff0c;有兴趣的朋友可以联系我进群 &#x1f973;。 目前开源的 LLM…

sql总理论加实践

一、基础查询 DQL语法 SELECT 字段列表 1.设置别名 SELECT 字段1[别名],字段二[别名]......FROM 表名 WHERE 条件列表; 2.查询多个字段 SELECT 字段1,字段2,字段3......FROM 表名; SELECT * FROM 表名; 3.去除重复记录 DISTANT FROM 表明列表 WHERE 条件列表(条件…

Stable Diffusion: 利用Latent Diffusion Models实现高分辨率图像合成

原文链接&#xff1a; Stable Diffusion: 利用Latent Diffusion Models实现高分辨率图像合成 High-Resolution Image Synthesis with Latent Diffusion Models 01 The shortcomings of the existing works?02 What problem is addressed?03 What are the keys to the solutio…

RESTful API 中的 HTTP 方法有哪些?

RESTful API 中的 HTTP 方法有哪些&#xff1f; RESTful API 是一种基于 HTTP 协议的 API 设计风格&#xff0c;它使用 HTTP 协议中的方法来定义对资源的操作。在 RESTful API 中&#xff0c;HTTP 方法主要用于表示对资源的操作&#xff0c;例如获取、创建、更新和删除资源。本…

持 PMP®证书增持 CSPM-2证书,怎么弄?

2023年起&#xff0c;持有PMP证书的朋友可以直接增持一个同等级证书CSPM-2&#xff0c;不用重新考试&#xff0c;不用重新学习&#xff0c;原PMP证书不影响正常使用&#xff0c;相当于多了一个国标项目管理领域的证书。 第一步准备资料 1、填写能力评价表(简历和业绩不用填&am…

自毁便签:MaiFile Privnote

自毁便签&#xff1a;MaiFile Privnote为您提供安全可靠的信息传递 在当今数字化时代&#xff0c;隐私保护成为了人们关注的焦点。MaiFile Privnote作为一种创新的在线服务&#xff0c;为用户提供了一种安全、便捷的方式来发送私密信息&#xff0c;确保信息在传递后能够自动销…

SSM校园二手交易微信小程序-计算机毕设 附源码87210

SSM校园二手交易微信小程序 目 录 1 绪论 1.1 研究背景 1.2国内外研究现状 1.3论文结构与章节安排 2 校园二手交易微信小程序系统分析 2.1 可行性分析 2.1.1技术可行性分析 2.1.2经济可行性分析 2.1.3操作可行性分析 2.1.4需求分析 2.2 系统流程分析 2.2.1 数据流程…

【HTTP】HTTP协议 HTTPS 协议

目录 一、HTTP &#x1f337;1、HTTP是什么&#xff1f; &#x1f337;2、HTTP的工作过程 &#x1f337;3、 抓包工具Fiddler的使用 &#x1f337;4、HTTP的协议格式&#xff08;重点&#xff09; &#x1f337;5、HTTP请求 5.1 请求地址URL 5.2 方法method 5.3 认识 …

日志是什么?耗时2个月搞懂Linux日志

这里写目录标题 日志基本介绍日志管理服务日志轮替 日志基本介绍 日志是用来记录重大事件的工具。 日志文件是重要的系统信息文件&#xff0c;其中记录了很多重要的系统事件。包括用户的登录信息&#xff0c;系统的启动信息&#xff0c;系统的安全信息&#xff0c;邮件相关信息…

如何使用电脑压缩jpg图片大小?jpg图片怎么压缩大小kb?

在学习时经常需要将一些高分辨率的图片添加到你的学术论文或者演示文稿中&#xff0c;但是这些高清图片往往会占用大量的存储空间&#xff0c;导致文件变得非常大&#xff0c;难以上传或者发送&#xff0c;所以需要把这些jpg图片压缩&#xff08;https://www.yasuotu.com/jpg&a…

如何在前端项目中使用icon图标 (iconfont和remixicon以及Materialicon)

1.使用阿里图标库iconfont iconfont链接 把你所需要用的图标加入购物车中 把购物车中的图标加入到项目中 此时有两种使用方 直接下载文件&#xff0c;然后在项目中引入css文件就可以直接使用 2.使用在线链接 注意&#xff1a;在线链接服务仅供平台体验和调试使用&#xff0c;…

定时任务最简单的3种实现方法

定时任务在实际的开发中特别常见&#xff0c;比如电商平台 30 分钟后自动取消未支付的订单&#xff0c;以及凌晨的数据汇总和备份等&#xff0c;都需要借助定时任务来实现&#xff0c;那么我们本文就来看一下定时任务最简单的几种实现方式。 TOP 1&#xff1a;Timer Timer 是…

宽带毫米波数模混合波束赋形

从无线移动通信发展的脉络来看&#xff0c;第1、2 代&#xff08;1G、2G&#xff09;先后分别从模拟和数字两种方式解决了人们之间的语音通信需求&#xff0c;第3 代&#xff08;3G&#xff09;开始增加对数据业务的支持&#xff0c;第4 代&#xff08;4G&#xff09;系统着重满…

一场专属开发者的技术盛宴——华为开发者联创日首站登陆深圳

技术无界&#xff0c;创想无限。2023年6 月 17 日&#xff0c;华为开发者联创日深圳首站成功举办。本次活动由华为技术有限公司主办&#xff0c;深圳市龙岗数字创意产业走廊管理中心协办&#xff0c;并得到了华为全国首个数字创意产业方向的创新中心——华为&#xff08;龙岗&a…

【历史上的今天】6 月 20 日:MP3 之父出生;富士通成立;谷歌收购 Dropcam

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 6 月 20 日&#xff0c;在 2016 年的今天&#xff0c;中国超级计算机“神威太湖之光”摘得世界冠军。超级计算机&#xff0c;被称为“国之重器”&#xff0c;是…

基于html+css的图展示136

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

【Python 随练】猴子吃桃问题

题目&#xff1a; 猴子吃桃问题&#xff1a;猴子第一天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不瘾&#xff0c;又多吃了一个。第二天早上又将剩下的桃子吃掉一半&#xff0c;又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时…

【CEEMDAN-VMD-GRU】完备集合经验模态分解-变分模态分解-门控循环单元预测研究(Python代码实现)​

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…