基于B/S结构的公房预约管理系统的设计与实现
2016-12-21马崟淞赖永刚李育博
马崟淞+赖永刚+李育博
摘要:公共用房(以下简称公房)预约管理系统对于企事业单位的公房管理工作有着重要的意义。该文针对某高校二级学院公房使用的实际需求,采用JSP、HTML/CSS、MySQL数据库等技术设计并实现了一套基于Spring MVC的B/S(即浏览器/服务器)结构的公房预约管理系统。该系统构建了高校公共用房预约管理的新模式,有效地提高了公房的利用率。
关键词:公房预约;Spring MVC;B/S系统
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)28-0095-03
1背景
近年来,随着高校办学规模扩大、科研活动与学术交流日益增多,各高校对教学科研用房的需求不断增加,导致本就紧张的公房资源配置缺口增大,供需矛盾加剧。如何在现有条件下提高公房的使用效率已成为高校亟待解决的问题之一。
在当前高校公房的管理模式下,如教室、会议室等公房租用的预约,因信息的线下传递和处理方式的不透明,导致教师、学生和管理人员之间需要多次协商才能完成。这不仅耗费了借用者大量的时间和精力,而且因信息不透明还造成了公共资源的极大浪费。随着“互联网+”和大数据时代的到来,大量新的技术和管理理念开始迅速传播,加之智能移动设备的普及,使得公房网上预约管理这种便捷服务模式成为可能。
就公房预约管理工作而言,其内容非常繁琐,既有资产管理方面的工作,又有日常的使用与维护,同时还涉及到相关数据的统计和查询。通过将这些信息记录在案,不仅方便日常管理工作,而且为公房以后有计划地进行维修保养提供重要的数据支持。目前,高校此类记录大多以纸质或EXCEL电子文件形式记录,加之管理人员变化频繁,此类方式很容易造成记录格式不规范、数据丢失等问题[1],同时加重了管理人员对数据的管理工作。因此,为了实现公房管理信息的统一性,本文设计并研发了基于B/S模式的公房预约管理系统。
2系统分析与设计
2.1系统需求分析
公房预约管理系统的研发是某高校二级学院办公管理信息化改革的一部分,其功能设计充分考虑了该院办公管理的实际情况及需求,针对不同用户定制不同功能,重点突出实时的特点,方便不同层次用户的使用。
系统用户分为系统管理员、院级管理员、教职工、学生等四级,不同级别用户具有不同权限。教职工和学生用户权限下,主要有查询和预约功能。院级管理员除拥有以上两种功能外,还具有公房信息管理、预约管理、用户管理以及公告发布等功能。系统管理员除拥有院级管理员具有的功能外,还有系统数据维护、权限管理以及日志管理等功能。此外,教工与学生的权限应该有所不同,否则只能称三级。
2.2系统体系架构及技术方案
本系统基于B/S模式架构,前台展示采用HTML/CSS和JavaScript客户端语言,后台采用JSP和JAVA语言开发,数据层存储采用MySQL数据库。系统总体架构如图1所示,采用了三层体系结构开发模式,将系统的整个业务应用划分为表示层、业务逻辑层和数据访问层,有利于系统的开发、维护、部署和扩展[2]。
图1中,各层的具体作用如下[3-5]:表示层一般指系统界面,主要用于展示和收集信息;逻辑层是三层架构的核心,主要用于业务的逻辑处理和数据层的数据操作,具体表现为与系统所对应的领域逻辑;存储层专用于系统的数据存储以及与之相对应的增删改查操作。
为了进一步降低各层之间的耦合性,提高系统的灵活度,在图1三层体系结构的基础上,综合公房系统的实际业务需求,设计了五层系统结构,如图2所示。
五层结构自底向上分别为:数据库、数据层、业务层、应用层、展示层,每层结构的作用如下:
1)展示层负责将所有功能与数据通过PC、手机、平板电脑等终端展示给用户,接收用户相应的操作请求并发送给后端应用层。
2)应用层接收展示层传递过来的操作请求,按照不同的请求内容调用业务层相应业务处理,并将接收处理结果返回给展示层。
3)业务层接收应用层相应的功能调用请求,实现每个功能的具体逻辑,包括逻辑判断、数据运算、数据读写操作等,这是整个应用系统的核心部分。
4)数据层作为业务层和数据库之间的中间层,执行上层业务具体的数据操作命令,操作类型主要有增删改查四类。
5)数据库采用主从配置,一方面起到热备份的作用,另一方面实现读写分离,增强数据库的吞吐效率,提升系统的整体响应。
2.3系统功能模块设计
本系统主要包含用户管理、预约管理、公房信息管理以及系统维护四个模块,如图3所示。各模块的主要功能如下:
1)用户管理模块主要是维护系统的用户数据,包含增删用户,找回密码等功能。
2)预约管理是整个系统的核心,主要提供线上预约平台供用户在线预约,管理人员在线审核,房屋管理人员在线验证等一系列完整的公房预约管理流程。在该模块中,管理人员还可根据实际情况提前安排教学、科研、活动等用房,在保证正常教学科研活动的前提下,尽可能方便广大师生个性化的用房需求。同时,系统提供了按照时间和房间两种不同的查询方式来查询可借用公房情况。用户在确定需要预约的公房后,在线填写预约申请,之后管理员审核申请,若通过则用户可登陆系统查看下载凭证二维码并在需要使用时将二维码交由公房管理人员扫描认证,若不通过用户则需要重新修改提交申请,其具体流程如图4所示;
1)公房信息管理模块主要用于管理公房自身信息,如房间是否可借用,是否配备多媒体,可容纳人数等,方便用户在借用时根据自身实际情况选用不同房间。
2)系统管理模块主要是针对系统正常运行的一些配置,主要包括可预约时间、用户权限、日志查看等。
2.4数据库设计
本系统采用了开源的MySQL数据库,结合系统的功能模块,数据库设计了用户表、权限表、角色表、房屋表、建筑物表、预约审核表等。考虑到数据的安全性和可靠性,数据库设计采用主从备份,同时为了提升系统整体效率,在主从备份的基础上实现了读写分离。数据的所有写操作都在Master上执行,所有读操作都在Slave上执行,如图5所示。
3系统实现
基于B/S架构,所有安装只需在服务器端进行,用户只需通过浏览器访问服务地址即可使用本系统。访问系统时,用户首先可看到如图6所示的登录界面,成功登录(以管理员身份为例)到主界面之后,在功能区上方可看到主页、预约等8个功能导航,根据用户角色不同,用户所能使用的功能不同。
公房预约的主要内容有公房管理、预约、审核三大部分。作为公房预约的基础,房间信息的管理是系统运行过程中的重要环节。管理员进入系统后,点击房间管理模块即可进入房间信息的管理界面,如图7所示。
在该界面管理员可以维护公房信息,指定公房的审核流程。在本系统中,公房的审核可以实现多级审核,只需要配置好各级别的先后顺序即可。添加好公房信息之后,用户进入系统即可使用预约功能进行公房预约。为了方便用户,系统设计了按照房间预约(如图8所示)和按照时间预约(如图9所示)两种方式。只要用户提交了预约申请,该房间将会立刻被暂时占用,其他人无法再选择该房间对应的时间段预约。
用户申请预约后,管理员在后台即可看到所有人的申请,选择某一申请后管理员可选择驳回或者通过,驳回之后该房间对应时间段立刻释放变为可再次预约状态,通过之后预约生效,用户可登陆系统查看二维码凭证。审核界面如图10所示。
最后,用户需要使用房间时凭二维码到公房管理员处手机扫描核验,通过后即可使用房间。
4 结束语
本文通过对公房借用的需求进行综合分析,设计并实现了基于B/S架构的公共用房管理信息系统。该系统集成了系统管理、公房信息管理、公房预约、用户管理等四大核心功能,促进了公房管理的信息化和规范化。系统完成后,通过在某学院一年的测试运行,结果表明公房管理信息系统已实现了它的基本功能,该系统不仅方便了学院教职员工预约公房,而且提高了管理人员的管理效率和公房的有效使用率。
参考文献:
[1] 王西芳,王西平. 实验教学示范中心实验预约系统的设计与应用[J]. 实验室研究与探索, 2016,35(5):158-161.
[2] 建成. 软件体系结构的原理, 组成与应用[M]. 北京:科学出版社, 2002.
[3] 王进. B/S模式下的三层架构模式[J]. 软件导刊, 2011, 10(3):30-31.
[4] 马立林,孙绍荣.基于Castle的开放式实验室管理系统设计与实现[J].实验室研究与探索,2010,29(5):155-158.
[5] 刘方军. 基于MVC三层架构模式的研究与应用[D]. 广州: 广东工业大学,2011.