基于移动终端的大学生实验设备借还系统的设计与开发
2018-07-25邱国庆
邱国庆 胡 顺
[关键字] 实验设备;移动终端;系统设计;系统开发
1 引言
手机的使用已相当普遍,特别在大学生群体,手机已经是每个人必备的学习、生活工具。如果能在实验室管理工作中,利用手机的便利,提高工作效率,方便学生学习,那将是极具积极意义的事。如何适应当前情况,将设备的借还操作在移动终端上实现,特别是手机上实现,使其在实验室设备管理上发挥更大的作用,就变得迫在眉睫了。
2 现状分析
目前,广西师范大学教育学部实验设备的借还方式主要还是靠手工记录,再由管理员择时统一将记录输入电脑后进行电子存档。这种方式不仅不符合时代发展,效率低下,而且还极其容易出错,甚至出现电子档漏登记的情况。同时,由于电子文档与实际纸质登记情况有滞后性,经常出现某些设备已经借出,但在电子档里查出结果与实际不符的情况;有的设备已经归还,但电子文档未及时更新,导致设备闲置。这些情况,严重妨碍了学生的学习过程,降低了实验室管理效率,加大了实验室管理人员的工作强度。
在信息化高速发展的今天,社会的通讯代价已经非常低廉,国内几大运营商针对在校大学生,更是有很优惠的推广套餐,大学生们经济上能够承受学习过程中使用手机的消费。站在时代前沿的大学生认为,这种做法非常符合他们身份,况且这还极大提高了他们的学习效率,所以较容易被广泛接受。
综上所述,无论是从环境、费用、需求等各方面来讲,开发基于移动终端的大学生实验设备借还系统是符合当前现状的做法。同时,如果系统也可以兼容电脑使用,将更加方便实验设备的日常管理工作。
3 系统模式与整体架构
系统基于O2O(线上对线下,Online To Offline)模式,需要学生和管理员通过线上申请、审核,线下借还、核查的模式完成整个借还工作,如图1所示。线上和线下工作结合,提高管理效率,促进实验室管理的信息化。本文将重点探讨线上的功能实现,对于线下的操作,不再详细讨论,因此后文提到的系统仅指线上系统。
图1 系统的O2O模式
系统使用B/S(Browser/Server,浏览器/服务器)的基础结构。在此结构上,通过对广西师范大学教育学部学生及实验室管理人员的需求采集归纳,线上借还系统从逻辑上可细划分为五层——硬件设施层、数据资源层、应用框架层、应用层、显示层,具体架构方式如图2。其中,显示层对应B/S基础结构的B(Browser,浏览器)端,其他层属于S(Server,服务器)端。
图2 系统B/S结构及五层架构
硬件设施层主要包含服务器硬件、安全设备和网络设备,还要配置好系统所需的系统软件,搭建Web服务器、数据库服务器的各种软件及其他所需的中间件。数据资源层提供数据库管理操作、数据存储功能,主要包括学生信息、管理员信息、设备信息、借还记录和系统日志等数据。应用框架层提供基础的应用功能模块,包括用户管理、权限管理、身份认证、设备管理、借还管理等基本框架功能。应用层实现人与系统的交互功能,包括设备信息录入、设备信息查询、在线借还申请、借还申请审核、数据统计等功能。最后通过显示层的移动端网页浏览器、微信公众号、电脑端浏览器展示给用户。
4 数据库设计
系统采用了MySQL数据库系统,MySQL是最流行的关系型数据库管理系统之一,在Web应用方面,MySQL是最好的RDBMS(Relational Database Management System,关系数据库管理系统)应用软件,同时搭配PHP和Apache可组成良好的开发环境,这也是非常符合我们系统整体构架的选择。从性能上来看,MySQL有足够的能力处理我们所需的操作。整个数据库包括学生信息表、管理员信息表、设备信息表、借还记录和系统日志,其中系统日志表采取标准日志记录,不再详细介绍。
4.1 学生信息表
学生信息表主要记录学生基本信息情况,包括学号、姓名、系科、年级、手机号码、密码、状态等,数据表的结构详情见表1。学生信息可直接从已有数据导入,也可以采取固定时间开放注册,再审批的方式。异常账户可修改状态数据,屏蔽用户登入系统操作;对即将毕业学生或极个别学生可通过设置特定状态数据,限制其借入申请。
表1 学生信息表
4.2 管理员信息表
管理员信息表主要记录管理员基本信息情况,包括工号、姓名、手机号码、密码和权限,其结构设计如表2。为实现分级管理,可通过权限值确定管理员权限,如系统管理员拥有最高的操作权限,而学生管理员则只能进行简单的借还审核确认等操作。
表2 管理员信息表
4.3 设备信息表
设备信息表主要记录实验设备基本信息情况,包括设备编码、设备名、总数量、库存数量、设备描述、设备状态,数据表的结构详情见表3。
表3 设备信息表
4.4 借还记录表
借还记录表主要记录借还操作情况,包括记录号、借还的设备编码、借还操作的学生、经手的管理员工号、操作类型、借还数量、借还时间、备注,数据表的结构详情见表4。该表是核心记录表,所有的借还操作都将在此表中记录下来,以备随时查询、统计。备注字段可存储与借还相关的信息,如借还时设备损坏情况描述、约定借还期限、管理员的提醒话语等信息。
表4 借还记录表
5 系统实现
系统使用PHP语言开发,申请了个人发微信公众号的开发环境,可以完全满足移动终端的使用,又不增加开发的技术成本。开发过程中我们选择了最优化的软硬件开发环境,以提高效率。由于篇幅所限,我们在文中除了说明所需硬软件环境外,只讨论在线借还申请和微信公众号开发的具体实现。
5.1 软硬件环境
为了缩短开发周期,Web服务器、数据库服务器直接使用了WAMPServer进行架设,它是Windows下的Apache+PHP+MySQL集成环境,能够提供HTTP服务、MySQL数据库服务、PHP等所需的图形管理环境,非常便利。由于服务器处在校园内,服务器安全部署方面,除了直接依赖学校现有的硬件防火墙外,我们通过安装服务器安全狗软件,配合Windows自带防火墙来实现,强化安全配置,关闭不需要的端口和服务。
应用框架层使用当前成熟的Yii2框架,它是一个高性能的,适用于开发Web 2.0应用的PHP框架。该框架拥有一套严格的安全校验方案,能很好地维护系统安全。它遵循了MVC(Model View Controller,模式-视图-控制器)模式,确保了清晰分离逻辑层和表示层,非常有利于后期的扩展和维护,也可大大提高开发效率,缩短开发周期。
另外,Yii2框架可非常方便地实现对移动客户端的支持,几乎不需要做额外工作,就能让系统既支持电脑端,又能在手机、平板等移动端完美展示。对于微信公众号的服务,只需要申请好公众号,设置好服务菜单,即可直接跳转到原始界面,在微信里提供服务。因此,使用Yii2框架可无缝开发既符合电脑,又符合移动端浏览器,还符合微信公众号的显示层界面。使用Yii2框架的GII模块,我们可快速完成应用框架层的用户管理、权限管理、身份认证、设备管理、借还管理功能的开发,这对于熟悉Yii2框架的开发者,都能轻松实现。
5.2 在线借还申请
在线借还申请由用户发出,系统进行身份认证后,初步查询设备情况,若符合借出条件,将由系统暂行接受学生申请,提交进入系统审核等待阶段,学生到达实验室后,再由线下实验室管理员核查设备后,实施借还,再进行线上的最后确认,最后打印出纸质文件,签字确认后存档,才算完成借还过程,具体流程如图3。
图3 在线借还申请流程
5.3 微信公众号开发
直接从微信公众平台申请后,即可进入该平台进行微信公众号的功能开发。微信公众号设置了三大功能:设备查询、借还申请、借还查询。设备查询界面,学生可以输入设备名的关键字,查阅所需设备的状态数据,掌握此设备即时的库存信息,即可发起借还申请。借还查询可查阅自己发起的借还申请及审核情况,掌握自己的借还信息。
通过公众号的服务器环境设置,我们可共享后台已经在应用层实现了的功能,微信公众平台主要实现显示层功能即界面的开发。目前微信公众平台主要依靠H5(HTML5,超文本标记语言)来实现。为了更好、更高效地实现微信公众号的界面开发,我们直接选取了第三方的H5制作工具。这些第三方工具与官方提供的相比,有更多的元素、更美的资源、更时髦的排版、更便利的操作方式。例如,某些第三方平台直接提供模板化的场景,一键即可完成微信文章的排版、美化等功能,非常方便。
6 系统测试
系统完成后,还需进行各方面的测试。我们主要完成了功能测试、性能测试、兼容性测试和安全测试。功能测试需测试所有链接、表单、数据是否有效,各模块是否正常实现,微信公众号能否正常使用。性能测试除了需要测试网站及公众号的连接速度外,还要进行系统压力测试。兼容测试需完成当前电脑端主流网页浏览器的兼容测试,如IE内核、Firefox内核、Safari内核的各种浏览器,还需要完成不同系统,如Windows、Android和IOS系统下的浏览效果测试。安全测试,除了要做好服务器操作系统安全设置,及时打好系统补丁,安装专用防火墙外,还要进行第三方的安全检测(例如360网站安全检测),安全问题关键还是在平时系统使用过程中,多注意检查系统漏洞,监测系统性能。
7 结束语
长期以来,实验室设备的借还管理都是一项繁琐的工作任务,给实验室管理人员带来诸多工作压力,也给学生造成许多学习阻碍。通过开发基于移动终端的借还系统,能大大缓解以上矛盾,提高工作效率。另外,自主开发的系统可随时根据自身需求进行功能上的完善,适应未来实验室管理的工作模式。