基于Php-Web技术的在线考试系统设计

2017-04-25 13:27朱佳轩鄢雪梅
电子设计工程 2017年8期
关键词:云端页面服务器

朱佳轩,鄢雪梅

(贵州工商职业学院 贵州 贵阳 551400)

基于Php-Web技术的在线考试系统设计

朱佳轩,鄢雪梅

(贵州工商职业学院 贵州 贵阳 551400)

针对在线考试系统面对众多考生的数量压力引发的服务器访问量宽带或者空间的存放问题,通过传统的书面考试和交流式的在线考试平台上,利用Php做出的动态页面和Web前后端开发技术实现老师和考生信息交流的在线考试系统,结合CWC云端平台作为在线考试强大的云端存储空间,并且运用MySql数据库对录入考试信息。通过access_token接口来获取在线考试系统上的CWC云端第三方平台来实现考试功能,自定义菜单编写成json格式的数据实现考试信息的查询功能。

在线考试;php技术;web技术;mysql数据库

随着互联网技术的不断发展,基于Web的在线考试系统应运而生[1]。利用网络对考生随时随地进行远程考试是对传统考试模式的拓展,开发在线考试系统具有较高的应用价值[2]:简化了传统纸质化考试的流程,并且减少监考和批改考卷的人力投入,从而直接降低了教育资源成本,促进了现代教育方式的发展。在线考试系统主要包含以下几个方面的功能[3]:信息管理、题库管理、时间管理、出题管理、系统批改和成绩查询。而实现系统的稳定性是运行在线考试关键[4]。针对在线考试的信息传输方式,又可将在线考试系统分为有线传输和无线传输两种:有线传输的在线考试基于B/S架构的软件系统[5],而无线传输的在线考试基于移动互联网技术实现客户端与服务器端连接[6]。文中概括地阐述了基于php-web技术的在线考试系统的设计理论框架。将传统的纸质考试方式变化为在线考试的方式,在php-web技术的基础上利用CWC(China West Cloud)云端平台作为第三方服务器,且运用mysql数据库录入考试信息。

1 技术理论

1.1 消息接口与云端平台

开发者通过对在线考试系统消息接口的使用进行消息的处理,并在开发者和用户之间的互动进行消息交互能力的强化。当考生通过登陆账号成功接入在线考试系统的消息接口,并给在线考试系统发送消息,在线考试系统的服务器就会通过使用http请求的方式对接入消息的网址进行消息推送[7],此时第三方服务器通过对数据包的响应来回复特定的数据结构[8],从而达到试卷信息以消息回复的方式进行出卷考试。

本研究选用CWC云端平台,CWC(China West Cloud)是贵州互联数据中心于2012年开始内部开发,并在2015年8月正式推出第一个虚拟化技术的主机服务的贵州首个公有云计算平台[16]。CWC是主要是通过对先进虚拟化技术的应用,对高性能的服务器和优质的网络带宽进行整合,为开发者提供了一系列的存储和分布式计算的服务。

1.2 php后台与web网页开发

PHP是一种结合Perl,Java和C语言语法特点的通用开源脚本语言,其适用于Web程序的开发领域[9]。相对于Perl和CGI而言,在考试试卷的动态网页表达方面它拥有更快的速度来和反应能力来执行。同其他的编程语言相比,通过将程序嵌入到HTML文档中来执行的PHP做出的动态页面[10],相对于CGI技术完全生成HTML标记,其执行效率要高许多[11]。本系统则是利用PHP技术进行在线考试系统web端代码和第三方服务器后台代码的编写。

从开发技术的角度进行划分,目前的web网页可以分为前端开发和后台的开发[12],其中Web前端开发技术中最为重要的三大要素即HTML、CSS和JavaScrip[13]。通过运用php或者java程序语言的编程为后台开发的Web网页后台运行提供稳定而迅速得服务与支持[14]。基于php-web技术的在线考试系统就是将html、css、js等web开发技术相互结合从而构建完成在线考试系统的前端的设定与设计,从而通过php为系统提供后台的支持。

2 系统设计

2.1 系统接口设计

基于php-web技术的在线考试系统利用CWC平台作为第三方后台在线服务器,用来处理服务器传送过来的消息代码,然后再将经过处理后的消息代码折回传送给服务器,这样一个流水过程的在线考试系统第三方服务器设计流程就基本完成了,以上就是在线考试系统常用的一些第三方消息接口。为了实现与满足需要通过接口来实现的功能,可以利用access_token来取得所设计的在线考试系统上的第三方消息接口[17]。通过设计自由化的菜单选项的接口,完成在线考试系统底部菜单栏选项的自我任意设置,使得设计的过程更加方便与简洁。

图1 平台开发流程图

2.2 Web在线考试页面设计

从开发技术的角度进行划分,web在线考试的页面可分为web前端和web后台,其中web前端主要由js、html、css等前端开发技术语言的汇编完成,而web后台通过php编写代码提供主要支持。Web在线考试的web前端可以划分为登录模块、答题模块和改卷模块,他们各自的功能是相互独立的完成模拟考试系统考生的在线登录、题目做答以及和分数的计算和现实等功能。图2所示。

图2 在线考试页面设计

2.3 数据库设计

基于php-web技术的在线考试系统的数据库通过以MySQL数据库为工具进行系统的设计。对于在线考试系统的设计可分为3个表,分别对应着学生简况表、课程信息表以及试题展示表。学生简况表主要记载着学生考生的姓名、学号、分数、openID等简要的个人信息;科目信息表记录科目的考试时间、题数、分值、开始结束时间等信息;试题展示表主要展示在线考试的试题的题型、选项以及对应的答案等各种详细地信息。

3 系统实现

3.1 平台实现

对于php-web技术的在线考试系统平台的实现,主要是通过access_token来间接获取在线考试系统上的第三方消息接口,从而实现需要通过接口来实现的功能。通过设计自由化的菜单选项的接口,完成在线考试系统底部菜单栏选项的自我任意设置,使得设计的过程更加方便与简洁。php-web技术的在线考试系统常用的一些第三方消息接口如表1所示。

当服务器同CWC云端第三方服务器相连接时,首先需要申请一个CWC云端账号,将考生登录账号用来给在线考试系统提供CWC云端平台服务器的数据支持,并且用来处理和回复在线考试系统服务器发送过来的考题信息。利用Php技术建立应用程序框架,并在应用中创立对应的版本号。CWC云端申请成功后,把开发的考试题库信息代码上传到基于Php框架下的服务器中,用于和CWC云端服务器建立连接。在源程序开发过程中,利用signature的校验代码对首次提交信息进行验证申请时,其中CWC云端服务器通过 signature、timestamp、nonce、echostr四个参数发送GET请求到对应的链路URL上,源程序开发者通过对signature的效验来判断考生对提交考试信息的真实性。在考生连接到CWC云端服务器后,源程序开发者通过url和token来验证接口配置信息和判断第三方服务器是否连接。

Web页面的自定义菜单通过access_token接口里的appid和secret来实现access_token连接,由json格式的数据形式将Web页面的自定义菜单的程序开发应用到access_token和自定义菜单接口中,以实现考试信息连接通信。当json格式数据包发送到CWC云端平台实现Web在线考试页面自定义菜单的设计。

表1 在线考试系统的接口

3.2 web在线考试页面实现

在线考试系统的Web页面分为3个模块组成:登录模块、答题模块和改卷模块。前端页面由传统的html、css、js等前端语言编写完成,后台程序的开发由php来编写完成。

1)登录模块:主要用来验证学生信息信息,第一次登录会把学生信息更新到mysql数据库,并与在线考试系统进行数据信息匹配,利用匹配的openid来验证学生信息,可以把在线考试系统账号和考生进行绑定,以实现考试结束后考生对成绩的实时查询。

2)答题模块:考试过程中考生的的答题Web页面。Web页面两部分嵌入式页面完成,首先为考试时间倒计时界面,其次是考试题目内容的显示页面。其中,通过js定时对页面自动刷新来完成,并且利用css编写弹窗提示,即在考试结束前15分钟和考试结束时两次提示;在答题界面跳转过程中,通过cookie记录来存储考生的答案。

3)改卷模块:将存储在考试题库中的正确答案和考生的做出的cookie答案进行匹配,即判断做题正确性,最后计算得分并将得分显示在页面中。

3.3 数据库实现

利用MySQL数据库来实现在线考试系统的考生信息、科目信息和题库信息3个模块信息表,分别如表2、表3、表4所示。

表2 考生信息表

表3 科目信息表

4 结 论

本研究针对传统在线考试系统面对众多考生的数量压力引发的服务器访问量宽带或者空间的存放问题,提出了一种基于Php做出的动态页面和Web前后端开发技术的在线考试系统,并且将CWC云端平台作为第三方服务器,结合MySQL数据库来实现在线考试系统的考生信息、科目信息和题库信息,在Web页面实现了登录模块、答题模块和改卷模块。本系统改变了在线考试系统工作模式,将考试题库存储在CWC云端平台中,程序开发者只需将考试信息上传到MySQL数据库即可完成对考生信息的匹配和试卷的批改。本研究可为在线考试系统的开发具有实践性意义。

表4 试卷信息表

[1]刘洪江.在线考试系统的数据库设计与实现[J].电脑知识与技术,2012,8(3):508-511.

[2]刘思尧.在线考试系统防作弊策略研究 [J].软件导刊,2013,12(10):25-28.

[3]王莎莎.基于JSP的在线考试系统设计与实现[J].计算机光盘软件与应用,2013(16):53-54.

[4]李伟为.基于ASP.NET2.0的在线考试系统的设计与实现[J].计算机应用与软件,2011,28(9):163-165.

[5]彭之军.基于JavaEE技术的在线考试系统的设计与实现[J].数字技术与应用,2012(6):162-163.

[6]杨子天,邵宇.基于Android平台的在线考试系统的设计与实现[J].电脑知识与技术,2014(3):554-558.

[7]金志国,李炜.基于Netty的HTTP客户端的设计与实现[J].电信工程技术与标准化,2014(1):84-88.

[8]韩旭东.Java Applet程序的安全规则与访问第三方WEB服务器[J].电子测试,2014(14):64-65.

[9]戴一平.MVC设计模式在PHP开发中的应用[J].计算机与现代化,2011(3):33-37.

[10]郭静.基于JSP的动态网页开发技术[J].科技展望,2016(3):12-16.

[11]屈雪花.基于PHP+HTML5的图片实时采集系统[J].计算机光盘软件与应用,2015(1):217-218.

[12]万茹.基于HTML5的Web富客户端网页设计方法[J].电脑编程技巧与维护,2015(13):67-69.

[13]王成,电信工程技术与标准化库在自动测试系统中的应用[J].计算机应用,2011,31(2):169-171.

[16]Martin Maier, Bhaskar Prasad Rimal.Invited paper:the audacity of fiber-wireless (FiWi)networks:revisited for clouds and cloudlets[J]. China Communications,2015,12(8):33-45.

[17]时子庆,刘金兰,谭晓华.基于OAuth2.0的认证授权技术[J].计算机系统应用,2012,21(3):260-264.

Design online examination system based on Php-Web technology

ZHU Jia-xuan,YAN Xue-mei
(Guizhou Technology and Business Institute,Guiyang 551400,China)

For online examination system to face the problem server to store the amount of broadband access or the amount of space caused by the pressure of numerous candidates,through traditional written exams and communicative online examination platform,the use-side development technology Php make dynamic Web pages and around teachers and candidates to achieve the exchange of information online examination system,combined with CWC Cloud platform as a powerful online exam cloud storage,and the use of MySql database entry exam information.CWC to obtain third-party cloud platforms online examination system by access_token interface to achieve exam,custom menus written as json format data query functions to achieve exam information.

online exam;php technology;web technology;mysql database

TN915.6

:A

:1674-6236(2017)08-0127-04

2016-05-03稿件编号:201605018

朱佳轩(1985—),男,云南丽江人,硕士,讲师。研究方向:计算机网络安全、数据库应用。

猜你喜欢
云端页面服务器
刷新生活的页面
云端之城
通信控制服务器(CCS)维护终端的设计与实现
美人如画隔云端
中国服务器市场份额出炉
行走在云端
云端创意
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
网站结构在SEO中的研究与应用