玉林师范学院宿舍管理系统设计与实现
摘要:随着大学生人数的增加,宿舍管理成为高校管理中的重要问题。本论文旨在研究玉林师范学院宿舍管理系统,探讨其优势和不足,并提出改进建议。通过对相关文献的综述和实地调研,我们发现该系统在宿舍分配、卫生评分、失物招领、设施维护等方面存在一些问题。针对这些问题,我们提出了一些解决方案,包括引入智能化技术、加强宿舍安全意识教育、完善设施维护机制等。最后,我们总结了这些改进措施的可行性和实施效果,并展望了未来宿舍管理系统的发展方向。
系统采用了B/S结构,在此基础上,对各业务模块进行了界面交互,以MySQL为数据库,并选用IDEA进行系统设计。在实现功能的同时,为实现系统的升级和扩展,采用了ssm框架,用户通过PC机访问Web版本,实现对系统功能的访问和交互。系统管理模块主要负责对已有数据库进行维护、管理、添加、维护、删除、修改等。管理员负责维护系统的各项功能、数据的备份、恢复,保证数据的完整性和一致性;负责用户的管理与配置。最后对系统进行测试后,改善了程序逻辑和代码。同时确保该系统有很好的操作体验,实现了对于学校、学生的共同双赢。
关键词:学生宿舍管理;宿舍分配;ssm;java
Design and Implementation of Dormitory Management
System in Yulin Normal University
Abstract:With the increase in the number of college students, dormitory management has become an important issue in university management. This paper aims to study the dormitory management system of Yulin Normal University, explore its advantages and disadvantages, and propose improvement suggestions. Through a review of relevant literature and field research, we have found that the system has some problems in dormitory allocation, hygiene scoring, lost and found, and facility maintenance. We have proposed some solutions to address these issues, including introducing intelligent technology, strengthening dormitory safety awareness education, and improving facility maintenance mechanisms. Finally, we summarized the feasibility and implementation effects of these improvement measures, and looked forward to the future development direction of dormitory management systems.
The system adopts a B/S structure, and on this basis, interface interaction is carried out for each business module. MySQL is used as the database and IDEA is selected for system design. While implementing the functions, the SSM framework has been adopted to upgrade and expand the system. Users can access the web version through a PC to access and interact with the system functions. The system management module is mainly responsible for maintaining, managing, adding, maintaining, deleting, and modifying existing databases. The administrator is responsible for maintaining the various functions of the system, backing up and restoring data, and ensuring the integrity and consistency of data; Responsible for user management and configuration. After testing the system, the program logic and code were improved. At the same time, it ensures that the system has a good operating experience, achieving a win-win situation for both the school and students.
Keywords: student dormitory management; Dormitory allocation; SSM; Java
目 录
1. 引言
1.1 开发背景
随着高校规模的不断扩大和学生数量的增加,宿舍管理成为一项重要的任务。玉林师范学院作为一所具有较大规模的高校,其学生宿舍数量众多,宿舍管理工作面临着诸多挑战。
首先,传统的手工管理方式存在一些问题。采用纸质登记、人工分配等方式容易出现信息混乱、效率低下的情况。同时,由于人工管理的局限性,很难及时掌握宿舍安全状况、设施维护情况等重要信息。
其次,学生对宿舍管理的要求也在不断提高。随着社会的发展和科技的进步,学生对宿舍环境、安全和便利性的要求越来越高。他们希望能够方便地查询宿舍分配情况、报修设施问题,并希望通过智能化技术提升宿舍管理的效率和质量。
因此,为了提高宿舍管理的效率和质量,玉林师范学院决定开发宿舍管理系统。该系统将应用信息技术和智能化技术,实现宿舍分配、安全管理、设施维护等方面的自动化和智能化,以满足学生对宿舍管理的需求,并提升学校宿舍管理工作的水平和效果。
通过开发宿舍管理系统,玉林师范学院旨在提高宿舍管理的效率和质量,优化学生宿舍环境,加强宿舍安全管理,提升学生的居住体验,为学生提供更好的学习和生活条件。
1.2 开发意义
玉林师范学院宿舍管理系统的研究现状是一个值得关注的话题。目前,国内外许多高校已经开始关注和研究宿舍管理系统的开发与应用。
在国内,一些知名高校已经成功开发了自己的宿舍管理系统,并取得了显著成效。例如,北京大学、清华大学等一流高校都建立了完善的宿舍管理系统,实现了信息化管理和智能化服务。这些系统不仅提供了在线申请入住、报修等功能,还可以通过手机APP进行操作,方便学生随时随地进行管理和查询。
在国际上,宿舍管理系统的研究也取得了一定的进展。美国、英国等发达国家的高校普遍采用了先进的宿舍管理系统,以提高管理效率和服务质量。例如,美国的一些大学利用物联网技术,将宿舍设备与系统连接起来,实现智能化的设备控制和故障监测。
此外,一些学术研究机构也对宿舍管理系统进行了深入研究。他们关注系统的功能设计、用户体验、数据安全等方面,致力于提出更好的解决方案和创新思路。这些研究成果为宿舍管理系统的发展提供了理论支持和实践指导。
然而,目前仍存在一些问题和挑战。例如,系统的安全性、数据隐私保护等方面需要进一步加强;系统的用户界面和操作方式是否符合学生的习惯也需要关注。因此,未来的研究可以从这些方面入手,进一步完善宿舍管理系统的功能和性能。
综上所述,玉林师范学院宿舍管理系统的研究现状已经取得了一定的成果,但仍有待进一步深入研究和改进。通过借鉴国内外的经验和成果,可以为玉林师范学院的宿舍管理系统开发提供有益的参考和指导。
1.3 研究内容
- 根据用户的身份,系统可以为其设定不同的登录权限,从而提供多样化的操作界面,以满足用户的需求。
- 连接数据库是系统的核心技术,它对于整个系统的运行至关重要。
- 为了确保数据的完整性与可靠性,我们需要确保所有的信息都是经过严格的验证,以便于任何人都可以访问、使用,同时也要求每个用户都要及时完成数据的备份,以确保信息的完整与可靠。
- 设计界面是非常重要的,它能够让用户感觉到亲切。
- 分析宿舍管理信息化的现状。
- 研究市面上类似系统的现状及问题点。
- 本研究旨在深入探讨系统平台的架构、构建、数据库管理、安全性和功能实现等方面的内容。
- 研究如何利用多种IT来提升平台的性能,并确保其可靠性和安全性。
- 进行系统的详细功能设计并完成测试。
2. 主要技术和工具介绍
2.1 Java语言
Java语言在计算机的程序应用过程当中,属于非常重要的一个应用软件,因为它的性能比较高,而且能够应用在多重领域当中,因此该程序在计算机的软件程序应用当中的范围相对来说是比较广泛的。而从专业的技术角度来说,Java程序的应用的实用性也是非常强的,这是因为它与传统的C语言或C++相比没有太大的基本结构的变化,也就是说它的语法结构是相对单一,而且具有稳定的特性,还有更重要的一点是Java程序语言的基本参考对象就是C语言,所以他的程序编写并不是很复杂,而且还能够起到优化工作效率提升系统设计本身的基础功能的作用,因此他也就受到了非常广泛的程序员们的青睐[5]。
在此次进行系统设计开发研究的过程当中,还发现Java程序语言之所以能够得到市场上更多用户的好评和青睐,其根本原因在于他能够具备各种语言的自身独特优点的展现,也就是说它的兼容性是常强的。因此,我们因此我们可以说在任何一个程序的开发过程当中,Java语言程序的应用是必不可少的,它他在程序员进行改动的时候,哪怕是一个程序字母的改动,都可以形成一种特定的程序,这是 Java程序,非常独特的另一个优点。不仅如此,Java源程序的可移植性也是非常大,而且它的安全系数很高,能够通过不同方式进行移植到其他程序当中,而且可以兼容不同程序的系统,在运行的过程当中,其安全系数也是非常强的,能够确保用户在使用网络的过程当中去确保网络的安全,而正是基于这样的可移植性,为程序员节约了很多的系统语言程序的开发设计的时间,这是非常难得的一种自有优势。
2.2 MySQL数据库
数据库是程序用来存储接收系统运行过程中生成的数据的保管场所。用户可以进行修改、增加、删除、提取等操作。数据库通常可以由用户以某种方式存储,并可以与其他用户共享。同时,在某些情况下可能存在一些冗余。同时,它属于应用程序和独立的应用程序。为了实现统一有效的管理,数据库管理系统诞生了,它为其提供了一系列基本功能,包括存储、拦截、安全保障、备份等。
市面上常见的数据库管理系统,根据使用的模型可以分为两类:
它的核心概念是关系模型。它利用传统数学中的集合和代数代数等相关技术,将实际世界中对象和对象之间的关联转换为有效的模型,从而有效地管理和分析数据库信息中的数据库。
为了使每个数据库能够相互集成,开放式数据库连接驱动程序已成为几乎所有数据库管理系统的标准。在关系数据库中,比较常见的有MySQL、Oracle等。
它是一个统称,通常指与传统关系数据库,具有性质和功能上有本质区别的数据库。它与关系数据库之间的关系,最大的区别在于选择所使用的查询语言时,不采用传统关系数据库所使用的SQL。较为常用的非关联数据库有Bigtable、Cassandra、Mongodb以及CouchDB,也可以被视为一个特殊类别,而其他数据库则是键值数据库,如Tomcat Cassandra和Leveld。
2.3 ssm框架介绍
SSM架构是由Spring和MyBatis两大开源工具组合而成的(其中包含了SpringMVC的部分功能),通常被用于构建较为简单且对
数据库依赖程度较低的Web应用程序。
Spring
Spring就如同一个在项目中组装bean的庞大工厂,其安装文档能够设定利用特殊参数来调动实体类的构建方式进行对象化
。此外,它也被视为项目中的粘合剂。
Spring的主旨在于ioc(控制反转),也就是说,不再要求程式员去具体地`创建`某个对象,只是让spring框架来协助你执行
这些任务。
SpringMVC
在项目里,SpringMVC负责捕获和处理来自客户端的请求,其主要部分是DispatcherServlet,它充当着中间人或前端角色
,会根据HandlerMapping来寻找与之相匹配的Controller,而这个Controller正是实际需要对请求做出响应并执行相应操作的
部分。简而言之,SpringMVC就如同SSH架构中的Struts一样。
mybatis
mysql是针对JDBC的一种包装处理方式,使得数据库底层动作变得隐蔽化。所有mysql的行为都基于一个
SQLSessionFactory对象来开展。mysql会根据配置文件连接到各个实体的Mapper文件,这些Mapper文件定义了每一个实体类如
何对应数据库中的SQL指令。当需要和数据库互动的时候,我们从sqlSessionFactory获取出一个sqlSession,然后使用这个
sqlSession去运行SQL命令。
控制器接收网页的申请,然后自动调出服务层开始管理。逻辑层向持久层发出申请,并与数据库实现通信。最终,计算结
果会被返还给业务层。在此过程中,业务层将处理逻辑传递给控件,而控件则会使用视频来展示所得数据结果。
3. 系统分析
3.1 可行性分析
本文提出的系统将从多个角度,包括经济效益、技术优势和操作便捷性,进行综合考量,以确保其可行性。
3.1.1 经济可行性
因为使用了免费的工具和软件,开发本系统的成本极低,甚至可以忽略不计;此外,该系统还能够有效地提升管理员的隐私,最大限度地保护他们的信息安全,因此,从经济可行性方面来看,它是一个可行的选择 。
3.1.2 技术可行性
现在科学技术在不断进步,计算机软硬件的发展已经达到了可持续的水平。Java语言的出现,使得普通的电脑也具备了完成该项目的功能,而且其占用的内存也极其紧凑,这使得使用MySQL进行软件的编程与设计几乎不会出现任何挑战。
3.1.3 操作可行性
作为当今社会的管理者,他们拥有优秀的教育背景,并且能够熟练地运用电脑进行各种操作,因此,我想设计一个基于Java技术的学院宿舍管理系统,它的实施将会大大提升效率,并且可行性也得到了很好的保障。
通过多方面的分析,可以确定这个系统是具有实际开发的价值和可能性的。
3.2 需求分析
为了满足当前玉林师范学生宿舍管理的各方需求,我们建立了一个数字化+信息化的玉林师范学院宿舍管理系统。与管理员相对比,学生的操作显然更为简单,因此我们使用了一个用例图来说明系统的各个权限。
图1 管理员用例图
图2 学生用例图
图1 宿管用例图
该系统由学生管理、公告数据管理、宿舍管理等多个功能模块组成,每个模块都有其独特的需求。其中,管理员权限的级别最高,因此需求量也最大,下面将详细介绍每个权限对应的具体要求。
管理员对应的功能需求如下:
管理员是系统最高权限拥有者,可以对整个系统中的学生、公告、住宿等信息来进行统一的控制与管理。
管理员可以创建新的管理组织,增加新的管理者,同时还可以对管理者的个人信息进行编辑和删除。
管理员可以通过添加、编辑、查询等方式,迅速获得学生、宿管的详细信息,并将其展示在系统中,同时,用户也可以根据自己的偏好,通过关键字更加方便、快捷的搜索,轻松获取与之相关的学生、宿舍、以及各个与之相关的信息。
管理员可以通过学院宿舍管理系统提供的功能,快速添加、删除宿舍,并且可以根据需要,使用关键字进行搜索查询,从而更好地管理宿舍。
管理员可以通过该卫生评分管理模块来添加或删除、任何与卫生评分相关的信息,这些卫生信息、也将被显示在系统中,用户是可以通过输入与卫生评分信息相关字眼来查询这些信息。
管理员能够通过该模块来对失物招领进行增删改查,这些失物招领也将被记录于系统中,并且可以通过关键字搜索来查询。
管理者可以使用该寝室分配管理模块,将寝室分配信息展现出来,学生能够根据自己的信息,快速地输入关键词,实现对寝室分配的快速查询。
管理员可以通过该功能的模块来添加或删除任何与公告有联系的信息,公告信息也是一样会被记录在系统中,并且可以通过关键的词语搜索来获取这些信息。
学生可以在住宿申请模块中填写自己的住宿信息,系统会显示出来,用户可以通过输入关键词进行查询。管理员还可以审核或删除这些住宿请求。
学生可以在寝室报修模块中添加报修的信息,这些信息将显示在系统中,并可以通过输入关键字快速搜索,管理员可以对报修信息进行管控。
学生可以在意见反馈模块中添加自己的意见反馈,这些意见反馈将被记录在系统中,用户可以输入关键字来查找这些意见反馈,管理员可以回复或删除这些意见反馈。
3.3 业务流程分析
通过登录,学生、宿管或者管理人员需要提供自己的帐户名称、密码,并通过数字认证,ACK无误之后,才能访问系统及权限以内的功能,对此将实现各种应用及管理等功能。
系统的整体业务的流程、如下图3所示:
图3 系统业务流程图
3.4 数据流程分析
DFD,也称数据流图,是一种结构化系统分析方法,它是可以通过识别图形的形式从而展示系统的逻辑功能,从而更好的来理解系统中的数据流动情况,并且可以有效地解决复杂的问题,因此受到了开发者的广泛应用。
零层数据流程是一个复杂的系统架构,其中包含了登录和管理员功能管理、检查+搜索、维护等多个模块,其中登录模块负责存储:管理员的个人资料,比如账号、密码、权限等,而管理员功能管理模块则负责管理员的操作,例如用户的添加+用户的查询+用户删除等,而检索维护原理是根据想要查询信息,通过相应的关键字进行搜索。
学院宿舍管理系统系统的顶层数据流图如下图所示:
图4 顶层数据流图
系统数据流图中,学生的数据流程被细分为多个部分。
中层数据流图如下图所示:
图5 中层数据流图
图6 部分低层数据流图
4. 系统设计
4.1 系统结构设计
该系统旨在为用户提供一种便捷的界面,以便他们能够轻松地完成各种功能,包括但不限于:用户的增减、卫生评分、宿舍管理、寝室分配等。
系统的功能结构图如下图所示:
图7 系统功能结构图
4.2 功能模块设计
系统登录是一个重要的入口,它提供了一个简单的界面,用于管理员登录,并且可以输入管理员的名称、密码和验证码,以便系统能够快速识别出用户的身份,无论是管理员又或者是学生。
管理员可以对这个系统中的所有学生用户进行管控,包括添加新的管理员、删除已有的学生、更改学生的个人信息,还可以通过输入学生的名称或姓名来查找相应的学生,并将管理员列表导出到excel中。
所有用户必须拥有一个可以更改的登录密码,无论是管理员还是学生,一旦更改,就必须重新登录以确保安全。
学生在进入本系统时,需要完成对自身的基本信息的管理,包括但不限于更新其姓名、联系方式、手机号、身份证号码、银行账户密码、联系地址、联系方式等。
为了确保用户的账号安全,系统建议各个用户都是可以查看:个人的历史登录记录,包含登录IP、登录的时间、登录的地址等,以便及时发现和处理可能的恶意行为。
为了有效地防范黑客攻击,提升系统的安全性,系统的每位管理员都必须对自己的历史操作日志进行有效的管理,以便他们可以查看到自己添加的任何数据,并且可以清晰地展示出操作者、操作过程、操作时间等信息。
通过管理员的操作,学生可以轻松地获取自己的宿舍信息,包括卫生评分、失物招领等,而且管理员还可以根据需要对这些信息进行审核、更新或删除。
通过管理员的操作,学生可以轻松地获取和查看相关的公告数据,无论是新增还是删除,都可以轻松地完成。
管理员通过添加和删除卫生评分信息,学生就能够查看和管理自己所在的宿舍评分信息。通过这种方式,学生可以更好地了解和控制自己的卫生状况。
当管理员添加了寝室分配信息时,学生就可以查看这些信息。
当管理员添加新的宿舍时,学生就可以通过查询功能找到所需的宿舍,并且可以通过审核来确定是否需要更新或者删除这些宿舍。
当学生提交了住宿申请时,系统会自动检索并ACK这些申请。如果需要,系统会对其进行审批,并将其移除。
寝室报修管理:学生在填写寝室报修信息后,管理员后台就可以查询到学生填写的寝室报修,管理员选择其中某个学生提交的寝室报修,管理员对寝室报修的登记进行审核添加、或删除寝室报修。
意见反馈管理:学生提交意见反馈之后,管理员就可以看到此意见反馈,管理员点击某个意见反馈,可以查询意见反馈又或者回复意见反馈。
4.3 数据库设计
4.3.1 E-R图设计
根据系统各个实体的关系,得出系统的总体E-R图。
图8 系统实体属性图
图9 寝室报修表实体属性图
图10 住宿申请管理实体属性图
图11 宿舍信息管理实体属性图
系统总体E-R图如下图所示:
图12 系统总体ER图
4.3.2 表设计
根据E-R模型,系统建立了以下的逻辑数据结构,通过ER属性图可以得出需要很多个数据表,在此罗列几个重要的数据库表结构设计:
表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 |
用户编号: |
表accommodation_application (住宿申请)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
accommodation_application_id |
int |
10 |
0 |
N |
Y |
住宿申请ID |
|
2 |
student |
int |
10 |
0 |
Y |
N |
0 |
学生 |
3 |
name |
varchar |
64 |
0 |
Y |
N |
姓名 |
|
4 |
gender |
varchar |
64 |
0 |
Y |
N |
性别 |
|
5 |
department |
varchar |
64 |
0 |
Y |
N |
院系 |
|
6 |
check_in_time |
date |
10 |
0 |
Y |
N |
入住时间 |
|
7 |
reason_for_application |
text |
65535 |
0 |
Y |
N |
申请原因 |
|
8 |
examine_state |
varchar |
16 |
0 |
N |
N |
未审核 |
审核状态 |
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 |
更新时间 |
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
auth_id |
int |
10 |
0 |
N |
Y |
授权ID: |
|
2 |
user_group |
varchar |
64 |
0 |
Y |
N |
用户组: |
|
3 |
mod_name |
varchar |
64 |