目录
第一章 绪论
各所高校的信息化水平都在不断加强,学生公寓管理是学校日常管理的一项重要工作,通过调研发现很多高校的学生管理系统已经趋于完善,管理模式已然达到领先水平,但是内工大的学生公寓管理系统比较简陋,一些需求没有实现,这导致公寓管理人员的管理效率较低,这就迫切需要我们结合自身需求开发出一套属于自己的学生公寓管理系统。
1.1 研究内容
基于Spring Boot的学生公寓管理系统开发的主要工作可以分为以下三个阶段,第一个阶段是对系统的要求进行分析,并对其进行可行性分析;第二个阶段是对系统的整体架构和具体的系统进行设计,并对其各个模块的功能进行了分析,着手在网上学习相关技术,与此同时开始对网页的制作,具体功能模块的实现并且对每一个功能进行了测试;第三个阶段即对本文内容进行重新编辑、撰写。本篇毕业设计的文章内容主要可以细分为如下六个章节,依次是:第一章,绪论,重点介绍了系统开发的背景及意义、国内外研究状况和对课题的内容并对系统的开发工作做了大致的阐述;第二章,介绍了系统的开发环境和技术,主要对开发系统所需环境以及相关的技术进行了简要的概述;第三章,系统分析,主要从系统需求分析和系统可行性分析进行叙述;第四章,系统设计,通过图示进行说明;第五章,系统实现,主要从学生和管理员这两个角色进行说明;第六章,系统测试,重要概述了测试对于系统开发的重要性,并且对本系统的各个功能模块和非功能性需求进行了详细测试与分析。
第二章 开发环境
2.1 开发环境
(1)系统硬件配置:
内存:1024M及以上
处理器:Intel 酷睿 i5
(2)系统软件配置:
系统架构:B/S
后端框架:Spring Boot
前端框架:Vue,
数据库:MySQL
编程语言:Java
浏览器:Microsoft Edge、Google Chrome等常见浏览器均可
操作系统:Windows 10
(3)开发工具:IDEA
2.2 B/S架构
B/S架构是在Web技术出现与发展之后,对C/S结构进行了优化的一种体系结构。B/S体系结构使得客户机无需安装对应的软件,只需通过浏览器访问相关IP地址,即可实现数据的交互。在B/S结构中,服务器的任务是收集、分析、处理、发布信息,而客户端只需处理少量的事务,这就大大地降低了客户端的工作负荷,提高了系统的CPU性能。该体系结构可以被称作是一种分布式的工作模式,它可以有效地减少资源消耗,增加可扩展性,并增强系统中每个设备的资源使用。
B/S架构主要包括三部分:浏览器端、服务器端和中间件。浏览器端是指由使用者电脑所用的,它是使用者电脑的运行界面,通过向服务器端传递相应的请求,对其进行分析、处理,最后将其呈现在客户端的浏览器界面,系统地完成了与服务器端的数据信息交互。服务器端,是B/S体系结构的核心,通常由一个及以上高效、强大的服务器组成,并需要进行数据库安装,它的功能是收集、分析、处理和分发数据,还能储存各种数据,生成各种数据的交互性日志,是整个体系结构的“司令部”。而中间件,则是连接浏览器与服务器“桥梁”,其功能是从浏览器上接收和传送数据,然后,将正确的处理结果发送到服务器上,并向浏览器端反馈正确的处理结果。可以说,中间件可以很好的解决数据的来源和传输问题,并确保B/S结构下数据准确的传输。B/S架构相对于C/S体系结构来说,它是一种基于网页,可扩展性很强,独立于操作系统的语言,其对用户端的要求不高,用浏览器可以直接访问数据库。本系统使用B/S这个基础架构,可以极大地提高开发效率以及开发的工作体量。
第三章系统功能需求分析
学生公寓管理系统实行B/S结构体系,基于Spring Boot框架技术下采用前后端分离的设计思路,运用Vue渐变式前端技术进行了网页优化,利用Java和MySQL进行开发。本系统主要由两个用户使用者组成:学生用户和管理员用户。
1、管理员用户:公寓管理员主要负责管理各项信息,包括学生资料信息的导入,管理公寓设备的维护,发布公告信息等。公寓管理员的主要功能:学生管理、宿舍管理、宿舍安排、卫生检查、报修处理、缴费管理等。管理员结构图如图。
(1)个人中心:可以进行密码修改、重置;
(2)公告信息管理:发布重要信息的公告通知;
(3)院系及班级管理:录入公寓内学生所属院系、班级信息;
(4)学生管理:查看学生基本信息情况,并对有误、新增信息进行处理,可以导出学生相关信息表格;
(5)宿舍信息管理:登记公寓内各宿舍信息,办理新生入住以及毕业生离宿处理;
(6)宿舍安排管理:对学生宿舍进行分配;
(7)卫生检查管理:记录学生宿舍的卫生情况,违纪情况;
(8)报修信息管理:查看学生的设施报修信息,并审核回复;
(9)报修处理管理:查看学生的设施报修进度,并反馈情况;
(10)缴费信息管理:处理学生水电生活费缴纳情况,可以导出学生缴费情况表。
2、学生用户:学生角色的功能主要是实现查询和上报信息。主要功能模块包括:公告信息查看、宿舍分配查询、卫生检查查询、报修信息上报、报修进度查询、缴费信息查询等。学生结构图如图。
(1)个人中心:可以进行密码修改;
(2)公告信息查看:学生可以及时查看公告信息;
(3)宿舍分配查询:学生可以第一时间查看自己的宿舍分配情况;
(4)宿舍卫生查询:学生可以查看卫生检查中本宿舍的卫生情况,是否违纪情况;
(5)报修信息上报:学生可以对宿舍内需要报修的设备进行上报;
(6)报修进度查询:学生对设备报修进度进行查看;
(7)缴费信息查询:学生可以对自己的缴费信息查询;
第四章 系统流程分析
4.1 系统开发流程
在开发学生公寓管理系统时,首先要进行需求分析,然后进行总体设计、功能模块的设计、数据库的设计、详细设计、代码编写、模块集成,系统实现、测试,最后完成部分功能的优化。本系统的开发运行图:
4.2 系统操作流程
进入系统后,首先进入到系统登陆界面,输入正确的账号和密码,然后选中所属人物角色,自动进行身份验证,信息确认无误,便可以进入系统的功能页面,进行相应的操作,否则将会出现无法登陆的错误提示。其运行过程如下:
4.3 用户登录流程
为保证系统的安全,首先要登陆到系统中,然后才能通过学生公寓管理系统进行系统信息的管理,其运行过程如下:
第五章数据库设计
在高校学生公寓管理系统中,数据库的开发与设计直接关系到整个系统的运行。
根据系统的设计要求,将收集到的数据进行分类、组织。采用E-R图进行清晰地描述,从而可以了解到实体与实体之间或实体与属性之间的关系,有助于将抽象的东西简洁化。其系统总信息实体E-R图如下:
学生公寓管理系统的各项功能均以数据库储存为基础来实现的。数据库的表信息是本系统的一部分,本块内容将对数据库中的各个数据表的信息进行介绍。
系统数据库整体信息表
表名 | 说明 | 功能 |
banji | 班级 | 主要用来存放班级信息的相关内容 |
baoxiuchuli | 报修处理 | 主要用来存放报修处理的相关内容 |
config | 配置文件 | 主要用来存放配置文件的相关内容 |
baoxiuxinxi | 报修信息 | 主要用来存放报修信息的相关内容 |
gonggaoxinxi | 公告信息 | 主要用来存放公告信息的相关内容 |
jiaofeixinxi | 缴费信息 | 主要用来存放缴费信息的相关内容 |
token | token表 | 主要用来存放token表的相关内容 |
users | 用户表 | 主要用来存放用户表的相关内容 |
sushexinxi | 宿舍信息 | 主要用来存放宿舍信息的相关内容 |
weishengjiancha | 卫生检查 | 主要用来存放卫生检查的相关内容 |
yuanxi | 院系 | 主要用来存放院系的相关内容 |
xuesheng | 学生 | 主要用来存放学生的相关内容 |
susheanpai | 宿舍安排 | 主要用来存放宿舍安排的相关内容 |
baoxiuchuli表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | addtime | varchar | NO | NO | 创建时间 |
NO.3 | baoxiushebei | varchar | YES | NO | 报修设备 |
NO.4 | leixing | varchar | YES | NO | 类型 |
NO.5 | baoxiuriqi | varchar | YES | NO | 报修日期 |
NO.6 | weixiufankui | varchar | YES | NO | 维修反馈 |
NO.7 | weixiujindu | varchar | YES | NO | 维修进度 |
NO.8 | gengxinriqi | varchar | YES | NO | 更新日期 |
NO.9 | xuehao | varchar | YES | NO | 学号 |
NO.10 | xueshengxingming | varchar | YES | NO | 学生姓名 |
NO.11 | banji | varchar | YES | NO | 班级 |
NO.12 | sushehao | varchar | YES | NO | 宿舍号 |
baoxiuxinxi表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | addtime | timestamp | NO | NO | 创建时间 |
NO.3 | baoxiushebei | varchar(200) | NO | NO | 报修设备 |
NO.4 | leixing | varchar(200) | NO | NO | 类型 |
NO.5 | tupian | varchar(200) | YES | NO | 图片 |
NO.6 | baoxiuneirong | longtext | YES | NO | 报修内容 |
NO.7 | baoxiuriqi | date | YES | NO | 报修日期 |
NO.8 | xuehao | varchar(200) | YES | NO | 学号 |
NO.9 | xueshengxingming | varchar(200) | YES | NO | 学生姓名 |
NO.10 | banji | varchar(200) | YES | NO | 班级 |
NO.11 | sushehao | varchar(200) | YES | NO | 宿舍号 |
NO.12 | shouji | varchar(200) | YES | NO | 手机 |
NO.13 | sfsh | varchar(200) | YES | NO | 是否审核 |
NO.14 | shhf | longtext | YES | NO | 审核回复 |
gonggaoxinxi表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | addtime | timestamp | NO | NO | 创建时间 |
NO.3 | gonggaobiaoti | varchar(200) | NO | NO | 公告标题 |
NO.4 | tupian | varchar(200) | YES | NO | 图片 |
NO.5 | neirong | longtext | YES | NO | 内容 |
NO.6 | faburiqi | date | YES | NO | 发布日期 |
banji表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | addtime | timestamp | NO | NO | 创建时间 |
NO.3 | banji | varchar(200) | NO | NO | 班级 |
jiaofeixinxi表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | addtime | timestamp | NO | NO | 创建时间 |
NO.3 | xuehao | varchar(200) | YES | NO | 学号 |
NO.4 | xueshengxingming | varchar(200) | YES | NO | 学生姓名 |
NO.5 | banji | varchar(200) | YES | NO | 班级 |
NO.6 | sushehao | varchar(200) | YES | NO | 宿舍号 |
NO.7 | jiaofeimingcheng | varchar(200) | NO | NO | 缴费名称 |
NO.8 | jiaofeileixing | varchar(200) | NO | NO | 缴费类型 |
NO.9 | jiaofeijine | int | NO | NO | 缴费金额 |
NO.10 | dengjiriqi | date | YES | NO | 登记日期 |
NO.11 | ispay | varchar(200) | YES | NO | 是否支付 |
susheanpai表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | addtime | timestamp | NO | NO | 创建时间 |
NO.3 | sushehao | varchar(200) | YES | NO | 宿舍号 |
NO.4 | susheleixing | varchar(200) | YES | NO | 宿舍类型 |
NO.5 | tupian | varchar(200) | YES | NO | 图片 |
NO.6 | weizhi | varchar(200) | YES | NO | 位置 |
NO.7 | kezhurenshu | varchar(200) | YES | NO | 可住人数 |
NO.8 | xuehao | varchar(200) | YES | NO | 学号 |
NO.9 | xueshengxingming | varchar(200) | YES | NO | 学生姓名 |
NO.10 | banji | varchar(200) | YES | NO | 班级 |
NO.11 | anpairiqi | date | YES | NO | 安排日期 |
sushexinxi表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | addtime | timestamp | NO | NO | 创建时间 |
NO.3 | sushehao | varchar(200) | NO | NO | 宿舍号 |
NO.4 | susheleixing | varchar(200) | NO | NO | 宿舍类型 |
NO.5 | tupian | varchar(200) | YES | NO | 图片 |
NO.6 | weizhi | varchar(200) | YES | NO | 位置 |
NO.7 | kezhurenshu | int | YES | NO | 可住人数 |
NO.8 | beizhu | varchar(200) | YES | NO | 备注 |
yuanxi表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | addtime | timestamp | NO | NO | 创建时间 |
NO.3 | yuanxi | varchar(200) | NO | NO | 院系 |
users表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | username | varchar | NO | NO | 用户名 |
NO.3 | password | varchar | NO | NO | 密码 |
NO.4 | role | varchar | YES | NO | 角色 |
NO.5 | addtime | timestamp | NO | NO | 新增时间 |
weishengjiancha表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | addtime | timestamp | NO | NO | 创建时间 |
NO.3 | xuehao | varchar(200) | YES | NO | 学号 |
NO.4 | xueshengxingming | varchar(200) | YES | NO | 学生姓名 |
NO.5 | banji | varchar(200) | YES | NO | 班级 |
NO.6 | sushehao | varchar(200) | YES | NO | 宿舍号 |
NO.7 | jianchaneiring | varchar(200) | YES | NO | 检查内容 |
NO.8 | shifouzhengjie | varchar(200) | YES | NO | 是否整洁 |
NO.9 | shifouweigui | varchar(200) | YES | NO | 是否违规 |
NO.10 | jianchajieguo | varchar(200) | YES | NO | 检查结果 |
NO.11 | jianchariqi | date | YES | NO | 检查日期 |
token表
编号 | 数据字段名 | 数据类型 | 允许空 | 是否主键 | 说明 |
NO.1 | id | int | NO | PK | 主键 |
NO.2 | userid | int | NO | NO | 用户id |
NO.3 | username | varchar | NO | NO | 用户名 |
NO.4 | tablename | varchar | YES | NO | 表名 |
NO.5 | role | varchar | YES | NO | 角色 |
NO.6 | token | varchar(200) | NO | NO | 密码 |
NO.7 | addtime | timestamp | NO | NO | 新增时间 |
NO.8 | expiratedtime | timestamp | NO | NO | 过期时间 |
第六章 系统展示
总体功能的实现本项目的代码是基于IDEA进行开发实现的,其代码如图。
登录模块的实现基于Spring Boot的学生公寓管理系统分为管理员和学生两个角色,这两个角色都需要在登录页面进行登录后才可以对公寓内的相关信息进行管理,在登录时需输入用户名+密码,并进行正确的角色选择即可完成登录的操作,若输入的用户账号和密码错误,则系统会给出提示直到输入正确后即可登录进行相关的管理操作。学生公寓管理系统登录界面如图。
公告信息管理该页面主要进行通知信息的上传下达,公寓管理员可以将学校、学院、公寓的重要、紧急通知通过该页面进行发布,可以减少信息传输层级,使得信息便捷传达,学生通过登录系统可以查看公告,保障信息的及时传递。如图5-4所示。
班级管理在该页面中可以查看公寓学生的班级、学院等相关信息,还可以对班级管理和院系管理中的内容进行修改或删除,及时更新公寓学生所属院系,保障信息的准确性。如图。