摘 要
当今校园内的学生宿舍,其数据量大,各种信息管理内容复杂,查询和管理学生信息和校园内的宿舍信息等工作由人工完成将是很累的,不仅浪费了许多人力物力资源,而且还很容易出现差错,有一个软件对学生宿舍管理不仅节省了人力物力,而且对各种信息的把握和操作也更加方便。
该大学宿舍管理系统主要包括前台用户界面的开发和后台数据库的开发,对于后台数据库要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。管理人员需要做的就是将数据输入到系统的数据库中去。经过分析,本系统运用了MySQL为后台数据库,以Eclipse为前端开发工具,基于Java语言和SpringBoot框架,系统实现了系统用户、学生信息管理、宿舍类型管理、宿舍信息管理、入住记录管理、宿舍费用管理、报修类型管理、报修信息管理、上报维修管理、房屋卫生管理、卫生记录管理、请假申请管理、系统管理等必需的功能,其操作简单,界面友好,运行比较稳定,适用于大学院校宿舍管理。
关键词:SpringBoot ;MySQL数据库;大学宿舍管理系统;Java语言
Design and implementation of a university dormitory management system based on Java
Abstract
The student dormitories on campus today have a large amount of data and complex information management content. It would be tiring to manually query and manage student information and dormitory information on campus. This not only wastes a lot of human and material resources, but also makes it easy to make mistakes. Having a software for managing student dormitories not only saves manpower and material resources, but also makes it more convenient to grasp and operate various information.
The university dormitory management system mainly includes the development of front-end user interface and back-end database. For the back-end database, it is required to establish a database with strong data consistency and integrity, and good data security. For the development of front-end applications, it is required that the application program should provide powerful data manipulation functions, be user-friendly, and be easy to use. What managers need to do is input data into the system's database. After analysis, this system uses MySQL as the backend database and Eclipse as the front-end development tool. Based on Java language and SpringBoot framework, the system realizes necessary functions such as system user, student information management, dormitory type management, dormitory information management, check-in record management, dormitory fee management, repair type management, repair information management, repair report management, housing hygiene management, health record management, leave application management, system management, etc. Its operation is simple, the interface is friendly, and the operation is relatively stable, suitable for dormitory management in universities and colleges.
Keywords: SpringBoot; MySQL database; University dormitory management system; Java language
目 录
第1章 绪论
1.1研究背景
随着网络不断的普及发展,大学宿舍管理系统依靠网络技术的支持得到了快速的发展,首先要从管理员、宿管用户、学生的实际需求出发,通过了解管理员、宿管用户、学生的需求开发出具有针对性的宿舍管理功能,利用目前网络给管理员、宿管用户和学生带来的方便快捷这一特点对系统进行调整,设计的系统让学生的使用起来更加方便,本系统的主要目的就是给管理员、宿管用户和学生带来方便,管理员足不出户只要通过计算机就可以进行宿舍管理。同时随着电子商务的发展大学宿舍管理系统已经受到广大院校的喜爱。
互联网发展至今,已经解决了很多我们解决不了的难题,使得我们工作更加便捷,提高了我们的工作效率。目前各行各业都在运用网络信息管理程序,不同的人群也都接触到信息管理。通过对当前网络环境发展的分析与总结,开发大学宿舍管理系统可以改变以往的宿舍管理方式,改变传统线下宿舍管理的状态,由于学生的不断增多,使用传统的宿舍管理模式已经远远不能满足于用户需求了,而且越来越多的学校也在开通线上管理,所以开发一个大学宿舍管理系统可以解决学校不利于线下管理的问题,同时学校可以利用网络对宿舍信息进行管理,设计的网站保证信息的完整安全,这样才能提高工作效率,保证系统安全正常的运行。
1.2研究现状
在国外他们的信息技术的发展是我国的许多倍,从1946年诞生在美国的世界上第一台计算机开始,国外的信息技术就一直在飞速地发展,一些计算机应用软件也纷纷出现,软件技术也一直在不断完善和更新。软件行业早已遍布各个地方。
在国内,我国信息技术发展起步比较晚,后期慢慢的不断地进行优化和改革,才让我们的信息技术上升到新的阶段。在现在软件开发的技术经过大量研究和生活实践基本能够达到独立开发系统应用的水平,生活中的各个行业也把软件操作替换成传统的记录模式。软件行业正是现在比较热门的行业。
随着宿舍管理人数的不断增加,大学宿舍管理系统也在随着增加,由于宿舍信息的增多,大学宿舍管理系统能够对宿舍管理进行完整的规划和管理,而且学校也通过网络系统来完成日常管理信息中的各种需求,所以网上大学宿舍管理系统的开发给人们带来了足够的便利,人们通过系统来满足生活中的需求,因此,由于信息的增加,信息处理系统也随之增加,通过网络来满足现代人群需求。此次开发设计主要是实现大学宿舍管理系统,结合Java技术以及MySQL数据库进行设计,来开发出一款即方便又实用的大学宿舍管理系统,并且设计的程序具有界面整洁、功能强大等特性,从全局来说,大学宿舍管理系统的设计解决了信息零散、不利于宿舍管理的问题,该系统实现,可以投入到真实环境中,这样不仅能解决以上提及的问题,让信息管理更准则。
1.3研究内容
该大学宿舍管理系统的开发和设计施根据用户的实际情况出发,对系统的需求进行了详细的分析,然后进行系统的整体设计,最后通过测试使得系统设计的更加完整,可以实现系统中所有的功能,在开始编写论文之前亲自到图书馆借阅相关书籍,MySQL数据库书籍等编程书籍,然后针对开发的大学宿舍管理系统,去网上查找了很多别人做好的系统,参照他们的设计结果,来对自己的系统进行更加详细的系统的设计,将系统中所有的功能结果一一列举出来,然后进行需求分析,最后对所有的功能模块进行编码,最后完成系统的整体测试,实现系统的正常运行。
这次编写的论文包含了六部分的内容,具体内容如下:
第一部分绪论:文章主要从课题背景以及研究现状综合阐述了开发此系统的必要性。
第二部分相关技术:系统开发用到的各种技术都大致做出了简介。
第四部分系统分析:对系统的可行性分析以及对所有功能需求进行详细的分析,来查看该系统是否具有开发的可能。
第四部分系统设计:功能模块设计和数据库设计这两部分内容都有专门的表格和图片表示。
第五部分系统实现:进行系统主要功能模块的界面展示。
第2章 相关技术介绍
2.1 HTTP协议
超文本传输协议(HTTP)作为协作式与分布式的通信协议,其以万维网交换信息作为前提条件。HTTP为IEIF的国际化标准指标,在制定相关标准与实现内,W3C积极参与其中,同时发挥着不可替代的作用。其能够借助超文本标记语言,将文档在服务器与浏览器之间相互传输。HTML作为构架文档的标记语言,这些文档内将包括有关信息的链接,用户仅需要点击其中一个链接就能够访问多媒体对象与图像,同时获得该链接项所具有的附加信息。
2.2 Java语言与JDK开发环境
Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群。
JDK为美国sun公司为Java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的Java程序也就无法运行。
2.3 HTML网页技术
HTML是一种制作网页的常用语言,它一般是用于制作静态页面。它的命令是可以体现文字信息、链接信息、图形信息和表格信息等等。现在它被大众普遍接受广泛应用在网络上。
2.4 MySQL数据库
MySQL 经过多次的更新,功能层面已经非常的丰富和完善了,从MySQL4版本到5版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷。
针对本文中设计的大学宿舍管理系统在实际的实现过程中,最终选择MySQL数据库的主要原因在于在企业的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的MySQL来对大学宿舍管理系统后台数据进行存储操作。
第3章 系统分析
3.1 可行性分析
在系统开发之初要进行系统可行分析,这样做的目的就是使用最小成本解决最大问题,一旦程序开发满足用户需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。
3.1.1 技术可行性
本大学宿舍管理系统采用SpringBoot框架、Java编程语言和MySQL数据库进行开发设计,作为计算机专业学生,在学校期间就接触到许多关于编程方面的知识,当然也包括各种编程软件,对他们的了解度也比较系统,所以技术开发上面还是有一定把握。
3.1.2经济可行性
我在设计该系统的时候主要是从节约成本出发,然后进行具体的系统的设计,在系统的设计过程中由于采用的所有工具以及技术支持全部都是免费的,因此不需要有任何的成本就可以进行该系统的设计。所用到的所有资源都是免费的,只要有网络就可以进行下载使用,不需要支付相应的费用,因此该项目在经济方面是完全可以实行的。
3.1.3操作可行性
本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。
从上面几个部分的可行性分析得出,这次开发的大学宿舍管理系统在开发上面没有什么大问题,值得开发。
3.2 系统性能分析
(1)系统回应效率:页面回应时问应该在3秒以内,最长不能超过4秒,并支持至少10000人同时在线所有系统。
(2)界面简洁清晰:系统界面要求简单明了,容易操作,符合用户操作习惯。
(3)储存性高:因为大学宿舍管理系统中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。
(4)易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。
(5)稳定性需求:开发的大学宿舍管理系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
(6)稳定性:开发的大学宿舍管理系统要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。
3.3 系统功能分析
本大学宿舍管理系统主要包括三大功能模块,即管理员、宿管用户、学生用户模块。
(1)管理员模块:系统中的核心用户是系统管理员,管理员登录后,通过管理员菜单来管理系统。主要功能有:系统用户、学生信息管理、宿舍类型管理、宿舍信息管理、入住记录管理、宿舍费用管理、报修类型管理、报修信息管理、上报维修管理、房屋卫生管理、卫生记录管理、请假申请管理、系统管理等功能。管理员用例图如图3-1所示。
图3-1 管理员用例图
(2)学生用户:首页、宿舍信息、报修信息、房屋卫生、我的账户、个人中心(个人首页、学生信息、入住记录、宿舍费用、报修信息、上报维修、卫生记录、请假申请、收藏)等功能。学生用户用例如图3-2所示。

图3-2学生用例图
(3)宿管用户:首页、宿舍信息、报修信息、房屋卫生、我的账户、个人中心(个人首页、学生信息、入住记录、宿舍费用、上报维修、房屋卫生、卫生记录、收藏)等功能。宿管用户用例图如图3-3所示。
图3-3宿管用户用例图
3.4系统流程分析
3.4.1登录流程
登录模块主要满足管理员以及用户的权限登录,用户登录流程图如图3-5所示。
图3-5 登录流程图
3.4.2注册流程
未有账号的用户可进入注册界面进行注册操作,用户注册流程图如图3-6所示。
图3-6 注册流程图
3.4.3添加信息流程
用户在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图3-7所示。
图3-7 添加信息流程图
3.4.4删除信息流程
用户可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图3-8所示。
第4章 系统设计
4.1系统概要设计
本大学宿舍管理系统选择B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式。适合在互联网上进行操作,只要用户能连网,任何时间、任何地点都可以进行系统的操作使用。系统工作原理图如图4-1所示:
图4-1 系统工作原理图
4.2系统结构设计
整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。
本大学宿舍管理系统结构图如图4-2所示。

4-2 系统功能结构图
4.3数据库设计
一个好的数据库可以关系到程序开发的优劣,数据库设计离不开表结构的设计,还有表与表之间的联系,以及系统开发需要设计的数据表内容等信息。在进行数据库设计期间,要结合实际情况来对数据库进行针对性的开发设计。
4.3.1数据库E-R图设计
本大学宿舍管理系统采用的是MySQL数据库,数据存储快,因为大学宿舍管理系统,主要的就是对信息的管理,信息内容比较多,这就需要好好的设计一个好的数据库,分类要清楚,不能添加信息的时候,造成信息太过混乱,设计好的数据库首先就需要先把各个实体之间的关系表达明确,系统的E-R图如下图所示:

图4-3系统的E-R图
4.3.2数据库表设计
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
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 |
用户编号: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
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 |
更新时间: |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
check_in_record_id |
int |
10 |
0 |
N |
Y |
入住记录ID |
|
2 |
student_users |
int |
10 |
0 |
Y |
N |
0 |
学生用户 |
3 |
student_name |
varchar |
64 |
0 |
Y |
N |
学生姓名 |
|
4 |
dormitory_type |
varchar |
64 |
0 |
Y |
N |
宿舍类型 |
|
5 |
dormitory_location |
varchar |
64 |
0 |
Y |
N |
宿舍位置 |
|
6 |
rent_expenses |
varchar |
64 |
0 |
Y |
N |
房租费用 |
|
7 |
lease_and_employment_date |
varchar |
64 |
0 |
Y |
N |
租聘日期 |
|
8 |
application_remarks |
varchar |
64 |
0 |
Y |
N |
申请备注 |
|
9 |
assign_rooms |
varchar |
64 |
0 |
Y |
N |
分配房间 |
|
10 |
effective_date |
date |
10 |
0 |
Y |
N |
生效日期 |
|
11 |
examine_state |
varchar |