基于springboot机房管理系统-计算机毕设 附源码 49874

springboot机房管理系统

 

基于Spring Boot的机房管理系统是一种信息化工具,专门设计用于教育和培训场所,旨在提高机房资源的利用效率、降低运营成本以及增强管理的便利性。该系统的核心功能主要包括课程信息管理、机房信息管理、机房预约管理、设备分类管理、设备信息管理、设备使用管理、设备报修管理、机房电脑管理以及上机信息管理等。

其中,课程信息管理模块可以对机房内的课程进行配置、安排和跟踪;机房信息管理模块则能够实时监测机房的环境参数,确保设备在适宜的条件下运行;机房预约管理模块允许用户根据需求预定机房资源,优化了资源的分配和使用;设备分类管理和设备信息管理模块分别负责设备的分类和详细信息记录,便于管理员对设备进行维护和更新;设备使用管理模块可以追踪设备的使用情况,帮助管理员做出更好的资源调度决策;机房电脑管理模块可以监控每台电脑的状态和性能,而上机信息管理模块则可以记录每次上机的详细信息,为后续的分析提供依据。

通过这些功能,机房管理系统大幅提升了机房资源的利用率和稳定性,减少了人工干预,降低了人为错误的风险。同时,它还提供了日志记录和报告生成功能,方便管理员跟踪机房设备的使用情况和性能表现,从而更好地优化机房资源的分配和使用。总的来说,机房管理系统是现代教育机构不可或缺的重要工具,它能够有效地管理和维护机房设备,确保其稳定运行,为学校创造更多的价值。

关键词机房管理系统;SpringBoot框架;Java开发语言;MySQL数据库

Computer room management system

Summary

The Spring Boot based data center management system is an information technology tool specifically designed for educational and training venues, aimed at improving the efficiency of data center resource utilization, reducing operating costs, and enhancing the convenience of management. The core functions of the system mainly include course information management, computer room information management, computer room reservation management, equipment classification management, equipment information management, equipment usage management, equipment repair management, computer room computer management, and computer operation information management.

Among them, the course information management module can configure, arrange, and track courses in the computer room; The data center information management module can monitor the environmental parameters of the data center in real time, ensuring that the equipment operates under suitable conditions; The computer room reservation management module allows users to book computer room resources according to their needs, optimizing the allocation and use of resources; The device classification management and device information management modules are respectively responsible for device classification and detailed information recording, facilitating administrators to maintain and update devices; The device usage management module can track the usage of devices and help administrators make better resource scheduling decisions; The computer management module in the computer room can monitor the status and performance of each computer, while the computer information management module can record detailed information about each computer operation, providing a basis for subsequent analysis.

Through these functions, the computer room management system greatly improves the utilization and stability of computer room resources, reduces manual intervention, and reduces the risk of human errors. At the same time, it also provides logging and report generation functions, making it convenient for administrators to track the usage and performance of data center equipment, thereby better optimizing the allocation and use of data center resources. Overall, the computer room management system is an essential tool for modern educational institutions. It can effectively manage and maintain computer room equipment, ensure its stable operation, and create more value for schools.

Keywords: Computer room management system; SpringBoot framework; Java development language; MySQL database

目  录

第1章 绪论

1.1 研究背景与意义

1.2 开发现状

1.3 本文结构

第2章 系统分析

2.1 B/S结构

2.2 MySQL数据库

2.3 Java语言

2.4 SpringBoot框架

2.5 Tomcat开源服务器

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性分析

3.1.2 经济可行性分析

3.1.3 操作可行性分析

3.2 需求分析

3.2.1 功能性需求分析

3.2.2 非功能性分析

3.3 系统用例分析

3.4 系统业务流程分析

第4章 系统设计

4.1 系统功能模块设计

4.2 数据库设计

4.2.1 概念模型设计

4.2.2 逻辑结构设计

表access_token (登陆访问时长)

表auth (用户权限管理)

表computer_room_computer (机房电脑)

表computer_room_information (机房信息)

表computer_room_reservation (机房预约)

表course_information (课程信息)

表device_information (设备信息)

表equipment_classification (设备分类)

表equipment_repair_report (设备报修)

表equipment_usage (设备使用)

表hits (用户点击)

表machine_information (上机信息)

表offline_information (下机信息)

表student_users (学生用户)

表teacher_users (教师用户)

表upload (文件上传)

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

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

第5章 系统实现

5.1 学生用户模块的实现

5.1.1 用户登录模块

5.1.2 用户注册模块

5.1.3 学生用户功能模块

5.2 教师用户功能管理模块

5.3 管理员系统用户管理模块

5.3.1 课程信息管理模块

5.3.2 设备分类管理模块

第6章 系统测试

6.1 测试目的

6.2 测试用例 

6.3 测试结果

第7章 结论

参考文献

致谢

  1. 绪论
    1. 研究背景与意义

随着信息技术的快速发展和广泛应用,机房作为重要的信息技术基础设施,在教育、科研、企业等各个领域中扮演着越来越关键的角色。然而,传统的机房管理方式存在诸多问题,如设备使用率低、资源分配不合理、维护困难等,这些问题不仅影响了机房的效率和稳定性,也增加了运营成本。

因此,开发一种高效、智能的机房管理系统显得尤为必要。基于Spring Boot的机房管理系统正是在这样的背景下应运而生。该系统利用现代化的技术手段,对机房进行全面、精细的管理,旨在提高机房资源的利用效率、降低运营成本以及增强管理的便利性。

具体来说,该系统通过课程信息管理、机房信息管理、机房预约管理、设备分类管理、设备信息管理、设备使用管理、设备报修管理、机房电脑管理以及上机信息管理等功能模块,实现了对机房资源的全面监控和管理。这不仅可以有效地优化资源的分配和使用,还可以减少人工干预,降低人为错误的风险,从而提高机房的效率和稳定性。

同时,方便管理员跟踪机房设备的使用情况和性能表现,从而更好地优化机房资源的分配和使用。这种精细化的管理模式不仅能够减少运营成本,还能够提升机房服务的质量和满意度。

综上所述,基于Spring Boot的机房管理系统具有重要的研究背景和意义。它不仅解决了传统机房管理中存在的问题,还提供了一种全新的、高效的机房管理方案,为教育、科研、企业等领域的信息化建设提供了有力的支持。

    1. 开发现状

目前,机房管理系统的开发已经取得了显著的进展。随着信息技术的快速发展,许多开发者和研究团队致力于提高机房管理系统的功能和性能,以满足不同领域的需求。

在技术方面,许多机房管理系统已经开始采用先进的技术框架和开发语言,如Spring Boot、Python、Java等,以提高系统的稳定性、可扩展性和可维护性。此外,云计算、大数据、人工智能等技术也开始被应用于机房管理系统,以提高系统的智能化水平和数据处理能力。

在功能方面,现代的机房管理系统已经涵盖了从设备管理、资源分配、预约管理等各个方面。这些功能可以帮助管理员全面监控和管理机房资源,提高资源的利用效率,降低运营成本。同时,许多系统还提供了友好的用户界面和便捷的操作流程,以便于用户进行预约和管理。

然而,尽管当前机房管理系统的开发已经取得了一定的成果,但仍然存在一些挑战和问题需要解决。例如,如何进一步提高系统的智能化水平,实现更加精准的资源分配和预测;如何确保系统的安全性和可靠性,以防止数据泄露和系统故障等。

综上所述,当前机房管理系统的开发已经取得了显著的进展,但仍需要不断改进和完善以满足不断发展的信息化需求。未来的发展方向应更加注重系统的智能化、安全性和可靠性,以提高机房管理的效率和质量。

    1. 本文结构

论文将分层次进行编排,除去论文摘要、目录、致谢、文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:

第1章 交代了项目的背景以及开发的实际目的。

第2章 对本系统所采用的开发技术和环境进行介绍。

第3章 阐述了系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。

第4章 阐明了系统的具体实现,介绍系统的各个模块的具体实现。

第5章 罗列了部分系统调试与测试的记录。

第6章 对系统进行了认真的总结,以此对未来有一个新的展望。

  1. 系统分析
    1. B/S结构

机房管理系统的实现通过B/S架构进行实现,基于浏览器和服务器方式进行开发的系统架构,只有把应用程序部署到服务器端,客户端才可以借助导航网址进行系统访问。

基于Java技术开发的B/S架构系统,需要借助Tomcat服务器应用程序进行部署运行。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出响应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的HTML/XML数据,最终把结果反馈给浏览器端用户。

在该系统的开发中,开发模式采用B/S架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网IP地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互。

    1. MySQL数据库

无论是在个人学习中还是在企业办公中,MySQL数据库一直都是一种具有强大扩展性,强大功能的数据信息管理工具和处理工具。由于MySQL数据库的存在,将Windows系统所拥有的优点展现的淋漓尽致,而且能够对Win进行图形化的管理,使得使用者在操作系统的过程中对项目能够做到一目了然;而其强大的储存功能更是为系统工程运作提供了保障。MySQL不仅仅是一种优秀的数据信息处理工具,更是一个拥有独立的,完整的数据库语言的管理平台。

    1. Java语言

Java是一种面向对象的程序设计语言,类是Java程序的基本组成单元,类中又包含了属性和方法,在类中又可以创建无数个对象。类中包含的主要成员是字段和方法,字段是指一种数据变量,方法是指对字段进行操作的集合,包括给其他变量赋值、调用方法等。

    1. SpringBoot框架

Spring框架是Java平台上的一种开源应用框架[8],提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。

    1. Tomcat开源服务器

Tomcat是Apache下的一个核心项目,最新的Servlet 和JSP 规范总是能在其中得到体现。本系统是采用Tomcat6来开发的,目前来说广大编程员都喜欢使用它,所以说现在Tomcat是比较流行的免费的开源Web 应用服务器。它不仅拥有底层技术先进、开发性能稳定、运行时所占系统资源又很小、扩展性好等系统常用的功能;而且它的底层代码是面向所有开发人员的就好像现在的Linux系统一样,编程人员可以自由地往其中加入新的功能,从而促使Tomcat一直处在不断完善和改进的过程中。

  1. 系统分析
    1. 可行性分析

在软件开发的过程中,可行性分析是至关重要的,它旨在评估问题的可行性,以便尽可能快地解决,同时也要考虑到不同的解决方案的优势和劣势,以及实施这些方案所带来的经济效益。通过对机房管理系统的实现的可行性分析,我们可以从技术、操作和经济三个方面来评估其可行性,从而为其提供有效的支持和保障。

      1. 技术可行性分析

所谓技术可行性,是指能否在有限的时间内实现预定的功能。在开发和设计中是否有未解决的问题。完成的项目能否很好地应用,如果有任何不足之处,后期的维护是否会有较大的困难。经过对该系统的评估,确定现有的技术可以达到目标。通过使用Java技术来创建动态的页面,采取低耦合的架构,搭载灵活的数据库,以及强劲的服务器,我们能够显著地改善系统的性能。这表明,我们不仅要追求理论上的目标,还要在实践中不断探索。

      1. 经济可行性分析

机房管理系统的实现采用Java和MySQL技术,这样可以有效地降低软硬件的开发与维护费用,同时又能够让用户更加轻松地访问网站,从而提高服务质量。此外,该网站的推出,可以有效地降低运营者的劳动强度,为企业带来更多的经济效益。虽然就业西悉尼系统的构建并非特别困难,但由于它的投入相比较少,而且能够带来更高的效率,因此,我们认为这个系统的建立具有很强的可持续性,而且能够带来更高的经济效益,而且比起日常的维护与管理更具有价值。

      1. 操作可行性分析

一个设计友好、易于操作的用户界面是保证系统可行性的重要因素。机房管理系统应提供直观的图形用户界面,允许用户通过点击按钮、下拉菜单等方式轻松进行操作。同时,系统还应提供在线帮助和指南,以便用户在遇到问题时能够快速找到解决方案。

系统性能:机房管理系统应具备较高的性能,能够快速响应用户的请求,并且能够在各种硬件和软件环境下稳定运行。系统还应具备一定的负载平衡能力,以确保在高峰期的性能表现。

综上所述,一个具有友好用户界面、强大功能实现、高性能、高安全性以及易于维护和升级的机房管理系统具有较高的操作可行性。这样的系统能够在不同领域得到广泛应用,并为用户带来较高的使用价值。

    1. 需求分析
      1. 功能性需求分析

机房管理系统的实现我划分为了学生用户模块、教师用户模块、管理员模块这三大部分。

学生用户管理模块:

(1)注册登录:用户填写个人信息,并验证手机号码进行账户注册,注册成功后管理员审核后方可登录系统。

(2)课程信息管理:学生查看和搜索课程信息,了解课程内容和上课时间。

(3)机房信息管理:学生查看机房信息,了解机房位置、设备和环境。

(4)机房预约管理:学生提交预约申请,选择合适的时间和机房进行预约。

(5)设备信息管理:学生查看设备信息,了解设备的型号、配置和可用性。

(6)设备使用管理:学生提交设备使用申请,选择需要的设备和使用时间。

(7)设备报修管理:学生提交报修申请,报告设备故障并请求维修。

(8)机房电脑管理:学生查看和管理自己的电脑,安装必要的软件和设置。

(9)上机信息管理:学生查看自己的上机记录,了解自己的上机时间和使用情况。

(10)下机信息管理:学生提交下机申请,结束当前的上机时间。

教师用户管理模块:

(1)登录:教师用户在后台可以输入用户名+密码进行登录,教师用户的用户名和密码是管理员直接添加。

(2)课程信息管理:教师用户只可查看自己的课程信息。

管理员管理模块:后台首页、系统用户、课程信息管理、机房信息管理、机房预约管理、设备分类管理、设备信息管理、设备使用管理、设备报修管理、机房电脑管理等。

(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。

(2)系统用户:管理员可以对机房管理系统的实践中的管理员、学生用户、教师用户进行增删改查。

3)课程信息管理:管理员维护课程信息,包括添加、修改和删除课程。

(4)机房信息管理:管理员维护机房信息,包括添加、修改和删除机房。

(5)机房预约管理:管理员审核用户的预约申请,批准或拒绝预约请求。

(6)设备分类管理:管理员维护设备分类,包括添加、修改和删除分类。

(7)设备信息管理:管理员维护设备信息,包括添加、修改和删除设备。

(8)设备使用管理:管理员审核用户的设备使用申请,批准或拒绝使用请求。

(9)设备报修管理:管理员审核用户的报修申请,安排技术人员进行维修。

(10)机房电脑管理:管理员维护机房电脑信息,包括添加、修改和删除电脑。

(11)上机信息管理:管理员审核用户的上机申请,批准或拒绝上机请求。

(12)下机信息管理:管理员审核用户的下机申请,批准或拒绝下机请求。

3.2.2 非功能性分析

机房管理系统的实现的非功能性需求,比如机房管理系统的实现的安全性怎么样,可靠性怎么样,性能怎么样,可扩展性怎么样等。具体可以表示在如3-1表格中:

3-1机房管理系统的实现非功能需求表

安全性

主要指机房管理系统的实现数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指机房管理系统的实现能够按照用户提交的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响机房管理系统的实现占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着机房管理系统的实现的页面展示内容进行操作,就可以了。

可维护性

机房管理系统的实现开发的可维护性是非常重要的,经过测试,可维护性没有问题。

    1. 系统用例分析

机房管理系统的实现的完整UML用例图分别是图3-2、图3-3、图3-4。

图3-2就是学生用户角色的用例展示。

图3-2 学生用户角色用例图

图3-3就是教师角色的用例展示。

图3-3 教师用户角色用例图

图3-4就是管理员角色的用例展示。

图3-4管理员角色用例图

    1. 系统业务流程分析

管理员权限下的工作流程主要为:管理员通过系统界面提供登录按钮并点击,转入管理员登录界面,并在界面上填入相应的管理员账户和管理员密码,进入管理员权限下的后台系统,并且在系统左侧导航条设置了相应的操作功能。

用户权限下的工作流程主要为:用户通过管理员添加的登录信息功能,在登录界面进行个人身份验证,并且进入用户的个人后台界面,并进行相应的操作。

机房管理系统实现的业务流程如下图所示。

图3-5 系统业务流程图

  1. 系统设计
    1. 系统功能模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本机房管理系统的实践中的用例。那么接下来就要开始对本机房管理系统的实现的架构、主要功能和数据库开始进行设计。机房管理系统的实现根据前面章节的需求分析得出,其总体设计模块图如图4-1所示。

图4-1 系统功能结构图

    1. 数据库设计
      1. 概念模型设计

借助目前的UML建模软件,ER图使其他用户可以快速轻松地了解系统的功能以及他们之间的关系。根据就业信息的系统分析结果,结合系统的功能模块设计,设计出符合系统的各信息实体。

系统的主要实体间关系E-R图如下图所示。

图4-2 系统E-R图

      1. 逻辑结构设计

数据库是机房管理系统实现数据处理的基础,也是界面数据的展示与存储的关键。机房管理系统的实现的数据库表如下。

表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

用户编号:

表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

更新时间:

表computer_room_computer (机房电脑)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

computer_room_computer_id

int

10

0

N

Y

机房电脑ID

2

machine_room_number

varchar

64

0

Y

N

机房编号

3

computer_room_name

varchar

64

0

Y

N

机房名称

4

location_of_the_computer_room

varchar

64

0

Y

N

机房位置

5

computer_number

varchar

64

0

N

N

电脑编号

6

computer_images

varchar

255

0

Y

N

电脑图片

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表computer_room_information (机房信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

computer_room_information_id

int

10

0

N

Y

机房信息ID

2

machine_room_number

varchar

64

0

Y

N

机房编号

3

computer_room_name

varchar

64

0

Y

N

机房名称

4

location_of_the_computer_room

varchar

64

0

Y

N

机房位置

5

smart_ups_rt

varchar

64

0

Y

N

机房设备

6

appointment_notice

text

65535

0

Y

N

预约须知

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表computer_room_reservation (机房预约)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

computer_room_reservation_id

int

10

0

N

Y

机房预约ID

2

machine_room_number

varchar

64

0

Y

N

机房编号

3

computer_room_name

varchar

64

0

Y

N

机房名称

4

location_of_the_computer_room

varchar

64

0

Y

N

机房位置

5

appointment_notice

text

65535

0

Y

N

预约须知

6

student_users

int

10

0

Y

N

0

学生用户

7

student_id

varchar

64

0

Y

N

学生学号

8

student_name

varchar

64

0

Y

N

学生姓名

9

appointment_time

datetime

19

0

Y

N

预约时间

10

appointment_remarks

varchar

64

0

Y

N

预约备注

11

examine_state

varchar

16

0

N

N

未审核

审核状态

12

examine_reply

varchar

16

0

Y

N

审核回复

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表course_information (课程信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

course_information_id

int

10

0

N

Y

课程信息ID

2

course_teacher

int

10

0

Y

N

0

课程教师

3

teachers_name

varchar

64

0

Y

N

教师姓名

4

course_name

varchar

64

0

Y

N

课程名称

5

course_type

varchar

64

0

Y

N

课程类型

6

course_start_time

date

10

0

Y

N

开课时间

7

course_duration

varchar

64

0

Y

N

课程时间

8

course_location

varchar

64

0

Y

N

课程地点

9

course_introduction

text

65535

0

Y

N

课程简介

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表device_information (设备信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

device_information_id

int

10

0

N

Y

设备信息ID

2

machine_room_number

varchar

64

0

Y

N

机房编号

3

computer_room_name

varchar

64

0

Y

N

机房名称

4

location_of_the_computer_room

varchar

64

0

Y

N

机房位置

5

equipment_number

varchar

64

0

N

N

设备编号

6

device_name

varchar

64

0

Y

N

设备名称

7

equipment_classification

varchar

64

0

Y

N

设备分类

8

equipment_configuration

varchar

64

0

Y

N

设备配置

9

device_images

varchar

255

0

Y

N

设备图片

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表equipment_classification (设备分类)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

equipment_classification_id

int

10

0

N

Y

设备分类ID

2

equipment_classification

varchar

64

0

Y

N

设备分类

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表equipment_repair_report (设备报修)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

equipment_repair_report_id

int

10

0

N

Y

设备报修ID

2

machine_room_number

varchar

64

0

Y

N

机房编号

3

computer_room_name

varchar

64

0

Y

N

机房名称

4

location_of_the_computer_room

varchar

64

0

Y

N

机房位置

5

equipment_number

varchar

64

0

Y

N

设备编号

6

device_name

varchar

64

0

Y

N

设备名称

7

equipment_classification

varchar

64

0

Y

N

设备分类

8

equipment_configuration

varchar

64

0

Y

N

设备配置

9

student_users

int

10

0

Y

N

0

学生用户

10

student_id

varchar

64

0

Y

N

学生学号

11

student_name

varchar

64

0

Y

N

学生姓名

12

repair_time

datetime

19

0

Y

N

报修时间

13

repair_content

text

65535

0

Y

N

报修内容

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表equipment_usage (设备使用)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

equipment_usage_id

int

10

0

N

Y

设备使用ID

2

machine_room_number

varchar

64

0

Y

N

机房编号

3

computer_room_name

varchar

64

0

Y

N

机房名称

4

location_of_the_computer_room

varchar

64

0

Y

N

机房位置

5

equipment_number

varchar

64

0

Y

N

设备编号

6

device_name

varchar

64

0

Y

N

设备名称

7

equipment_classification

varchar

64

0

Y

N

设备分类

8

equipment_configuration

varchar

64

0

Y

N

设备配置

9

student_users

int

10

0

Y

N

0

学生用户

10

student_id

varchar

64

0

Y

N

学生学号

11

student_name

varchar

64

0

Y

N

学生姓名

12

usage_time

datetime

19

0

Y

N

使用时间

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

14

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:

表machine_information (上机信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

machine_information_id

int

10

0

N

Y

上机信息ID

2

machine_room_number

varchar

64

0

Y

N

机房编号

3

computer_room_name

varchar

64

0

Y

N

机房名称

4

location_of_the_computer_room

varchar

64

0

Y

N

机房位置

5

computer_number

varchar

64

0

Y

N

电脑编号

6

student_users

int

10

0

Y

N

0

学生用户

7

student_id

varchar

64

0

Y

N

学生学号

8

student_name

varchar

64

0

Y

N

学生姓名

9

on_screen_time

datetime

19

0

Y

N

上机时间

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表offline_information (下机信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

offline_information_id

int

10

0

N

Y

下机信息ID

2

machine_room_number

varchar

64

0

Y

N

机房编号

3

computer_room_name

varchar

64

0

Y

N

机房名称

4

location_of_the_computer_room

varchar

64

0

Y

N

机房位置

5

computer_number

varchar

64

0

Y

N

电脑编号

6

student_users

int

10

0

Y

N

0

学生用户

7

student_id

varchar

64

0

Y

N

学生学号

8

student_name

varchar

64

0

Y

N

学生姓名

9

on_screen_time

datetime

19

0

Y

N

上机时间

10

offline_time

datetime

19

0

Y

N

下机时间

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表student_users (学生用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

student_users_id

int

10

0

N

Y

学生用户ID

2

student_id

varchar

64

0

Y

N

学生学号

3

student_name

varchar

64

0

Y

N

学生姓名

4

student_gender

varchar

64

0

Y

N

学生性别

5

student_age

varchar

64

0

Y

N

学生年龄

6

examine_state

varchar

16

0

N

N

未审核

审核状态

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

更新时间

表teacher_users (教师用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

teacher_users_id

int

10

0

N

Y

教师用户ID

2

teachers_name

varchar

64

0

Y

N

教师姓名

3

teacher_age

varchar

64

0

Y

N

教师年龄

4

teacher_gender

varchar

64

0

Y

N

教师性别

5

examine_state

varchar

16

0

N

N

已通过

审核状态

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

更新时间

表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

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表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

更新时间:

  1. 系统实现
    1. 学生用户模块的实现
      1. 用户登录模块

在登录界面中输入用户名+密码,然后选择相应的角色,点击“登录”按钮,系统会在用户数据库表中匹配相应用户的帐户,如果用户名+密码正确,则会登录到系统中每个用户的主管理界面,否则会提示相应的信息,如果是忘记了密码,请返回登录界面。

用户登录流程图如下所示。

图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, "账号或密码不正确");

        }

}

      1. 用户注册模块

注册模块满足用户两部分,当用户想要进行资料相关信息的查询管理的时候,就必须进行登录,如果没有账号的话,在登录界面,点击“注册”按钮就会跳转到注册的界面,根据提示填写好注册信息,添加提交,注册的信息在数据库中就添加完成了,然后再输入填写好的账号和密码进行登录。

用户注册界面如下所示。

图5-3用户注册界面

用户注册的逻辑代码如下所示。

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

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

        Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

        query.put("username",user.getUsername());

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

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

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}     

      1. 学生用户功能模块

当学生用户登录后可以查看包括课程信息管理、机房信息管理、机房预约管理、设备信息管理、设备使用管理、设备报修管理、机房电脑管理、上机信息管理、下机信息管理等信息。

学生用户功能详情界面如下图所示。

图5-4学生用户功能详情界面

    1. 教师用户功能管理模块

  当教师用户登录后可以查看包括课程信息管理。

教师用户功能详情界面如下图所示。

图5-5教师用户功能详情界面

    1. 管理员系统用户管理模块

后台管理员在“系统用户”这一菜单中可以对学生用户、教师用户和管理人员的账号信息进行添加管控。

管理员系统用户管理界面如下图所示。

图5-6管理员系统用户管理界面

      1. 课程信息管理模块

管理员点击“课程信息管理”菜单可以对系统的课程信息进行管理,查看到系统中的所有课程信息,对已经存在的课程信息,管理员可以增删改查。

课程信息管理界面如下所示。

图5-7课程信息管理界面

      1. 设备分类管理模块

管理员点击“设备分类管理”菜单可以对系统的设备分类进行管理,查看到系统中的所有设备分类,对已经存在的设备分类,管理员可以增删改查。

设备分类管理界面如下所示。

图5-8设备分类管理界面

  1. 系统测试
    1. 测试目的

系统开发的最后一个步骤就是系统测试,系统测试也是整个系统十分重要的一个环节,测试的好坏关系到产品的发展。客户对软件的质量、性能和可靠性等需求就要通过测试来实现。测试过程要必须遵循严谨性、完善性、规范性的原则,测试的主要目的就是看看在系统运行中,是否会出现bug,然后对出现的bug进行调试,直到程序完美运行。但是软件的测试只能尽可能的减少bug,理论上来说是无法达到消除bug。但是bug越少,系统出错的概率就越低,用户使用起来也更方便、更安全。

    1. 测试用例 

系统测试包括:用户登录功能测试、课程信息查看功能测试、机房信息添加、机房信息搜索、密码修改功能测试,如表6-1、6-2、6-3、6-4、6-5所示:

用户登录功能测试:

表6-1 用户登录功能测试表

用例名称

用户登录系统

目的

测试用户通过正确的用户名和密码可否登录功能

前提

未登录的情况下

测试流程

1) 进入登录页面

2) 输入正确的用户名和密码

预期结果

用户名和密码正确的时候,跳转到登录成功界面,反之则显示错误信息,提示重新输入

实际结果

实际结果与预期结果一致

课程信息查看功能测试:

表6-2 课程信息查看功能测试表

用例名称

课程信息查看

目的

测试课程信息查看功能

前提

用户登录

测试流程

点击课程信息列表

预期结果

可以查看到所有课程信息

实际结果

实际结果与预期结果一致

添加机房信息界面测试:

表6-3 添加机房信息界面测试表

用例名称

添加机房信息测试用例

目的

测试机房信息添加功能

前提

管理员正常登录情况下

测试流程

1)点击机房信息管理,然后点击添加后并填写信息。

2)点击进行提交。

预期结果

提交以后,页面首页会显示新的机房信息 

实际结果

实际结果与预期结果一致

机房信息搜索功能测试:

表6-4机房信息搜索功能测试表

用例名称

机房信息搜索测试

目的

测试机房信息搜索功能

前提

测试流程

1)在搜索框填入搜索关键字。

2)点击搜索按钮。

预期结果

页面显示包含有搜索关键字的机房信息

实际结果

实际结果与预期结果一致

密码修改搜索功能测试:

表6-5 密码修改功能测试表

用例名称

密码修改测试用例

目的

测试管理员密码修改功能

前提

管理员用户正常登录情况下

测试流程

1)管理员密码修改并完成填写。

2)点击进行提交。

预期结果

使用新的密码可以登录

实际结果

实际结果与预期结果一致

    1. 测试结果

通过编写机房管理系统的实现的测试用例,已经检测完毕用户登录功能测试、课程信息查看功能测试、机房信息添加、机房信息搜索、密码修改功能测试,通过这5大模块为机房管理系统的实现的后期推广运营提供了强力的技术支撑。

  1. 结论

本文描述了机房管理系统的设计与实现的原理和开发过程,该系统是通过SpringBoot框架来搭建系统后台的开发,中间件使用的是Tomcat服务器,配合Java开发语言数据库管理平台采用开源的MySQL,配合HTML页面展示技术。 

在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从开发这个机房管理系统的实现的过程中我也收获了许许多多宝贵的方法以及设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、Java、SpringBoot、MySQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验做好准备是十分重要的事情。

当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。

参考文献

[1]Prabawani B ,Hadi P S ,Fisher R M , et al. Socioeconomic perspective of agroforestry development in Central Java [J]. Environmental and Sustainability Indicators, 2024, 22 100354-.

[2]范康康,刘向波,金欣等. 基于远程控制技术的绿色机房管理系统 [J]. 信息与电脑(理论版), 2023, 35 (22): 4-6.

[3]杲靖,张建兵,潘群等. 基于微服务架构的高校机房管理系统设计 [J]. 电脑知识与技术, 2023, 19 (32): 101-103+118.

[4]徐启祥,胡海钦. 基于图像自定义标签技术的机房数字化管理系统设计与实现 [J]. 广播与电视技术, 2023, 50 (11): 106-111.

[5]Xiao Z ,Ali Y ,Xin W , et al. Sports Work Strategy of College Counselors Based on MySQL Database Big Data Analysis [J]. International Journal of Information Technology and Web Engineering (IJITWE), 2023, 18 (1): 1-14.

[6]孙尚宏. 基于“互联网+”的开放实验室管理系统设计与实现 [J]. 产业与科技论坛, 2023, 22 (12): 193-194.

[7]汪小明. 广播播控机房智能监测与管理系统设计与实现 [J]. 电声技术, 2023, 47 (06): 16-18.

[8]肖利. 高校机房和网络中心的智能化管理系统设计 [J]. 信息记录材料, 2023, 24 (06): 228-230+234.

[9]习玄辉. 发射机房播出设备档案管理系统的设计与实现 [J]. 电脑知识与技术, 2023, 19 (15): 99-101+105.

[10]刘培涛. 高校数据中心网络设备管理系统研究 [J]. 通信与信息技术, 2023, (02): 111-115.

[11]刘婷. 计算机机房自动化管理系统的设计[C]// 中国国际科技促进会国际院士联合体工作委员会. 2023年教学方法创新与实践科研学术探究论文集(四). 西北政法大学;, 2023: 3.

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

[13]叶逢春. 基于数字孪生技术的广电机房智能化管理系统 [J]. 电视技术, 2022, 46 (10): 21-23.

[14]任丹. 基于网络中心机房智能化管理系统研究 [J]. 电脑知识与技术, 2022, 18 (28): 102-104.

[15]王福增. 校园机房信息管理系统分析 [J]. 电子技术, 2022, 51 (08): 188-189.

[16]徐尚青,曾大军. 基于机房无人值守自动管理系统的开发与应用 [J]. 软件, 2022, 43 (08): 14-16+64.

[17]朱玉爽. 基于智慧中控平台的机房管理系统探索 [J]. 广播电视信息, 2022, 29 (04): 60-62.

[18]王艺, 基于物联网的IT设备资产动态管理系统设计与实现. 天津市, 天津市气象信息中心, 2022-03-31.

[19]谭雄飞. 计算机机房分布式管理系统设计及应用 [J]. 软件, 2022, 43 (02): 136-138.

[20]龚鹏. 高校公共机房及网络中心机房智能化管理系统研究 [J]. 电子技术与软件工程, 2021, (18): 12-13.

致谢

这篇文章的完成经历了多个日日夜夜的努力,终于在今天得以完成。这篇文章的创作过程实为不易,但在老师和同学的辛勤帮助下顺利度过。让我在设计过程中举步维艰时,非常感谢我的导师不厌其烦地帮助我解决问题,给予了我许多指导意见。也感谢所有为我授业解惑的老师!

另外,本文的完成也参考借鉴了许多国内外在SpringBoot技术上的著作,如果没有著作原作的辛勤付出和科研成果,我也很难完成本论文。感谢在本论文中关联到的学者们!也感谢Google等公司,感谢他们强大的搜索引擎,让我的资料查阅省事简单。

感谢之余也还有几句话要说,虽大学学习四年,怎奈何本人才疏学浅,本文的完成已为尽力,但文中不免有些不当和错误之处,诚挚真切的请求各位老师对本文的批评改正,感谢百忙之中费心审阅我论文的老师。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值