1 绪论
1.1研究背景
1.2开发现状
1.3研究内容
1.4论文结构与章节安排
2 宿舍管理系统系统分析
2.1 可行性分析
2.2 系统流程分析
2.2.1 数据流程
3.3.2 业务流程
2.3 系统功能分析
2.3.1 功能性分析
2.3.2 非功能性分析
2.4 系统用例分析
2.5本章小结
3 宿舍管理系统总体设计
3.1 系统架构设计
3.2 系统功能模块设计
3.2.1整体功能模块设计
3.2.2用户模块设计
3.2.3宿舍管理模块设计
3.3 数据库设计
3.3.1 数据库概念结构设计
3.3.2 数据库逻辑结构设计
3.4本章小结
4 宿舍管理系统详细设计与实现
4.1注册界面
4.2 登录界面
4.3用户管理界面
4.4宿舍信息管理界面
4.5 住宿申请管理界面
4.6报修信息管理界面
4.7公告信息管理界面
4.8费用统计管理界面
5系统测试
5.1系统测试的目的
5.2 系统测试用例
5.3 系统测试结果
结论
参考文献
致 谢
信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对宿舍管理系统等问题,对宿舍管理系统进行研究分析,然后开发设计出宿舍管理系统以解决问题。
宿舍管理系统主要功能模块包括系统用户、宿舍信息管理、住宿申请管理、分配管理、缴费信息管理、报修信息管理、公告信息管理、费用统计管理、维修统计管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,采取MySQL作为后台数据的主要存储单元,采用SSM框架、Java技术、Ajax技术进行业务系统的编码及其开发,实现了本系统的全部功能。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对宿舍管理系统的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现宿舍管理系统和部署运行使用它。
关键词:Java技术;MYSQL;宿舍管理系统
Abstract
In the information society, there is a need for targeted information acquisition channels, but the expansion of these channels is basically the direction that people are striving for. Due to the deviation in their perspective, people often have access to different types of information, which is also the most difficult problem for technology to overcome. Research and analyze the dormitory management system and other issues, and then develop and design a dormitory management system to solve the problems.
The main functional modules of the dormitory management system include system users, dormitory information management, accommodation application management, allocation management, payment information management, repair information management, announcement information management, cost statistics management, and maintenance statistics management. Adopting an object-oriented development model for software development and hardware installation, it can well meet the actual needs of use, improve the corresponding software installation and program coding work, Adopting MySQL as the main storage unit for backend data, using SSM framework, Java technology, and Ajax technology for business system coding and development, all functions of this system have been achieved. This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. An analysis was conducted on the various requirements and technical issues of the dormitory management system, demonstrating the necessity and feasibility of the system. Then, a basic introduction was made to the technical software and design ideas required for designing the system. Finally, the implementation and deployment of the dormitory management system were carried out.
Keywords:Java technology; MYSQL; Dormitory management system
1 绪论
互联网在经济,生活等方面有着举足轻重的地位,成为人们资源共享,信息快速传递的重要渠道。在中国,在线管理的兴起也在迅速发展。为了适应现代人强烈的时间意识,在高校,大量的宿舍管理信息无法及时共享,学生们无从了解宿舍的管理信息情况,造成各方面的不方便,学生在遇到报修问题的时候,没有办法第一时间进行报修,对于宿舍申请、宿舍分配、水电费充值、公告信息等也不能及时查看等。因此,建立宿舍管理系统,针对宿舍管理过程中的各项事宜建立电子台账,实现线上流程审批,在很大程度上能够增加宿管人员和学生的效率。本网站中,学生可以以最方便的形式,在最短的时间内查找最多的宿舍管理信息,进行宿舍报修、水电费充值等操作。因此,系统无疑给人们的生活带来了极大的方便,网络的应用让时间和距离不再是局限。
通过宿舍管理系统的研究可以更好地理解系统开发的意义,而且也有利于发展更多的智能系统,解决了人才的供给和需求的平衡问题,宿舍管理系统的开发建设,由于其开发周期短,维护方便,所以它可以适应校园宿舍管理系统体系基本要求。
1.2开发现状
在国外他们的信息技术的发展是我国的许多倍,从1946年诞生在美国的世界上第一台计算机开始,国外的信息技术就一直在飞速地发展,一些计算机应用软件也纷纷出现,软件技术也一直在不断完善和更新。软件行业早已遍布各个地方。
在国内,我国信息技术发展起步比较晚,后期慢慢的不断地进行优化和改革,才让我们的信息技术上升到新的阶段。在现在软件开发的技术经过大量研究和生活实践基本能够达到独立开发系统应用的水平,生活中的各个行业也把软件操作替换成传统的记录模式。软件行业正是现在比较热门的行业。
随着宿舍管理人数的不断增加,宿舍管理系统也在随着增加,由于宿舍信息的增多,宿舍管理系统能够对宿舍管理进行完整的规划和管理,而且学校也通过网络系统来完成日常管理信息中的各种需求,所以网上宿舍管理系统的开发给人们带来了足够的便利,人们通过系统来满足生活中的需求,因此,由于信息的增加,信息处理系统也随之增加,通过网络来满足现代人群需求。此次开发设计主要是实现宿舍管理系统,结合node.js的koa技术以及mysql数据库进行设计,弥补目前宿舍管理网站中的不足,来开发出一款即方便又实用的宿舍管理系统,并且设计的程序具有界面整洁、功能强大等特性,从全局来说,宿舍管理系统的设计解决了信息零散、不利于宿舍管理的问题,该系统实现,可以投入到真实环境中,这样不仅能解决以上提及的问题,让信息管理更准则。
1.3研究内容
1.不同管理员的登录问题:根据管理员的类别(管理员、学生用户、宿舍管理者)实现管理员操作权限的区分并显示不同的操作界面。
2.数据库的连接问题:数据库连接为系统中的关键技术。
3.数据的一致性和安全问题:本系统必须保证数据的一致性和安全, 才能实现有效的管理。不能让没有权限的管理员对数据进行操作并且定期对数据库进行备份。
4.界面开发:系统界面的设计很重要,要使界面具有亲和力。
5.分析信息化现状;
6.研究宿舍管理系统的现状及存在的问题;
7.研究系统平台的总体架构、总体设计、数据库设计、数据库安全设计及功能设计;
8.研究平台各个子系统的功能及实现的方法、信息技术的融合、信息安全技术的维护.
9.进行宿舍管理系统的功能设计。
1.4论文结构与章节安排
论文将分层次经行编排,除去论文摘要致谢文献参考部分,正文部分还会对网站需求做出分析,以及阐述大体的设计和实现的功能,最后罗列部分调测记录,论文主要架构如下:
第一章:引言。第一章主要介绍了课题研究的背景,系统开发的现状和本文的研究内容与主要工作。
第二章:系统需求分析。第二章主要从系统的用户功能等方面进行需求分析。
第三章:系统设计。第三章主要对系统框架、系统功能模块、数据库进行功能设计。
第四章:系统实现。第四章主要介绍了系统框架搭建、系统界面的实现。
第五章:系统测试。第五章主要对系统的部分界面进行测试并对主要功能进行测试
2 宿舍管理系统系统分析
系统分析是开发一个项目的先决条件,通过系统分析可以很好的了解系统的主体用户的基本需求情况,同时这也是项目的开发的原因。进而对系统开发进行可行性分析,通常包括技术可行性、经济可行性等,可行性分析同时也是从项目整体角度进行的分析。然后就是对项目的具体需求进行分析,分析的手段一般都是通过用户的用例图来实现。下面是详细的介绍。
此次项目设计参考了几个该模式下网站的开发案例,对他们的操作界面分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。
因此操作可行性也没有问题。
(2)技术可行性:
技术可行性指的是对于搭建框架的可行性,以及有更优秀的技术出现时系统的技术更新换代的纳新性如何,开发时间成本费用比如何。
现有的Java技术能够迎合所有电子商务系统的搭建。开发这个宿舍管理系统的时候我采用了Java+MYSQL用以运行整体程序。
综上所述技术可行性也没有问题。
(3)法律可行性:
从开发者角度来看,Java和MYSQL是网上开源且免费的,在知识产权方面不会产生任何法律纠纷。
从用户使用角度来看,只要不再系统上贩卖违禁品,对系统做出条约协议,杜绝非法支付即可。
综上所述法律可行性也没有问题。
宿舍管理系统主要的目的就是实现对宿舍的申请住宿,图2-1就是系统的数据流图。
图2-1宿舍申请住宿操作展开图
分析完系统的数据流,接下来我们来看系统的业务流程,图2-2就是业务流程图:
图2-2业务流程图
按照宿舍管理系统的角色,我划分为了管理员模块+学生用户模块+宿舍管理者模块模块这三大部分。
学生用户管理模块:
(1)用户注册登录:用户注册为会员并登录宿舍管理系统;用户对个人信息的增删改查,比如个人资料,密码修改。
(2)宿舍信息:通过查询宿舍信息,可对某一个宿舍信息进行申请住宿。
(3)报修信息:通过查询报修信息,可对某一个报修信息进行增删改查。
(4)缴费信息:通过查询缴费信息,可对某一个缴费信息进行管控。
(5)住宿申请:可对某一个住宿申请进行管控。
宿舍管理者管理模块:
(1)宿舍管理者登录:宿舍管理者登录宿舍管理系统;宿舍管理者对个人信息的增删改查,比如个人资料,密码修改。
(2)宿舍信息:宿管点击“宿舍信息”菜单可以对宿舍信息进行增删改查。
(3)住宿申请:宿管点击“住宿申请”菜单可以对住宿申请进行管控。
(4)分配管理:宿管点击“分配管理”菜单可以对分配管理进行管控。
管理员管理模块:
(1)登录:管理员在后台可以输入用户名+密码进行登录,管理员的用户名和密码是在数据库中直接设定好的。
(2)系统用户:管理员点击“系统用户”这一菜单会显示管理员+学生用户+宿舍管理者这三个子菜单,管理员可以对这三个角色的信息进行增删改查操作。
(3)宿舍信息:管理员点击“宿舍信息”这一菜单会所有的宿舍信息,管理员可以对宿舍家信息进行增删改查操作。
(4)费用统计:管理员点击“费用统计”菜单可以对费用统计进行增删改查。
(5)维修统计:管理员点击“维修统计”菜单可以对维修统计进行增删改查。
(6)分配管理:管理员点击“分配管理”菜单可以对分配信息进行管控。
(7)公告信息:管理员点击“公告信息”菜单可以对公告信息进行增删改查。
宿舍管理系统的非功能性需求比如宿舍管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:
表3-1宿舍管理系统非功能需求表
安全性 | 主要指宿舍管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。 |
可靠性 | 可靠性是指宿舍管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。 |
性能 | 性能是影响宿舍管理系统占据市场的必要条件,所以性能最好要佳才好。 |
可扩展性 | 比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。 |
易用性 | 用户只要跟着宿舍管理系统的页面展示内容进行操作,就可以了。 |
可维护性 | 宿舍管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题 |
通过2.3功能的分析,得出了本宿舍管理系统的用例图:
学生用户角色用例如图2-3所示。
图2-3 宿舍管理系统学生用户角色用例图
宿管角色用例如图2-4所示。
图2-4 宿舍管理系统宿管角色用例图
web后台管理上的管理员是维护整个宿舍管理系统中所有数据信息的。管理员角色用例如图2-5所示。
本章主要通过对宿舍管理系统的可行性分析、流程分析、功能需求分析、系统用例分析,确定整个宿舍管理系统要实现的功能。同时也为宿舍管理系统的代码实现和测试提供了标准。
本章主要讨论的内容包括宿舍管理系统的功能模块设计、数据库系统设计。
本宿舍管理系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。
图3-1宿舍管理系统系统架构设计图
表现层(UI):又称UI层,主要完成本宿舍管理系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本宿舍管理系统时的舒适度。UI的界面设计也要适应不同版本的宿舍管理系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。
业务逻辑层(BLL):主要完成本宿舍管理系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。
数据层(DL):由于本宿舍管理系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本宿舍管理系统的数据存储和管理功能。
在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本宿舍管理系统中的用例。那么接下来就要开始对本宿舍管理系统的架构、主要功能和数据库开始进行设计。宿舍管理系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。
图3-2 宿舍管理系统功能模块图
后台管理者能够实现对前台注册的用户增删改查操作,用户模块结构图如下图:
图3-3用户模块结构图
3.2.3宿舍管理模块设计
宿舍管理系统是中需要存储不少宿舍信息,其模块功能结构,具体的结构图如下:
图3-4宿舍信息模块结构图
数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。
下面是整个宿舍管理系统中主要的数据库表总E-R实体关系图。
图3-5 宿舍管理系统总E-R关系图
通过上一小节中宿舍管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。
表accommodation_application (住宿申请)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | accommodation_application_id | int | 10 | 0 | N | Y | 住宿申请ID | |
2 | application_number | varchar | 64 | 0 | Y | N | 申请编号 | |
3 | dormitory_number | varchar | 64 | 0 | Y | N | 宿舍号码 | |
4 | dormitory_buildings | varchar | 64 | 0 | Y | N | 宿舍楼栋 | |
5 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
6 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
7 | application_date | date | 10 | 0 | Y | N | 申请日期 | |
8 | reason_for_application | text | 65535 | 0 | Y | N | 申请原因 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表allocation_management (分配管理)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | allocation_management_id | int | 10 | 0 | N | Y | 分配管理ID | |
2 | application_number | varchar | 64 | 0 | Y | N | 申请编号 | |
3 | dormitory_number | varchar | 64 | 0 | Y | N | 宿舍号码 | |
4 | dormitory_manager | int | 10 | 0 | Y | N | 0 | 宿舍管理者 |
5 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
6 | dormitory_buildings | varchar | 64 | 0 | Y | N | 宿舍楼栋 | |
7 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
8 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
9 | confirm_status | varchar | 64 | 0 | Y | N | 确认状态 | |
10 | remarks | text | 65535 | 0 | Y | N | 备注信息 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表announcement_information (公告信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | announcement_information_id | int | 10 | 0 | N | Y | 公告信息ID | |
2 | announcement_title | varchar | 64 | 0 | Y | N | 公告标题 | |
3 | announcement_type | varchar | 64 | 0 | Y | N | 公告类型 | |
4 | release_time | datetime | 19 | 0 | Y | N | 发布时间 | |
5 | dormitory_manager | int | 10 | 0 | Y | N | 0 | 宿舍管理者 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | announcement_details | text | 65535 | 0 | Y | N | 公告详情 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表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 | 更新时间: |
表cost_statistics (费用统计)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | cost_statistics_id | int | 10 | 0 | N | Y | 费用统计ID | |
2 | payment_month | varchar | 64 | 0 | Y | N | 缴费月份 | |
3 | electricity_usage_fee | varchar | 64 | 0 | Y | N | 使用电费 | |
4 | using_water_fees | varchar | 64 | 0 | Y | N | 使用水费 | |
5 | remarks | text | 65535 | 0 | Y | N | 备注信息 | |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表dormitory_information (宿舍信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | dormitory_information_id | int | 10 | 0 | N | Y | 宿舍信息ID | |
2 | dormitory_number | varchar | 64 | 0 | Y | N | 宿舍号码 | |
3 | dormitory_buildings | varchar | 64 | 0 | Y | N | 宿舍楼栋 | |
4 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
5 | dormitory_beds | varchar | 64 | 0 | Y | N | 宿舍床位 | |
6 | dormitory_status | varchar | 64 | 0 | Y | N | 宿舍状态 | |
7 | dormitory_facilities | text | 65535 | 0 | Y | N | 宿舍设施 | |
8 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表dormitory_manager (宿舍管理者)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | dormitory_manager_id | int | 10 | 0 | N | Y | 宿舍管理者ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用户性别 | |
4 | user_age | 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 | 更新时间 |
表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: |
表maintenance_statistics (维修统计)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | maintenance_statistics_id | int | 10 | 0 | N | Y | 维修统计ID | |
2 | item_name | varchar | 64 | 0 | Y | N | 物品名称 | |
3 | item_type | varchar | 64 | 0 | Y | N | 物品类型 | |
4 | record_month | varchar | 64 | 0 | Y | N | 记录月份 | |
5 | remarks | text | 65535 | 0 | Y | N | 备注信息 | |
6 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
7 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表payment_information (缴费信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | payment_information_id | int | 10 | 0 | N | Y | 缴费信息ID | |
2 | dormitory_number | varchar | 64 | 0 | Y | N | 宿舍号码 | |
3 | dormitory_buildings | varchar | 64 | 0 | Y | N | 宿舍楼栋 | |
4 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
5 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
6 | electricity_usage_fee | int | 10 | 0 | Y | N | 0 | 使用电费 |
7 | using_water_fees | int | 10 | 0 | Y | N | 0 | 使用水费 |
8 | total_expenses | int | 10 | 0 | Y | N | 0 | 费用总计 |
9 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付状态 |
10 | pay_type | varchar | 16 | 0 | Y | N | 支付类型: 微信、支付宝、网银 | |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表repair_information (报修信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | repair_information_id | int | 10 | 0 | N | Y | 报修信息ID | |
2 | repair_number | varchar | 64 | 0 | Y | N | 报修编号 | |
3 | repair_items | varchar | 64 | 0 | Y | N | 报修物品 | |
4 | item_type | varchar | 64 | 0 | Y | N | 物品类型 | |
5 | item_images | varchar | 255 | 0 | Y | N | 物品图片 | |
6 | repair_date | date | 10 | 0 | Y | N | 报修日期 | |
7 | student_users | int | 10 | 0 | Y | N | 0 | 学生用户 |
8 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
9 | dormitory | varchar | 64 | 0 | Y | N | 所在宿舍 | |
10 | reason_for_repair | text | 65535 | 0 | Y | N | 报修原因 | |
11 | maintenance_status | varchar | 64 | 0 | Y | N | 维修状态 | |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | 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 | N | N | 学生学号 | |
3 | student_name | varchar | 64 | 0 | Y | N | 学生姓名 | |
4 | student_gender | varchar | 64 | 0 | Y | N | 学生性别 | |
5 | major_studied | varchar | 64 | 0 | Y | N | 所学专业 | |
6 | grade | varchar | 64 | 0 | Y | N | 所在年级 | |
7 | dormitory | varchar | 64 | 0 | Y | N | 所在宿舍 | |
8 | examine_state | varchar | 16 | 0 | N | N | 已通过 | 审核状态 |
9 | user_id | int | 10 | 0 | N | N | 0 | 用户ID |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
11 | 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 | 文件类型 |
3.4本章小结
整个宿舍管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。
4 宿舍管理系统详细设计与实现
宿舍管理系统的详细设计与实现主要是根据前面的宿舍管理系统的需求分析和宿舍管理系统的总体设计来设计页面并实现业务逻辑。主要从宿舍管理系统界面实现、业务逻辑实现这两部分进行介绍。
不是宿舍管理系统中正式用户的是可以在线进行注册的,如果你没有本宿舍管理系统的账号的话,添加“注册”,当填写上自己的账号+密码+确认密码+昵称+邮箱+手机号等后再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可学生注册成功。其用用户注册展示如下图4-1所示。
图4-1 注册界面图
注册关键代码如下所示。
4.2登录界面
管理员、宿舍管理者和学生在登录界面输入账号+密码,点击“登录”按钮,系统在用户数据库表中会对管理员、宿舍管理者和学生的账号进行匹配,账号+密码正确的话,就会登录到系统中各个用户的主管理界面,否则提示对应的信息,返回到登录的界面,其主界面展示如下图4-2所示。
图4-2登录界面图
登录代码如下:
4.3用户管理界面
管理员可以对系统中所有的用户角色进行管控,包含了管理员、学生以及宿舍管理者这三种角色,如果需要添加新的用户,点击页面中的“添加”按钮根据提示输入上用户信息,点击“提交”以后在对应的用户界面就可以查看到了,可以点击用户后面的“删除”按钮直接删除某一用户,这里以宿舍管理者为例。用户管理界面面如下图4-3所示。
图4-3用户管理界面面图
用户管理关键代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
4.4宿舍信息管理界面
管理员和宿舍管理者点击“宿舍信息”这个按钮可以查看到系统中的宿舍信息,支持通过宿舍楼栋或者宿舍状态进行查询宿舍信息,如果想要添加新的宿舍信息,点击“添加”按钮然后根据提示输入宿舍信息,点击“提交”后,在宿舍信息界面就会显示新增的宿舍信息,可以点击某一宿舍信息查看宿舍信息的详情,也可以直接点击“删除”进行删除宿舍信息,界面如下图4-5所示。
图4-4宿舍信息管理界面图
宿舍信息管理关键代码如下:
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
4.5 住宿申请管理界面
点击“住宿申请”这个菜单,可以查看到系统中所有添加的住宿申请,支持通过宿舍号码对住宿申请进行查询,如果想要了解某一住宿申请的详细信息,点击后面的“详情”会进入详情界面,宿舍管理者和管理员如果想要选择某一住宿申请,点击“分配”按钮,根据提示填写对应的信息,点击“提交”按钮,信息没有错误在数据库就会提交成功,分配成功,住宿申请展示页面如图4-6所示。
图4-5 住宿申请管理界面图
住宿申请管理关键代码如下:
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
4.6报修信息管理界面
宿管点击“报修信息”这个按钮可以查看到系统中的报修信息,支持通过报修编号或者报修物品进行查询报修信息,如果想要添加新的报修信息,点击“添加”按钮然后根据提示输入报修信息,点击“提交”后,在报修信息界面就会显示新增的报修信息,可以点击某一报修信息查看报修信息的详情,也可以直接点击“删除”进行删除报修信息,报修信息展示页面如图4-6所示。
图4-6 报修信息管理界面图
报修信息管理关键代码如下:
@RequestMapping("/get_obj")
public Map<String, Object> obj(HttpServletRequest request) {
List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));
if (resultList.size() > 0) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("obj",resultList.get(0));
return success(jsonObject);
} else {
return success(null);
}
}
4.7公告信息管理界面
点击“公告信息”这个菜单,可以查看到系统中所有添加的公告信息,支持通过公告标题或者公告类型对公告信息进行查询,只有管理员用户可以添加新的公告信息,点击“添加”按钮,根据提示输入公告信息,点击“提交”按钮,新的公告信息就在系统中显示出来了,也可以对添加的公告信息进行删除,公告信息界面如下图4-7所示。
图4-7 公告信息管理界面图
4.8费用统计管理界面
管理员点击“费用统计”这个按钮可以查看到系统中的费用统计信息,支持通过缴费月份或者使用电费进行查询费用统计信息,如果想要添加新的费用统计信息,点击“添加”按钮然后根据提示输入费用统计信息,点击“提交”后,在费用统计界面就会显示新增的费用统计信息,可以点击某一费用统计信息查看费用统计信息的详情,也可以直接点击“删除”进行删除费用统计。界面如下图4-8所示。
5系统测试
系统开发到了最后一个阶段那就是系统测试,系统测试对软件的开发其实是非常有必要的。因为没什么系统一经开发出来就可能会尽善尽美,再厉害的系统开发工程师也会在系统开发的时候出现纰漏,系统测试能够较好的改正一些bug,为后期系统的维护性提供很好的支持。通过系统测试,开发人员也可以建立自己对系统的信心,为后期的系统版本的跟新提供支持。
表5.1 用户登录功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
用户登录模块测试 | 用户登录成功的情况 | 点击前登录界面输入账号和密码分别输入admin和admin后点击“登录”按钮。 | 登录成功并调整到用户界面 | 正确 |
宿舍信息添加功能测试:
表5.2 宿舍信息添加功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
宿舍信息添加模块测试 | 宿舍信息添加成功的情况 | 在宿舍信息的页面中将点击添加,输入宿舍信息关信息,输入正确的信息后然后点击“提交”按钮。 | 提示添加成功 | 正确 |
宿舍信息添加模块测试 | 宿舍信息添加失败的情况 | 在宿舍信息页面中不填写的宿舍号码信息,其他信息正常输入“提交”按钮。 | 提示“添加失败,信息不能为空” | 正确 |
查询费用统计信息功能模块测试:
表5.3 查询费用统计信息功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
查询费用统计信息功能测试 | 查询成功的情况 | 在费用统计界面输入缴费月份进行查询 | 查询成功 | 正确 |
报修信息信息添加功能测试:
表5.4 报修信息添加功能测试表
测试名称 | 测试功能 | 操作过程 | 预期结果 | 测试结果 |
报修信息添加模块测试 | 报修信息添加成功的情况 | 在报修信息的页面中将点击添加,输入报修相关信息,输入正确的信息后然后点击“提交”按钮。 | 提示添加成功 | 正确 |
报修信息添加模块测试 | 报修信息添加失败的情况 | 在报修信息页面中不填写的报修编号,其他信息正常输入“提交”按钮。 | 提示“添加失败,信息不能为空” | 正确 |
通过编写宿舍管理系统的测试用例,已经检测完毕用户的登录模块、宿舍信息添加模块、查询费用统计模块、报修信息添加模块的功能测试,在对以上功能得测试过程中,发现了系统中的很多漏送并进行了完善,经过多人在线进行测试,系统完全可以正常运行,当然在后期的维护中系统将不断完善。
结论
至此,宿舍管理系统已经结束,在开发前做了许多的准备,在本系统的设计和开发过程中阅览和学习了许多文献资料,从中我也收获了很多宝贵的方法和设计思路,对系统的开发也起到了很重要的作用,系统的开发技术选用的都是自己比较熟悉的,比如Web、Java技术、MYSQL,这些技术都是在以前的学习中学到了,其中许多的设计思路和方法都是在以前不断地学习中摸索出来的经验,其实对于我们来说工作量还是比较大的,但是正是由于之前的积累与准备,才能顺利的完成这个项目,由此看来,积累经验跟做好准备是十分重要的事情。
当然在该系统的设计与实现的过程中也离不开老师以及同学们的帮助,正是因为他们的指导与帮助,我才能够成功的在预期内完成了这个系统。同时在这个过程当中我也收获了很多东西,此系统也有需要改进的地方,但是由于专业知识的浅薄,并不能做到十分完美,希望以后有机会可以让其真正的投入到使用之中。
[1]袁爱平,陈畅,孙士兵等. 基于SSM框架的高校学生信息管理系统设计与实现 [J]. 工业控制计算机, 2023, 36 (12): 127-129.
[2]陈斐,吴林韩,张朝阳等. 智慧宿舍管理系统设计与实现 [J]. 信息技术与信息化, 2023, (12): 142-147.
[3]李鹏霞,李宛睿. 高校学生宿舍智慧化管理系统的设计与实现 [J]. 长江信息通信, 2023, 36 (11): 162-164+167.
[4]刘方磊. 基于SSM框架的旅游大数据分析系统设计与实现 [J]. 中国新技术新产品, 2023, (21): 22-25.
[5]赵进步,袁慧. 基于SSM框架的“云节”系统设计与实现 [J]. 电脑编程技巧与维护, 2023, (10): 90-92.
[6]唐军,卢汉利,陆振心等. 学生宿舍管理系统、方法及计算机存储介质[P]. 广西壮族自治区: CN116248726A, 2023-06-09.
[7]张凯睿. 基于Python的学生宿舍管理系统研究 [J]. 电脑编程技巧与维护, 2023, (05): 90-92+109.
[8]周耀,韦忠亮. 基于SSM框架下残疾家教平台的开发 [J]. 电脑知识与技术, 2023, 19 (12): 60-63.
[9]唐瑞明,谭倩芳. 高校宿舍信息化管理系统设计 [J]. 电子技术与软件工程, 2023, (04): 258-262.
[10]Kai Z . Design and Analysis of Campus Dormitory Management System Based on Java [J]. The Frontiers of Society, Science and Technology, 2020, 2.0 (17.0):
[11]吴松杰, 宿舍管理系统V1.0. 湖北省, 武汉东湖学院, 2020-12-01.
[12]Bista K R ,Karki J A ,Reddy M V B , et al. Hostel Management System [J]. Journal of Trend in Scientific Research and Development, 2019, 2 (4): 856-862.
[13]Obi J ,Imianvan A ,Iziegbe I . Formalization of Hostel Management System. [J]. Journal of the Nigerian Association of Mathematical Physics, 2019, 30 (0): 263-266.
[14]罗艺荣. 学生宿舍管理系统的设计与实现[D]. 厦门大学, 2019.
[15]芦志宏, 北京北大资源研修学院 课堂自主研发宿舍管理系统, 李晓秋 主编, 北京教育年鉴, 华艺出版社, 2019, 467, 年鉴.
在撰写本论文期间,我受益于许多人的帮助和支持,在此向他们表示衷心的感谢。
首先,我要感谢我的导师,他给予了我宝贵的指导和建议。他的专业知识和丰富经验对我研究的方向起到了重要的推动作用。同时,他还鼓励我不断探索和挑战自己,使我能够克服困难并取得进步。
此外,我还要感谢我的同学和朋友们,他们在我撰写论文的过程中给予了我很多鼓励和帮助。他们与我分享了他们的见解和经验,使我能够从不同的角度思考问题,并改善我的研究方法。
最后,我要感谢我的家人,他们一直以来对我的支持和理解。他们给予我无尽的鼓励和动力,使我能够坚持下去并完成这篇论文。
在此,我要向所有支持和帮助过我的人表示深深的谢意。没有你们的支持,我将无法完成这篇论文。感谢你们的付出和支持!
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~