APP下载

基于PHP框架的在线考试平台研究和实现

2016-05-25陈可新黄伟民侯阳青

湖北理工学院学报 2016年2期

陈可新,黄伟民,侯阳青

(福州职业技术学院,福建 福州 350108)



基于PHP框架的在线考试平台研究和实现

陈可新,黄伟民,侯阳青

(福州职业技术学院,福建 福州 350108)

摘要:课程考试是学校教学工作的重要环节,在线考试平台的应用将极大地提高学校课程考试的信息化水平。分析了在线考试平台的功能需求,设计了基于PHP框架的网络在线考试平台的总体架构,最后针对在线考试平台部分关键模块给出了实现方法。实践证明,通过在在线考试平台的设计中应用MVC框架技术,提高了在线考试平台的编程效率和可维护性。

关键词:PHP;MVC框架;在线考试平台

0引言

当前,学校中大量的考试还是采用传统考试模式,即教师人工出卷、学生参加考试、教师评卷登分。传统考试模式因为绝大部分流程由教师手工完成,包括出卷、印卷、考试、收卷、评卷和登分等工作,存在考试环节多、考务流程繁琐等缺陷,需要教师和学校付出较多的人力、物力去完成考试工作。同时由于教师在评卷过程中可能会受主观因素的影响,使传统考试模式可能存在一定程度的不公平现象。在考试结束后,学生答题情况和考试数据无法及时有效地共享,也不能满足现有校园信息化条件下学校对于考试工作的要求。

随着计算机网络技术的发展及校园信息化水平的不断提高,在课程考试中通过开发网络在线考试平台,为学生提供了无纸化的在线考试环境,将大幅缩减传统考试过程中需要的多个人工环节,减少了传统考试中人工干预考试活动的可能性,在方便学生参加相关课程考试的同时,能较好地利用课程考试资源,从而大大减轻了教师考试工作强度。学校教学管理人员还可以通过网络在线考试平台了解和分析学生的课程考试情况,为教学考试环节信息化管理水平的提升提供数据支持,大大提高了学校考试及考试管理工作效率[1]。本文将对基于MVC框架技术的在线考试平台的设计和实现进行探讨。

1网络在线考试平台技术分析及总体设计

1.1基于PHP的网络在线考试平台开发技术分析

为方便学校师生访问和使用网络在线考试平台,平台将采用WEB技术进行开发。作为当前应用广泛的WEB服务器端脚本语言,PHP具有开源、简单、跨平台特征。通过在基于PHP的WEB应用系统开发中采用MVC框架技术,可以帮助开发人员在快速开发系统的同时,确保程序的正确性和可维护性。MVC全称Model View Controller,是一种将业务逻辑、数据处理和界面显示分离的编码模式,通过将业务逻辑聚集到一个部件,在改进和个性化定制界面及用户交互时,无需重新编写业务逻辑,从而减少开发者重复编写代码的劳动[2]。

Zend Framework(简称ZF)是由 Zend 公司提供的基于PHP5的开源MVC框架技术,它通过分离应用程序中不同部分方便程序的开发和维护。通过在网络在线考试平台的开发中应用ZF框架技术减少了系统开发过程的重复性工作,提高了系统的开发效率。本文讨论的网络在线考试平台也是基于该MVC框架技术进行开发,可以运行于目前主流的操作系统平台,如:Linux、Windows等;为简化系统开发环境配置,可以通过下载Apache、PHP、MySQL集成安装包,如:XAMPP或WAMP等,完成系统开发和运行测试环境搭建[3]。

在线考试平台最关键的功能之一是实现学生在线考试。为了能让学生在考试过程中实时自动提交答案,并实时对学生考试计时,在系统开发中用到目前流行的AJAX技术。AJAX(Asynchronous Javascript And XML),即异步的JavaScript和XML,是一种创建交互式网页应用的网页开发技术。传统的网页如果需要更新内容,必须重载整个网页,而AJAX技术的应用允许WEB网页可以在不重新加载整个网页的情况下,对网页的某部分内容进行更新。在网络在线考试平台中,利用此技术可以将学生答题信息进行实时自动保存,防止因考生计算机故障等引起的答案信息丢失,从技术层面保证考试的连续性和公平性[4]。同时通过应用AJAX技术,还可以在学生考试页面中实时显示考试剩余时间,提醒学生合理安排考试时间,在考试时间到后,系统将判断并自动执行交卷操作,确保考试的正常结束。

1.2网络在线考试平台总体设计

校园网络在线考试平台结合学校传统课程考试要求,为学校里的学生参加课程考试、教师考试命题及平台管理人员考试管理等提供信息化平台支持。为实现上述功能,在线考试平台需要为上述3类用户提供用户登录及身份认证功能。考试平台管理用户登录系统后,可以在系统中完成教师用户和考试课程管理,并可以浏览及统计相关课程的考试成绩。教师用户登录系统后,可以完成所承担考试课程的题库管理及命题操作,指定课程考试时间,导入和管理参加课程考试的学生信息,并导出和管理所承担课程的学生考试成绩。学生用户可以从指定位置,并在指定时间登录网络在线考试平台,系统根据课程教师事先设定的组卷策略生成试卷,学生用户进行在线考试答题,在考试过程中获取学生答题信息并进行考试计时,在学生完成考试后自动评分并登记记录学生的考试成绩。

为实现上述网络在线考试平台功能,同时满足相关用户使用平台的便捷性,网络在线考试平台基于B/S架构运行,即上述3类用户只要通过网页浏览器,即可登录和使用在线考试平台。系统的功能模块主要根据用户身份进行划分,即:考试平台管理员模块、教师用户模块、学生用户模块。结合在线考试系统功能需求,系统要求不同的用户登录后拥有不同的访问权限,可以访问不同的平台功能模块。

学生用户登录系统后,能参加相关课程的在线考试,在课程成绩发布后能查询本人的考试成绩,并允许通过系统管理个人信息(如平台登录密码)。教师用户登录系统后,能在系统中对所承担的课程题库及学生信息进行管理,设置课程考试的组卷策略,生成考试试卷,并对选修课程的学生考试成绩进行管理。平台管理用户登录系统后,能对使用平台进行考试的课程和教师信息进行管理,设置允许使用平台进行在线考试的课程考务相关信息,如:考试学生、时间、地点及监考教师等。网络在线考试平台总体框架如图1所示。

2基于MVC框架技术的在线考试平台编程实现

根据上述对于网络在线考试平台功能需求及设计的分析,以下分别从用户登录、学生在线考试、考试题库管理3个模块阐述在线考试平台的实现方法。

2.1用户登录验证模块

用户登录模块是平台用户使用平台功能的入口。为不干扰学生的考试登录,平台的学生登录界面与教师及管理员登录页面分开进行设计。以下以学生用户登录功能为例说明平台用户登录的主要实现过程。参加在线考试的学生用户通过浏览器访问在线考试平台时,系统将根据学生提交的学号和密码访问数据库,验证学生身份,登录成功后将根据学生参与考试的时间、地点,给出其本次登录参加考试课程的信息提示。在学生确认课程考试信息后,将参加考试学生的相关信息存储在服务器端的SESSION变量中,传递给后续的在线考试模块。学生用户登录的关键代码如下所示。

//连接考试平台数据库

include("conn/conn.php");

//获取学生登录输入的学号、密码及验证码

$ol_num=$_POST['ol_num'];

/$ol_pass=$_POST['ol_pass'];

/$verify_code =$_POST['verify_code'];

///登录验证码正确,则访问数据库进行登录验证

/if(strtolower($verify_code)==strtolower($_SESSION["VerifyCode"])){

/$query=mysql_query("select * from tb_studs where ol_num='$ol_num' and ol_pass='$ol_pass'");

/$array=mysql_fetch_array($query);

/if(mysql_num_rows($query)>0){

/$_SESSION['ol_num']=$ol_num;

/$_SESSION['ol_user']=$array["ol_user"];

/mysql_query("UPDATE `tb_studs`SET `online_dl`=0 WHERE `ol_num`=’ ".$_SESSION['ol_num’]."’ ");

/echo "";

};

2.2学生在线考试模块

学生在线考试模块是在线考试平台中最关键的组成部分。学生成功登录系统后,系统根据已设置好的组卷策略自动从课程题库中抽取试题并组卷,将生成的试卷信息、考试科目、考试时间等送至学生考试界面,同时开始考试计时。学生在考试规定时间内按要求进行答题,并可在考试结束前点击网页上的“交卷”按钮提交答题结果,系统自动根据事先存储的试卷正确答案完成对学生本次考试成绩的评定。如果学生在规定时间内没有完成考试,系统也会自动将学生现有答题信息提交并进行评分。在课程教师确认成绩后,学生可以登录并查询本次课程考试成绩。基于AJAX技术的学生考试倒计时关键代码如下所示。

剩余时间:

学生在线考试界面如图2所示。

2.3考试题库管理模块

考试题库管理模块是网络在线考试平台的工作基础。在该模块中,教师通过身份验证后,系统会自动显示该教师所承担的在线考试课程,选择课程后系统会给出对该课程可以完成的操作,如课程试题管理、组卷策略配置、学生信息管理和学生成绩管理等。教师可以通过试题管理功能,完成该课程试题信息的浏览、添加、删除、修改等操作,可以通过组卷策略设置完成试卷生成算法配置,包括试卷题型题量、分数比例、考试时间等考试参数设置,可以通过学生信息管理功能管理及导入参加课程在线考试的学生信息,最后教师可以通过学生成绩管理功能,对学生课程考试成绩进行浏览,对课程考试需要手动评分的试题进行评分确认,最后统计生成该课程学生的成绩信息表[5]。教师题库管理中试题更新的关键代码如下所示。

$q_rs=mysql_query("update tb_st set st_lb=’".$_POST[’st_lb’]."’,

st_lx=’".$_POST[’st_lx’]."’,st_fs=’".$_POST[’st_fs’]."’,

st_nr=’".$_POST[’st_nr’]."’,st_da=’".$_POST[’st_da’]."’,

st_zqda=’".$_POST[’st_zqda’]."’ where st_id=’".$_POST[’st_id’]."’");

if($q_rs){ echo "";

}

3结语

本文简要分析了学校传统考试模式存在的问题,对基于MVC框架技术的网络在线考试平台的设计和实现过程进行了探讨。MVC框架技术的应用在提升系统的开发效率的同时,提高了程序的健壮性和可维护性。网络在线考试平台投入运行后,教师用户可以通过平台较好地完成所承担课程的试卷编制工作,并能方便地在承担相同课程的教师之间实现考试资源共享;学生可以通过平台方便快捷地参加课程考试,并可及时查询课程考试成绩;教学管理人员可以高效地完成学生课程成绩统计分析。实践证明,网络在线考试平台较好地解决了学校传统考试中存在的问题,有效提高了教师的考试工作效率,满足了学校考试管理的信息化要求,提升了学校教育教学信息化建设水平。

参 考 文 献

[1]郑一露,申梦绮.基于B/S结构的党校在线考试系统研究与实现[J].数字技术与应用,2015(8):173-175.

[2]刘雪婷,雷军程,刘水强.基于PHP框架技术的普法网站设计与实现[J].邵阳学院学报(自然科学版),2015,12(3):25-29.

[3]任柯,陈笃简.Wamp移动式教学系统设计与实现[J].西南民族大学学报(自然科学版),2012,38(5):849-854.

[4]王记朋,芦丽萍.基于MVC+AJAX模式的在线考试系统设计与实现[J].淮阴师范学院学报(自然科学版),2013(3):231-235.

[5]周创.基于SSH框架的网络考试系统设计[J].西安文理学院学报(自然科学版),2014(3):41-44.

(责任编辑吴鸿霞)

Research and Implementation of Online Examination Platform Based on PHP Framework

ChenKexin,HuangWeimin,HouYangqing

(Fuzhou Vocational and Technical College,Fuzhou Fujian 350108)

Abstract:Curriculum examination is an key part of the campus teaching and the application of online examination platform will greatly improve the informatization level of campus curriculum examination.This paper analyzes the function requirements of online examination platform,designs the architecture of online examination platform based on PHP MVC framework,and finally gives the method to realize some key module of online examination platform.Practice shows the application of MVC framework technology in online examination platform has improved the programming efficiency and maintainability of online examination platform.

Key words:PHP;MVC Framework;online examination platform

中图分类号:TP311.5

文献标识码:A

文章编号:2095-4565(2016)02-0019-04

doi:10.3969/j.issn.2095-4565.2016.02.005

作者简介:陈可新,副教授,硕士,研究方向:计算机网络与通信。

基金项目:福建省中青年教师科研项目(项目编号:JA13422)。

收稿日期:2015-03-22