1.系统开发背景
图书馆以其良好的学习氛围和丰富的学习资源吸引着人们前来学习。图书馆开门前,门口就有大量学生在排队等候,有限的座位和日益增多的自主学习者供不应求,加之对图书馆座位使用认识不足,恶意占座,使得有限的学习座位日趋紧张。[]随着越来越多的学生去图书馆,一系列的问题在所难免:座位占了却没用,座位利用率降低,更有甚者,一些学生用大量的图书为自己占座,这也引发了学生之间的矛盾,甚至与图书馆工作人员发生争执。针对一系列的事情,人们发现学生占座的原因有很多,如学生道德素质提高的需要、图书馆规范化的需要、基础设施需要进一步完善等。为了解决图书馆座位资源的管理和利用问题,图书馆一直在努力解决。
随着科技的飞速发展,越来越多的问题可以通过微信小程序等一系列工具来解决,比如用微信小程序订餐。所以我们想到用微信小程序开发一个高性能的图书馆座位预订系统。
2. 开发技术
2.1. 开发平台概述
微信小程序是继原生APP、Web APP之后的一种新的APP形态。原生APP随着两大平台的快速发展逐渐强大起来,但由于两大平台不兼容,需要开发两个版本,开发成本较高。而使用开发的Web APP虽然很好地解决了跨平台问题,但性能和用户体验不佳。为此,微信小程序借鉴现有的Web技术,通过独立的运行环境实现跨平台,并提供接近原生APP的用户体验,优势明显。[]
2.2. 设计技术
1)微信小程序开发语言
小程序的编程主要在微信开发者工具上进行,可以实时预览界面,方便快速调试修改,也可以通过手机查看预览效果。小程序的前端界面主要使用WXML、WXSS、JS等语言编写。WXML是框架设计的一套标签语言,用于构建页面结构;WXSS是一套样式语言,决定页面中组件的显示样式,具备CSS的大部分特性。为了适应小程序的开发,对CSS进行了扩展和修改;JS用于处理与同学交互的逻辑事件[]。小程序使用云开发功能,提供完整的云端支持,无需搭建、配置或管理服务器,代码运行所需的服务器服务均由云平台提供,只需考虑复杂的业务逻辑问题。系统使用的数据库为数据库,后端使用基于云开发构建的可视化内容管理服务,开通简单,无需编写代码即可使用丰富的管理功能[]。
2)座位图设计
导入记录座位分布的二维平面图,通过技术手段,将预留座位的小方格显示为红色,表示该座位已经被人预留,未预留座位的小方格显示为绿色,表示该座位还可以被预留。
3)与门禁系统联动
通过互联网连接图书馆门禁系统,设定预约时间,预约成功后需在20分钟内通过门禁系统进入图书馆,否则预约将被视为取消。
4)架构
为了使系统具有灵活性和可扩展性,我们选择了面向服务的架构(SOA)。面向服务的架构是一种组件模型,它将应用程序的不同功能单元(称为服务)拆分开来,并通过定义良好的接口和协议将它们连接起来。
5)数据库
在系统开发中会产生大量的数据,所以数据库的作用就显得尤为重要。目前主流的数据库有数据库、SQL数据库和数据库。这里我们选择数据库作为我们系统开发的数据库。数据可以存放在不同的表中,非常灵活,在实际应用中也可以提高系统的速度。同时兼容性高。对数据库的操作包括增删改查等功能。具有体积小、速度快、成本低等优点,是目前最流行的开源数据库。使用流程如下:
a) 打造小程序,引入云端开发。
b) 创建一个云函数并命名。
c) 安装模块依赖项。
d) 编写云函数链接数据库,代码如下:
= ('wx--sdk')
=('/')
.主要 = (, ) => {
尝试 {
= .({
主机:服务器 IP,
: 数据库名称,
用户:使用姓氏,
: 密码
})
[行, ] = .(' ();')
行;
} (呃) {
.log(链接错误,err)
呃
6)上传并部署云函数。
部署完成后,你可以通过小程序链接数据库,进行相关的增删改查操作。
3.模块设计
3.1. 系统架构
本系统分为五个模块,如图所示,分别是学生注册/登录系统模块、签到/退学模块、数据管理模块、数据利用模块和座位管理模块,如系统架构数据模型ER图所示。接下来,我们将详细解释每个模块。
3.1.1. 学生注册/登录模块
在使用本系统前,学生需要在系统登录界面注册账号,输入学号、专业、班级及对应的学院信息,完成账号注册。同时系统完成已注册学生信息(学号、专业、班级、学院、兴趣领域)的采集,以供后续数据管理模块和数据利用模块使用。然后完成账号注册,使用学号和设置的密码登录预约系统,进行座位预约。登录界面如图所示,注册界面如图所示。
预约系统展示座位信息,如图所示。座位信息有三种颜色:红色表示已经在使用,蓝色表示有人预约但还未签到使用,绿色表示无人预约且无人使用。可以预约并使用座位。可以在系统中选择学习楼层,系统会根据学生选择的楼层,展示不同楼层之间的座位图。让学生更直观的了解座位使用情况。
1.
. 系统架构图
2. 急诊室
. 系统架构ER图
3.
. 系统登录界面
4.
. 系统注册界面
5. 座位
. 座位预订界面示意图
3.1.2. 登录/退出模块
签到签退模块是我们系统设计的一大亮点。签到模块摒弃了传统的图书馆机器签到方式,我们采用墨水屏显示二维码,让预留座位的学生扫描二维码进行签到。电子墨水通电后可以变色,可以像传统屏幕一样显示变化的图像,功耗低,辐射小,可以作为签到所需的二维码屏幕。因此我们设计了动态刷新的二维码,可以一定程度上防止拍照签到等签到作弊行为。同时,签到时系统会根据用户的位置信息,通过GPS判断是否满足签到条件(范围必须在图书馆内才能签到)。签到界面如图所示。同时,当座位用完,即将离开图书馆时,需要在小程序上释放座位。签到签退都和门禁系统有关。 在小程序上预约座位后,门禁会开始20分钟倒计时(以一小时为例),20分钟内学生需到馆刷卡签到确认预约,否则视为取消预约,系统自动放行位置信息。
6.-in
. 预订系统办理入住手续示意图
3.1.3 数据管理模块
学生注册账号时,学生信息,包括姓名、性别、专业、班级、学院等都会被采集并保存在系统中。同时,数据库还会记录并保存每个学生来图书馆预约座位的次数以及是否按照规定流程售出。这些数据以表单的形式呈现,并存储在数据库中供系统使用。具体学生信息表如下所示。
表名
字段
数据类型
描述
学生信息表
学生账户
残障人士
登录密码
不结盟运动
学生姓名
年龄
年龄
枚举
主要的
枚举
班级
枚举
预约状态
1.
. 学生信息表
3.1.4. 数据利用模块
数据在系统中扮演着非常重要的角色,光有数据是不够的,如果能利用系统使用过程中的数据,更能体现系统的价值。因此系统在学生信息、预约信息的收集利用上做了很多努力。同时,数据的使用方式也是我们系统的一大亮点,由于学生信息是在注册账号时收集的,我们通过大数据接口对数据进行分析,在预约座位时,我们向学生推荐相关专业的书籍。在预约座位时,学生可以快速方便地对一本书有一个大致的了解,如果学生对这本书感兴趣,系统就会调用图书馆的图书借阅系统查询这本书的所在位置,方便学生借阅。
根据学生预约图书馆座位的次数(非恶意预约)推出学习之星。“榜样”的力量是无穷的,可以激励学生到图书馆学习。在3.1.2提到的签到签退模块中,系统会统计签到是否正常,如果签到次数不符合规定达到四次,学生的图书馆座位预约将被暂停一周。以此督促大家养成良好的使用习惯。预约功能暂停后,可以联系图书馆管理员,管理员会根据情况决定是否启用。
3.1.5. 系统席位管理模块
系统有自动座位管理和图书馆管理员管理两种形式,收集图书馆各楼层自修室座位数量,并在系统中显示相关座位信息(以红蓝绿三色表示)。当有座位释放时,系统收到释放指令,立即将释放的座位更新为绿色(可预约座位)。同时,系统每天闭馆后自动释放所有座位,将其全部标记为绿色可预约,次日上午开放预约功能。
3.1.6. 系统管理员模块
系统管理员模块分为登录、席位管理、用户管理和公告管理四个部分,关系如图所示。登录部分为管理员专用账号及密码,登录为管理员界面。图书馆管理界面如图所示,包括用户操作界面、席位管理、公告管理。
1)席位管理模块
管理员可以通过查找、调用数据库表进行数据交互,实现管理员对系统的坐席进行管理(如发布坐席信息等)。
2)用户管理模块
当某些学生信息发生变化(如毕业、离校、转校等)时,可以联系图书馆管理员修改信息。
3)公告管理模块
该模块包括查询栏和公告。公告类型主要分为违规公告、停业公告等,由系统管理员发布和管理。在该页面,用户可以清晰的查看公告的发布时间以及标题内容。同时,当公告过多时,可以通过上方的搜索框搜索关键词,方便查找。
7.
. 系统管理员模块
8.
. 系统管理员界面
4.性能分析
1)与传统的管理方式相比,传统的管理方式是用纸笔手工统计和管理数据信息,而且这种方式对于某些数据信息的存储和查找比较麻烦。随着计算机网络的出现,这种传统方式很难适应当今社会的发展,不仅降低了人们的工作效率,而且需要耗费大量的人力物力,时间和成本也比较高。为了降低成本,提高学生的工作效率,开发了基于计算机和网络技术的图书馆座位预订系统。
2)图书馆座位预订系统作为独立的系统进行开发设计,采用流行的数据库进行数据存储和开发,主要是为了实现图书馆座位预订系统的学生角色和相应的功能模块,这样图书馆座位预订系统的管理就不会出现管理差异和效率低下的情况,而是与传统的管理信息完全相反,图书馆座位预订系统的实施可以节省资源,提高业务的处理速度,速度快,效率高,功能强大。
3)订餐系统是微信小程序,结合数据库和互联网,实现方便快捷的使用方式。相较于APP,微信小程序面向的用户范围更广,不占用手机内存空间,轻量级,不会造成手机卡顿。其次,开发小程序的门槛和成本较低,开发时间较短,维护成本比APP低。更重要的是,微信小程序不受平台限制,安卓、苹果系统均可使用,兼容性更高。
5. 结论
在图书馆占座现象普遍存在的当下,一个好的、实用的座位预约系统显得尤为重要。该系统不仅具备座位预约功能,还能利用学生个人数据进行个性化推荐,统计学生自习次数和时长,充分利用系统产生的数据。其次,该系统的签到模块是一大亮点,通过GPS定位在图书馆内签到,一定程度上防止了作弊行为。该系统以微信小程序的形式呈现,体积更小,占用内存更小,使用更方便,开发速度更快,实用性更强。该系统旨在减少占座现象,鼓励大家养成良好的座位预约习惯,提高座位利用率,创造更公平的座位使用环境,拒绝长时间占座。