《基于Spring Boot的学院宿舍管理系统的设计与实现》13000字(论文)_第1页
《基于Spring Boot的学院宿舍管理系统的设计与实现》13000字(论文)_第2页
《基于Spring Boot的学院宿舍管理系统的设计与实现》13000字(论文)_第3页
《基于Spring Boot的学院宿舍管理系统的设计与实现》13000字(论文)_第4页
《基于Spring Boot的学院宿舍管理系统的设计与实现》13000字(论文)_第5页
已阅读5页,还剩38页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

II1绪论1.1系统的研究背景本次以大学为背景进行学生宿舍管理系统的设计与开发,目的就是为了宿舍管理繁杂的人工管理方式,解放管理人员的双手。本学生宿舍管理系统决定采用SPRINGBOOT+MYBAITS框架作为设计的模式,以SPRINGBOOT+MYBAITS框架为汇编语言为主,采用Mysql这种轻量型数据库作为后台数据库基础。本文主要讲述了以下的内容,首先归纳整合了学生宿舍管理系统的历史发展历程,然后介绍了其使用的技术以及理论,再分析完学生宿舍管理系统的功能需求后,介绍了系统管理员,宿舍管理员以及学生模块这三大板块的实现,并对其成果图进行展示,最后测试了系统的主要功能,与预期目标进行对比。在这个信息主导的时代里,每个行业都需要进行信息的处理。因此计算机的信息管理系统使用也越来越广泛。使用计算机处理信息和管理信息,不仅仅能够提高工作的效率和有序性,还能够提高信息保存的安全。计算机的优点,在管理复杂的信息时,更是体现的淋漓尽致。而计算机管理信息的方式,与信息管理系统的开发是紧密联系的。系统开发的好,系统的管理才能奏效。本文设计的系统目的是对学生宿舍信息进行更好的管理。学生宿舍主要用以学生的日常生活以及作息,在学生宿舍中也需要处理及管理大量信息。如今,仍然有大量刚投入使用的学生宿舍,还未普及计算机管理系统。调查结果表明,我校仍然大量使用纸质文本来管理信息,而我校学生宿舍的信息管理,也都是由人工处理的。这种方式较为落后,不仅仅数据处理起来麻烦,还容易出现错误,管理不当还会导致信息的丢失,且想要寻找信息时较为麻烦。综上所述,传统纸质信息处理,缺乏更加高效的信息管理,以上为本次学生宿舍管理系统的开发环境。人工处理数据不仅仅数据处理起来麻烦,还容易出现错误,错误也不易修改。根据这些问题,可以利用开发学生宿舍管理系统解决。它有利于将宿舍管理工作系统化,简便化。使得宿舍信息管理更加的规范,提高信息处理的效率,使得宿舍的信息情况使用更加方便。1.2系统的发展现状据调查研究所示,目前我国仍在大部分高校采用传统落后的管理方式,需要耗费大量人力、财力及物力等,管理水平不高,处于信息时代这样的管理方式必然被以计算机为基础的信息化管理方式所取代。现在我国已经开始注重信息化的管理,就大学宿舍管理而言,一款良好的宿舍管理系统是很有必要的;国外有关大学生宿舍管理系统的研究起步比较早,美国早在上个世纪就推行智能化校园,同时有教授进行了针对性的研究。目前,国外在智能化宿舍管理这方面较我国而言更为完善。对于国外而言,计算机的水平和技术处于一个较高的层次,计算机的使用情况和普及情况相较我国也稍有领先,因此他们对于宿舍管理的信息化处理也处于上层。很多使用计算机的学生宿舍管理方面的软件,能迅速、有效的记录和处理宿舍中发生的各种事情、成员变动还有工作人员的调动等等。这样的信息化管理不仅方便数据的增删改查,也有效避免了手动操作数据而产生的差错。学生宿舍管理系统,目前在国外已经十分普遍。相比国内来看,大部分的学校还没使用将学生宿舍进行信息化管理。计算机技术相比国外有少许差距,学校管理人员的计算机知识也有局限,这两方面导致校方对于计算机应用知识有所欠缺。有的高校现在使用了一些宿舍管理的软件,但是管理员也不能明白计算机管理系统所带来的快速和便捷。国外和国内高校不同,他们一般掌握有比较全面的技术团队来提供这方面的服务。国内高等学校对于校园信息化起步较晚,因此对比国外的信息化程度,我国仍然处于落后的阶段。不仅如此,资金和技术等方面的原因,也会成为限制我国学生宿舍管理的因素。因此在各方面相较下,我们与国外学生宿舍管理系统还有着一些差距。1.3系统的研究目的和意义 科学技术的不断进步推动了移动互联网技术的更新迭代,智能化的生活逐渐融入人们的生活,各大高校的学生宿舍管理也需要结合现代化技术不断创新。随着城市学院学生数量及教学质量逐渐上升,并从目前各大城市高校的宿舍管理情况出发考虑,能够总结出管理方式急需创新以充分考虑学生所需。据此,笔者认为如若系统能够简化管理员每天的工作流程,则有必要设计开发移动端版本的系统,拥有许多强大的功能板块,能够实现校园新闻浏览,宿舍设施报修、学生入住迁出、水电费余额、好友列表等。学生能够使用移动端系统来实施有关操作,而管理员也能够通过该APP的后台来管理有关消息。该系统为学生、老师、管理员提供了方便稳定的平台,促进各高校对宿舍的管理信息化发展。目前基本高校可以靠计算机去操作学校的管理业务。如果利用学生宿舍管理系统管理宿舍,将大大提高信息的准确性和管理业务的效率。如今,基本高校都已实现计算机来操作学校的管理工作,但是对于宿舍管理方面,仍然采取的人工方式。传统人工管理的弊端有许多,其中效率低下为主要缺点。学生宿舍管理系统参考了高校的管理模式,然后进行构思实用的学生宿舍管理系统。此学生系统只需少数宿舍评分管理来操作,而且可以存储全部宿舍有关的信息,这样的话,可以节约大量的资源。开发的这个学生宿舍管理系统,可以被许多学校采纳,具有容易上手、操作简单、易于管理等特点。该学生管理系统已经实际开发并投入使用,其功能完全满足宿舍管理所需。在大学规模逐渐变大,学生的思想更加广阔,学生的文化水平和生活习惯都不相同的今天,管理的复杂程度大大增加,也为学生的管理工作增添了许多新麻烦。传统的纸质宿舍信息管理已经不能够满足如今宿舍管理庞大的信息量管理,其不足会导致了宿舍信息处理的堵塞。根据以上所述,如何使得学生的宿舍管理变得高效,已经成为了各宿舍管理人员当下迫切需要解决的问题。只有将这个问题解决好,学校的宿舍才能为学生提供一个良好的作息环境。管理学生宿舍的传统方式已经难以适应当下的环境,传统方式存在例如效率查,处理麻烦,信息提取难等等弊端。这些弊端使得学校对学生进行信息管理的难度大大增加,给学校工作人员的工作带来了负面影响。根据以上的问题,本文采取计算机进行学生信息管理的方式,实现学生信息管理的现代化。相比于人工处理,使用计算机管理的优点在于:效率高,成本低,管理有序,查找容易等。这些优点大大方便了学校的工作人员进行信息管理,为学生管理工作带来便捷。不仅如此,信息系统的使用,增加了学校科学性和现代化,这使得学校的口碑提升,有利于在市场中获得竞争优势。这样科学的管理,规避了人为错误的产生,避免了许多不必要的麻烦,使得学生管理工作效率大大提升。该学生宿舍管理系统分为管理系统管理员、宿舍管理员、学生模块。本文专业的对学生宿舍管理系统的发展相关的理论和技术实际上进行了分析,然后对学生宿舍管理系统的三个模式创建和实现进行了研究和讨论,之后系统建造完成其功能通过了测试,最后总结论文。通过学生宿舍的使用,可以明显感觉该学生宿舍管理系统方便各高校进行井然有序的宿舍管理,有益于其发展逐渐程序化、规范化、系统化。同时也使得学生宿舍更加的安全程度、可靠。说明此设计具有一定的应用性和实用性。2相关理论与技术2.1技术路线本课题是结合学院宿舍管理现状与信息化技术,设计出的一种基于SpringBoot的宿舍管理系统。本系统可实现新闻浏览、宿舍报修、学生入住迁出和失物招领等功能,采用移动端安全功能设计和前后端分离的通信方式。服务端主要使用SpringBoot+Mybaits框架;客户端主要实现系统的相关功能,主要有以下几个部分:(1)登录注册:学生使用学号进行注册登录,之后可以使用其他功能。(2)宿舍公告:宿舍管理员可以发布宿舍的相关公告,学生可通过查看来了解宿舍的最新动态。(3)宿舍报修:学生宿舍设施损坏。可通过该模块进行报修登记。宿舍管理员了解后可及时安排人员修理。(4)宿舍管理:用户登录后可对宿舍进行预选。(5)缺勤管理:宿舍管理将缺勤的同学们发布到该模块,方便警告。(6)来访管理:对人员进出进行登记,有助于管理员更有效地管理宿舍。2.2Mysql数据库本系统所使用的数据库类型为Mysql,能够使数据处理效率化、自动化。宿舍管理员仅需掌握简单的计算机知识即可操作该系统,因为该系统使用的Web应用程序是基于B/S体系结构开发ASP.NET。Mysql数据管理系统隶属于微软公司,它拥有7.0版本的数据库的优势;除此之外,Mysql仍拥有许多特性,例如使用方便化、伸缩性良好等。Mysql有效、方便及安全,能够保障数据仓库、电子商务等场景的顺利实施;Mysql能够在绝大多数操作系统,例如历史上所有版本的Windows系统使用。本系统起初考虑采用Access数据库,但是出于Access在Web上的使用缺少安全性,无法完全保障数据处理流量、数据库功能等方面,但是Mysql不仅拥有上文所提及优点,并且能够对许多并发用户进行管理,对数据进行存放和读取,是一款较为普及的关系数据库,由此采用了Mysql数据库。2.3可行性研究可行性分析是系统开发的前提与必要条件,其经济可行性与技术可行性的分析结果,表明了系统的优势所在。对经济可行性而言,分为支出和收益两个方面,在支出方面,包括设备购置费,管理和维护费,以及工资等。但对我校而言这些都是已经拥有的东西,仅仅改变了用途,因此,支出基本为零。在取得的收益方面,这个小型的管理系统仅仅耗费略微的人力以及物力,一栋楼只需要一台电脑,这个系统就可以运转。大大节省了人力,将宿舍管理人员解放出来,做更多的工作;在技术可行性方面,本系统所使用的前后端分离的通信方式,服务端的SpringBoot+Mybaits框架,数据库Mysql以及客户端的LaYUI,javascrpit都是较为成熟的技术,使用这些技术,大大提高了系统在经济、技术等的可实现性。稳定的系统操作是判断一个系统是否可靠的关键标准。稳定的系统操作具有如下特征:响应速度适配用户点击数、代码编程规范、系统运行时没有Bug出现等性等。而若从可行性的最终意义的角度来考虑,宿舍信息展示能够通过和传统宿舍的整合方式、宿舍信息管理记录等方面进行对比,凸显新式的计算机网络的发展高速化。本文所提及的新型展示形式保留以往系统的优点,能够节约资金、操作简单等等。综上所述,本次设计的宿舍管理系统完全满足各式各样的设计要求,例如,该系统能够在重要方面,即技术等进行研发,除此之外,该系统在设计开发的过程中仍拥有低成本,高回报的特点。因此,本系统能够顺利设计开发。2.3.1经济可行性从经济可行性出发考虑,本系统的经济可行性可从不高的开发及应用成本体现出,这完全得益于本系统研发了方便、简易的研发工具,能够在操作过程中给使用者和管理者带来诸多益处,例如患者与宿舍管理员可以通过该系统进行交流沟通。笔者最终发现本系统是可行的,主要从该项目的经济效益较为客观、系统更新无需多余硬件设备、协助管理员对信息进行更好的管理等方面得出。2.3.2技术可行性从JDBC为后台数据库所采用以对新式信息进行多种系统操作,如增删、修改等的背景出发。现今的JSP仍然具有非常强大的使用功能,除此之外,Mysql数据库又具有灵活的特点,也就非常方便时刻维护宿舍管理系统。毫不夸张,该系统能够被大众所采用,离不开该系统快速、灵活及简单的特点。由此可见,首先最为理想的组合应该是选取支柱+弹簧+休眠和Mysql的组合应用。在技术方面而言,本系统具有较为理想的可行性,除此之外,因为科学技术快速更新迭代,硬件及网络技术不断发展,使得该系统在硬件方面同样具有理想的可行性。该系统把学生作为用户对象,所以易用性原则则体现在学生对该系统的使用感上。一个具有极佳体验价值的网站系统能够给予企业无限可能。根据调查研究,本文所提及的宿舍管理系统的易用性原则在以下两个方面所体现:第一个方面为视觉设计。众所周知,设计系统界面时要参考用户的使用习惯,将界面的色彩设计得和谐化,以提供用户合适的观感;除此之外,界面的整体布局还需要清楚简洁,将重点进行特殊标识,以释放用户的消费能力。第二个方面为高性能。众所周知,系统在实践中所展示的性能也应被重点考虑。系统性能好坏直接影响到用户体验的优劣。比如,页面点击后的响应速度如若过慢,并且拥有高于平均值的请求次数,则会严重影响到用户对该系统的使用体验。2.3.2运行可行性信息化时代计算机拥有较为广泛的适用范围,整个社会都享有信息化网络所带来的益处,社会运转能力因为信息技术的发展而得到了极大的提升。中国拥有大量人口,因此有必要在该系统内添加医疗智能管理系统。如若添加,则能够大幅度提高后勤人员的工作效率。该系统的界面具有可视化的特征,患者登录页面后仅需简单操作即可进行预约或管理等功能。2.3.4时间可行性从时间可行性而言,本人在有限的时间内将所学知识应用到设计及开发宿舍管理系统中,过程实属困难但仍能成功。花费数月时间完成设计和开发本系统。宿舍登录系统安全性的最主要部分是保护好注册用户填写的有关信息。系统应该做到保护用户所填写的身份证号、出生年月等私密信息。最重要的是,系统仍需对交易的安全性进行保障,例如交易数据的安全、数据的转移及备份等。

3系统分析3.1可行性分析本系统设计与实现采用的是B/S结构,用户使用本系统只需要使用浏览器即可使用该系统,B/S结构可以实现信息的共享,通过在浏览器端登录账号密码就可对学生的宿舍信息进行管理,使管理起来更加方便、高效。为了最大限度地优化系统页面功能,系统开发技术采用LayUI框架技术,实现了前端页面的设计;SpringBoot作为开发框架;本系统设计的数据库采用MySQL,MySQL是关系型数据库,其运行机制为开发人员提供了可靠的保障,它体积小,速度快,总体拥有成本低,性能优异,因此,使用MySQL作为数据库更合适;本系统采用Tomcat作为后台服务器,Tomcat易于配置,是一个轻量级的开源Web服务器。3.2功能需求分析为了完成宿舍信息管理系统以及向其用户提供有用的功能所需执行的动作,需要与用户进行沟通交流,核实用户需求。从软件帮助用户完成所需要的行为。以大学作为设计目标,有效避免资源浪费的同时可以大幅度提升管理效率。本系统的设计与实现所具有的功能如下:(1)系统登录界面应保证用户和管理员正确的登录和使用;(2)系统需实现对管理员的新增、修改和删除;(3)系统可以实现对学生信息的查询(按学号或姓名)、新增、修改和删除;(4)系统可以实现宿舍管理模块的正确运行,包括宿舍楼号管理、宿舍编号设置等;(5)系统需实现公告管理的正常发布和接收;(6)系统需对学生的缺勤记录进行登记、查询以及删除;(7)系统需对学生提交的报修记录进行编辑和管理;(8)系统需对来访的人员进行登记(包括姓名、电话、来访时间等),并提供查询功能。3.3用户需求分析功能性需求:是为了完成宿舍信息管理系统以及向其用户提供有用的功能所需执行的动作,需要与用户进行沟通交流,核实用户需求。从软件帮助用户完成所需要的行为。以大学作为设计目标,有效避免资源浪费的同时可以大幅度提升管理效率。因此,学生宿舍管理系统的设计与实现要求如下:(1)注意解决网络数据与系统之间传递的关系,注意好二者的对接。根据现在学生宿舍管理的情况,上网查阅,大致了解管理工作的流程,然后对需求进行全面分析。设计之前要以学生宿舍管理系统使用方便、成本低为主。考虑管理系统中的一些难点,如何去解决这些硬性要求。将理论化的知识转化为实际需求。学生宿舍管理系统在用户名、密码、登录角色要有明显的不同区分。调研高校宿舍管理系统的研究重要性,除此之外,还要充分分析国内外不同的研究目前状态。调研有关典型商业产品和优秀开源项目,学习相关的理论知识和技能技术。本系统采用SpringBoot框架来服务端,运用安卓技术对移动端平台进行设计开发。除此之外,还可以采取HTTP协议和前后端分离技术以完成在客户端及服务端之间搭建数据通信的桥梁。(2)系统需求分析,进行系统的业务及数据流分析,将系统分成多个不同的功能模块进行UML分析,并描述每一模块需要实现的功能。(3)系统设计,通过系统的整体架构图和目录结构图解释系统的基底设计。通过系统用例图和业务逻辑流程图详细描述每个功能的具体设计,并通过数据表详细展示实体对象设计。最后通过接口设计表,展示前后端数据交互的细节。(4)系统实现,从各个功能模块出发,按照系统设计结合代码和业务逻辑流程图实现系统的具体功能,并展示系统的实现效果图。(5)系统测试与维护,对系统这一对象进行测试,包括两方面内容,一是功能测试,二是性能测试。通过测试,对系统具备的功能与缺点进行总结概括,同时展望日后的优化过程。4系统设计4.1功能模块设计根据系统功能的分析以及学生宿舍管理的需求,本系统的功能模块分为以下功能模块[9]:4.1.1用户登录功能模块用户登陆角色分为3种:系统管理员、宿舍管理员和基本用户学生,用户登录功能模块要确保用户输入正确的账号、密码以及选择相对应的登录角色(条件:三选一)才可以登录和使用学生宿舍管理系统。4.1.2基础管理功能模块只有当角色一(系统管理员)正确登录后才可对基础管理功能模块进行相关操作,包括对用户管理(指管理员)的CRUD操作、对年级管理的CRUD操作、对学院架构管理的CRUD操作和对学生信息管理的CRUD操作等。4.1.3宿舍管理功能模块只要当角色一(系统管理员)或角色二(宿舍管理员)正确登录后才可对宿舍管理功能模块进行相关操作,系统管理员可以对楼号管理的CRUD操作、对编号设置的CRUD操作、对预选宿舍管理的分配操作,以及管理员对宿舍信息管理的CRUD操作等。4.1.4报修管理功能模块只要当学生正确登录后才可查看报修记录和提交报修申请,然后管理员正确登录后对学生提交的报修申请进行CRUD操作。4.1.5公告管理功能模块只要当管理员正确登录后才可按楼发布公告信息,以及对公告信息进行CRUD操作,然后学生正确登录后可查看本宿舍楼的公告信息,包括主题、内容和发布时间。4.1.6缺勤管理功能模块只要当管理员正确登录后才可对缺勤记录进行CRUD操作,然后学生正确登录后可查看缺勤记录。4.1.7来访管理功能模块只要当管理员正确登录后才可对来访人员进行CRUD操作,包括来访者姓名、电话、性别、学生姓名、来访时间和离开时间等。学生管理预选设置学生管理预选设置用户管理楼号管理用户管理楼号管理学院架构编号设置学院架构编号设置年级管理报修记录宿舍管理年级管理报修记录宿舍管理宿舍管理基础管理报修管理宿舍管理基础管理报修管理宿舍管理员系统管理员宿舍管理员系统管理员公告管理缺勤管理学生宿舍管理系统来访管理公告管理缺勤管理学生宿舍管理系统来访管理来访记录缺勤记录公告发布来访记录缺勤记录公告发布用户学生查看个人详情用户学生查看个人详情预选宿舍 预选宿舍提交报修申请提交报修申请查看公告信息查看缺勤记录查看公告信息查看缺勤记录图4-1学生宿舍管理系统图4-1学生宿舍管理系统Fig4-1Studentdormitorymanagementsystem4.2数据库设计在本系统的设计和实现中,数据库的设计至关重要,数据是核心,数据库是系统的灵魂,一个好的数据库的设计可以很好的降低数据的冗余存储,使其变得简单易懂,还要保证系统的稳定性。表4-1表及功能表4-1表及功能Tab4-1Tableandfunction系统设计中所用到的表及功能table表名功能tb_user用户表记录管理员信息tb_absence缺勤表记录学生缺勤信息tb_building楼号记录楼号信息tb_storey楼层记录楼层信息tb_dormitory宿舍记录宿舍信息tb_bed床号表记录床号信息tb_dormitory_set宿舍编号表记录宿舍编号设置的规则tb_dormitory_student宿舍学生表记录学生的入住信息tb_menu功能目录表记录功能目录tb_notice公告表记录公告信息tb_notice_receive公告范围表记录发布公告的公告ID和楼号IDtb_org学院架构表记录学院的组织架构信息tb_repair报修表记录报修申请tb_selection预选宿舍记录预选宿舍的名字和时间范围tb_selection_dormitory预选班级记录预选宿舍的宿舍id和班级idtb_student学生表记录学生的相关信息tb_user_menu用户功能表记录用户的功能权限信息tb_visit来访人员表记录来访人员的相关信息4.2.1数据库概念结构设计本系统设计与实现涉及到的表用实体-联系图(Entity-RelationshipAttribute,简称E-R图)来表示。管理员实体E-R图管理员ID管理员ID电话电话账号账号姓名密码姓名密码图4-2管理员实体图4-2管理员实体Fig4-2Administratorentity注:类型:0(系统管理员)、1(宿舍管理员)楼号实体E-R图管理员ID管理员ID楼号ID楼号ID性别性别楼名楼名宿舍类型总层宿舍类型总层图4-3楼号实体图4-3楼号实体Fig4-3Buildingentity楼层实体E-R图楼层楼层IDID楼号ID楼号ID楼层名楼层名图4-4楼层实体图4-4楼层实体Fig4-4Storeyentity宿舍实体E-R图楼号ID宿舍ID楼号ID宿舍ID楼层ID楼层ID宿舍号宿舍号类型容量性别类型容量性别图4-5宿舍实体图4-5宿舍实体Fig4-5Dormitoryentity床号实体E-R图床号床号IDID宿舍ID宿舍ID床名床名图4-6床号实体图4-6床号实体Fig4-6Bedentity学生实体E-R图ID年级ID年级学生学生学号电话学号电话密码身份证号姓名密码身份证号姓名图4-7学生实体图4-7学生实体Fig4-7Studententity缺勤实体E-R图IDID缺勤缺勤结束时间学生ID结束时间学生ID宿舍ID开始时间宿舍ID开始时间图4-8缺勤实体图4-8缺勤实体Fig4-8Absenceentity公告实体E-R图IDID公告公告标题创建人ID标题创建人ID内容发布时间内容发布时间图4-9公告实体图4-9公告实体Fig4-9Noticeentity公告范围实体E-R图公告范围公告范围ID楼号IDID楼号ID公告ID公告ID图4-10公告范围实体图4-10公告范围实体Fig4-10Noticereceiveentity宿舍学生实体E-R图IDID状态宿舍学生状态宿舍学生宿舍ID宿舍ID入住时间入住时间床号ID学生ID床号ID学生ID图4-11宿舍学生实体图4-11宿舍学生实体Fig4-11DormitoryStudententity注:状态:0(未入住)、1(已入住)报修实体E-R图IDID状态报修状态报修时间宿舍ID时间宿舍ID详情楼号ID学生ID详情楼号ID学生ID图4-12报修实体图4-12报修实体Fig4-12Repairentity注:状态:0(未解决)、1(已解决)来访人员实体E-R图IDID性别来访人员性别来访人员电话学生ID电话学生ID开始时间姓名结束时间开始时间姓名结束时间图4-13来访人员实体图4-13来访人员实体Fig4-13Visitorentity学院架构实体E-R图父ID学院架构父ID学院架构IDID年级年级名称类型名称类型图4-14学院架构实体图4-14学院架构实体Fig4-14Orgentity类型:1学院2系3专业4班级功能目录实体E-R图ID功能目录ID功能目录类型类型父ID标题父ID标题图标链接图标链接图4-15功能目录实体图4-15功能目录实体Fig4-15Functionmenuentity系统总体E-R图1n管理用户1n管理用户管理员管理员11111111发布楼号11发布楼号n登记管理n登记管理1包含管理登记1包含管理登记nnnnnnnnnn缺勤学生公告来访人员nn缺勤学生公告来访人员学生报修楼层楼层mmmmnnnmmmmnnn1查看学院架构查看1查看学院架构查看查看申请包含查看申请包含nnnnnnnnnnn1宿舍包含n1宿舍包含床位入住1床位入住11学生1学生图4-16系统总体图4-16系统总体Fig4-16Systemtotality4.2.2数据库逻辑结构设计经过对系统的功能分析、数据库概念结构E-R图分析,可以得到表结构如下:表4-2用户表Tab4-2tb_user表4-2用户表Tab4-2tb_user字段类型长度说明idint11iduser_namevarchar100账号passwordvarchar100密码namevarchar100姓名phonevarchar100电话typeint11类型0管理员1宿管员remark表4-3缺勤表Tab4-3tb_absence表4-3缺勤表Tab4-3tb_absence200备注缺勤表:tb_absence 字段类型长度说明idint11idstudent_idint11学生iddormitory_idint11宿舍idstart_timedate0开始时间end_timedate0结束时间remarkvarchar200备注表4-4楼号表Tab4-4tb_building表4-4楼号表Tab4-4tb_building字段类型长度说明idint11idnamevarchar100楼名typeint11类型storey_numint11总层数sexint11性别remarkvarchar200备注user_idint11管理员id表4-5楼层表Tab4-5tb_storey表4-5楼层表Tab4-5tb_storey字段类型长度说明idint11idnamevarchar100楼层名building_idint11楼号idremarkvarchar200备注表4-6宿舍表Tab4-6tb_dormitory宿舍:tb_dormitory表4-6宿舍表Tab4-6tb_dormitory字段类型长度说明idint11idnovarchar10宿舍号sexint11性别typeint11类型capacityint11容量storey_idint11楼层idbuilding_idint11楼号id表4-7床号表Tab4-7tb_bed床号表:tb_bed表4-7床号表Tab4-7tb_bed字段类型长度说明idint11idbnovarchar100床号dormitory_idint11宿舍id表4-8宿舍编号表Tab4-8tb_dormitory_set表4-8宿舍编号表Tab4-8tb_dormitory_set字段类型长度说明idint11idprefixvarchar50前缀startint11开始值endint11结束值building_idint11楼号idstorey_idint11楼层idcapacityint11容量表4-9宿舍学生表Tab4-9tb_dormitory_student表4-9宿舍学生表Tab4-9tb_dormitory_student字段类型长度说明idint11iddormitory_idint11宿舍idbed_idint11床号idstudent_idint11学生idtimeindatetime0入住时间statusint11状态是否入住表4-10功能目录表Tab4-10tb_menu表4-10功能目录表Tab4-10tb_menu字段类型长度说明idint11idtitlevarchar50标题iconvarchar50图标hrefvarchar100链接parent_idint11父idtypeint11类型表4-11公告表Tab4-11tb_notice表4-11公告表Tab4-11tb_notice字段类型长度说明idint11idtitlevarchar200标题contenttext0内容create_timedatetime0创建时间user_idint11用户id表4-12公告范围表Tab4-12tb_notice_receive表4-12公告范围表Tab4-12tb_notice_receive字段类型长度说明idint11idnotice_idint11公告idbuilding_idint11楼号id表4-13学院架构表Tab4-13tb_org表4-13学院架构表Tab4-13tb_org字段类型长度说明idint11idnamevarchar100名称typeint11类型(1学院2系3专业4班级)grade_idint11年级idparent_idint11父idremarkvarchar200备注表4-14报修表Tab4-14tb_repair表4-14报修表Tab4-14tb_repair字段类型长度说明idint11idstudent_idint11学生iddormitory_idint11宿舍idbuilding_idint11楼号iddescriptionvarchar11详情create_datedatetime500时间statusint11状态(0未解决1已解决)表4-15学生表Tab4-15tb_student表4-15学生表Tab4-15tb_student字段类型长度说明idint11idstu_novarchar50学号namevarchar50姓名phonevarchar50电话sexint11性别passwordvarchar50密码idcardvarchar50身份证号grade_idint11年级class_idint11班级表4-16用户功能表Tab4-16tb_user_menu表4-16用户功能表Tab4-16tb_user_menu字段类型长度说明user_idint11用户idmenu_idint11功能id表4-17来访人员表Tab4-15tb_visit表4-17来访人员表Tab4-15tb_visit字段类型长度说明idint11idvisitorvarchar50来访人员phonevarchar50电话sexint11性别student_idint11学生idvisit_timedatetime0来访时间leave_timedatetime0离开时间remarkvarchar11备注5系统实现5.1登录页面登录流程图如图5.1所示:图5-1登录流程图图5-1登录流程图Fig5-1Loginflowchart登录界面如图5.2所示,登录界面需保证正确的用户角色使用本系统,该界面包括张账号、密码和用户角色(三种:系统管理员、宿舍管理员、学生),使用者输入正确的账号密码和选择对应的用户角色后,点击登录才能进入本系统。图5-2登录界面图5-2登录界面Fig5-2Loginscreen//主要代码:@PostMapping("/login")

publicResultlogin(@RequestBodyUseruser){

//System.out.println(user.getUserName());

//System.out.println(user.getPassword());

//System.out.println(user.getType());

//userService.login(user.getUserName(),user.getPassword());

if(user.getType()==2){

//学生登录的

Studententity=studentService.login(user.getUserName(),user.getPassword());

if(entity!=null){

Stringtoken=JWTUtil.signForStudent(entity);

Mapmap=newHashMap();

map.put(JWTUtil.token,token);

map.put("student",entity);

returnResult.ok("登陆成功",map);

}else{

returnResult.fail("用户名或密码错误");

}

}else{

//管理员与宿管员登录

Userentity=userService.login(user.getUserName(),user.getPassword());

if(entity!=null){

Stringtoken=JWTUtil.sign(entity);

Mapmap=newHashMap();

map.put(JWTUtil.token,token);

map.put("user",entity);

returnResult.ok("登陆成功",map);

}else{

returnResult.fail("用户名或密码错误");

}

}

}5.2系统主页面登录成功后不同的角色登录显示不同的界面,如下所示:角色一:系统管理员图5-3页面一图5-3页面一Fig5-3Page1角色二:宿舍管理员图5-4页面二图5-4页面二Fig5-4Page2角色三:学生图5-5页面三图5-5页面三Fig5-5Page35.3基础管理页面只有系统管理员(角色一)成功登录本系统后才可管理该模块,包括用户管理(对管理员的管理)、年级管理、机构管理和对学生的管理:a查询:输入要查询的内容,然后点击搜索按钮b添加:点击新增按钮c修改:选中一条要修改的记录,点击修改按钮d删除:选中一条或多条要删除的记录,点击删除按钮,点击确定图5-6用户管理页面Fig5-6Usermanagementpage图5-6用户管理页面Fig5-6Usermanagementpage图5-7年级管理页面Fig5-7Grademanagementpage图5-7年级管理页面Fig5-7Grademanagementpage图5-8学院架构页面Fig5-8Orgpage图5-8学院架构页面Fig5-8Orgpage图5-9学生信息页面Fig5-9Studentmanagementpage图5-9学生信息页面Fig5-9Studentmanagementpage5.4宿舍管理页面当系统管理员(角色一)成功登录本系统后可管理该模块,包括楼号管理、宿舍编号管理、宿舍管理、宿舍预选设置:a查询:输入要查询的内容,然后点击搜索按钮b添加:点击新增按钮c修改:选中一条要修改的记录,点击修改按钮d删除:选中一条或多条要删除的记录,点击删除按钮,点击确定图5-10楼号管理页面Fig5-10Buildingmanagementpage图5-10楼号管理页面Fig5-10Buildingmanagementpage图5-11宿舍编号设置页面Fig5-11Dormitorysetpage图5-11宿舍编号设置页面Fig5-11Dormitorysetpage图5-12宿舍信息页面Fig5-12Dormitoryinformationpage图5-12宿舍信息页面Fig5-12Dormitoryinformationpage图5-13宿舍预选设置页面Fig5-13Dormitorypreselectionpage图5-13宿舍预选设置页面Fig5-13Dormitorypreselectionpage当宿舍管理员(角色二)成功登录本系统后可管理该模块的宿舍信息(只显示该宿舍管理员管理的楼相对应的宿舍信息):a查看:依次点击楼号楼层宿舍,可查看对应宿舍的相关信息b添加:点击按钮c删除:对要删除的宿舍,点击删除按钮,然后确定图5-14宿舍信息页面Fig5-14Dormitoryinformationpage图5-14宿舍信息页面Fig5-14Dormitoryinformationpage当学生(角色三)成功登录本系统后可在规定时间内在线预选宿舍。图5-15预选页面Fig5-15Preselectionpage图5-15预选页面Fig5-15Preselectionpage5.5缺勤管理页面当管理员(系统管理员和宿舍管理员)成功登录本系统后可管理该模块:a查询:输入要查询的内容,然后点击搜索按钮b添加:点击新增按钮,选择对应的楼号、楼层、宿舍、学生c修改:选中一条要修改的记录,点击修改按钮d删除:选中一条或多条要删除的记录,点击删除按钮,点击确定图5-16缺勤页面Fig5-16Absencepage图5-16缺勤页面Fig5-16Absencepage当学生(角色三)成功登录本系统后可查看自己的缺勤记录信息。图5-17缺勤查看页面Fig5-17Absenceviewpage图5-17缺勤查看页面Fig5-17Absenceviewpage5.6报修管理页面当管理员(系统管理员和宿舍管理员)成功登录本系统后可管理该模块:a查询:输入要查询的内容,然后点击搜索按钮b修改:选中一条要修改的记录,点击修改按钮c删除:选中一条或多条要删除的记录,点击删除按钮,点击确定图5-18报修页面Fig5-18Repairpage图5-18报修页面Fig5-18Repairpage当学生(角色三)成功登录本系统后可查看报修记录或提交保修申请。图5-19报修查看页面图5-19报修查看页面Fig5-19Repairviewpage5.7公告管理页面当管理员(系统管理员和宿舍管理员)成功登录本系统后可管理该模块:a查询:输入要查询的内容,然后点击搜索按钮b添加:点击新增按钮,选择接收范围(按楼发布公告信息)c修改:选中一条要修改的记录,点击修改按钮d删除:选中一条或多条要删除的记录,点击删除按钮,点击确定图5-20公告页面Fig5-20Noticepage图5-20公告页面Fig5-20Noticepage当学生(角色三)成功登录本系统后可查看公告信息。图5-21公告查看页面图5-21公告查看页面Fig5-21Noticeviewpage5.8来访登记页面当管理员(系统管理员和宿舍管理员)成功登录本系统后可管理该模块:a查询:输入要查询的内容,然后点击搜索按钮b添加:点击新增按钮,选择对应的楼号、楼层、宿舍、学生c修改:选中一条要修改的记录,点击修改按钮d删除:选中一条或多条要删除的记录,点击删除按钮,点击确定图5-22来访人员页面Fig5-22Visitorpage图5-22来访人员页面Fig5-22Visitorpage5.9关键代码5.9.1实现分页功能在pop.xml中引入jar,如下:<dependency>

<groupId>com.github.pagehelper</groupId>

<artifactId>pagehelper-spring-boot-starter</artifactId>

<version>1.3.0</version>

</dependency>在配置文件中配置pagehelper:helper-dialect:mysql在代码中使用Mapper接口方式的调用://UserController.javapublicMap<String,Object>query(@RequestBodyUseruser){

PageInfo<User>pageInfo=userService.query(user);

returnResult.ok(pageInfo);

}//UserService.javapublicPageInfo<User>query(Useruser){

if(user!=null&&user.getPage()!=null){

PageHelper.startPage(user.getPage(),user.getLimit());

}

returnnewPageInfo<User>(userMapper.query(user));

}//实体类EntitypublicclassEntity{

privateIntegerpage=1;//页码数

privateIntegerlimit=10;//页面大小,默认10

publicIntegergetPage(){returnpage;}

publicvoidsetPage(Integerpage){this.page=page;}

publicIntegergetLimit(){returnlimit;}

publicvoidsetLimit(Integerlimit){this.limit=limit;}

}5.9.2LayUI集成axios//扩展一个Layui模块layui.define(['store'],function(exports){exports('axios',axios);//输出axios

});在axios.js中拦截请求://验证采用erceptors.request.use(function(config){config.headers.token="tttt";//与后端交互的时候还需要处理returnconfig;},function(error){returnPromise.reject(error);});在axios.js中拦截响应:erceptors.response.use(function(response){console.log(response.headers['content-type']);//与后端交互的时候还需处理if(response.status==200){constres=response.data;if(res.code==0){//后端返回的数据为0的时候是正常数据returnres;}else{returnPromise.reject(res.msg);}}else{returnPromise.reject(response.statusText);}},function(error){returnPromise.reject(error);});5.9.3前后端分离-跨域问题@Configuration

publicclassMyWebMvcConfigurerimplementsWebMvcConfigurer{

//拦截器需在容器里注册

@Bean

publicTokenInterceptortokenInterceptor(){returnnewTokenInterceptor();}

//登录时拦截器不能拦截,重写

@Override

publicvoidaddInterceptors(InterceptorRegistryregistry){

registry.addInterceptor(tokenInterceptor())

.addPathPatterns("/**")

.excludePathPatterns("/login");

}

//使用CorsFilter解决跨域的问题

@Bean

publicCorsFiltercorsFilter(){//CorsFilter是spring框架的

CorsConfigurationcorsCon=newCorsConfiguration();

//允许跨域请求的域名

corsCon.addAllowedOrigin("*");//Origin允许访问的客户端域名

corsCon.addAllowedMethod("*");//Method允许访问的方法名POST/GET等

corsCon.addAllowedHeader("*");//Header允许服务端访问的客户端请求头部

UrlBasedCorsConfigurationSourceurlBasedCorsConfigurationSource=newUrlBasedCorsConfigurationSource();

//2new一个url,跨域配置拦截所有请求并且corsConfiguration

urlBasedCorsConfigurationSource.registerCorsConfiguration("/**",corsCon);

CorsFiltercorsFilter=newCorsFilter(urlBasedCorsConfigurationSource);

//1corsFilter依赖于UrlBasedCorsConfigurationSource

returncorsFilter;

}

}5.9.4LayUI集成ztree在ztree.js中:layui.define(['jquery'],function(exports){letjQuery=layui.jquery;layui.link(layui.cache.base+'ztree/zTreeStyle.css')exports("ztree",jQuery.fn.zTree)});6系统测试本系统的设计是在Windows10操作系统的环境下,技术采用LayUI框架技术,实现了前端页面的设计,SpringBoot作为开发框架。IntelliJIDEA集成开发环境,本系统采用Tomcat作为后台服务器,使用MySQL作为数据库。6.1系统测试的方法和步骤在系统的编码结束以后,为了确保其能够在后期上线以及投入使用的过程中稳定运行,对其进行多方位的测试是必不可少的。对宿舍信息管理系统进行的测试由两部分组成,包括硬件测试以及软件测试。前者需要对系统最大并发节点数进行测量并对带宽波动障碍进行评估;后者则是调试系统组成中的每一个环节,以确保其在上线之后不会由于bug的产生而导致崩溃。通常系统测试包含多个方面,主要有功能测试以及模块测试等。系统测试软件一般包括两个时间段。之所以要做系统测试,是因为需要对下列情况进行说明,即经过软件开发之后,系统能否在分析过程中实现全部目标以及其是否与整个系统在设计方面相适应。功能测试:在开发完成或者功能完成之后对系统采取的测试称为功能测试。模块测试:一般而言,对一个系统进行开发设计的时候,成员需要测试子模块,它们处在不同模块之下而且互不影响。所以,对各个模块进行单独测试是可行的,这种做法使得对子功能进行的有关正确性的检查更加方便,同时能够更容易且更快速地查找错误。6.2系统功能测试全面的测试所得出的结果同样也是最全面的,系统的测试是必不可少。在进行软件的测试时,主要是针对软件的各种功能模块进行测试。6.3测试的目的通过本次方案具备的优点以及存在的不足,综合考虑自身发展条件,最终决定了实现此次设计采取的方案。通过对SPRINGBOOT+MYBAITS框架技术的运用,本课题完成了宿舍信息管理系统,确定了研究主题以及研究方向,优化了系统功能,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论