摘 要
学生公寓管理系统是一款基于SpringBoot框架开发的高效、便捷的公寓管理软件。该系统旨在为学校提供一个全面的解决方案,以管理学生宿舍的分配、维护、安全以及日常事务。系统采用模块化设计,包含用户管理、宿舍管理、报修服务、违规记录、晚归记录、访客登记等多个功能模块。
用户管理模块允许管理员对学生和宿舍管理员的信息进行录入、修改和查询。宿舍管理模块则负责宿舍的分配、调整以及状态跟踪,确保每个学生都能被合理安排住宿。报修服务模块为学生提供在线报修功能,学生可以提交维修请求,系统会自动通知维修人员,并跟踪维修进度。费用管理模块用于处理学生的住宿费用,包括费用的计算、收取和记录。访客登记模块则确保公寓的安全,所有访客信息都会被系统记录并可进行查询。
系统采用前后端分离的开发模式,前端使用Vue.js框架,后端则基于SpringBoot,数据库采用MySQL。SpringBoot的自动配置和内嵌服务器功能大大简化了项目的部署和运行。系统还具备良好的扩展性和维护性,能够适应不断变化的管理需求。整体而言,SpringBoot学生公寓管理系统通过自动化和信息化手段,提高了学生公寓管理的效率和质量,为学生和管理员提供了一个稳定、易用的管理平台。
关键词:学生公寓管理系统;Java语言;Spring Boot框架;MySQL数据库
Abstract
The student apartment management system is an efficient and convenient apartment management software developed based on the SpringBoot framework. This system aims to provide a comprehensive solution for schools to manage the allocation, maintenance, safety, and daily affairs of student dormitories. The system adopts a modular design, including multiple functional modules such as user management, dormitory management, repair services, violation records, late return records, visitor registration, etc.
The user management module allows administrators to input, modify, and query information about students and dormitory administrators. The dormitory management module is responsible for the allocation, adjustment, and status tracking of dormitories, ensuring that each student can be properly arranged for accommodation. The repair service module provides students with online repair functions. Students can submit repair requests, and the system will automatically notify repair personnel and track the progress of repairs. The expense management module is used to handle students' accommodation expenses, including the calculation, collection, and recording of expenses. The visitor registration module ensures the security of the apartment, and all visitor information will be recorded by the system and can be queried.
The system adopts a front-end and back-end separation development mode, with Vue.js framework for the front-end and SpringBoot for the back-end, and MySQL for the database. The automatic configuration and embedded server functionality of SpringBoot greatly simplify the deployment and operation of projects. The system also has good scalability and maintainability, and can adapt to constantly changing management needs. Overall, the SpringBoot student apartment management system has improved the efficiency and quality of student apartment management through automation and information technology, providing a stable and easy-to-use management platform for students and administrators.
Keywords: Student Apartment Management System; Java language; Spring Boot framework; MySQL database
目 录
摘 要 1
1绪论 4
1.1课题研究背景及意义 4
1.1.1研究背景 4
1.1.2研究意义 4
1.2国内外研究现状分析 5
1.2.1国内研究现状 5
1.2.2国外研究现状 5
1.3主要研究内容 6
2相关技术简介 7
2.1 Java语言 7
2.2 SpringBoot 框架 7
2.3 Vue框架 7
2.4 MySQL数据库 7
3系统需求分析 9
3.1系统功能需求分析 9
3.1.1 学生用户功能 9
3.1.2 宿管用户功能 10
3.1.3 管理员用户功能 11
3.2系统非功能性分析 12
3.3系统可行性分析 13
3.3.1技术可行性 13
3.3.2经济可行性 13
3.3.3操作可行性 13
3.3.4社会可行性 13
3.4系统用例分析 14
3.4.1学生用户用例分析 14
3.4.2宿管用户用例分析 14
3.4.3管理员用例分析 15
4系统设计 17
4.1系统总体设计思路 17
4.2系统结构设计 18
4.3系统功能设计 18
4.3.1用户登录流程 18
4.3.2程序操作流程 19
4.4系统核心代码设计 20
4.4.1用户注册 20
4.4.2用户登录 21
4.4.3修改密码 22
4.4.4修改数据 22
4.4.5删除数据 23
4.4.6获取数据 23
4.4.7图片上传 23
4.5数据库设计 24
4.5.1数据库设计原则 24
4.5.2数据库实体 24
4.5.3数据库表设计 26
5系统实现 38
5.1学生用户功能实现 38
5.1.1用户注册 38
5.1.2用户登录 39
5.1.3宿舍信息管理 39
5.2 宿管用户功能实现 40
5.2.1通知公告管理 40
5.2.2楼层信息管理 40
5.2.3宿舍信息管理 41
5.2.4晚归记录管理 43
5.2.2来访登记管理 43
5.2.5宿舍报修管理 44
5.3管理员功能实现 44
5.3.1用户管理 44
5.3.2学院信息管理 45
5.3.3楼层信息管理 45
6系统测试 46
6.1系统测试目标 46
6.2系统功能测试 46
6.3测试结果总结 49
总结与展望 50
参考文献 51
致 谢 52
1绪论
1.1课题研究背景及意义
1.1.1研究背景
随着高等教育的普及和学生人数的不断增加,学生公寓管理面临着越来越大的挑战。传统的手工管理模式和纸质记录方式已无法满足现代化校园管理的需求,导致了管理效率低下、信息更新不及时、资源浪费等一系列问题。同时,随着信息技术的迅速发展,学校对于学生公寓管理的需求也在逐步提升,希望通过智能化手段提高管理效率、优化资源配置、确保信息安全。特别是在疫情期间,线上管理和信息化管理需求更加突出,传统管理模式的不足更加显现。
在这种背景下,开发一款基于信息化和自动化的学生公寓管理系统变得尤为重要。该系统可以通过技术手段对宿舍信息、入住情况、费用管理、公告发布等各个方面进行集中管理,减少人工操作,提高管理效率,并确保数据的准确性和安全性。同时,随着学生个性化需求的增加,智能化、个性化的管理系统成为提升学生公寓管理质量和服务水平的关键。基于Spring Boot框架开发的学生公寓管理系统,正是响应这一时代需求,通过集成先进的技术手段,帮助学校实现公寓管理的现代化与智能化。
1.1.2研究意义
开发学生公寓管理系统的研究意义主要体现在提升管理效率和改善学生居住体验两个方面。随着高校学生数量的不断增加,学生公寓的管理工作愈加复杂,传统的人工管理方式已经无法满足日益增长的需求。通过构建公寓管理系统,可以实现信息化、自动化管理,有效提升公寓管理的效率和准确性,避免了人工操作中的误差。系统可以实时跟踪学生的住宿情况、自动记录入住和退宿信息,并且生成统计报告,极大地减轻了管理人员的工作负担。
此外,学生公寓管理系统还能够提高学生的居住体验。学生可以通过系统轻松办理宿舍申请、报修、投诉等事项,避免了传统方式中繁琐的程序和时间延误。同时,系统可以基于数据分析发现管理中存在的问题,并为管理者提供决策支持。系统还能够对学生的安全问题进行及时监控和预警,确保学生的安全得到有效保障。通过优化管理流程,提升服务质量,学生的生活环境得以改善,整体管理水平也得到了提高。
综上所述,学生公寓管理系统不仅是高校现代化管理的有力工具,也是推动教育信息化的重要一步,具有重要的学术价值和社会意义。
1.2国内外研究现状分析
1.2.1国内研究现状
在国内,随着高校规模的扩大和学生人数的增加,传统的手工管理模式已经难以满足高效、精准管理的需求。因此,许多大学已经开始采用信息化管理系统来优化宿舍管理流程,提高服务质量。目前,国内大部分高校已经建立了学生公寓管理系统,这些系统不仅涵盖了基本的宿舍分配、卫生检查、安全管理等功能,还通过引入新技术显著提升了管理效率和服务质量。
例如,通过在线选房和床位分配功能,简化了新生入住手续;利用智能门锁和人脸识别技术,增强了宿舍的安全性;同时,系统支持水电费自动收取,确保收费过程透明公正,并提供多种支付方式,提升了缴费便利性。此外,一些高校的学生公寓管理系统还与校园卡、教务系统等平台进行了集成,实现了信息共享和数据互通,促进了校园信息化建设的整体进步。学生可以通过校园卡进行宿舍门禁识别,或在教务系统中查看宿舍相关信息,这种跨平台的数据交换极大地便利了学生的日常生活。
尽管如此,国内部分地区由于技术基础和人员计算机技能的限制,信息化管理的应用程度仍存在差异。研究者们正在积极探索如何将物联网、大数据分析等应用于学生公寓管理系统中,以提供更加智能化、个性化的服务。总的来说,国内学生公寓管理系统在功能完善和技术水平方面不断进步,正逐步缩小与国际先进水平之间的差距,为学生提供更优质的生活体验。
1.2.2国外研究现状
在国外,尤其是欧美等发达国家的高校中,学生公寓管理系统的研究和应用起步较早且发展较为成熟。这些系统通常采用先进的技术架构和设计理念,注重系统的可扩展性和可维护性,以适应不断变化的管理需求和技术进步。国外的学生公寓管理系统不仅限于大学宿舍,还广泛应用于私人公寓、专门的学生公寓等多种住宿形式,提供了从住宿预订、费用收缴、维修报告到日常管理的一站式解决方案。
例如,一些系统支持在线提交报修申请、查询维修进度等功能,确保问题能够得到及时处理;还有些系统集成了智能门锁、智能水电表等设备,实现对学生行为的实时监控和智能化管理,极大地提高了宿舍的安全性和管理效率。此外,国外的高校在学生公寓管理系统的建设过程中更加重视与其他后勤管理系统(如餐饮管理系统、校车管理系统等)的集成与协同工作,以实现信息的共享和资源的优化配置。通过这种集成方式,不仅可以提高整体服务的质量和效率,还能为管理层提供更全面的数据支持,帮助做出更科学的决策。
国外的研究者也在持续关注并探索新的技术趋势和管理模式,致力于提升系统的用户体验和服务水平。例如,通过引入高级别的数据加密技术和严格的访问控制策略,保障了系统的安全性和用户隐私。为了更好地满足不同用户群体的需求,许多系统还提供了多语言界面和支持,方便国际学生的使用。总的来说,国外的学生公寓管理系统在技术先进性、功能完整性以及服务人性化方面均处于领先地位,为全球范围内同类系统的开发和应用提供了宝贵的参考经验。
1.3主要研究内容
本课题旨在开发一个基于 Vue、CSS、JavaScript 等前端技术,结合后端的 Spring Boot 框架和 MySQL 数据库的新生报到及宿舍分配系统,通过采用自动分配算法和提供便捷的功能模块,解决学生公寓在管理过程中面临的各种问题。
开发学生公寓管理系统的研发涵盖了多个关键模块,包括通知公告、学院信息、楼层、宿舍、违规信息、水电费、晚归记录、来访登记、宿舍报修及文明宿舍管理等。系统通过集成信息管理、费用统计、报修处理、违规行为追踪等功能,实现高效的宿舍资源分配与管理。水电费管理模块可自动统计费用并提醒学生缴费;晚归记录和来访登记则增强了宿舍安全性;报修管理模块提高了设施维护效率;文明宿舍管理通过评选和奖惩机制,促进宿舍文化建设。整体而言,系统旨在提升学生公寓的管理效率与居住体验,确保资源的合理分配和安全管理,推动宿舍环境的优化与文明化。
2相关技术简介
2.1 Java语言
学生公寓管理系统采用了Java语言作为后端开发的核心技术。Java语言因其跨平台特性和高度灵活性而备受青睐,使系统能够在不同操作系统上稳定运行,并为未来功能的拓展提供可靠的技术支持。同时,采用Spring Boot框架简化了配置,提升了开发效率和系统的稳定性。Java的选择确保了平台具有良好的可扩展性和稳定性,在为学生公寓管理系统提供技术支持的同时,也为用户提供畅顺的体验。
2.2 SpringBoot 框架
Spring Boot,作为Spring生态系统中一颗璀璨的明星,以其“约定优于配置”的核心理念,极大地简化了Java应用的开发、部署与管理流程。它并非是对Spring框架的颠覆,而是在其基础上进行了深度封装与优化,旨在快速搭建独立的、生产级别的Spring应用。Spring Boot通过自动配置功能,减少了大量繁琐的配置工作,让开发者能够更加专注于业务逻辑的实现。同时,它集成了众多常用库,如数据库连接池、缓存、消息队列等,为系统开发提供了一站式的解决方案。此外,Spring Boot还支持多种部署方式,无论是传统的WAR包部署,还是现代的容器化部署,都能轻松应对。因此,选择Spring Boot作为学生公寓管理系统的开发框架,不仅能够提升开发效率,还能确保系统的稳定性和可维护性。
2.3 Vue框架
Vue框架,作为一款风靡前端的JavaScript框架,以其渐进式、组件化的设计理念,为开发者构建高效、灵活的Web界面提供了强大支持。Vue不仅轻量且易于上手,其核心库专注于视图层,能够轻松地将Vue集成到现有项目中,实现前后端分离的现代Web应用开发。同时Vue丰富的生态系统也提供了众多插件和工具,进一步提升了开发效率和应用的性能。在学生公寓管理系统中引入Vue作为前端框架,不仅可以优化用户界面的渲染和交互体验,还能通过前后端分离的架构提升系统的可维护性和可扩展性,是构建现代、高效的学生公寓管理系统的理想选择。
2.4 MySQL数据库
MySQL数据库,作为开源关系型数据库管理系统的佼佼者,以其高性能、可靠性、易用性和灵活性,在全球范围内被广泛应用于各类企业级应用中。MySQL采用SQL(结构化查询语言)作为数据操作的标准语言,支持复杂的查询、数据更新、索引优化等功能,确保数据的高效存取和完整性。其强大的事务处理能力,为业务逻辑的原子性、一致性、隔离性和持久性提供了坚实保障。此外,MySQL还具备高度的可配置性和可扩展性,通过优化存储引擎、调整配置参数等手段,可以轻松应对高并发、大数据量的应用场景。在学生公寓管理系统中,MySQL作为后端数据存储的核心,不仅为系统提供了稳定可靠的数据支持,还通过其丰富的数据操作功能,助力系统实现复杂的业务逻辑和高效的数据管理。
3系统需求分析
3.1系统功能需求分析
学生公寓管理系统通过学生用户、宿管用户和管理员三大角色的功能设计,优化了学生公寓管理流程。学生可以通过系统查看通知公告、水电费信息、提交宿舍报修申请等操作,提供一站式服务;宿管用户则可通过系统进行宿舍资源分配、费用统计、违规记录、报修处理等操作,同时实现对晚归、来访人员及宿舍文明行为的有效管理;管理员则拥有最高权限,实现高效的系统运营与管理。
3.1.1 学生用户功能
(1)注册登录:学生用户可以通过注册功能创建个人账户,输入必要的信息如学号、姓名、密码等,以确保账户的唯一性和安全性。登录功能允许学生使用已注册的账户信息进入系统,进行后续操作。
(2)个人信息管理:学生用户可以在此模块中查看和编辑自己的个人信息,如修改密码、更新联系方式、修改登录密码等。此功能确保学生能够维护自己的账户安全,并及时更新个人资料。
(3)后台首页:后台首页为学生提供了一个直观的仪表盘,展示个人的基本信息、课程表、最新通知等。学生可以快速获取重要信息,并通过链接访问其他管理模块。
(4)通知公告管理:学生可以查询所有通知和公告,并且可以点击查看每个通知的详细内容。此功能帮助学生及时了解学校最新动态和重要信息。
(5)学院信息管理:学生可以查询学院的相关信息,并查看详细内容。这包括学院的介绍、所在城市、学院图片、学院简介等,帮助学生更好地了解自己所在的学院。
(6)宿舍信息管理:学生可以查询宿舍楼和房间的相关信息,并查看宿舍的详细资料。此外,学生还可以申请宿舍报修,提交给宿管部门审核,以便及时解决宿舍设施问题。
(1)违规信息管理:学生可以查询自己的违规记录,并查看详情。这有助于学生了解违规后果,促进遵守校规校纪。
(2)水电费信息管理:学生可以查询自己的水电费使用情况和缴费记录,查看详情了解费用构成。此功能帮助学生更好地管理个人开销,确保按时缴费。
(3)晚归记录管理:学生可以查询自己的晚归记录,并查看详情。这有助于学生了解自己的晚归情况,遵守学校的晚归规定。
(4)来访登记管理:学生可以查询来访者信息,此功能帮助学校管理校园访客,确保校园安全。
(5)宿舍报修管理:学生可以添加宿舍报修请求,并可以查询、重置或删除自己的报修记录。宿管部门可以审核并处理这些报修请求,及时解决学生宿舍的问题。
(6)文明宿舍管理:学生可以查询文明宿舍的相关信息,并查看详情。这有助于学生了解如何创建和维护一个文明、整洁的宿舍环境。
3.1.2 宿管用户功能
(1)注册登录:该功能允许宿管人员通过创建账户来注册,并通过输入用户名和密码进行登录。注册时需要填写必要的个人信息,如姓名、职位等,以确保身份的唯一性和准确性。登录后,宿管人员可以进入系统进行各项管理操作。
(2)个人信息管理:宿管用户可以在此模块中查看和编辑自己的个人信息,如修改密码、更新联系方式以及登录密码等。这有助于保持系统中信息的准确性和安全性。
(3)后台首页:后台首页为宿管人员提供了一个概览界面,显示系统的重要通知、待处理事项、最新动态等。它是一个快速导航中心,方便宿管人员快速进入各个管理模块。
(4)通知公告管理:宿管人员可以在此模块添加新的通知或公告,供所有宿舍学生查看。同时,可以查询历史通知、重置未读状态或删除不再需要的公告,确保信息的及时更新和准确性。
(5)学院信息管理:此功能允许宿管人员查询和查看各个学院的基本信息,包括学院的详细描述和相关联系信息。这有助于宿管人员更好地了解不同学院的情况,以便进行针对性的管理和服务。
(6)楼层信息管理:宿管人员可以添加新的楼层信息,包括楼层名称、所在位置、楼层层高和楼层简介等。同时,可以查询、重置、查看详情或删除已有的楼层信息,确保楼层数据的准确性和及时更新。
(7)宿舍信息管理:宿管人员可以添加宿舍的基本信息,如宿舍名称、所在楼层、学生年级和入住人数等。此外,还可以查询、重置和删除宿舍信息,并且可以添加学生违规、水电费账单、宿舍评选等信息,以全面管理宿舍的日常情况。
(8)违规信息管理:宿管人员可以查询、重置和删除记录的违规信息,包括违规事件的详情和处理结果。这有助于追踪和管理学生的违规行为,维护宿舍秩序。
(9)水电费信息管理:宿管人员可以查询、重置和删除宿舍的水电费用信息,包括费用的计算和缴纳情况。这有助于监控宿舍的水电使用情况,并确保费用的合理分摊。
(10)晚归记录管理:宿管人员可以添加学生的晚归记录,包括晚归时间、处罚状态和记录详情等。同时,可以查询、重置和删除历史晚归记录,以跟踪学生的晚归情况并采取相应的管理措施。
(11)来访登记管理:宿管人员可以添加来访登记信息,包括来访人数、来访日期、离开时间及记录详情等。此外,可以查询、重置和删除历史来访记录,以确保宿舍的安全和秩序。
(12)宿舍报修管理:宿管人员可以查询和查看学生的报修申请,并审核这些申请。一旦申请被批准,宿管人员可以安排维修师傅进行维修工作,并跟踪维修进度,确保宿舍设施的正常运行。
(13)文明宿舍管理:宿管人员可以添加、查询、重置和删除文明宿舍的相关信息,包括评选标准、获奖宿舍等。这有助于鼓励学生保持宿舍卫生和秩序,提升宿舍的整体文明水平。
3.1.3 管理员用户功能
(1)后台首页:管理员用户登录后台首页后,可以快速访问系统的主要功能模块。首页通常提供一个概览仪表板,显示系统状态、最新通知、待处理事项等关键信息,以便管理员能够迅速掌握系统运行情况并进行高效管理。
(2)个人信息管理:管理员可以在此模块中修改自己的个人资料,如姓名、联系方式、邮箱等,以及更新登录密码,确保账户安全。
(3)系统用户:此模块允许管理员查看和管理所有系统用户,包括其他管理员、学生用户、宿管用户等。管理员可以对用户进行分类查看(可用、异常、已冻结、已注销),并执行相应的用户管理操作,如添加、编辑、禁用或删除用户账户。
(4)通知公告管理:管理员可以在此模块发布和管理通知公告,包括创建新的公告、编辑现有公告、删除不再需要的公告,以及查看用户对公告的评论和反馈。
(5)学院信息管理:管理员可以添加新的学院信息,包括学院名称、专业名称、所在城市、上传学院图片、编写简介等。同时,管理员可以查询、重置、查看详情、删除已有的学院信息,以及管理用户对学院信息的评论。
(6)楼层信息管理:管理员可以添加楼层信息,如宿管用户、宿管姓名、楼层名称、所在位置、入住人数等。此外,管理员可以查询、重置、查看详情、删除楼层信息,确保楼层数据的准确性和及时更新。
(7)宿舍信息管理:管理员负责添加宿舍信息,并能够查询、重置、删除宿舍信息。这包括宿舍的分配情况、入住学生信息等,以确保宿舍资源的合理分配和管理。
(8)违规信息管理:管理员可以查询、重置、删除学生的违规记录。这有助于跟踪学生的违规行为,并采取相应的管理措施。
(9)水电费信息管理:管理员可以查询、重置、删除学生的水电费信息,确保费用的准确记录和及时收取。
(10)晚归记录管理:管理员可以添加、查询、重置、删除学生的晚归记录。这有助于监控学生的晚归情况,确保宿舍的安全管理。
(11)来访登记管理:管理员可以添加、查询、重置、删除来访者的登记信息。这有助于记录和管理宿舍区的访客情况,保障学生安全。
(12)宿舍报修管理:管理员可以添加、查询、重置、删除宿舍报修记录。这有助于及时处理宿舍设施的损坏问题,确保学生的生活质量。
(13)文明宿舍管理:管理员可以添加、查询、重置、删除文明宿舍的评选记录。这有助于鼓励宿舍间的良好竞争,提升宿舍整体的文明水平。
3.2系统非功能性分析
在研究学生公寓管理系统时,非功能性需求分析是一个重要的部分。非功能性需求主要关注的是系统如何运行,而不是它具体完成什么功能。这些需求包括性能、可用性、安全性、可维护性、可扩展性、易用性等方面。以下是一个关于学生公寓管理系统非功能性需求分析的概要。
性能需求:系统需确保快速响应和高吞吐量,以支持大量用户同时访问,即使在高峰时段也能保持流畅的操作体验,避免因延迟或卡顿影响用户体验。
可用性:安系统必须具备高可用性,采用冗余部署、负载均衡等策略,确保即使部分组件故障也能迅速恢复服务,减少服务中断时间,保障用户业务的连续性。
安全性:鉴于系统处理用户敏感信息,如个人信息等,必须实施严格的安全措施,包括数据加密、访问控制、防攻击机制等,以保护用户数据免受未授权访问或泄露。
可维护性:系统设计应注重可维护性,采用模块化、标准化的架构,提供详尽的开发文档和用户手册,确保系统易于理解和维护,降低长期运维成本。
可扩展性:随着业务的发展,系统可能需要扩展功能或提升性能。因此,系统需具备灵活的可扩展性,能够轻松添加新模块、优化性能,以应对未来增长的需求。
易用性:用户界面应直观易用,符合用户习惯,提供清晰的导航和友好的操作反馈,帮助用户快速上手并高效完成任务,提升整体用户满意度。
3.3系统可行性分析
通过学生公寓管理系统的可行性分析,从技术可行性、经济可行性、操作可行性以及社会可行性四个维度进行深入探讨,以确保系统的开发与应用具有坚实的可行性基础。
3.3.1技术可行性
SpringBoot作为目前流行的Java企业级应用开发框架,以其“约定优于配置”的原则,极大地简化了开发流程,降低了技术门槛。前端采用Vue框架,不仅提升了用户界面的交互体验,也实现了前后端分离的现代Web架构。MySQL数据库作为后端数据存储,以其高性能和稳定性为系统提供了可靠的数据支持。综上所述,从技术角度来看,该系统的开发具备高度可行性。
3.3.2经济可行性
考虑到SpringBoot、Vue、及MySQL等均为开源技术,无需支付高昂的许可费用,大大降低了系统的开发成本。同时,这些技术拥有广泛的用户群体和成熟的社区支持,便于获取技术支持和资源共享。此外,系统的实施将显著提升系统管理的效率和用户体验,从而带来潜在的经济效益。因此,从经济角度来看,该系统的开发同样具备可行性。
3.3.3操作可行性
系统设计应遵循用户友好原则,确保用户能够轻松上手并高效使用。通过合理的界面布局、直观的操作流程以及详尽的帮助文档,可以大大降低用户的学习成本,提高系统的操作可行性。此外,系统还应具备完善的权限管理和数据安全机制,确保操作的安全性和合规性。
3.3.4社会可行性
学生公寓管理系统的社会可行性主要体现在其能够有效提升学生公寓管理的效率,减少人工操作,提高系统的准确性和透明度。通过在线化的学生公寓管理,用户可以更方便地进行操作,避免了传统方式中的繁琐和不便,符合信息化时代的发展需求。同时,该系统能够根据实际需求进行调整和优化,确保公平公正,提升社会认同感,促进学校管理的现代化,具有较高的社会适应性和可行性。
从技术、经济、操作和社会四个维度来看,学生公寓管理系统的开发均具备高度的可行性。
3.4系统用例分析
学生公寓管理系统用例分析主要从学生用户、宿管用户和管理员用户三个实体展开描述。
3.4.1学生用户用例分析
学生用户通过系统可以及时获取学校发布的最新通知和公告,了解学院动态,同时还能方便地管理个人宿舍相关事务,如查询水电费用、记录晚归情况、登记访客信息以及提交宿舍维修申请等。此外,该系统还支持对学生宿舍行为规范的管理,帮助维护良好的宿舍秩序,促进文明宿舍建设。此系统旨在为学生提供一个便捷、高效的一站式服务平台,以优化校园生活质量。详细用例图如图3.1所示。

图3.1学生用户用例图
3.4.2宿管用户用例分析
宿管用户功能旨在为宿舍管理人员提供一个全面、高效的管理平台,涵盖通知公告的发布与管理、学院信息的查询、楼层及宿舍信息的详细维护、违规行为和账单的记录与处理、学生评选信息的添加、水电费信息的管理、晚归记录的跟踪、来访登记的控制、宿舍报修申请的审核与安排,以及文明宿舍的管理。本系统简化了宿舍管理流程,提高了工作效率,为宿管人员提供了强大的支持工具。详细用例图如图3.2所示。

图3.2宿管用户用例图
3.4.3管理员用例分析
本系统为校园宿舍管理提供了一套全面的解决方案,集成了用户管理、通知公告管理、学院信息管理、楼层与宿舍信息管理、违规信息管理、水电费信息管理、晚归记录管理、来访登记管理、宿舍报修管理和文明宿舍管理等多项核心功能。该系统旨在优化校园宿舍管理流程,提高工作效率和服务质量,为学生和管理人员提供一个便捷、高效的平台。详细用例图如图3.3所示。

图3.3管理员用例图
4系统设计
4.1系统总体设计思路
学生公寓管理系统采用Browser/Server结构,(浏览器/服务器)和基于Web服务前后台交互的模式,是一个适用于Windows体系环境下的模型结构。只要用户有符合程序运行的硬件系统,并连上互联网,便可以在任何时间、任何地点使用。系统工作原理图如图4.1所示:

图4.1系统工作原理图
其最终前后台交互原理如图4.2所示。

图4.2前后台交互原理
具体交互流程为:浏览器中执行具体操作,操作命令将生成一个do方法。该方法使得浏览器能够访问后台中的Controller层,Controller层由于业务上的需要执行进而访问Service层。Service层收到指令后将会去调用内部DAO层的接口。接口将会和MyBatis层下的一个SQL语句相对接。对接好之后进而访问MySql数据库。更新底层数据,然后将数据同步回MyBatis层,同步变化后的数据将通过DAO层接口,Service层和后台Controller层,直观反映到浏览器页面上。
4.2系统结构设计
学生公寓管理系统的整体结构设计如图4.3所示。

图4.3整体功能结构设计图
4.3系统功能设计
4.3.1用户登录流程
当用户进入登录页面时,当其在浏览器执行具体操作的时候,后端会同步显示,如图4.4所示。

图4.4登录流程图
4.3.2程序操作流程
用户访问平台网站,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录平台。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。程序操作流程如图4.5所示。

图4.5程序操作流程图
4.4系统核心代码设计
学生公寓管理系统的核心代码设计如下:
4.4.1用户注册
注册页UserController.java,传入user对象,并将"user_id"、 "state"、 "user_group"、"login_time"、"phone"、"phone_state"、 "username"、"nickname"、"password"、"email"、"email_state"、"avatar"、"create_time"输入,重点是 "username"、"nickname"、"password"必须输入,通过获取username,数据库查询是否有该用户,如果存在,则提示“用户已存在”,否则执行将UserId置为空(数据库表中该字段已设置自动递增),代码如下所示。
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));
query.put("username",user.getUsername());
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, "用户已存在");
}
map.put("password",service.encryption(String.valueOf(map.get("password"))));
service.insert(map);
return success(1);
}
4.4.2用户登录
登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,代码如下所示。
/**
* 登录
* @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.selectBaseList(service.select(map, new HashMap<>()));
}
4.4.3修改密码
修改密码,通过请求data,获取旧密码,并将新密码重新赋值,期间都是需要通过加密,代码如下所示。
/**
* 修改密码
* @param data
* @param request
* @return
*/
@PostMapping("change_password")
public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){
// 根据Token获取UserId
String token = request.getHeader("x.auth.token");
Integer userId = tokenGetUserId(token);
// 根据UserId和旧密码获取用户
Map<String, String> query = new HashMap<>();
String o_password = data.get("o_password");
query.put("user_id" ,String.valueOf(userId));
query.put("password" ,service.encryption(o_password));
int count = service.selectBaseCount(service.count(query, service.readConfig(request)));
if(count > 0){
// 修改密码
Map<String,Object> form = new HashMap<>();
form.put("password",service.encryption(data.get("password")));
service.update(query,service.readConfig(request),form);
return success(1);
}
return error(10000,"密码修改失败!");
4.4.4修改数据
修改一个数据,原理与add基本一致,不同点在于通过readConfig()读取关键字,以及通过readQuery()获取URL后面?指定位置的标识,转成Map对象后,执行update操作,同样通过拼接的sql语句执行,执行过程读取query,toWhereSql()语句完成数据库操作,body为修改对象的值,代码如下所示。
@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.4.5删除数据
删除一条数据,通过readQuery(),获取URL后面的对象地址,删除FROM具体的table,query删除查询FindConfig语句,代码如下所示。
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
public void delete(Map<String,String> query,Map<String,String> config){
QueryWrapper wrapper = new QueryWrapper<E>();
toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);
baseMapper.delete(wrapper);
log.info("[{}] . 删除操作:{}",wrapper.getSqlSelect());
}
4.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.4.7图片上传
通过请求的参数获取列表数据,代码如下所示。
@PostMapping("/upload")
public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {
log.info("进入方法");
if (file.isEmpty()) {
return error(30000, "没有选择文件");
}
try {
//判断有没路径,没有则创建
String filePath = System.getProperty("user.dir") + "/src/main/resources/static/";
File targetDir = new File(filePath);
if (!targetDir.exists() && !targetDir.isDirectory()) {
if (targetDir.mkdirs()) {
log.info("创建目录成功");
} else {
log.error("创建目录失败");
}
}
4.5数据库设计
4.5.1数据库设计原则
学生公寓管理系统在进行数据库设计时,考虑到个人能力与数据库选择,选择了数据库Mysql。以下将使用E.R展示数据库中设计的实体及主要的字段和类型及数据库的描述。
4.5.2数据库实体
通过建立学生公寓管理系统的E.R模型图。以此来设计详细的数据库资料实体,以下为具体图例:
(1)学生用户实体图如下图所示;

图4.6学生用户实体图
(2)水电费信息实体图如下图所示;

图4.7水电费信息实体图
(3)宿舍信息实体ER图如下图所示;

图4.8宿舍信息实体E.R图
(4)宿舍报修实体ER图如下图所示;

图4.9宿舍报修实体E.R图
(5)整体数据库实体E.R图如下图所示:

图4.10数据库E.R图
4.5.3数据库表设计
以下为系统开发过程中所使用的数据表如下所示:
表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 用户编号:
表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 parent varchar 64 0 Y N 父级菜单
8 parent_sort int 10 0 N N 0 父级菜单排序
9 position varchar 32 0 Y N 位置:
10 mode varchar 32 0 N N _blank 跳转方式:
11 add tinyint 3 0 N N 1 是否可增加:
12 del tinyint 3 0 N N 1 是否可删除:
13 set tinyint 3 0 N N 1 是否可修改:
14 get tinyint 3 0 N N 1 是否可查看:
15 field_add text 65535 0 Y N 添加字段:
16 field_set text 65535 0 Y N 修改字段:
17 field_get text 65535 0 Y N 查询字段:
18 table_nav_name varchar 500 0 Y N 跨表导航名称:
19 table_nav varchar 500 0 Y N 跨表导航:
20 option text 65535 0 Y N 配置:
21 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间:
22 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间:
表civilized_dormitory (文明宿舍)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 civilized_dormitory_id int 10 0 N Y 文明宿舍ID
2 dormitory_management_users int 10 0 Y N 0 宿管用户
3 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
4 student_users int 10 0 Y N 0 学生用户
5 student_name varchar 64 0 Y N 学生姓名
6 dormitory_name varchar 64 0 Y N 宿舍名称
7 floor_location varchar 64 0 Y N 所在楼层
8 selection_date date 10 0 Y N 评选日期
9 reason_for_selection text 65535 0 Y N 获选原因
10 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间
11 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间
12 source_table varchar 255 0 Y N 来源表
13 source_id int 10 0 Y N 来源ID
14 source_user_id int 10 0 Y N 来源用户
表code_token
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 code_token_id int 10 0 N Y
2 token varchar 255 0 Y N
3 code varchar 255 0 Y N 验证码
4 expire_time timestamp 19 0 N N CURRENT_TIMESTAMP 失效时间
5 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间
6 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间:
表college_information (学院信息)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 college_information_id int 10 0 N Y 学院信息ID
2 college_name varchar 64 0 Y N 学院名称
3 professional_name varchar 64 0 Y N 专业名称
4 location_city varchar 64 0 Y N 所在城市
5 contact_information varchar 64 0 Y N 联系方式
6 college_pictures varchar 255 0 Y N 学院图片
7 college_introduction 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_information (宿舍信息)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 dormitory_information_id int 10 0 N Y 宿舍信息ID
2 dormitory_management_users int 10 0 Y N 0 宿管用户
3 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
4 student_users int 10 0 Y N 0 学生用户
5 dormitory_name varchar 64 0 Y N 宿舍名称
6 floor_location varchar 64 0 Y N 所在楼层
7 student_grade varchar 64 0 Y N 学生年级
8 number_of_guests varchar 64 0 Y N 入住人数
9 check_in_date date 10 0 Y N 入住日期
10 dormitory_status varchar 64 0 Y N 宿舍状态
11 personnel_information text 65535 0 Y N 人员信息
12 violation_information_limit_times int 10 0 N N 0 违规限制次数
13 water_and_electricity_fee_information_limit_times int 10 0 N N 0 账单限制次数
14 civilized_dormitory_limit_times int 10 0 N N 0 评选限制次数
15 dormitory_repair_report_limit_times int 10 0 N N 0 报修限制次数
16 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间
17 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间
表dormitory_management_users (宿管用户)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 dormitory_management_users_id int 10 0 N Y 宿管用户ID
2 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
3 dormitory_management_gender varchar 64 0 Y N 宿管性别
4 contact_information 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 更新时间
表dormitory_repair_report (宿舍报修)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 dormitory_repair_report_id int 10 0 N Y 宿舍报修ID
2 dormitory_management_users int 10 0 Y N 0 宿管用户
3 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
4 student_users int 10 0 Y N 0 学生用户
5 student_name varchar 64 0 Y N 学生姓名
6 dormitory_name varchar 64 0 Y N 宿舍名称
7 repair_name varchar 64 0 Y N 报修名称
8 date_of_repair_report date 10 0 Y N 报修日期
9 reported_repair_content text 65535 0 Y N 报修内容
10 examine_state varchar 16 0 N N 未审核 审核状态
11 examine_reply varchar 16 0 Y N 审核回复
12 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间
13 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间
14 source_table varchar 255 0 Y N 来源表
15 source_id int 10 0 Y N 来源ID
16 source_user_id int 10 0 Y N 来源用户
表floor_information (楼层信息)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 floor_information_id int 10 0 N Y 楼层信息ID
2 dormitory_management_users int 10 0 Y N 0 宿管用户
3 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
4 floor_name varchar 64 0 Y N 楼层名称
5 location varchar 64 0 Y N 所在位置
6 number_of_guests varchar 64 0 Y N 入住人数
7 student_grade varchar 64 0 Y N 学生年级
8 check_in_date date 10 0 Y N 入住日期
9 floor_height varchar 64 0 Y N 楼层层高
10 floor_guide 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 更新时间
表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:
表late_return_record (晚归记录)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 late_return_record_id int 10 0 N Y 晚归记录ID
2 dormitory_management_users int 10 0 Y N 0 宿管用户
3 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
4 student_users int 10 0 Y N 0 学生用户
5 student_name varchar 64 0 Y N 学生姓名
6 dormitory_name varchar 64 0 Y N 宿舍名称
7 record_date date 10 0 Y N 记录日期
8 late_return_time datetime 19 0 Y N 晚归时间
9 punishment_status varchar 64 0 Y N 处罚状态
10 record_details 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 更新时间
表notice_announcement (通知公告)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 notice_announcement_id int 10 0 N Y 通知公告ID
2 notification_title varchar 64 0 Y N 通知标题
3 release_time datetime 19 0 Y N 发布时间
4 dormitory_management_users int 10 0 Y N 0 宿管用户
5 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
6 announcement_content text 65535 0 Y N 公告内容
7 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间
8 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间
表schedule (日程管理)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 schedule_id smallint 5 0 N Y 日程ID:[0,32767]
2 content varchar 255 0 Y N 日程内容
3 scheduled_time datetime 19 0 Y N 计划时间
4 user_id int 10 0 N N 用户id
5 create_time datetime 19 0 Y N 创建时间
6 update_time datetime 19 0 Y N 更新时间
表score (评分)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 score_id int 10 0 N Y 评分ID:
2 user_id int 10 0 N N 0 评分人:
3 nickname varchar 64 0 Y N 昵称:
4 score_num double 5 2 N N 0.00 评分:
5 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间:
6 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间:
7 source_table varchar 255 0 Y N 来源表:
8 source_field varchar 255 0 Y N 来源字段:
9 source_id int 10 0 N N 0 来源ID:
表student_users (学生用户)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 student_users_id int 10 0 N Y 学生用户ID
2 student_name varchar 64 0 Y N 学生姓名
3 student_gender varchar 64 0 Y N 学生性别
4 student_phone_number varchar 64 0 Y N 学生电话
5 student_id varchar 64 0 Y N 学生学号
6 examine_state varchar 16 0 N N 已通过 审核状态
7 user_id int 10 0 N N 0 用户ID
8 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间
9 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 文件类型
表user (用户账户:用于保存用户登录信息)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 user_id int 10 0 N Y 用户ID:[0,8388607]用户获取其他与用户相关的数据
2 state smallint 5 0 N N 1 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
3 user_group varchar 32 0 Y N 所在用户组:[0,32767]决定用户身份和权限
4 login_time timestamp 19 0 N N CURRENT_TIMESTAMP 上次登录时间:
5 phone varchar 11 0 Y N 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
6 phone_state smallint 5 0 N N 0 手机认证:[0,1](0未认证|1审核中|2已认证)
7 username varchar 16 0 N N 用户名:[0,16]用户登录时所用的账户名称
8 nickname varchar 16 0 Y N 昵称:[0,16]
9 password varchar 64 0 N N 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
10 email varchar 64 0 Y N 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
11 email_state smallint 5 0 N N 0 邮箱认证:[0,1](0未认证|1审核中|2已认证)
12 avatar varchar 255 0 Y N 头像地址:[0,255]
13 open_id varchar 255 0 Y N 针对获取用户信息字段
14 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间:
表user_group (用户组:用于用户前端身份和鉴权)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 group_id mediumint 8 0 N Y 用户组ID:[0,8388607]
2 display smallint 5 0 N N 100 显示顺序:[0,1000]
3 name varchar 16 0 N N 名称:[0,16]
4 description varchar 255 0 Y N 描述:[0,255]描述该用户组的特点或权限范围
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:
8 register smallint 5 0 Y N 0 注册位置:
9 create_time timestamp 19 0 N N CURRENT_TIMESTAMP 创建时间:
10 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间:
表violation_information (违规信息)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 violation_information_id int 10 0 N Y 违规信息ID
2 dormitory_management_users int 10 0 Y N 0 宿管用户
3 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
4 student_users int 10 0 Y N 0 学生用户
5 student_name varchar 64 0 Y N 学生姓名
6 dormitory_name varchar 64 0 Y N 宿舍名称
7 floor_location varchar 64 0 Y N 所在楼层
8 student_grade varchar 64 0 Y N 学生年级
9 violation_name varchar 64 0 Y N 违规名称
10 record_date date 10 0 Y N 记录日期
11 penalty_amount double 9 2 Y N 0.00 处罚金额
12 violation_content text 65535 0 Y N 违规内容
13 create_time datetime 19 0 N N CURRENT_TIMESTAMP 创建时间
14 update_time timestamp 19 0 N N CURRENT_TIMESTAMP 更新时间
15 source_table varchar 255 0 Y N 来源表
16 source_id int 10 0 Y N 来源ID
17 source_user_id int 10 0 Y N 来源用户
表visitor_registration (来访登记)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 visitor_registration_id int 10 0 N Y 来访登记ID
2 dormitory_management_users int 10 0 Y N 0 宿管用户
3 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
4 student_users int 10 0 Y N 0 学生用户
5 student_name varchar 64 0 Y N 学生姓名
6 visiting_dormitory varchar 64 0 Y N 来访宿舍
7 number_of_visitors double 9 2 Y N 0.00 来访人数
8 date_of_visit date 10 0 Y N 来访日期
9 departure_time datetime 19 0 Y N 离开时间
10 record_details 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 更新时间
表water_and_electricity_fee_information (水电费信息)
编号 名称 数据类型 长度 小数位 允许空值 主键 默认值 说明
1 water_and_electricity_fee_information_id int 10 0 N Y 水电费信息ID
2 dormitory_management_users int 10 0 Y N 0 宿管用户
3 name_of_dormitory_manager varchar 64 0 Y N 宿管姓名
4 student_users int 10 0 Y N 0 学生用户
5 dormitory_name varchar 64 0 Y N 宿舍名称
6 floor_location varchar 64 0 Y N 所在楼层
7 utility_bill varchar 64 0 Y N 水电账单
8 statement_date date 10 0 Y N 账单日期
9 payment_amount double 9 2 Y N 0.00 缴费金额
10 bill_introduction 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 更新时间
13 source_table varchar 255 0 Y N 来源表
14 source_id int 10 0 Y N 来源ID
15 source_user_id int 10 0 Y N 来源用户
5系统实现
5.1学生用户功能实现
5.1.1用户注册
学生用户注册功能要求学生填写个人信息,包括姓名、学号、性别、手机等信息。系统通过验证码验证身份,确保信息准确无误。填写完成后,用户提交信息,系统进行校验并保存数据。如下图所示。

图5.1用户注册界面图
5.1.2用户登录
用户在登录页面填写账号和密码,系统校验输入信息是否与数据库中记录一致。若验证通过,用户成功登录,进入个人主页;若验证失败,系统提示错误信息并允许重新输入。为提高安全性,可加入验证码防止恶意登录。若忘记密码,提供密码重置功能,通过短信或邮箱验证身份后,用户可重设密码,确保账户安全。如下图所示。

图5.2用户登录界面图
5.1.3宿舍信息管理
学生可以查询宿舍楼和房间的相关信息,并查看宿舍的详细资料。此外,学生还可以申请宿舍报修,提交给宿管部门审核,以便及时解决宿舍设施问题。报修申请如下图所示。

图5.3报修申请界面图
5.2 宿管用户功能实现
5.2.1通知公告管理
宿管人员可以在此模块添加新的通知或公告,供所有宿舍学生查看。同时,可以查询历史通知、重置未读状态或删除不再需要的公告,确保信息的及时更新和准确性。如下图所示。

图5.4通知公告管理界面
5.2.2楼层信息管理
宿管人员可以添加新的楼层信息,包括楼层名称、所在位置、楼层层高和楼层简介等。同时,可以查询、重置、查看详情或删除已有的楼层信息,确保楼层数据的准确性和及时更新。如下图所示。

图5.5楼层信息添加界面
5.2.3宿舍信息管理
宿管人员可以添加宿舍的基本信息,如宿舍名称、所在楼层、学生年级和入住人数等。此外,还可以查询、重置和删除宿舍信息,并且可以添加学生违规、水电费账单、宿舍评选等信息,以全面管理宿舍的日常情况。
例如,宿舍信息添加界面如下图所示。

图5.6宿舍信息添加界面
例如,违规信息添加界面如下图所示。

图5.7违规信息添加界面
例如,水电费信息添加界面如下图所示。

图5.8水电费信息添加界面
例如,宿舍评选信息添加界面如下图所示。

图5.9评选信息添加界面
5.2.4晚归记录管理
宿管人员可以添加学生的晚归记录,包括晚归时间、处罚状态和记录详情等。同时,可以查询、重置和删除历史晚归记录,以跟踪学生的晚归情况并采取相应的管理措施。如下图所示。

图5.10晚归记录添加界面
5.2.2来访登记管理
宿管人员可以添加来访登记信息,包括来访人数、来访日期、离开时间及记录详情等。此外,可以查询、重置和删除历史来访记录,以确保宿舍的安全和秩序。如下图所示。

图5.11来访登记添加界面
5.2.5宿舍报修管理
宿管人员可以查询和查看学生的报修申请,并审核这些申请。一旦申请被批准,宿管人员可以安排维修师傅进行维修工作,并跟踪维修进度,确保宿舍设施的正常运行。如下图所示。

图5.12报修申请审核界面
5.3管理员功能实现
5.3.1用户管理
管理员可以查看、编辑和管理系统中的管理员账号权限,确保后台的安全与操作规范。同时,管理员可以对学生及宿管用户信息进行查看和修改,确保数据的准确性和及时更新。该功能支持对不同角色用户进行管理和操作,确保系统正常运行和信息流通。如下图所示。

图5.13用户管理界面
5.3.2学院信息管理
管理员可以添加新的学院信息,包括学院名称、专业名称、所在城市、上传学院图片、编写简介等。同时,管理员可以查询、重置、查看详情、删除已有的学院信息,以及管理用户对学院信息的评论。如下图所示。

图5.14添加学院信息界面
5.3.3楼层信息管理
管理员可以添加楼层信息,如宿管用户、宿管姓名、楼层名称、所在位置、入住人数等。此外,管理员可以查询、重置、查看详情、删除楼层信息,确保楼层数据的准确性和及时更新。如下图所示。

图5.15楼层信息管理界面
6系统测试
6.1系统测试目标
为了保证学生公寓管理系统的质量,使其能够稳定的运行,并排除其可能存在的未知隐患。解除软件可能存在的故障,理清楚测试与纠错的关系,如下图所示。

图6.1测试与纠错信息流程
6.2系统功能测试
在系统的功能验证阶段,我们将对全部的功能界面进行全面测试。具体而言,我们将模拟用户行为,输入各类数据并进行提交操作,随后仔细观察和分析每个页面的响应反馈。这一过程旨在验证系统的功能完整性,确保页面所呈现的功能与预期相符,并能够完全实现预设的交互逻辑。通过这种全面细致的测试方法,我们将确保系统在实际应用中能够稳定、准确地响应用户需求。
下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6.1 系统登录功能测试用例
功能描述 用于系统登录
测试目的 检测登录时的合法性检查
测试数据以及操作 预期结果 实际结果
输入的用户名和密码带有非法字符 提示用户名或者密码错误 与预期结果一致
输入的用户名或者密码为空 提示用户名或者密码错误 与预期结果一致
输入的用户名和密码不存在 提示用户名或者密码错误 与预期结果一致
输入正确的用户名和密码 登录成功 与预期结果一致
下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。
表6.2 注册功能测试用例
功能描述 用于用户注册
测试目的 检测用户注册时的合法性检查
测试数据以及操作 预期结果 实际结果
输入的手机号不合法 提示请输入正确的手机号码 与预期结果一致
输入的字段为空 提示必填项不能为空 与预期结果一致
输入的密码少于6位 提示密码必须为6-12位 与预期结果一致
输入的密码大于12位 提示密码必须为6-12位 与预期结果一致
下表是求宿舍信息管理功能的测试用例,检测了宿舍信息管理中对宿舍信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员/宿管用户登录系统。
表6.3 宿舍信息管理的测试用例
功能描述 用于宿舍信息
测试目的 检测宿舍信息时的各种操作的运行情况
测试数据以及操作 预期结果 实际结果
点击添加宿舍信息,必填项合法输入,点击保存 提示添加成功 与预期结果一致
点击添加宿舍信息,必填项输入不合法,点击保存 提示必填项不能为空 与预期结果一致
点击修改宿舍信息,必填项修改为空,点击保存 提示必填项不能为空 与预期结果一致
点击修改宿舍信息,必填项输入不合法,点击保存 提示必填项不能为空 与预期结果一致
点击删除宿舍信息,选择宿舍信息删除 提示删除成功 与预期结果一致
点击搜索宿舍信息,输入存在的宿舍名称 查找出相应宿舍信息 与预期结果一致
点击搜索宿舍信息,输入不存在的宿舍名称 不显示宿舍信息 与预期结果一致
下表是水电费管理功能的测试用例,检测了水电费管理管理中对水电费信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;管理员/宿管用户登录系统。
表6.4 水电费管理的测试用例
功能描述 用于水电费管理
测试目的 检测水电费时的各种操作的运行情况
测试数据以及操作 预期结果 实际结果
点击添加水电费信息,必填项合法输入,点击保存 提示添加成功 与预期结果一致
点击添加水电费信息,必填项输入不合法,点击保存 提示必填项不能为空 与预期结果一致
点击修改水电费,必填项修改为空,点击保存 提示必填项不能为空 与预期结果一致
点击修改水电费信息,必填项输入不合法,点击保存 提示必填项不能为空 与预期结果一致
点击删除水电费信息,选择水电费费删除 提示删除成功 与预期结果一致
点击搜索水电费,输入存在的账单名称 查找出相应水电费信息 与预期结果一致
点击搜索水电费,输入不存在的账单名称 不显示水电费信息 与预期结果一致
下表是宿舍报修管理功能的测试用例,检测了宿舍报修管理中对宿舍报修申请功能的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。
前置条件;学生用户登录系统。
表6.5 宿舍报修管理的测试用例
功能描述 用于宿舍报修
测试目的 检测宿舍报修信息时的各种操作的运行情况
测试数据以及操作 预期结果 实际结果
点击添加报修申请,必填项合法输入,点击保存 提示添加成功 与预期结果一致
点击添加报修信息,必填项输入不合法,点击保存 提示必填项不能为空 与预期结果一致
点击修改报修信息,必填项修改为空,点击保存 提示必填项不能为空 与预期结果一致
点击修改报修信息,必填项输入不合法,点击保存 提示必填项不能为空 与预期结果一致
点击删除报修信息,选择报修信息删除 提示删除成功 与预期结果一致
点击搜索报修信息,输入存在的报修名称 查找出相应报修信息 与预期结果一致
点击搜索报修信息,输入不存在的报修名称 不显示报修信息 与预期结果一致
6.3测试结果总结
通过对用户注册、登录、宿舍信息、宿舍报修申请等功能的全面测试,系统在大部分场景下表现良好。用户能够顺利完成注册、登录及宿舍信息查看等操作,系统能够正确处理常见错误,如密码错误、用户名重复等问题。然而,在一些特殊场景中,系统能及时给出明确提示,避免用户误操作。宿舍报修申请功能也能根据用户需求进行灵活处理。整体而言,系统稳定性高,功能响应及时,用户体验良好,但仍需关注个别场景的优化。
总结与展望
总结:本校园宿舍管理系统通过集成用户管理、通知公告管理、学院信息管理、楼层与宿舍信息管理、违规处理、水电费管理、晚归记录、来访登记、宿舍报修和文明宿舍管理等功能,实现了宿舍管理流程的全面优化。系统不仅简化了日常操作,提高了工作效率和服务质量,还增强了信息透明度和沟通效率,促进了宿舍生活的规范化和文明建设。通过对不同角色如学生用户、宿管用户和管理员的权限分配,确保了操作的安全性和针对性,满足了多样化需求。总体而言,该系统为学生和管理人员提供了一个便捷、高效的平台,显著提升了校园宿舍管理的整体水平。
展望:未来,校园宿舍管理系统将继续发展,以适应不断变化的用户需求。我们将进一步优化系统的功能,例如开发更便捷的移动应用,使用户能够随时随地进行操作,增加系统的可访问性。同时,利用图表和报表工具提供直观的数据展示,帮助管理者更好地理解和决策。我们还将致力于与其他校园信息系统(如教务系统、财务系统)进行整合,构建一体化的服务平台,实现信息共享和业务协同。此外,系统将增强互动性,增加在线反馈和问卷调查功能,持续改进服务内容和质量。最后,对宿舍内的水电气设备进行实时监控和智能控制,推动绿色校园建设。这些改进措施将使校园宿舍管理系统成为学校管理中不可或缺的一部分,为师生提供更加优质的服务和支持。
参考文献
[1]Wahyuni S ,Prayitno G ,Elhuda I , et al.Innovative geoelectrical methods for comprehensive groundwater evaluation in East Java, Indonesia[J].Results in Engineering,2024,24103390-103390.
[2]贾琴.Java编程语言的应用策略分析[J].集成电路应用,2024,41(10):84-85.DOI:10.19339/j.issn.1674-2583.2024.10.034.
[3]张帅.计算机软件Java编程特点与技术探究[J].科技资讯,2024,22(17):23-25.DOI:10.16661/j.cnki.1672-3791.2404-5042-5333.
[4]王鑫,胡晶,陈立泰,等.一种智慧校园智能学生公寓管理系统[P].吉林省:CN202410490613.1,2024-07-02.
[5]李腾飞.职业院校学生公寓管理中的数字化和智能化解决方案研究[J].国际公关,2024,(08):179-181.DOI:10.16645/j.cnki.cn11-5281/c.2024.08.019.
[6]施武祖.基于IT背景下的高校学生公寓管理系统设计[J].兰州工业学院学报,2023,30(06):38-42.
[7]王庆宝,刘燕宁,朱科文.基于智慧校园的学生公寓管理与服务探究——以山东青年政治学院为例[J].产业与科技论坛,2023,22(24):264-266.
[8]陈剑兴.高校学生公寓信息化管理系统设计[J].轻工科技,2023,39(05):101-104.
[9]李涛,黎宇骏,叶昭.高可靠性的学生公寓无线智能门锁管理系统[J].电子设计工程,2023,31(13):6-10.DOI:10.14022/j.issn1674-6236.2023.13.002.
[10]邢燕.基于物联网的校园智能用电管理系统[D].山东建筑大学,2021.DOI:10.27273/d.cnki.gsajc.2021.000624.
[11]庞坚.高校收费信息化建设对财务管理的影响——以广西农业职业技术学院为例[J].今日财富,2021,(06):166-167.
[12]米智恬,祁圣恩,赵璐唯,等.人脸识别在学生公寓管理系统中的应用[J].科技创新与应用,2021,(01):39-41.
[13]凌宇烽.高校学生公寓管理系统的设计与研究[J].科学技术创新,2021,(01):87-88.
[14]冯晓春,陈艳.基于web开发的学生公寓管理系统设计与实现[J].科技创新与应用,2020,(31):77-78.
[15]Kite J ,Schlub E T ,Zhang Y , et al.Exploring lecturer and student perceptions and use of a learning management system in a postgraduate public health environment[J].E-Learning and Digital Media,2020,17(3):183-198.
[16]白亮生.基于智慧校园理念的智能学生公寓管理系统设计[J].科学咨询(科技·管理),2019,(08):29-30.
[17]黄敏.基于B/S架构的学生公寓管理系统设计与实现[J].电脑知识与技术,2019,15(21):72-74.DOI:10.14004/j.cnki.ckt.2019.2331.
[18]李珊.基于JSP的高校学生公寓管理系统的设计与实现[J].中国管理信息化,2019,22(12):123-124.
[19]叶钢.基于物联网的学生公寓门禁管理系统的设计[J].科学技术创新,2019,(08):72-73.
[20]Wang W ,Bai L ,Zhu L .Student Apartment Management System Design and Implementation Based on ASP[J].Applied Mechanics and Materials,2014,3634(687-691):2234-2238.
致 谢
在本论文的撰写和系统开发过程中,我深刻体会到个人独立完成一项系统开发工作的挑战与成就感。首先,我要感谢我的导师,在整个研究和开发过程中给予了我无私的指导与建议。无论是在技术细节还是研究思路上,他都为我提供了宝贵的方向性指导,帮助我克服了许多难题。虽然整个开发过程是由我独立完成的,但导师的意见使我在遇到瓶颈时有了清晰的解决思路。
在开发过程中,我经历了从系统需求分析、架构设计到功能实现的完整过程。这不仅锻炼了我的编码能力,也让我在项目管理、时间安排和问题解决等方面有了长足的进步。我独立完成了系统的每一行代码,并通过反复测试和优化确保了系统的稳定性和性能。在遇到技术难题时,我通过查阅大量文献、技术文档和社区讨论,自主解决了各类问题,这个过程让我更加理解了技术的深度与广度。
同时,我也要感谢我的家人和朋友,他们在开发的整个过程中给予了我莫大的支持和鼓励,成为我坚持完成这项工作的动力。正是在这些力量的支持下,我才能独立完成这项系统开发并顺利完成论文的撰写。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
1514

被折叠的 条评论
为什么被折叠?



