APP下载

基于Laravel框架的图书证自主激活系统设计研究

2019-05-23符荣鑫蒋继平韦刚

电脑知识与技术 2019年5期

符荣鑫 蒋继平 韦刚

摘要:为提高图书馆员工作效率,自主激活读者图书证,采用Laravel框架作为平台进行设计,构建图书证自主激活系统。系统采用MVC模型,用MySQL设计底层数据库,划分前后端功能模块,规划自主激活系统流程,绘制系统数据流图,建立自主激活平台,实现邮箱验证、读者测试、试卷生成、试题评分、成绩分析及证件激活等功能。读者在测试完毕后能够自主激活图书证借阅权限,提高读者服务质量。

关键词:Laravel;自主激活;读者测试;MVC;系统设计

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)05-0071-03

Research of Library Card Self-Activation System Base on Laravel Framework

FU Rong-xin, JIANG Ji-ping, WEI Gang

(Guangxi Normal University Library, Guilin 541004, China)

Abstract: For improving librarians operation efficiency and activating reader library card, design and construct library card self-activation system by Laravel framework. System using MVC model design database by MySQL, divide frontend and backend function modules, plan self-activation system process, draw system data flow diagram, establish self-activation platform and implement the functions of email verification, reader test, paper generation, test marked, score analyzation and card activation. Readers can activate library borrowing authority after testing by self and improve reader service quality.

Key words: Laravel; self-activation; reader testing; MVC; system design

1 概述

“互聯网+”图书馆智慧服务是当前图书馆行业最先进的服务领域。要提供良好的“互联网+”的智慧服务首先就要构建“智能化图书馆”,智能化的实现必须依靠人工智能和计算机技术[1]。搭建的智能化系统可以极大地提高图书馆员工的效率,并能为图书馆的运作节省大量的时间和人力,为现代化图书馆的建设铺平道路。图书证自主激活系统则是其中一个智能化系统[2]。

目前,实现证件激活操作一般采用人工方式,就是在学生完成答题,获得测试分数之后,需要通过电子邮件或者亲自到办证处去把自己的测试结果交给办证老师,由办证老师核对分数是否正确、有效,然后操作图书馆管理系统手动激活图书证的借阅权限。这种做法优点是准确,人工完全可以胜任这项工作,但最大的弊端在于工作量非常大,在有近万名新生的学校中,就需要手动激活上万次证件权限,无形中给办证老师增加了很大的工作量。为了解决这样的问题,研究设计了一套图书证自主激活系统,可以通过判断读者测试成绩是否及格来自动激活图书证的借阅权限,使证件激活方式更加精确可靠,也大大降低了人工激活方式的人力成本,提高了图书馆的工作效率。

2 Laravel简介

为了实现图书证自主激活系统,研究采用Laravel框架来搭建。Laravel是目前国际上流行的PHP开发框架之一,具有轻便、快速、易开发、易维护等特点[3]。这是一个开源框架,遵循于MIT License,最适合在学校这样的非盈利机构中使用。

Laravel以Symfony 作为核心组件,在其上构建出自己的一整套系统,包括验证系统、文件系统、会话系统、缓存系统、邮件系统、日志系统、错误处理等等,能够胜任复杂的系统操作。它具有以下几个特点[4]:

1)设计Eloquent作为框架Model的基类,封装了大量的数据库操作,方便开发者快速实现CRUD(Create-Read-Update-Delete)操作逻辑,是实现框架快速构建的基础。

2)设计Blade Template作为视图模板,通过简洁的Blade语法显示Eloquent获取到的复杂数据,使系统界面的显示更加方便快捷。

3)添加Redis缓存服务,可以与外部的Redis缓存服务器挂接,实现数据缓存服务,提高系统的运行效率。

以上几个特点使得Laravel在实现上千人并发访问的网站上不会有性能瓶颈。

3 系统设计

3.1 功能模块

系统分为前端应用和后端管理两大部分。前端应用包括系统登录、邮箱验证、试卷生成、试题评分、证件激活等功能模块,后端管理包括用户管理、试题管理、答案管理、成绩管理、系统管理等功能模块,模块之间通过外键相互衔接,模块内部功能聚合紧密[5]。

前端模块中:

1)系统登录模块提供给读者登录系统的功能,要求读者输入自己的证件号、姓名和密码登录系统,并记录读者的登录日志。

2)邮箱验证模块在读者提交自己的邮箱后,会自动发送一封邮箱验证激活的邮件到读者邮箱,保证录入到系统中邮箱真实、可靠,方便图书管理系统利用读者邮箱提供个性化的服务。

3)试卷生成模块可自动生成试卷,并能对试题答案随机排序,使相邻读者间同一题号的试题答案顺序并不一致,可以在一定程度上防止作弊。

4)试题评分模块对读者提交答案可自动阅卷评分,立即可得出读者成绩,并判断读者成绩是否及格,提供证件激活的成绩依据。

5)证件激活模块会根据读者的测试成绩及格与否判断是否启动证件激活操作,激活操作根据数据库的设计方式,需要将“停借”状态改为“正常”状态即可激活证件的借阅功能。

后端模块中:

1)用户管理模块提供读者管理功能,记录读者的登录日志。由于系统采用读者信息图书管理系统托管方式,所以系统数据库中不存放诸如读者姓名、密码等关键信息,这些信息从图书管理系统中直接获取,保证读者信息的一致、安全、可靠。

2)试题管理模块可录入试题信息,包括题目、选项、得分等主要内容,提供读者提交答案后的評分依据。

3)答案管理模块记录读者回答问题后提交的每道题目的答案,是历史查询和回溯的依据,方便了解读者的测试状况,评价题目难易程度。

4)成绩管理模块提供成绩统计功能,可按分数、学院、时间对成绩进行统计分析,便于评价测试结果,分析测试系统的有效性。

5)系统管理模块用于管理系统基本参数,方便系统更改设置。

这十大功能模块提供了系统的主要功能,能够让读者和管理员方便地使用系统,实现读者测试的智能化和人性化操作。

3.2 数据库设计

这里显示的是系统涉及的主要数据字段,系统专门设计一个成绩表,用保存读者每次测试的结果。由于测试可以多次进行,直到测试成绩及格为止,因此保存每次测试的结果,可以很好地回溯读者的测试成绩,评估读者的学习水平,检验试题的难易程度。

数据表相对独立,仅以外键相关联,以用户表为核心,关联获取相关数据。用户表仅用于保存读者登录日志,其余的私密信息均在图书管理系统上托管。用户表与答案表和成绩表之间均为一对多的关系,试题表与答案表之间也是一对多的关系,数据库设计满足第三范式,大量降低了数据冗余,消除了传递依赖,避免数据的不一致性[6]。

3.3 系统流程设计

系统在读者登录时首先判断读者是否已经激活证件,只有证件未激活的读者才能登录系统进行测试。当读者登录系统后,检测读者的邮箱是否已经激活,若未激活,则要求读者填写自己的真实电子邮箱,激活以后才能继续进行测试。测试系统会根据导入的试题自动生成试卷,试题选项随机排列,在读者试题回答完毕,提交答案后系统会自动评分,即时得出成绩。然后根据读者的测试成绩,系统决定是否可以激活证件的借阅权限。生成的成绩单可供培训者进行成绩分析。

本系统与其他系统不同之处就在于证件激活方式,无需人工介入,可以读取读者的测试成绩,与设置在系统中的及格线相比较,自动判断及格与否,只有成绩及格的读者证件才能激活借阅权限。激活方法则是修改图书管理系统中的证件状态,将“停借”状态修改为“正常”状态,读者的借阅权限就激活了。

3.4 设计模式

系统架构采用MVC(Model-View-Controller)模式来设计。MVC模式即为模型-视图-控制器模式,是软件工程中最常用的开发模式[7]。这个模式可以把数据、逻辑和表示三者相分离,有效地实现“低耦合,高内聚”,提高协作开发的效率,降低后期系统维护成本[8]。

在系统中,Model作为系统底层模型,调用系统底层数据接口,派生于Eloquent模型基类,主要包含数据库紧密相关的简单数据操作,实现系统模型上的数据关联,方便通过链式方式访问模型数据。每个Model可以认为是一个实体,是现实中的一个对象存在。

由于User Model直接派生于Eloquent的model基类,因此默认的数据表名是“users”,可以通过“users”表中的字段自动生成相关属性,实现数据表的取值和赋值。自定义的scores函数通过关联方式访问Score Model对象的相关属性和方法,实现链式访问操作。

Controller作为Laravel的控制器,是系统的业务逻辑访问层,包含主要的业务逻辑处理代码,邮箱验证、证件激活、成绩分析等主要业务操作就是放在Controller中。系统针对每个功能模块均生成一个对应的Controller,为了避免冲突,后端管理相关的Controller放入admin命名空间中,更加有利于系统管理和维护。

View是系统的表示层,主要是为了把系统的显示与数据相分离而做出来的。在Laravel中,使用views文件夹来存放视图的相关文件。Laravel自己定义了Blade Template来生成视图模板,Blade语法简洁、易用,能够很好地实现数据与表示相分离的目的。

MVC模式本身就是Laravel框架所推崇的设计方式,因此在框架生成的时候就已经把所有MVC所涉及到的相关架构已经实行了,作为开发者只需要向其中添加相应的代码即可很好的运行整个系统,所以Laravel框架能够实现系统的快速生成和开发。

4 系统运行效果

系统经过几年的运行,取得了较好的效果,能够满足高校读者的测试需求。自2011年系统正式上线运行以来,每年都有大量的新生进行测试。统计结果如所示:

表 1 测试结果统计表

测试开始时间一般为每年的10月份左右,统计时间一般为每年的年底,每年都大概会有60%~70%的新生在第一学期完成测试,激活自己证件的借阅权限到图书馆借书。面对大量的新生测试,系统有较好的承受能力,能够接纳大量的新生同时访问并完成测试,证明系统运行稳定可靠,具有良好效果。

5 结论

通过使用图书证自主激活系统,高校新生的图书馆知识水平有了明显上升,对图书馆有了进一步的了解,使图书馆的工作更加有序进行。用Laravel框架进行系统设计,系统开发更快捷,维护更方便,最适合于高校当中开发应用系统。采用自动激活证件的方式,可以让图书馆减轻大量的工作量,在提高服务质量的同时,没有增加服务窗口负担,对学生和老师来说都是双赢的结果。因此系统设计规范合理,适合高校当中测试使用。

参考文献:

[1] 乌恩. 智慧图书馆及其服务模式的构建[J]. 情报资料工作,2012(5):102-104.

[2] 欧建华.银川市图书馆为读者搭建学习交流服务平台[J].图书馆理论与实践,2016(4):107.

[3] 张世超. 跨平台自动培训考核系统的设计与实现[J]. 数字技术与应用,2015(2):145.

[4] 陈显军,耿强,纪洲鹏,等.基于Laravel框架的RESTful API构建[J].信息与电脑:理论版,2017(15):42-44.

[5] 郑亮亮,王志明.智慧考试系统的设计与实现[J].电脑知识与技术,2018,14(12):86-88.

[6] 王郑敏.基于互联网的学习与考试系统设计与实现[J].中国新通信,2018,20(13):173.

[7] 吕智强. 基于MVC模式的PHP框架设计[J]. 科技视界,2013(24):65-66.

[8] 严时国,邵魁德.图书馆在线自主学习信息服务创新研究[J].兰台世界,2015(17):160-161.

【通联编辑:谢媛媛】