图书馆因有良好的学习氛围、大量的学习资源吸引大家前来学习,图书馆还未开馆就有大量的同学在门口排队等待,有限的座位与日益增加的自主学习者之间形成了供不应求的现象,再加上不了解图书馆的座位使用情况和恶意占座等现象,使得有限的学习座位越发紧张[1]。伴随着越来越多的同学去图书馆,人一多座位少就难免会发生一系列问题:座位占着不用,座位使用率降低,更有甚者用大量的书占座据为己有,同时也引发了同学之间的矛盾,为此发生口舌,甚至与图书馆人员争论不休。针对一系列事情,发现了学生占座的诸多原因,如学生的道德素质有待提高、图书馆有待规范、基础设施有待进一步提升等,针对解决图书馆座位资源的管理和利用率的问题,图书馆一直在着手努力解决。
2.开发技术
2.1.概述开发平台
2.2.设计技术
2)座位图的设计
导入记录有座位分布的二维平面图,通过技术手段,将已预约的座位的小正方形显示为红色,意为已经有人预约此座位,未预约的座位的小正方形显示为绿色,意为可以预约此座位。
3)与门禁系统关联
通过网络与图书馆门禁相连接,并设置定时,在预约座位之后,二十分钟之内需要通过门禁进入到图书馆,否则视为取消预约。
4)架构
为了让系统具有良好的灵活性和伸缩性,选用了面向服务的架构(SOA)。面向服务的架构是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。
5)MySql数据库
在系统开发中会产生很多的数据,那么数据库的作用就显得尤为重要。目前主流的数据库有MySQL数据库,SQLserver数据库和OracleDatabase数据库。在此我们选择MySQL数据库作为我们系统开发的数据库。MySQL可以将数据存储在不同的表中,非常灵活,而且还可以提高系统在实际应用中的速度。同时拥有较高的兼容性。对数据库的操作包括增加、删除、修改、查找等功能。MySQL具有体积小、速度快、成本低等优点,是目前最受欢迎的开源数据库。使用流程如下:
a)创建小程序并引入云开发。
b)创建云函数,取名为mysql。
c)安装MySQL2模块依赖。
d)编写MySQL云函数链接MySQL数据库。代码如下:
constcloud=require('wx-server-sdk')
constmysql=require('mysql2/promise')
exports.main=async(event,context)=>{
try{
constconnection=awaitmysql.createConnection({
host:服务器ip,
database:数据库名,
user:mysql使用后名,
password:mysql密码
})
const[rows,fields]=awaitconnection.execute('SELECTversion();')
returnrows;
}catch(err){
console.log(链接错误,err)
returnerr
}
6)上传并部署云函数。
3.模块设计
3.1.系统架构
Figure1.Systemarchitecturediagram
Figure2.SystemarchitectureERdiagram
Figure3.Systemloginscreen
Figure4.Systemregistrationinterface
Figure5.Schematicdiagramoftheseatreservationinterface
Figure6.Bookingsystemcheck-indiagram
3.1.3.数据管理模块
Table1.Studentinformationsheet
3.1.4.数据利用模块
3.1.5.系统座位管理模块
3.1.6.系统管理员模块
1)座位管理模块
管理员可以查找调用MySQL数据库的表进行数据交互,使得管理员可以对系统的座位进行管理(如释放座位信息等)。
2)用户管理模块
当有的学生信息发生改变后(如毕业、离校、转院等),可联系图书馆管理员进行信息的修改。
3)公告管理模块
Figure7.Systemadministratormodule
Figure8.Systemadministratorinterface
4.性能分析
2)图书馆座位预约系统的开发设计时一个独立的系统,以流行数据库进行数据的存储开发,主要是为了实现图书馆座位预约系统的学生角色及相对应的功能模块,让图书馆座位预约系统的管理不会存在管理差异、低效率,而是跟传统的管理信息恰好相反,图书馆座位预约系统的实现可以节约资源,并且对于业务的处理速度也提高,速度快、效率高,功能性强大。