〔摘 要〕鉴于高校图书馆阅览座位 “一座难求”的现状,本文分析了现有座位管理系统的缺陷,结合微信的优点,提出了基于微信公众平台构建图书馆座位管理系统的可行性,并以南通大学图书馆为例进行系统开发测试,最后提出了不足及努力方向。
〔关键词〕微信公众平台; 座位管理系统; 图书馆
随着国内高校图书馆阅览条件的日益改善,良好的氛围吸引了众多读者来馆阅览自修,座位变成了紧俏资源,虽然多数高校图书馆座位资源与以往相比大幅增加,但依然滞后于学生的扩招速度。每逢期末和极端天气的时候,“一座难求”和 “排队长龙”的现象屡见不鲜,学生起早排队却未必能占到座位,严重影响了睡眠和学习质量,甚至在某些高校因为占座排队拥挤引发危害事故[1]。为了避免发生这种情况,包括南通大学在内的部分高校通过采购或研发的方式引入图书馆座位管理系统,通过自助选位、违章黑名单、座位预约、临时保留座位等功能,在一定程度上缓解了图书馆恶意占座的情况。但在实际使用过程中,此类系统存在一些共性问题:1) 刷卡速度慢,高峰时间段读者有排长队现象;2) 座位预约系统不能支持部分智能手机的操作系统;3) 前端刷卡验证设备昂贵,维修成本高;4) 数据库非实时连通,数据库存在滞后性;5) 界面不够友好,用户体验感差。
微信是一种为智能终端提供跨运营商、跨操作系统的免费即时通讯服务应用程序,可以用很少的流量来发送文字、语音、图片和视频,截至 2015 年第 1 季度,微信已经覆盖了全国 90%的智能手机,月活跃用户达到 5. 49 亿[2]。伴随着微信的兴起,微信公众平台成为当下最热门、用户最密集的信息载体交互平台,基于微信公众平台构建图书馆座位管理系统,整合已有的系统功能,利用微信的优势进行开发,可以有效缓解先前系统存在的问题。
1、系统可行性分析
高校图书馆的占座现象由来已久,这造成了学校教育资源分配不公,导致图书馆无法充分发挥其服务功能。虽然基于互联网的座位管理系统有不少,但基于微信公众平台构建图书馆座位管理系统,利用微信的扫一扫、跨运营商、跨操作系统的特性,可以简化便利用户操作,提升用户体验[3]。
1. 1、用户功能需求分析
基于用户需求和已有系统运行经验,系统需实现功能总结如下:
1) 微信账号绑定功能。将用户的微信 Openid 和学号绑定。
2) 空位查询功能。用户通过智能终端即时查询图书馆座位使用情况,有效地节约了用户的学习时间,提高了学习质量。
3) 座位预约功能。用户通过智能终端在线实时预约空闲座位,同时遇到特殊情况可以主动取消预约。
4) 自助选位和自动选位功能。用户在预约座位过程中,可以自主选择心宜的座位,或者选择自动选位模式。
5) 失约违章处理和黑名单功能。对于失约和违章等用户违规行为,通过记入黑名单的方式以实现对用户行为的约束。
6) 微信扫描签到功能。用户在预约座位之后,进入指定阅览室后,通过微信的扫一扫功能扫描预约座位上的二维码,实现签到功能。
7) 工作人员后台管理功能。工作人员通过后台进行座位管理、查询座位使用情况、用户使用统计以及黑名单管理功能。
以上系统功能模块如图 1 所示:
图 1 系统功能模块图
1. 2、系统运行模式及特点
系统以B/S模式进行开发,用户使用智能手机点击公众号里的菜单,微信客户端将指令发送到腾讯微信服务器,微信服务器再按照事先设定的程序将指令发送至图书馆本地服务器,本地服务器处理完再将结果原路返回,直到返回用户微信客户端,其架构如图 2 所示:
图 2 系统开发架构
本系统全程基于互联网运行,只要用户拥有智能移动终端和网络,就可以使用该系统,与传统软件相比,具有简易便捷的特点。
1. 3、开发环境支持
南通大学图书馆已建成万兆到馆、千兆楼宇、百兆桌面、多校区光纤直连的专用网络应用系统,建有符合国内一流标准的中心机房,拥有小型机、PC 服务器、SAN 存储以及数据远程自动备份等功能完备的软、硬件支持系统。
同时本馆对本系统提供了配套开发经费,以供开发人员调研和新增设备采购。
2、系统设计
2. 1、系统业务流程设计
按照功能可以将系统划分为微信端和后台两个部分,其中在微信客户端中实现用户座位预约功能,在后台终端的浏览器中实现工作人员的系统管理功能。因为其操作对象不同,整个系统业务流程分为两部分,如图 3 所示:
图 3 系统业务流程
2. 2、数据库设计
数据库设计的基本原则是简单性和非冗余性,即支持本系统的后台数据库必须是数据结构比较直观,用户易于理解且没有重复的属性、记录和文件,便于工作人员后期维护,节省了服务器的数据空间。
2. 2. 1、数据库需求分析与概要设计
按照系统功能及业务流程分析,其后台数据库设计有以下要求:
1) 学生信息表。学生信息表本身比较复杂,但在本系统运行过程中,只需要存储学号、姓名、班级等信息,而其他信息并不需要存储,其中学号作为标识学生的惟一信息。
2) 座位信息表。对于座位表来说,最重要是座位编号、地点和状态等信息,其中座位编号作为标识座位的惟一信息,座位地点中存储座位所在楼层教室信息,座位状态信息标识座位的可预约情况,其状态为可预约与不可预约。
3) 账号绑定表。该表同时存储微信用户 Openid 和学生学号,通过这两个信息将微信号和学生学号绑定起来,表里还包含学生姓名、微信昵称等信息。
4) 黑名单表。即预约座位后未能及时签到,或有其他违章行为,该表以学生学号作为主键,实现了学生查阅违章信息,同时该表存储失约次数、姓名等信息。
根据以上数据库需求分析,得出本系统数据库概念模型 E - R 图,如图 4 所示。
图 4 数据库 E - r 图
2. 2. 2、数据库详细设计
按照本系统数据库 E - R 图详细设计各数据库表,其中学生信息表 ( tb?student) 用于保存用户的个人信息; 座位信息表 ( tb?seat) 用于保存用户座位预约状态信息; 账号绑定信息表 ( tb?bind) 用于保存用户微信 Openid 与学号绑定的相关信息; 黑名单信息表 ( tb?blacklist) 用于保存违规次数超过限制的用户信息,表关系如图 5 所示:
图 5 数据库表关系图