毕业设计-SpringBoot学生宿舍管理系统(案例分析)-附源码

摘  要

近年来,校园内出现了越来越多的信息管理系统,逐渐覆盖了校园内的各种教学和管理业务。在各种制度的帮助下,校园的管理水平和效率都有了很大的提高。在学生管理方面,已经涌现了众多的信息管理系统,但学生宿舍管理系统还没有完全覆盖,拥有众多的信息系统,没有形成一个全面的管理平台。形成了大量的信息孤岛和冗余,信息被重复采集和存储,增加了采集者和采集对象的负担。同时,并且使用效率低,不方便。为了避免上述问题的发生,本项目开发的学生宿舍管理系统将最大限度地利用现有信息资源。在这些信息资源的基础上,将在学生住宿管理中增加系统功能,提高信息系统的效率。

本系统采用的数据库是Mysql,使用SpringBoot技术开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

关键词:学生宿舍管理系统,SpringBoot,Mysql 

SpringBoot Student Dormitory Management System

ABSTRACT

In recent years, more and more information management systems have emerged on campuses, gradually covering various teaching and management businesses on campus. The management level and efficiency of campuses have made significant progress with the assistance of various systems. In terms of student management, numerous information management systems have emerged, but the student information management platform has not fully covered and has numerous information systems, without forming a comprehensive management platform. A large number of information silo and redundancies have been formed, and information has been repeatedly collected and stored, which increases the burden of the collector and the collected object. At the same time, it is inefficient and inconvenient to use. In order to avoid the occurrence of the above problems, the dormitory management information platform developed in this project will maximize the use of existing information resources. On the basis of these information resources, system functions in student accommodation management will be added to improve the efficiency of the information system.

The database used in this system is MySQL, developed using SpringBoot technology. During the design process, the system code was fully guaranteed to have good readability, practicality, scalability, universality, ease of later maintenance, easy operation, and concise pages.

Key words: student dormitory management system, SpringBoot, MySQL.

目录

摘  要

ABSTRACT

第1章 绪论

1.1背景及意义

1.2 国内外研究概况

1.3 研究的内容

第2章 相关技术

2.1 开发技术

2.2 SpringBoot框架

2.3 MVVM模式

2.4 B/S结构

2.5 MySQL数据库

2.6 Vue.js 主要功能

第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 数据表

第5章 系统详细设计

5.1登录功能模块

5.2学生管理功能模块

5.3楼宇管理功能模块

5.4宿舍管理功能模块

5.5入住管理功能模块

5.6宿管管理功能模块

第6章  系统测试

6.1系统测试的目的

6.2系统测试方法

6.3功能测试

结  论

致  谢

参考文献

1章 绪论

1.1背景及意义

作为高校管理体系中的组成部分,宿舍在其中扮演着重要的角色,学生的日常学习和生活等行为均与其密切相关。做好与宿舍相关的管理工作,可以为学生的正常生活提供充分的安全保障,同时能够在学校的科研和教学工作以及人才的培养等方面起到积极意义。伴随着各高校财政状况的不断改善,学校宿舍的规格和档次也在不断提升,特别是近年来我国大力推行学校宿舍智能化信息化的建设,网络环境以及生活环境相比之前均有了显著的改变。学生获取信息更为方便,交流内容更为丰富。上述现象的产生也为各高校的宿舍管理工作提出了新的要求和挑战。在新形势下,进一步加强对校园内部各宿舍的管理和管控力度已经成为各高校目前所面对的崭新课题。

经过多年的探索和总结,在充分借鉴外来先进经验的基础上,我国各高效逐步形成了一套相对完善的学生宿舍管理体系。在该体系中,以宿舍为核心,将相对繁重的管理任务进行具体分解,从而起到全面管控的作用。受制于传统的管理手段,校园内各宿舍情况的直观展示还是以视频监控为主,针对宿舍、房间和床位的分配无法以形象直观的方式进行展示,这在一定程度上降低了宿舍管理工作的协调性和效率。另外,在目前社会多元化的背景下,学生往往会针对宿舍的现状提出较多的意见或者建议。以往管理机制中对学生提出的各项意见并没有投入足够的重视程度,这也是不符合现代宿舍管理理念的典型表现。因此,结合上述现状,有必要进行学生宿舍管理系统的开发工作。

1.2 国内外研究概况

国外在学生宿舍管理系统开发工作方面已经取得了显著的成就。以目前欧美地区接受留学生较多的院校所使用的该类型系统为例,在其开发过程中,对宿舍管理工作所涉及到的内容进行了充分调研并确认,以宿舍作为基础核心以校区-宿舍-楼栋-学生作为整体管理机制,对宿舍管理中常用到的各类环节和任务进行梳理,明确了具体的职责。针对欧美高校小区分布范围广、管辖范围较复杂的特点,在该系统中建立了统筹规划管理机制。每个校区均有各自特殊的情况,在系统中各校区能够根据自身的情况对宿舍进行管理,做到了因地制宜。在系统的开发过程中,采用了移动端与网页端相结合的方式,学生在移动端通过WIFI 发送个人定位信息,另外系统移动端可以充分适用于ios、wp、Android等常用移动平台,业务处理便捷性得到保证。

我国的宿舍管理经历了三个阶段:

原始时期,管理人员手工录入方式,近年来,普通PC机越来越普遍,微软公司在发了Office ( word、powerpoint、excel)的多个版本后,管理人员已经能熟练的使用办公软件进行人员信息的登记。这一阶段的管理多以手工记录或计算机文档为媒介进行管理,工作量十分庞大,随着现代高效的扩张和发展,这一方法已经彻底淘汰。

第二个阶段是借助单机软件系统进行管理,这一阶段的管理基本上以数据位中心进行管理,比第一阶段有了很大的提升。此时期,单机的管理软件是我们管理信息的主要手段,应用系统及数据库同在一台电脑上。这就滋生了很多问题,首先计算机的可靠性不是那么好,很多偶然的事件都会造成数据丢失。此外,由于是以数据为中心,功能单调,往往满足不了实际应用需求。

第三阶段是使用互联网技术,开发的系统管理软件,使用比较方便。很多软件平台都是面向服务,以服务为中心来进行软件的开发。以我国综合类高校常用的学生宿舍管理系统为例,其功能体系覆盖了宿舍管理中常用的各项环节,包括了调宿、留宿等。此外,系统能够充分调动学生在宿舍管理工作中所发挥的作用,建立了完善的考评机制。这一阶段的主要缺点在于,各自为营,没有考虑学校现有的信息资源,往往造成数据不统计,给使用带来了很大的困扰。此外受制于环境和条件,出于系统稳定考虑,并未引用ExtJs 等常用框架技术,在一定程度上影响了前台交互的效果。因此,进行更全面的同类系统开发是很有必要的。

1.3 研究的内容

目前许多人仍将传统的纸质工具作为信息管理的主要工具,而网络技术的应用只是起到辅助作用。在对网络工具的认知程度上,较为传统的office软件等仍是人们使用的主要工具,而相对全面且专业的宿舍管理软件仍没有得到广泛应用。本选题则旨在通过标签分类管理等方式,实现学生管理,楼宇管理,宿舍管理,入住管理,宿管管理,管理员管理等系统管理功能。

第2章 相关技术

2.1 开发技术

本系统前端部分基于MVVM模式进行开发,采用B/S模式,后端部分基于Java的SpringBoot框架进行开发。

前端部分:前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型,项目前端通过栅格布局实现响应式,可适应PC端、平板端、手机端等不同屏幕大小尺寸的完美布局展示。

后端部分:采用SpringBoot作为开发框架,同时集成MyBatis、Redis等相关技术。

2.2 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。

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完成数据的传递交流。只需要下载浏览器作为用户端,那么工作就达到“瘦身”效果, 不需要考虑不停装软件的问题[9]。

2.5 MySQL数据库

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

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

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

2.6 Vue.js 主要功能

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能驱动复杂的单页应用。

第3章 系统分析

3.1 需求分析

学生宿舍管理系统主要是为了方便校方管理学生、宿舍信息,掌握入住情况等,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。

任何一个项目在开发研究前,都需要对研发系统本身的需求做一个认真的分析,市场的调研是不可忽视的,从实际场景中确定使用用户的功能需求,从而明确目标,对整个系统的开发有一个更加准确的定位。在这个章节,需要对系统的性能分析,业务流程分析,和数据等进行分析,学生宿舍管理系统的整体界面简单,功能完善。

需求的可行性是分析和讨论发达的系统能达到什么样的要求。开发的系统或网站是否符合之前的要求。只有在预先评估系统的开发中,才能在系统开发和实施之前完成需求。系统在开发和运用过程中,在技术可行性、操作可行性、经济可行性和法律可行性这几点展开的详细说明,证明了这几点是可行的。

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

3.2 系统可行性分析

3.2.1技术可行性     

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

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

(1)硬件可行性分析

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

(2)软件可行性分析

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

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

3.2.2经济可行性

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

使用比较成熟的技术,系统是基于Java语言开发,采用Mysql数据库。所以系统在开发人力、财力要求不高,具有经济可行性。

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 系统体系结构

学生宿舍管理系统的结构图4-1所示:

图4-1 系统结构

登录系统结构图,如图4-2所示:

图4-2 登录结构图

系统功能结构图,如图4-3所示。

图4-3 系统功能结构图

4.2开发流程设计

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

学生宿舍管理系统的开发对管理模块和系统使用的数据库进行分析,编写代码,系统测试,如图4-4所示。

图4-4开发系统流程图

4.3 数据库设计原则

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

通过学生宿舍管理系统的功能进行规划分成几个实体信息,实体信息将通过ER图进行说明,本系统的主要实体图如下:

(1)  管理员信息E-R图,如图4-4所示:

图4-4 管理员用例图

图4-4系统ER图

4.4 数据表

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

表admin

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

id

varchar

32

0

N

Y

管理员ID

2

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

添加管理员的时间

3

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新管理员信息的时间

4

valid

varchar

1

0

Y

N

管理员身份是否有效

5

version

int

10

0

Y

N

信息的更新次数

6

name

varchar

32

0

N

N

账号

7

password

varchar

32

0

N

N

密码

表building

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

id

varchar

32

0

N

Y

楼宇ID

2

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

添加时间

3

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

4

valid

varchar

1

0

Y

N

楼宇是否有效

5

version

int

10

0

Y

N

信息更新次数

6

dormitory_manager_id

varchar

32

0

Y

N

宿舍管理员ID

7

location

varchar

128

0

N

N

楼宇所在位置

8

name

varchar

64

0

N

N

楼宇名称

表dormitory

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

id

varchar

32

0

N

Y

宿舍ID

2

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

添加时间

3

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

4

valid

varchar

1

0

Y

N

宿舍是否有效

5

version

int

10

0

Y

N

更新次数

6

building_id

varchar

32

0

Y

N

楼宇ID

7

floor

varchar

32

0

N

N

所属楼层

8

lived_number

int

10

0

Y

N

已入住人数

9

max_number

int

10

0

N

N

最大入住人数

10

sn

varchar

32

0

N

N

宿舍编号

表dormitory_manager

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

id

varchar

32

0

N

Y

宿舍管理员ID

2

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

添加时间

3

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

4

valid

varchar

1

0

Y

N

宿舍管理员是否有效

5

version

int

10

0

Y

N

信息更新次数

6

name

varchar

32

0

N

N

名称/账号

7

password

varchar

32

0

Y

N

密码

8

sex

varchar

4

0

N

N

性别

9

sn

varchar

32

0

N

N

编号

表live

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

id

varchar

32

0

N

Y

入住表

2

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

添加时间

3

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

4

valid

varchar

1

0

Y

N

入住宿舍是否有效

5

version

int

10

0

Y

N

更新次数

6

dormitory_id

varchar

32

0

N

N

宿舍管理员id

7

live_date

timestamp

19

0

N

N

入住日期

8

student_id

varchar

32

0

N

N

学生ID

表student

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

id

varchar

32

0

N

Y

学生ID

2

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

添加时间

3

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

4

valid

varchar

1

0

Y

N

学生信息是否有效

5

version

int

10

0

Y

N

更新次数

6

name

varchar

16

0

N

N

账号

7

password

varchar

32

0

Y

N

密码

8

sex

varchar

4

0

N

N

性别

9

sn

varchar

32

0

N

N

编号

  1. 系统详细设计

5.1登录功能模块

管理员登录,通过填写账号、密码、输入验证码后选择登录即可进入学生宿舍管理系统,如下图所示。

图5-1管理员登录界面图

登录的逻辑代码如下:

/**

     * 登录

     * @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-2管理员功能界面图

其中载入主页的主要代码如下:

server:

  port: 5000

  servlet:

    context-path: /api

spring:

  datasource:

    url: jdbc:mysql://127.0.0.1:3306/CS725260_20211101091736?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8

    username: root

    password: root

    driver-class-name: com.mysql.cj.jdbc.Driver

  jackson:

    property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES

    default-property-inclusion: ALWAYS

    time-zone: GMT+8

    date-format: yyyy-MM-dd HH:mm:ss

  servlet:

    multipart:

      max-file-size: 100MB

      max-request-size: 100MB

5.2学生管理功能模块

学生管理,管理员在此页面可以为学生添加账户,学生信息包括学生编号,姓名,性别等数据项,可以进行查询,新增,导入,导出等操作,如下图所示。

图5-3学生管理界面图

学生管理关键代码为:

@RequestMapping("/get_list")

    public Map<String, Object> getList(HttpServletRequest request) {

        Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

        return success(map);

}

5.3楼宇管理功能模块

楼宇管理,在此页面可以维护管理楼宇信息,包括楼宇名称,楼宇所属位置,宿管编号,宿管名称等数据项,可以进行查询,新增,导入,导出,修改,删除等操作,如下图所示。

图5-4楼宇管理界面图

5.4宿舍管理功能模块

宿舍管理,在此页面可以维护管理宿舍信息,包括宿舍编号,所属楼宇,所属楼层,最大可住人数,已住人数等数据项,可以进行查询,新增,导入,导出等操作,如下图所示。

图5-5宿舍管理界面图

5.5入住管理功能模块

入住管理,在此页面可以维护管理入住信息,包括学生编号,学生姓名,宿舍编号,入住日期等数据项,可以进行查询,新增,导入,导出,修改,删除等操作,如下图所示。

图5-6入住管理界面图

5.6宿管管理功能模块

宿管管理,在此页面可以维护管理宿管信息,包括宿管编号,姓名,性别,密码等数据项,可以进行查询,新增,导入,导出等操作,如下图所示。

图5-7入住管理界面图

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]Yu Yang. Design and Implementation of Student Information Management System Based on Springboot[J]. Advances in Computer, Signals and Systems,2022,6(6).

[2]黄强.基于Web的高职院校学生宿舍管理系统设计与结构分析[J].无线互联科技,2022,19(20):78-80.

[3]赵梓皓,崔应留,葛晨,沈盈之,雷妤婷.基于SpringBoot的社区防控管理系统的设计与实现[J].软件,2022,43(10):154-159.

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

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

[6]涂华燕.基于MySQL宿舍管理系统数据库设计[J].电脑编程技巧与维护,2021(12):104-106.DOI:10.16184/j.cnki.comprg.2021.12.038.

[7]Ma Jinfeng,Zhang Jing,Li Ruonan,Zheng Hua,Li Weifeng. Using Bayesian optimization to automate the calibration of complex hydrological models: Framework and application[J]. Environmental Modelling and Software,2022,147.

[8]陈玥.基于Java语言开发的宿舍管理系统[J].信息与电脑(理论版),2021,33(21):38-40.

[9]李洋,胡茵茵,宣宏坤,黄春健,黄泽涛,王宗彤.智慧宿舍管理信息系统的设计与分析[J].无线互联科技,2021,18(20):42-44+49.

[10]刘华明,钱焕然,毕学慧,时照辉,高统朋,杜宜敏,邹超豹.高校宿舍管理系统的设计与实现[J].通化师范学院学报,2021,42(10):89-93.DOI:10.13877/j.cnki.cn22-1284.2021.10.014.

[11]孙妃,李可心,刘楠,王晓兰,孔荣荣,王慧.学生宿舍管理系统的设计与实现[J].江苏科技信息,2021,38(29):40-42+75.

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

[13]陈湘瑾,于孔亮,祖子帅,修昂.基于数据库和Java的宿舍管理系统[J].科学技术创新,2021(09):96-97.

[14]陶俊岚,王烽元,王伊文,熊卿翰.基于物联网的信息化智能宿舍管理系统设计与实现[J].电脑编程技巧与维护,2021(02):138-139+158.DOI:10.16184/j.cnki.comprg.2021.02.054.

[15]黄炜钢.基于移动端的中职学生宿舍管理系统的设计与实现[J].信息与电脑(理论版),2021,33(02):141-144.

[16]吴丹林,李梦雅.B/S模式宿舍管理系统设计与实现[J].电脑编程技巧与维护,2021(01):98-99+105.DOI:10.16184/j.cnki.comprg.2021.01.034.

[17]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).

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

[19]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.

[20]Liu S,Li X,Sun P. Design and Implementation of Communication Base Station Survey System based on Springboot[C]//香港新世纪文化出版社(Hongkong New Century Cultural Publishing House).2018年智慧教育与人工智能发展学术会议论文集(第一部分).2018年智慧教育与人工智能发展学术会议论文集(第一部分),2018:34-36.

点赞+收藏+关注  →私信领取本源代码、数据库

关注博主下篇更精彩
一键三连!!!
一键三连!!!
一键三连!!!
感谢一键三连!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值