基于 SSM 的高校后勤管理系统
摘要
科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的广泛应用推动了信息时代的到来。在现实运用中,采用 Java 技术建设高校后勤管理系统。本设计主要实现集人性化、高效率、便捷等优点于一身的高校后勤管理系统,完成用户管理、故障报修、公寓信息、食堂管理、基础设施、校园环境、校医院信息等功能模块。系统通过浏览器与服务器进行通信,实现数据的交互与变更。本系统使用 Java 语言,基于 B/S 架构,后端部分采用 SSM 框架进行开发,数据方面主要采用 MySQL 关系型数据库来作为数据存储媒介。
关键词:高校后勤管理;SSM 框架;B/S 架构;MySQL 数据库
第 1 章 绪论
1.1 研究背景与意义
在校园后勤的日常管理过程中,用户管理、故障报修、公寓信息、食堂管理、基础设施、校园环境、校医院信息是日常管理中必不可少的组成部分,其管理水平的高低体现了一个高校后勤管理水平的整体状况。一直以来校园后勤使用传统人工的方式管理设备信息数据,这种管理方式存在着许多缺点,如效率低、保密性差,另外时间一长,将产生大量的文件和数据,为操作人员带来不少麻烦。
面对信息化时代的来临与校园后勤的发展改革和转型升级,高校后勤管理越来越正规化、科学化。使用计算机对一些信息管理,具有众多优点,可靠性高、存储量大、保密性好、寿命长、成本低等。因此开发一套高校后勤管理系统是很有必要的事情,它将成为不可缺少的一部分。在日常使用过程中,计算机系统提供的方便,使得操作人员提高工作效率,并使校园后勤资源得以更有效配置,从而提高校园后勤日常管理水平,也让校园内部更好的为使用者服务和提供便利。
1.2 开发现状
计算机在管理中的应用开始于 1954 年,当时美国首先用计算机处理工资单。40 多年来,计算机在处理管理信息方面发展迅速。例如,60 年代美国计算机在管理中应用项目不到 300 项,到了 1975 年达到 2670 项。而现在,美国在财务会计上 90% 的工作由计算机完成;物资管理中 80-100% 的信息处理由计算机完成;计划管理中是 80-90%。
在利用计算机实现管理信息化处理过程中,经历了三个阶段:首先是单机版处理阶段,在这一时期,网络还没有出现,计算机也只是简单地代替人们的工作,这只是初步阶段的计算机设备发展;之后随着计算机的发展,存储方法和手段也越来越先进,出现了光盘等存储介质,这一时期,电子设备就采用了光盘存储的方式来进行;而后期随着网络的出现,设备处理变得更加容易,方式也更多,网络版高校后勤管理系统出现,这是计算机技术发展到一定阶段的产物。如今,高校后勤管理系统在国内外各个企业单位,各行各业中都有所运用,并且经过长时间的发展和完善,信息高校后勤管理系统越来越方便简单和人性化,特别是校园后勤这种比较特殊的集体中,更是对信息设备的管理要求至高,且还要具有鲜明的校园后勤特色。
90 年代以后,随着微型计算机、互联网等迅速普及,计算机技术对高校后勤管理的影响越来越大,校园后勤进一步为人们所重视。在国内,有关领导曾明确提出:到 2018 年,全国一半以上校园后勤基本实现高校后勤管理信息化,80% 校园后勤全面应用计算机管理,初步实现管理现代化。经过深入细致的调查和了解,发现在很多发达国家的校园后勤里,早已实现设备管理信息化和智能化。而相比于我国来说,国外校园后勤的高校后勤管理系统相关的研究较为先进,这是由于多方面的原因引起的,计算机在外国发展和应用也比中国早,因此,校园后勤设备信息化也就开始得比中国早,同时有很多的研究成果。但是无论国外校园后勤的高校后勤管理系统有多先进,它毕竟是根据本国校园后勤结构、规模性质和需求来制定的,对于我国校园后勤来说,由于实际情况的不同,国外校园后勤的高校后勤管理系统也不一定都是最好的,所以我们应该奉行'合适的就是最好'的理念,设计出符合本身实际的高校后勤管理系统。
1.3 本文的组织结构
第一章是绪论,本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。
第二章研究了高校后勤管理系统的所采用的开发技术和开发工具。
第三章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。
第四章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。
第五章是系统的具体实现,介绍系统的各个模块的具体实现。
第六章在前几章的基础上对系统进行测试和运行。
最后对系统进行了认真的总结,以此对未来有一个新的展望。
第 2 章 相关技术介绍
2.1 Java 语言与 JDK 开发环境
Java 是美国 sun 公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人 PC 与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群 [1]。
JDK 为美国 sun 公司为 java 开发员所推出的一款全新产品,要是没有 JDK 的情况下,所安装的 java 程序也就无法运行 [2]。
2.2 B/S 结构
基于 Java 技术开发的 B/S 架构系统,需要借助 Tomcat 服务器应用程序进行部署运行 [5]。用户访问系统的时候,通过浏览器向应用程序服务器端发起访问请求,服务器端的程序在接到用户请求以后,服务器端应用程序对客户请求做出相应,在调用服务器端的业务逻辑程序完成和数据库端的交互,进一步生成相应的 HTML/XML 数据,最终把结果反馈给浏览器端用户 [3]。
在该系统的开发中,开发模式采用 B/S 架构技术进行实现,通过部署服务器端应用程序,实现用户通过网站域名或者内网 IP 地址访问系统,实现系统中数据的动态化呈现和管理,加之页面效果的动态化呈现,不仅提升了页面的表现力,而且管理者可以随时更新系统中的各种信息,充分满足管理者和访问用户之间的信息交互 [4]。
2.3 SSM 框架
SSM(Spring+SpringMVC+MyBatis)框架集由 Spring、MyBatis 两个开源框架整合而成(SpringMVC 是 Spring 中的部分内容)。常作为数据源较简单的 web 项目的框架。
Spring 就像是整个项目中装配 bean 的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring 的核心思想是 IoC(控制反转),即不再需要程序员去显式地 new 一个对象,而是让 Spring 框架帮你来完成这一切。
SpringMVC 在项目中拦截用户请求,它的核心 Servlet 即 DispatcherServlet 承担中介或是前台这样的职责,将用户请求通过 HandlerMapping 去匹配 Controller,Controller 就是具体对应请求所执行的操作。SpringMVC 相当于 SSH 框架中 struts。
mybatis 是对 jdbc 的封装,它让数据库底层操作变的透明。mybatis 的操作都是围绕一个 sqlSessionFactory 实例展开的。mybatis 通过配置文件关联到各实体类的 Mapper 文件,Mapper 文件中配置了每个类对数据库所需进行的 sql 语句映射。在每次与数据库交互时,通过 sqlSessionFactory 拿到一个 sqlSession,再执行 sql 命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。
2.4 MySQL 数据库
MySQL 经过多次的更新,功能层面已经非常的丰富和完善了,从 MySQL4 版本到 5 版本进行了比较大的更新,在商业的实际使用中取得了很好的实际应用效果。最新版本的 MySQL 支持对信息的压缩,同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新,数据库自身的镜像功能也得到了很大的增强,运行的流畅度和易用性方面有了不小的进步,驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化,能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心,同时支持的 Office 特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新,增加了两个非常使用的显示区,一个是信息区,对表格和文字进行了分类处理,界面的显示更加清爽和具体。第二是仪表的信息控件,能在仪表信息区进行信息的显示,同时还能进行多个信息的比对,为用户的实际使用带来了很大的便捷 [8][9]。
针对本文中设计的捐赠信息管理系统在实际的实现过程中,最终选择 MySQL 数据库的主要原因在于在用户的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作,而且数据的安全性要求也是非常的高。综合这些因素,最终选择安全性系数比较高的 MySQL 来对捐赠信息管理系统后台数据进行存储操作 [10][11]。
数据库管理系统的总体结构图如下图所示。

图 2-1 数据库组成结构
第 3 章 系统分析
3.1 可行性分析
本次设计基于 B/S 模式下,运用 Java、SSM 技术采用的是 MySQL 数据库,总体的可行性共分为以下三个方面。
3.1.1 技术可行性分析
所谓的技术可行性就是在限定时间,前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用,如果存在缺点在后期的维护上是否存在很大的难度。在对这个系统评估后,认定已存在的技术能达成目标。用 Java 技术来实现动态的页面,嵌入低依赖性的设计模式,灵活的数据库,配合稳定的服务器,整个系统的运行效率大大提升。由此可见,在技术层面达成目标不是非分之想。
3.1.2 经济可行性分析
在项目上使用的工具大部分都是是当下流行开源免费的,所以在开发前期,开发时用于项目的经费将会大大降低,不会让开发该软件在项目启动期受到经费的影响,所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费,以及设备费用。将在无纸化,高效率的道路上越走越远。
3.1.3 操作可行性分析
本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件,并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力,并且可以正常访问系统,并不需要操作者有什么高超的能力,只需了解业务流程,并且按照专业知识进行正确操作即可,所以高校后勤管理系统具备操作可行性。
3.2 功能需求分析
在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。
用户用例图如下所示。

图 3-1 用户用例图
后勤用例图如下所示。

图 3-2 后勤用例图
管理员用例图如下所示。

图 3-3 管理员用例图
高校后勤管理系统在对需求做解析后,整个系统主要分为三个部分:管理员、后勤和普通用户,每个模块下的分支功能不一样。对功能做出如下说明:
普通用户模块:
- 账号登录认证。
- 管理个人资料信息,修改可修改的信息项。
- 故障报修:用户填写相关信息可以新增故障报修。
- 公寓信息:可以查看系统内的公寓信息详情。
- 食堂管理:可以查看系统内的食堂管理详情。
- 基础设施:可以查看正在维修的设备信息。
- 校园环境:可以查看系统内上传的校园环境信息。
- 校医院信息:可以查看校医院的相关信息。
后勤模块:
- 账号登录认证。
- 管理个人资料信息,修改可修改的信息项。
- 故障报修:查看故障位置、报修时间、报修状态等。
- 公寓信息:可以查看系统内的公寓信息详情。
- 食堂管理:可以查看系统内的食堂管理详情,上传图片、营业时间、负责人员、食堂介绍等。
- 基础设施:可以查看正在维修的设备信息,上传图片、设施数量、状态、备注等。
- 校园环境:可以查看系统内上传的校园环境信息,上传图片。
- 校医院信息:可以查看校医院的相关信息,上传名称、位置、科室数量、负责人员、联系方式等。
管理员模块:
- 维护普通用户,审核普通用户的账号,可以冻结普通用户的登录权限,或者删除普通用户账号。
- 故障报修:查看故障报修记录,进行查询、重置、删除、新增等操作。
- 公寓信息:可以查看系统内的公寓信息详情,进行查询、重置、删除、新增等操作。
- 食堂管理:可以查看系统内的食堂管理详情,进行查询、重置、删除、新增等操作。
- 基础设施:可以查看正在维修的设备信息,进行查询、重置、删除、新增等操作。
- 校园环境:可以查看系统内上传的校园环境信息,进行查询、重置、删除、新增等操作。
- 校医院信息:可以查看校医院的相关信息,进行查询、重置、删除、新增等操作。
3.3 非功能需求分析
系统非功能需求有非常多,比如性能需求、可承载最大用户数、稳定性、易用性需求等。本系统分析时考虑到易用性需求,因为系统是给人使用的,所以必须充分从用户的角度出发,考虑用户体验,使系统易理解易上手易操作。
3.4 数据流程分析
一层数据流程图包括了登录注册、用户功能和检索维护等模块,在登录注册模块使用到的数据存储有用户账户文档,用户功能模块需要的存储是用户各功能模块数据文档,检索维护是使用以上这些数据文档通过关键词进行检索。
系统的一层数据流图如下图所示。

图 3-3 系统数据流图(一层)
二层数据流程是对一层数据流层图中填写登录注册信息、用户功能的细化。即:填写登录注册信息细化为填制信息、后台审核,用户功能细化为公告查询、设备查询、教室预约等操作。
系统的二层数据流图如下图所示。

图 3-4 系统数据流图(二层)
第 4 章 系统设计
4.1 系统架构设计
目前 B/S 体系的系统主要的数据访问方式是:通过浏览器页面用户可以进入系统,系统可以自动对用户向服务器发送的请求进行处理,处理请求是在系统后台中进行的,用户在浏览器页面上进行相应操作,就能够看到服务端传递的处理结果。高校后勤管理系统主要分为视图 - 模型 - 控制三层架构设计。在视图层中,主要是操作在服务器端向客户端反馈并显示的数据,在模型层中,主要处理相关的业务逻辑、数据整合等,最后的控制层它介于视图和模型之间,主要是调整两层之间的关系,最终落实数据的传递。
系统架构图如下图所示。

图 4-1 系统架构图
4.2 系统功能结构
系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,分别是:用户管理、故障报修、公寓信息、食堂管理、基础设施、校园环境、校医院信息。系统整体角色分为三个部分,一是普通用户、二是后勤、三是管理员。权限分布也是很明显,普通用户是在除去浏览信息之外还具有查询和管理自己账户信息、教室信息、教室预约等权限;管理员是最高权限拥有者。
系统功能结构图如下图所示。

图 4-2 系统功能结构图
4.3 功能模块设计
用户管理模块 该模块是为所有用户登录设计的,如普通用户登录后只能进行自己的普通功能操作 (如个人信息修改),管理员和超级管理员登录后有不同的权限,管理员不能超越权限。超级管理员能对整个系统的数据进行管理,主要是用户的登录权限以及用户登录后在系统里的操作权限。
故障报修模块 普通用户将报修数据传入到故障报修数据中,操作人为普通用户,然后生成故障报修列表,普通用户查看个人历史故障报修列表,可以进行数据销毁。
公寓信息模块 后勤来录入公寓信息数据,依次填写要录入的公寓信息数据,点击提交按钮,将数据提交至数据库,然后刷新设备数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。
基础设施模块 后勤来录入基础设施数据,依次填写要录入的基础设施数据,点击提交按钮,将数据提交至数据库,然后刷新设备数据页面,每条数据右边有删除和编辑按钮,来完成相应的删除和更新功能。
4.4 数据库设计
4.4.1 概念模型
对于一个要开发的系统来说,E-R 图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在高校后勤管理系统中存在着多个实体分别是用普通用户、管理员、故障报修。
系统总体 ER 图如下图所示。

图 4-4 系统总体 ER 图
4.4.2 关系模型
- 管理员(管理员 id、用户名、密码、权限)
- 普通用户(普通用户 id、账号、密码、姓名、性别、地区、手机、Email、照片)
- 后勤(后勤 id、账号、密码、姓名、性别、地区、手机、Email、照片)
- 故障报修(故障报修 id、故障位置、报修时间、图片)
- 公寓信息(公寓信息 id、名称、位置、房间数量、图片)
4.4.3 数据表
数据库逻辑结构就是将 E-R 图在数据库中用具体的字段进行描述。用字段和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结构。高校后勤管理系统所需要的部分数据结构表如下表所示。
4.5 表 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 | 用户编号: |
4.6 表 apartment_information (公寓信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | apartment_information_id | int | 10 | 0 | N | Y | 公寓信息 ID | |
| 2 | apartment_number | varchar | 64 | 0 | Y | N | 公寓编号 | |
| 3 | apartment_name | varchar | 64 | 0 | Y | N | 公寓名称 | |
| 4 | apartment_pictures | varchar | 255 | 0 | Y | N | 公寓图片 | |
| 5 | apartment_location | varchar | 64 | 0 | Y | N | 公寓位置 | |
| 6 | apartment_floors | varchar | 64 | 0 | Y | N | 公寓楼层 | |
| 7 | number_of_rooms | int | 10 | 0 | Y | N | 0 | 房间数量 |
| 8 | number_of_occupants | int | 10 | 0 | Y | N | 0 | 入住人数 |
| 9 | administrative_staff | varchar | 64 | 0 | Y | N | 管理人员 | |
| 10 | contact_mobile_phone | varchar | 64 | 0 | Y | N | 联系手机 | |
| 11 | logistics_users | int | 10 | 0 | Y | N | 0 | 后勤用户 |
| 12 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
| 13 | remarks | text | 65535 | 0 | Y | N | 备注信息 | |
| 14 | record_time | date |
4.7 表 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 |
4.8 表 campus_environment (校园环境)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | campus_environment_id | int | 10 | 0 | N | Y | 校园环境 ID | |
| 2 | school_name | varchar | 64 | 0 | Y | N | 学校名称 | |
| 3 | school_pictures | varchar | 255 | 0 | Y | N | 学校图片 | |
| 4 | cleanliness_level | varchar | 64 | 0 | Y | N | 整洁程度 | |
| 5 | greening_degree | varchar | 64 | 0 | Y | N | 绿化程度 | |
| 6 | record_time | date | 10 | 0 | Y | N | 记录时间 | |
| 7 | logistics_users | int | 10 | 0 | Y | N | 0 | 后勤用户 |
| 8 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
| 9 | note_details | 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 | 更新时间 |
4.9 表 canteen_management (食堂管理)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | canteen_management_id | int | 10 | 0 | N | Y | 食堂管理 ID | |
| 2 | canteen_number | varchar | 64 | 0 | Y | N | 食堂编号 | |
| 3 | canteen_name | varchar | 64 | 0 | Y | N | 食堂名称 | |
| 4 | canteen_image | varchar | 255 | 0 | Y | N | 食堂图片 | |
| 5 | canteen_location | varchar | 64 | 0 | Y | N | 食堂位置 | |
| 6 | business_hours | varchar | 64 | 0 | Y | N | 营业时间 | |
| 7 | responsible_personnel | varchar | 64 | 0 | Y | N | 负责人员 | |
| 8 | contact_mobile_phone | varchar | 64 | 0 | Y | N | 联系手机 | |
| 9 | logistics_users | int | 10 | 0 | Y | N | 0 | 后勤用户 |
| 10 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
| 11 | canteen_introduction | text | 65535 | 0 | Y | N | 食堂介绍 | |
| 12 | record_time | date | 10 | 0 | Y | N | 记录时间 | |
| 13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 14 | update_time | timestamp |
4.10 表 drug_classification (药品分类)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | drug_classification_id | int | 10 | 0 | N | Y | 药品分类 ID | |
| 2 | drug_name | varchar | 64 | 0 | Y | N | 药品名称 | |
| 3 | drug_type | varchar | 64 | 0 | Y | N | 药品类型 | |
| 4 | number_of_drugs | int | 10 | 0 | Y | N | 0 | 药品数量 |
| 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 | 更新时间 |
4.11 表 environmental_complaints (环境投诉)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | environmental_complaints_id | int | 10 | 0 | N | Y | 环境投诉 ID | |
| 2 | title_name | varchar | 64 | 0 | Y | N | 标题名称 | |
| 3 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 4 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 5 | image_information | varchar | 255 | 0 | Y | N | 图片信息 | |
| 6 | reason_for_complaint | 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 | 更新时间 |
4.12 表 equipment_classification (设备分类)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | equipment_classification_id | int | 10 | 0 | N | Y | 设备分类 ID | |
| 2 | equipment_type | varchar | 64 | 0 | Y | N | 设备类型 | |
| 3 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
4.13 表 equipment_requisition (设备领用)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | equipment_requisition_id | int | 10 | 0 | N | Y | 设备领用 ID | |
| 2 | facility_number | varchar | 64 | 0 | Y | N | 设施编号 | |
| 3 | facility_name | varchar | 64 | 0 | Y | N | 设施名称 | |
| 4 | equipment_type | varchar | 64 | 0 | Y | N | 设备类型 | |
| 5 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 7 | received_quantity | int | 10 | 0 | Y | N | 0 | 领用数量 |
| 8 | date_of_requisition | date | 10 | 0 | Y | N | 领用日期 | |
| 9 | reason_for_use | 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 | 更新时间 |
4.14 表 equipment_return (设备归还)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | equipment_return_id | int | 10 | 0 | N | Y | 设备归还 ID | |
| 2 | facility_number | varchar | 64 | 0 | Y | N | 设施编号 | |
| 3 | facility_name | varchar | 64 | 0 | Y | N | 设施名称 | |
| 4 | equipment_type | varchar | 64 | 0 | Y | N | 设备类型 | |
| 5 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 7 | received_quantity | varchar | 64 | 0 | Y | N | 领用数量 | |
| 8 | return_quantity | int | 10 | 0 | Y | N | 0 | 归还数量 |
| 9 | return_date | date | 10 | 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 | 更新时间 |
4.15 表 equipment_scrapping (设备报废)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | equipment_scrapping_id | int | 10 | 0 | N | Y | 设备报废 ID | |
| 2 | facility_number | varchar | 64 | 0 | Y | N | 设施编号 | |
| 3 | facility_name | varchar | 64 | 0 | Y | N | 设施名称 | |
| 4 | equipment_type | varchar | 64 | 0 | Y | N | 设备类型 | |
| 5 | scrap_quantity | int | 10 | 0 | Y | N | 0 | 报废数量 |
| 6 | scrap_remarks | 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 | 更新时间 |
4.16 表 equipment_storage (设备入库)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | equipment_storage_id | int | 10 | 0 | N | Y | 设备入库 ID | |
| 2 | facility_number | varchar | 64 | 0 | Y | N | 设施编号 | |
| 3 | facility_name | varchar | 64 | 0 | Y | N | 设施名称 | |
| 4 | inventory_quantity | int | 10 | 0 | Y | N | 0 | 入库数量 |
| 5 | storage_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 | 更新时间 |
4.17 表 fault_repair_report (故障报修)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | fault_repair_report_id | int | 10 | 0 | N | Y | 故障报修 ID | |
| 2 | repair_title | varchar | 64 | 0 | Y | N | 报修标题 | |
| 3 | fault_number | varchar | 64 | 0 | Y | N | 故障编号 | |
| 4 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 5 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 6 | repair_picture | varchar | 255 | 0 | Y | N | 报修图片 | |
| 7 | fault_location | varchar | 64 | 0 | Y | N | 故障位置 | |
| 8 | repair_time | datetime | 19 | 0 | Y | N | 报修时间 | |
| 9 | remarks | 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 | 更新时间 |
4.18 表 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: |
4.19 表 infrastructure (基础设施)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | infrastructure_id | int | 10 | 0 | N | Y | 基础设施 ID | |
| 2 | facility_number | varchar | 64 | 0 | Y | N | 设施编号 | |
| 3 | facility_name | varchar | 64 | 0 | Y | N | 设施名称 | |
| 4 | equipment_type | varchar | 64 | 0 | Y | N | 设备类型 | |
| 5 | facility_location | varchar | 64 | 0 | Y | N | 设施位置 | |
| 6 | facility_images | varchar | 255 | 0 | Y | N | 设施图片 | |
| 7 | number_of_facilities | int | 10 | 0 | Y | N | 0 | 设施数量 |
| 8 | set_status | varchar | 64 | 0 | Y | N | 设置状态 | |
| 9 | logistics_users | int | 10 | 0 | Y | N | 0 | 后勤用户 |
| 10 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
| 11 | remarks | text | 65535 | 0 | Y | N | 备注信息 | |
| 12 | record_time | date | 10 | 0 | Y | N | 记录时间 | |
| 13 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 14 | update_time | timestamp | 19 |
4.20 表 logistics_users (后勤用户)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | logistics_users_id | int | 10 | 0 | N | Y | 后勤用户 ID | |
| 2 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
| 3 | gender_of_personnel | varchar | 64 | 0 | Y | N | 人员性别 | |
| 4 | age_of_personnel | varchar | 64 | 0 | Y | N | 人员年龄 | |
| 5 | contact_information | 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 | 更新时间 |
4.21 表 maintenance_arrangement (维修安排)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | maintenance_arrangement_id | int | 10 | 0 | N | Y | 维修安排 ID | |
| 2 | repair_title | varchar | 64 | 0 | Y | N | 报修标题 | |
| 3 | fault_number | varchar | 64 | 0 | Y | N | 故障编号 | |
| 4 | regular_users | int | 10 | 0 | Y | N | 0 | 普通用户 |
| 5 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
| 6 | fault_location | varchar | 64 | 0 | Y | N | 故障位置 | |
| 7 | repair_time | datetime | 19 | 0 | Y | N | 报修时间 | |
| 8 | repair_status | varchar | 64 | 0 | Y | N | 报修状态 | |
| 9 | logistics_users | int | 10 | 0 | Y | N | 0 | 后勤用户 |
| 10 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
| 11 | repair_feedback | text | 65535 | 0 | Y | N | 维修反馈 | |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
4.22 表 regular_users (普通用户)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | regular_users_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 | 更新时间 |
4.23 表 school_hospital_information (校医院信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | school_hospital_information_id | int | 10 | 0 | N | Y | 校医院信息 ID | |
| 2 | name_of_school_doctor | varchar | 64 | 0 | Y | N | 校医名称 | |
| 3 | number_of_departments | varchar | 64 | 0 | Y | N | 科室数量 | |
| 4 | hospital_images | varchar | 255 | 0 | Y | N | 医院图片 | |
| 5 | types_of_drugs | int | 10 | 0 | Y | N | 0 | 药品种类 |
| 6 | number_of_drugs | int | 10 | 0 | Y | N | 0 | 药品数量 |
| 7 | responsible_personnel | varchar | 64 | 0 | Y | N | 负责人员 | |
| 8 | contact_information | varchar | 64 | 0 | Y | N | 联系方式 | |
| 9 | logistics_users | int | 10 | 0 | Y | N | 0 | 后勤用户 |
| 10 | personnel_name | varchar | 64 | 0 | Y | N | 人员姓名 | |
| 11 | record_time | date | 10 | 0 | Y | N | 记录时间 | |
| 12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
| 13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
4.24 表 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 | 文件类型 |
4.25 表 user (用户账户:用于保存用户登录信息)
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | user_id | mediumint | 8 | 0 | N | Y | 用户 ID:[0,8388607] 用户获取其他与用户相关的数据 | |
| 2 | state | smallint | 5 | 0 | N | N | 1 | 账户状态:[0,10](1 可用 |
| 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 未认证 |
| 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 | varchar | 64 | 0 | Y | N | 邮箱:[0,64] 用户的邮箱,用于找回密码时或登录时 | ||
| 11 | email_state | smallint | 5 | 0 | N | N | 0 | 邮箱认证:[0,1](0 未认证 |
| 12 | avatar | varchar | 255 | 0 | Y | N | 头像地址:[0,255] | |
| 13 | open_id | varchar | 255 | 0 | Y | N |
4.26 表 user_chat_friend
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | user_chat_friend_id | int | 10 | 0 | N | Y | id | |
| 2 | user_id | int | 10 | 0 | N | N | 用户 id | |
| 3 | friend_user_id | int | 10 | 0 | N | N | 用户好友 id | |
| 4 | friend_user_name | varchar | 255 | 0 | Y | N | 好友名称 | |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP |
4.27 表 user_chat_group
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | user_chat_group_id | int | 10 | 0 | N | Y | id | |
| 2 | group_id | int | 10 | 0 | Y | N | 群聊 id | |
| 3 | group_name | varchar | 255 | 0 | Y | N | 群聊名称 | |
| 4 | user_id | int | 10 | 0 | Y | N | 用户 id | |
| 5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | |
| 6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP |
4.28 表 user_chat_read
| 编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 1 | user_chat_read_id | varchar | 255 | 0 | N | Y | id | |
| 2 | user_id | int | 10 | 0 | Y | N | 接收人 id | |
| 3 | send_user_id | int | 10 | 0 | Y | N | 发送人 id | |
| 4 | group_id | int | 10 | 0 | Y | N | 群聊 id | |
| 5 | type | int | 10 | 0 | Y | N | 类型 1-点对点消息,2-群聊消息 | |
| 6 | create_time | timestamp | 19 | 0 | Y | N | CURRENT_TIMESTAMP | 时间 |
| 7 | message | text | 65535 | 0 | Y | N | 消息 |
4.29 表 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 | 更新时间: |
第 5 章 系统实现
5.1 注册模块的实现
用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过 JavaScript 进行验证的,用户名的长度必须在 6 到 18 之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过 name 值传递给后台并保存到数据库中。
用户注册流程图如下图所示。

图 5-1 用户注册流程图
用户注册界面如下图所示。

图 5-2 用户注册界面
5.2 登录模块的实现
系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。
登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在 login.Java 页面发送登录请求,调用 src 下的 mainctrl 类的 dopost 方法来验证。
用户登录模块的 IPO 如下所示:
输入:用户名和密码。
处理: 1)检测用户输入的账号、密码是否正确及在数据库已对应存在。 2)从数据库中提取记录,并储存在本地的 session 中(timeout 默认=30min)。 3)根据用户名,将其显示在系统首页上。
输出:是否成功的信息。
登录流程图如下所示。

图 5-3 登录流程图
系统登录界面如下所示。

图 5-4 系统登录界面
5.3 用户子系统模块的实现
5.3.1 故障报修模块
用户填写报修标题、用户姓名、上传图片、故障位置、保修时间、备注信息来提交报修信息。

图 5-5 故障报修界面
5.3.2 公寓信息模块
用户可以查看系统内的公寓信息详情。

图 5-7 公寓信息界面
5.4 后勤子系统模块的实现
5.4.1 公寓信息模块
后勤添加公寓信息时,输入必填字段后,表现层的 ShiyanshiController 接受传过来的校园后勤参数,再调用 ShiyanshiController 类的 addShiyanshi 方法,经过 ShiyanshiService 业务层到 ShiyanshiMapper 持久层的处理,完成对整个添加公寓信息的操作。addShiyanshi 方法也和用户管理中的 addUser 方法类似,同时做添加和修改工作。

图 5-7 公寓信息添加界面
5.4.2 基础设施模块
后勤添加基础设施时,输入必填字段后,表现层的 ShiyanshiController 接受传过来的校园后勤参数,再调用 ShiyanshiController 类的 addShiyanshi 方法,经过 ShiyanshiService 业务层到 ShiyanshiMapper 持久层的处理,完成对整个添加基础设施的操作。addShiyanshi 方法也和用户管理中的 addUser 方法类似,同时做添加和修改工作。

图 5-7 基础设施添加界面
5.5 管理员子系统模块的实现
5.5.1 个人资料管理模块
用户点击登录填写账号信息登录后,会切换内容为'某某用户欢迎您'和历史订单,并给出注销链接。当用户登录成功后会将个人信息保存在 session 作用域中,点击自己的用户名时,会跳转到个人详细信息页面,由后台通过 Freemarker 取出 session 作用域中的用户信息进行动态渲染,例如,邮箱、电话号码、用户名等等。同时页面上会显示修改个人信息和修改密码的按钮,这时客户可以修改自己的登录密码以保障账号的安全性,防止被人窃取账号,通过 UserController.java 的 updatePassword() 实现,同时也可以根据自己的个人信息是否变动做出相应的修改,通过 updateUserInfo() 实现。
密码修改流程图如下所示。

图 5-8 密码修改流程图
5.5.2 故障报修模块
管理员可以对故障报修进行查询、重置、删除、新增等操作。

图 5-12 故障报修管理界面
5.5.3 公寓信息模块
管理员可以对公寓信息进行查询、重置、删除、新增等操作。

图 5-15 公寓信息管理界面
5.5.4 食堂管理模块
管理员可以对食堂管理进行查询、重置、删除、新增等操作。

图 5-19 食堂管理界面
第 6 章 系统测试
6.1 测试目的
在对该系统进行完详细设计和编码之后,就要对高校后勤管理系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。
6.2 测试过程
在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。
登录测试用例表如下所示。
表 6-1 登录测试用例
| 测试性能 | 用户或操作员登录系统 |
|---|---|
| 用例目的 | 测试用户或操作员登录系统时功能是否正常 |
| 前提条件 | 进入用户登录页面或操作员登录页面 |
| 输入条件 | 预期输出 |
| 各项信息不予填写,直接点击登陆按钮 | 不允许登录,提示填写账号相关信息 |
| 填写错误的登录名或密码后点击登录系统 | 提示用户名或密码错误,要求重新填写进行登录 |
| 填写与验证码信息不一致的信息 | 系统显示出提示信息,表明验证码错误,要求重新填写 |
故障报修用例表如下所示。
表 6-2 故障报修测试用例
| 测试性能 | 用户进行故障报修的操作 |
|---|---|
| 用例目的 | 测试用户进行故障报修操作时,该功能是否正常 |
| 前提条件 | 用户进入故障报修详情页,该故障能够被报修 |
| 输入条件 | 预期输出 |
| 在故障报修界面,输入必填项,点击'提交'按钮 | 提示'预约成功',并返回上一级界面 |
| 在故障报修界面,填写预约表单的时候未输入完整,点击'提交'按钮 | 提示'预约失败' |
6.3 测试结果
经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。
第 7 章 总结与展望
通过高校后勤管理系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。
目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。
本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。
系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。
参考文献
[1] 石雨昕,关家兴,邹博华等。基于 SpringBoot 微服务架构设计与实现实验室开放课题管理系统 [J]. 实验室检测,2024, 2(01): 101-106.
[2] 白茹鑫。基于 SpringBoot+SSM 框架的企业安全培训管理系统设计与实现 [J]. 现代信息科技,2024, 8(01): 44-49. DOI:10.19850/j.cnki.2096-4706.2024.01.009.
[3] 吴伶琳。基于 SpringBoot 的客户关系管理系统设计与实现 [J]. 无线互联科技,2023, 20(24): 60-62.
[4] Shkoda M, Marova S, Gorobets N, et al. Technological Management of Cluster Innovations in the Education System, Personnel Development and Logistics in Realising the Potential in Post-War Renewal [J]. Management Theory and Studies for Rural Business and Infrastructure Development, 2023, 45(4): 364-378.
[5] Abaker M. Using Fingerprint, Two-Dimensional CODE and GPS Technology to Realize College Attendance Management System [J]. Journal of Research in Vocational Education, 2023, 5(11).
[6] I. E M, V. A K. An Intelligent Decision Support System for Naval Logistics [J]. Pattern Recognition and Image Analysis, 2023, 33(3): 446-451.
[7] 马鑫越。移动网络技术用于医院后勤信息管理系统的研究分析 [J]. 科技资讯,2023, 21(18): 219-222. DOI:10.16661/j.cnki.1672-3791.2211-5042-2293.
[8] 李颂,巴志强。基于 MongoDB 的医院后勤信息管理系统 [J]. 自动化技术与应用,2023, 42(08): 115-118+156. DOI:10.20033/j.1003-7241.(2023)08-0115-05.
[9] 周志敏。基于人工智能的后勤管理决策支持系统研究 [J]. 无线互联科技,2023, 20(15): 45-47+51.
[10] Zhovnirchyk Y, Bondarchuk N, Cherkaska V, et al. Sustainable Development of the Agro-Industrial Complex through Modeling Aspects of Logistics Management [J]. International Journal of Sustainable Development and Planning, 2023, 18(6).
[11] 王博。医院后勤设备的全生命周期管理系统设计 [J]. 电子技术,2023, 52(01): 172-173.
[12] 赵娜娜。信息化技术在高校后勤管理中的应用 [J]. 电子技术,2022, 51(10): 304-305.
[13] 刘宁。基于校园网的后勤修缮工程管理系统研究 [J]. 高校后勤研究,2016, (03): 40-41.
[14] 马刘军。高校后勤管理系统的设计与实现 [D]. 长安大学,2016.
[15] 覃伟赋。基于 MVC 的高职院校后勤管理系统的设计与实现 [D]. 广西大学,2015.
[16] 唐锡雷。基于高职院校的后勤物资管理系统设计与实现 [D]. 电子科技大学,2015.
[17] 董瑞。浙江警官职业学院后勤管理系统的设计与实现 [D]. 电子科技大学,2014.
[18] 孙迪。基于三维 GIS 的高校资产管理系统的设计与实现 [D]. 江西理工大学,2014.
[19] Lv C, Zhang J J, Ma Y. Student Attendance Management System Based on Campus Smart Card Platform [J]. Applied Mechanics and Materials, 2013, 2388(321-324): 3022-3025.
[20] 王明庆。高校后勤管理系统的设计与实现 [D]. 电子科技大学,2012.


