基于微信小程序图书馆座位预约系统设计与实现

摘要
在面对当今培育人才计划的压力,人们需要汲取更多的不同领域的知识来不断扩充自己的知识层面,因此他们对学习的欲望不断扩大,图书馆作为高校的学习宝地,有着不可替代的地位。但是在信息化时代,传统模式下的图书馆管理并不能满足用户需求。
本文分析了国内外图书馆座位管理的背景和现状,对高校图书馆座位预约进行了研究。在此基础上,设计了基于微信小程序的图书馆座位管理系统,通过该系统来实现图书馆座位预约,使得该馆能更加高效地管理。
该系统是以需求分析为出发点,根据用户需求,按功能模块进行编写程序,在开发过程中努力去完善这个过程中所存在的问题。不管是对于使用人员或者是管理人员,通过这个系统都可以在一定程度上节省他们的时间精力。
关键词:图书馆;微信小程序;座位预约系统
Abstract
In the face of the pressure of the talent cultivation program, people need to learn more knowledge in different fields to constantly expand their knowledge level, so they are more and more eager to learn, library as the holy land of university study, plays an important role. However, in the information age, traditional library management cannot meet the needs of users.
This paper analyzes the background and current situation of library seat management at home and abroad, and studies the seat reservation in university library. On this basis, the library seat management system based on WeChat small program is designed, through this system to achieve the library seat reservation, so that the library can be more efficient management.
The system is based on demand analysis as the starting point, according to the needs of users, according to the functional modules to write the program, in the development process to try to improve the problems in the process. For both users and managers, the system can save their time and energy to some extent.

Keywords: library; WeChat applet; Seat reservation system

目录
第1章 绪论 1
1.1 课题研究背景 1
1.2 国内外研究现状 1
1.3 从可行性角度分析小程序 2
1.3.1 技术可行性 2
1.3.2 经济可行性 3
1.3.3 社会可行性 3
1.4 章节小结 3
第2章 系统主要技术和语言介绍 4
2.1 微信开发者工具 4
2.2 Javascript介绍 4
2.3 Eclipse介绍 5
2.4 SSM后台框架 5
2.5 MySQL数据库 6
2.6 章节小结 7
第3章 图书馆座位预约系统设计 8
3.1 角色分析 8
3.2 学生端系统结构设计 8
3.3 管理员端功能设计 11
3.4 数据库设计 11
3.5 章节小结 15
第4章 图书馆座位预约系统的实现 16
4.1 系统页面的实现 16
4.2 用户登录模块 17
4.3.预约选座模块 19
4.4 查看公告模块 24
4.5 个人中心模块 25
4.6 出/入馆扫码 27
4.7 章节小结 28
第5章 总结与反思 29
5.1 总结 29
5.2 反思 29
参考文献 30
致谢 31

第1章 绪论
1.1 课题研究背景
在当今建设创新型国家的形势下,随着国家相关战略的大力落实,政府单位密切关注高等教育的发展,不仅增加了许多有利的社会制度,并且也大力投入学校基础设施建设[1]。通过种种举措,使得高校的办学条件及学生学习环境得到质的提高。如果说高校是孕育人才的摇篮,那么图书馆就是编制这个摇篮的藤条。而学生在面对当今培育人才计划的压力,他们需要汲取更多的不同领域的知识来不断扩充自己的知识层面,包括通过考证考研来增加自身资本。由于个人条件能力有限,每个人都不可能拥有各个领域相关的全部书籍,这时候,图书馆就可以充分发挥作用,履行它自身的职能,为广大师生提供书籍及相关资料,满足他们的需求。
基于我国人口基数大的基本国情下,哪怕政府已多增加对高校建设的投入,人均资源占有量仍然偏低[1]。尤其在图书馆座位资源利用中,最常见的问题无非是座位短缺,大多数人也曾称之为“一座难求”。图书馆不合理的座位管理会制约馆内的资源使用,而上述的常见问题亟待解决,如果没有很好地处理问题,将会影响学生对图书馆的使用率,同时也是对国家政府大力投入资源的浪费。
现当今信息网络发展迅速,移动服务将会是现在乃至未来发展的主流。由我国互联网络信息中心用确切数据指出:在2017年12月前,中国手机网民数量达7.53亿,且该数量连续三年上升[2]。由此可见,互联网的普及度很广。中国14亿人口中就有一半以上使用微信,可以说大部分的日常社交生活是离不开微信,而微信推出的小程序比APP更方便快捷。因此针对图书馆座位管理问题,我选择用微信小程序设计图书馆座位管理系统,希望能为合理管理图书馆座位提供点建议。
1.2 国内外研究现状
在国内,传统的图书馆管理容易引起矛盾争纷,“占座”现象一直是存在的,由该现象引起的矛盾也是络绎不绝。许多高校在馆内随处附上“禁止占座”的标示语,管理员也会提醒学生离馆时一定要把自己的物品都带走,否则将全部清掉。然而有些学生视若无睹,管理员在闭馆后还是要去收拾他们用来占座的物品,这在一定程度上,使得管理人员的工作量被增加了。当隔天学生来找不到自己被清理掉的物品时,又极度容易和管理员闹不愉快,亦或者是学生间也会因为占座问题产生矛盾[3]。曲奎等人综合多种因素总结出产生“占座”现象的原因,他们认为用计算机管理可以解决这个问题,并在这个问题的基础上,建议图书馆的座位需要有个系统来方便管理[4]。通过文献查找发现高校中图书馆不乏有些可行方案,比如华北电力大学曾创建了基于VB的图书馆座位管理系统,王炳江等人指出了该系统可以有效保障用户使用图书馆的权力,同时遏止了占座陋习[5]。但是王孝亮等人认为该系统通过刷卡进行座位分配,用户仅借书,系统也会随机帮他们安排座位,这在一定程度上也会造成座位浪费[6];河北工业大学曾利用RFID射频技术进行座位资源管理,韩慧在其论文中指出,该系统需要较多的硬件成本,且容易被数据收集、系统布线制约,存在一定局限性[1]。
国外教育发展早,他们十分重视图书馆在人类社会的作用,比如说德国,它被称为图书馆最多的国家之一,每年都有上亿人来参观[7]。专家们把图书馆资源当作资源分配的问题来处理,在提高资源的利用性以及分配问题下了许多功夫,尤其是从九十年代以来,国外大多数学校通过网络化来管理图书馆,这使得管理效率得到一定的提升,21世纪初,他们把社交媒体软件融入到图书馆的网络管理,如Facebook、Instagram等。国外的占座现象没有像国内这么普遍严重,但是这一现象也是不可避免地存在着,德国大学通过分散用户需求来解决图书馆座位资源不充分的问题,该校把学生的上课时间和考试分散安排,这也能适当缓解高峰时段过多的人流量给图书馆带来的压力[8]。目前大多数外国图书馆座位预约管理系统已经获得了较大的发展。
1.3 从可行性角度分析小程序
1.3.1 技术可行性
在本系统中有使用到Eclipse和MySQL。与其他开发工具相比,这两个开发工具更容易上手。经过许多年的积累沉淀,它们自身的可操作性和兼容性也更为完善。微信小程序的主要部分是基于微信开发助手,用JavaScript来编译。系统后台框架是基于SSM设计的,它是常见的数据源较为简单的web框架。
对于大多数开发人员来说,小程序的开发门槛之所以低,是因为它是基于微信这个平台上运行的,比起其他APP开发运用,开发人员就不用花时间去思考手机端系统存在的差异会不会造成不适用性,综上,该系统在技术上是可行的。
1.3.2 经济可行性
2017年微信小程序上线到今天,发展可谓之迅速。而与APP之间存在的最大差异便是成本更低,使用更加快捷方便。众所皆知,在实现APP的完整过程中是要求有很多成本的,主要有前期的开发、后期的维护、测试以及引流等等。上面也有提到,小程序是在微信平台上得到开发的,这也就意味着它拥有了微信本身携带的庞大用户量,因此无需再消耗成本去进行引流,开发成本相对比较低,开发人员们可以把多余的人力、财力、精力侧重在如何运营好产品,如何使得内容更为丰富。再者,当小程序真正投入使用后,关于座位管理系统也可以减少人工介入,尤其是在座位使用期间,图书管理员可以减少对座位巡查的次数,这在一定程度上可以节省图书馆人力资源。综上,该系统产生的效益将远远大于前期我们在开发该系统的时候投入的成本,所以,经济上可行。
1.3.3 社会可行性
对绝大多是使用者来说,使用微信小程序就可以进行图书馆座位的预约是相当便捷的,他们不需要花费数据流量去下载安装一个APP来占用手机内存,只需要有一个微信就可以了。进一步说,他们也将可以减少由位置引起的冲突。
对在图书馆的管理人员来讲,传统意义上的座位管理系统必须有的条件是人工管理,没有人工的存在,座位管理系统将会被破坏。当出现占座现象时,如果没有处理好,会把原本有的矛盾进一步被激化,这非常不利于营造和谐美好的阅读环境,使得图书馆失去它自身意义。该系统符合法律法规,不会对社会产生不良影响,综上所述,是符合社会可行性的。
1.4 章节小结
本章通过为什么图书馆座位管理会引起的不良现象进行剖析并结合国内外对这些现象采取的措施进行研究,从技术、经济、社会三大角度进行可行性分析,这对后续的系统设计提供了前期准备。

第2章 系统主要技术和语言介绍
2.1 微信开发者工具
官方为了让开发人员开发调试微信小程序时能更加便利,在原有的基础上,提供了微信开发者工具。它主要涵盖了原先的公众号网页调试和小程序调试。为了让开发人员有满意的体验,开发者工具在各方面不断升级,继承了开发、设计、调试、预览等功能。
开发者工具不是集成开发环境,是一个编写代码的工具,接下来简要分析一下它的优缺点。它相较于第三方平台而言,独一无二的优点不亚于是官方工具,安全性能更高,因为会被官方按时进行功能更新以及后台的维护。除此之外,它自带的基本功能有编辑、调试代码,也可以进行页面的预览。它的缺点就是没有足够充分的API提示,开发人员会在这一部分花费部分时间去排查API和编写代码。
综合这些因素,考量现实情况,本系统会用微信开发者工具进行小程序端的编写。
2.2 Javascript介绍
2.3 Eclipse介绍
1999年4月,OTI和IBM创建了Eclipse,它是一个开放源代码且附带标准插件集的平台,作为人所皆知的跨平台IDE,它朝着可以成为任何语言开发的集成者为目标不断前进,如今Eclipse不仅可以支持Java语言,在其他插件的作用下,也可以支持更多的计算机语言。它被称为Visual Age for Java的代替物,因此也广受人们关注[10]。
Eclipse致力于提供一个全功能的平台为高集成的工具开发,它具体涵盖了四个模块,分别是eclipse platform、JDT、CDT以及PDE。其中,eclipse platform作为开放的IDE,给创造并运行集成软件提供了一个通用的平台,给开发人员带来了许多便利,他们可以借助平台开发出与他人的无缝集成的工具;Java开发是由JDT负责,C开发是和CDT对接而开发插件主要是PDE[10]。
2.4 SSM后台框架
本系统后台框架主要是由SSM框架搭建而成,SSM指的是由Spring、SpringMVC、MyBatis整合而成的开源框架集。它可以符合目前“低耦合高内聚”的开发系统需求[11]。SSM的应用组件包括表现层、控制层、数据持久层以及业务逻辑层。下图2.2为这四个层的主要作用,图2.3为各层之间的交互。
在这里插入图片描述
在这里插入图片描述
Spring主要特点有三个,第一个是通过对API的简化从而使得对Java的开发相对简单;第二个是实现松耦合,通过依赖注入和控制反转得以实现,两者相辅相成,使得维护性被提高;第三个作用便是面向切面的编程(AOP),可以减少一定的样板式代码,在Spring框架下使得AOP编码方式更加简便[12]。 Spring的衍生物是SpringBoot,它在Spring优势下,秉着“约定优于配置”的准则,简化了应用程序的配置,使得项目可以快速创建运行。除此之外,它还有许多优点,比如说允许短时间开发RESTful风格的架构、自身容器能更加便捷地部署JAR包等等[13]。
SpringMVC涵盖了模型、视图以及控制器这三部分。控制器作为MVC最主要的核心,它的职责是分发请求和返回处理结果。它将视图和模型进行分离,降低了后端处理的数据模型和视图发生变化后两者之间的相互影响。
MyBatis则是一个关联数据库、和数据库进行交互的框架。
2.5 MySQL数据库
何为数据库?按字面意思理解就是存放数据的仓库,它的容量无限之大,为了提高使用效率,它并不像是一般仓库随意堆叠,而是有自己的一套章法,根据自身规则进行存放,常拿电子化的文件柜来形容它,人们可以对数据进行存储和删除等操作。
MySQL是隶属于Oracle的应用,被瑞典公司所开发,所使用的是被认定为最标准的访问数据库的语言。数据库被分为两部分,一部分是关系型数据库,实体与实体之间的关系可以由存储的方式得出,关系型是指数据被存储于不一样的表中,常见的有MySQL和SQL Server等。另一部分是非关系型数据库(Not only SQL),这部分和传统意义上认知的关系型数据库存在着相异之处,尤其是在数据结构方面,非关系型更重视的是读写存储大数据。
MySQL凭借着“麻雀虽小,五脏俱全”的优点即体积小、速度快、成本低等,特别是开放源代码这一优点[14],备受人们所喜爱,因为它可以在最大程度上降低成本,而它所给予的帮助对广大开发人员来说已经足够了,使用这种除开人工成本外,免费建立一个稳定的网站系统且能为应用提供高效的访问数据模式为开发人员节省了时间精力,综其种种,着实吸睛。
通过MySQL创建系统数据库,对于一开始的数据合并解决有很大的便利以及后面数据拓展的开发操作都能更好地实现,图书馆座位预约系统不可以没有数据库来做支撑,它的逻辑独立性和物理独立性都能给开发人员以及使用人员带来好处。于开发人员而言,数据库可以对信息进行存储增删及更新,给他们节省更多时间精力去开发应用;于使用人员而言,如图书馆管理员,他们能更为有效地管理图书馆,减少座位管理不当引起地冲突。因此该系统基于MySQL来实现。
2.6 章节小节
本章节主要是介绍该系统设计主要利用到的语言JavaScript和开发工具。该小程序通过微信开发助手、Eclipse、MySQL数据库以及由SSM框架搭建起来的后台。由于该系统是基于微信小程序设计,因此主要介绍的是客户端所使用的语言和开发工具。

第3章 图书馆座位预约系统设计
3.1 角色分析
根据设计需求,本系统的用户分为管理员和学生,不同的用户扮演着不同角色,他们所对应的功能也不一样。下图3.1为图书馆座位预约小程序角色功能示意图。

在这里插入图片描述
3.2 学生端系统结构设计
学生端系统结构主要是在前端需要实现的功能,包括用户登录模块、预约选座模块、查看公告模块和个人中心模块。其中,后面三者对应学生所登陆的小程序底端的导航键。其主要的结构如下图3.2所示:
在这里插入图片描述
(1)用户登录模块:在微信客户端找到小程序入口,用户通过学号和初始密码123456即可完成登陆。通过学号登陆可以有效保障该校学生的权益,避免在人均公共资源不足的情况下,还有外人进行资源共用。
(2)预约选座模块:该模块是整个系统的核心,要实现的功能有楼层查询、时间段选择、位置查询的功能。当用户登录后先选择楼层接着将进入到时间段选择的页面,时间段的设置参照该校图书馆开馆和闭关时间设定,时间是从早上九点到晚上十点。为避免有的同学长期预约占座,使得其他人不能很好地享受公共资源,系统设置为只能预约当天的时间段。
当用户确认好时间段之后,将会弹出座位选择的页面。该页面通过可选择、不可选择、已选择这三个图标方便用户更直观地查看座位状态,当选择成功之后,弹出预约成功的页面,用户可以在该页面查看自己的选座详情。查看结束后,点击返回到原界面。下图3.3 为该模块的流程图。
在这里插入图片描述
(3)查看公告:该模块包括查询栏和公告通知,公告类型主要分为违规通告和闭馆通知等。在该页面,用户可以清晰查看公告发出的时间以及标题内容。同时当公告过多时,可以透过上方的搜索框进行关键字的搜索,方便查找。下图3.4为该模块的流程图。
在这里插入图片描述
4)个人中心:该模块包括获取用户微信头像、我的预约。在“我的预约”中,用户可以查看自己的预约记录和订单状态。当用户临时有事不能准时使用预约的位子时,可以在该模块中进行取消预约。在每一条预约记录中都有该订单对应的二维码,如果用户因为临时有事需提前离馆时,只需向管理员出示二维码便可释放位子,避免座位资源的浪费。下图3.5为该模块的流程图。
在这里插入图片描述
3.3 管理员端功能设计
管理员在该系统中,主要实现的功能有登陆、出/入馆扫码、用户管理、座位管理、公告管理。下文将对这些功能进行简要介绍。
(1)登陆:通过用户名和密码即可登陆小程序。
(2)出/入馆扫码:这个功能的存在主要是为了让图书馆座位资源得到充分利用。假设没有这个功能的话,有的用户进行预约后,不能到场也没有进行取消预约,那么这个位置将会在规定时间段锁上,如果管理员没有及时发现,在这个时间内,该座位资源将会被浪费。同样的分析道理适用在需要提前离开的用户上。该模块不仅可以帮助管理员在后台更好地进行订单数据查询而且可以给用户提供更好地使用感。
(3)用户/座位/公告管理:管理员可以查找调用MySQL数据库的表进行数据交互,使得管理员可以对系统的座位、用户和公告进行增删改查,有利于座位系统的管理。
3.4 数据库设计
作为存储信息的小仓库,数据库在该系统中发挥着至关重要的作用,如果这一部分没有做好的话,将会带来隐患问题,不够健壮的数据库不仅不能对于使用者的要求及时做出相应,且使得整个系统难以维护。基于上文所提到的MySQL的优点,本系统将利用到MySQL作为数据库帮助系统运行。
E-R图可以更加直观地观察到实体之间的关系,它主要由实体、属性、联系组成。实体间的关系又被划分成一对一、一对多、多对一这三种。图书馆座位预约系统包括许多个实体,比如楼层、座位、公告、用户。用如下E-R图展示部分实体之间的关联,如图3.6 所示。
在这里插入图片描述
下面将展示该系统所使用到的数据表:
(1)用户信息表:下表3.1为用户信息表(user)。
字段 类型 大小 字段描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
。。。。。。。。。
在这里插入图片描述

更多内容:请点击下载

  • 5
    点赞
  • 3
    评论
  • 93
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值