资源描述
论文题目 在线考试系统的设计与实现 目 录1引言11.1研究背景11.2研究意义12相关理论基础22.1B/S架构简介22.2PHP简介43系统需求分析53.1功能需求53.1.1在线报名功能53.1.2用户登录功能53.1.3题库管理功能63.1.4考试管理功能63.1.5考生管理功能63.2用户分析63.3系统环境73.3.1硬件环境73.3.2软件环境84系统设计以及实现84.1系统设计84.1.1系统流程设计84.1.2功能模块设计94.2系统实现104.2.1用户注册104.2.2用户登陆104.2.3考生用户管理功能114.2.4报考信息查询114.2.5在线考试124.2.6考试管理124.2.7考生管理13结束语15摘 要互联网技术的快速发展,从各个方面改变了人类的日常生活,包括工作、学习,乃至思维方式。此外,互联网在教育领域中的应用也引起了重大变革。计算机技术与互联网在现代中高等教育中的应用,能够有效提高学生在校学习效果和效率,同时也是高校进行教育模式改革并提高科研管理水平的有效方式。当前互联网与计算机技术在高校的应用趋势是基于多学科大规模题库的在线考试系统。传统考试的纸质试卷与答题批卷方式,正随着互联网与计算机技术的普及发生巨大变革,令考试的出题、组织、答题、阅卷等过程变得便捷高效、公平公正,有效减少资源消耗,正是当代教育的一大重要课题。所以对于该课题进行了相关的研究。关键词:PHP;My SQL;在线考试1引言1.1研究背景互联网技术的快速发展,从各个方面改变了人类的日常生活,包括工作、学习,乃至思维方式。此外,互联网在教育领域中的应用也引起了重大变革。计算机技术与互联网在现代中高等教育中的应用,能够有效提高学生在校学习效果和效率,同时也是高校进行教育模式改革并提高科研管理水平的有效方式。当前互联网与计算机技术在高校的应用趋势是基于多学科大规模题库的在线考试系统。传统考试的纸质试卷与答题批卷方式,正随着互联网与计算机技术的普及发生巨大变革,令考试的出题、组织、答题、阅卷等过程变得便捷高效、公平公正,有效减少资源消耗,正是当代教育的一大重要课题。传统的纸质试卷考试的形式,每次考试都需要耗费大量人力、物力与财力来进行出卷、组织学生使用专门场地进行考试、阅卷、成绩核对等。随着时代的发展,考试类型增加,不仅教师出卷阅卷和成绩核对的工作量大大增加,学生需要规定时间规定地点进行考试也很难满足其心里诉求。随着计算机技术和互联网技术的发展与普及,采用C/S架构技术的在线考试系统己经在一些学校与企业单位得到了应用,然而这些考试系统可扩展性差,维护困难,不易进行升级与修改,很难被大规模采用。对于传统考试和在线考试,其基本流程大致相同,即:出卷、考试、阅卷、统计成绩等。而在线考试系统将这些步骤的从传统的纸质介质转移至计算机与互联网这一传播介质上,一方面自动的组卷与阅卷能够帮助教师减轻出题出卷与批改试卷的工作压力,减少传统出卷方式容易产生的漏洞以及传统阅卷方式容易产生的错误;另一方面能够将考生从固定地点专用场地的传统考试形式中解放出来,考生只要能够连接互联网即可在任何地点进行考试。此外,在线考试的形式还能够大大减少纸张、印刷耗材等资源的消耗,因此开发一个这样的系统是势在必行的。1.2研究意义当前己有诸如GRE, CISCO等大型国际认证考试的出题、答卷、阅卷评分过程都是计算机上在线完成,各种考试的计算机网络化与标准化己经成为当今考试的一种发展趋势。在线考试系统利用互联网这一传播介质,使考生能够摆脱时间和地点的限制,能够随时随地进行在线考试,通过数据库技术建立大型的试题库也将传统考试的过程进行了很大程度的简化。在线考试这一考试形式对比传统考试形式具有诸如组卷科学、无时间地点限制、阅卷与评分公平准确等优点,其具体的优势表现如下:1)在线考试系统完全摆脱了纸质介质,从出卷到最后出分与考试结果的统计均通过计算机与互联网进行数据传递,所有试题、考试、试卷、考生信息、考试结果均存储在服务器数据库中。考生能够在考试结束阅卷人审核后直接对成绩进行查询。2)在线考试系统具有更好的安全性,系统可以采用加密措施以保证网络通讯数据的安全;系统自动组卷随机从题库中抽取试题并由出题人进行审核与手动筛选与修改的出卷方式能够保证试卷更加科学;通过考生计算机端的摄像头实现的考试监控系统和考生身份验证系统,能够有效防止考生舞弊行为,保证考试的安全与公平。3)考生报考的自动审核与管理员审核制度能够有效防止重复注册,与注册他人信息,保证考生与注册信息一致;考试开始若干时间后系统自动取消未参加考试的考生资格,并在考试结束后自动提交考生的试卷。4)采用B/S架构的在线考试系统具有很好的通用性和可扩展性。为提高题库的扩充能力,可以开发题库导入系统,能够将一定可识别格式的其他试题库进行转换,使其能够在本系统中进行使用。系统划分为多个具有标准化接口的模块,能够有效的集成、修改与扩展;系统通用化和标准化设计也能够使其具有多学科通用的能力。5)在组卷、阅卷等方面,在线考试系统能够实现高度的自动化处理功能。6)合理清晰简洁的系统页面设计能够方便考生进行试题作答,准确的考试计时、便捷的试题选择功能、方便易操作的答题方式,能够大大提升考生的答题效率,使得整个考试过程更加流畅;考试客户端用户能够采用多种输入方式进行试题作答,也大大节省了考生的答题时间。2相关理论基础2.1 B/S架构简介当前在线考试系统架构多为C/S架构或B/S架构。当前在线考试系统,多采用基于客户端/服务器(Client/Server,C/S)或者浏览器/服务器(Browser/Server,B/S)的架构。1)C/S架构,如图2.1所示:图2.1 C/S架构图客户端/服务器(Client/Server)架构,由于需要安装客户端(Cfient ),同时也将系统任务在客户端与服务器端(Server)之间进行合理分配,从而使得系统通讯开销降低。客户端程序主要提供用户直接使用的业务功能,而服务器端的主要功能则包括:系统维护与并发控制、数据共享、数据管理、数据维护与并发控制等。C/S架构的上述特点使其具有易开发、易操作的优点,但同时客户端升级与维护的困难程度也较大。2) B/S架构,如图2.2所示: 图2.2 B/S架构图B/S架构(Browser/Server,浏览器/服务器模式),客户端主要应用浏览器对软件系统进行访问,这是在互联网出现之后逐步兴起的一种网络软件系统结构模式。B/S架构将用户客户端进行了统一,将软件系统的主要功能放到系统服务器端进行实现,开发人员只需要对服务端应用进行开发与维护,大大简化系统的开发、维护和使用,并降低了系统维护成本。用户只需要通过客户端安装的浏览器,如Internet Explorer, Chrome, Firefox, Microsoft Edge, Safari等,即可通过Web Server与部署在服务器端的数据库进行数据交互。2.2 PHP简介PHP CPHP: Hypertext Preprocessor) X29-33是一种通用开源脚本语言,其语法混合了C, Java, Perl以及其自创语法,该语言应用广泛,学习也较容易,适用于Web开发领域。1.S manyS many是采用PHP编写的模板引擎,其提供了一种易于管理和实用的方法,将原本与HTML代码混杂的PHP代码进行逻辑分离。S many能够将后端PHP程序开发人员与前端网页设计人员的工作进行解祸,是的二者不受到相互影响,即后端开发人员修改业务逻辑不会对前端页面设计产生影响,前端设计人员修改页面设计也不会影响后端人员编写的业务逻辑,加强了多人合作项目的效率与便捷性。S many特点有:程序编写速度快;采用编译运行、缓存技术、插件技术;模板文件支持判断语句,便于对模板的自动格式化处理。2.Ajax对于传统的网络应用程序来说,其工作流程大致可以分为以下几个步骤:1)用户通过客户端触发HTTP提交用户请求;2)服务器端应用程序接收HTTP请求并按照自身业务逻辑进行处理;3)用户在客户端页面进行刷新等待;4)服务器端应用程序返回请求处理结果;5)用户客户端进行页面刷新。由上述实现步骤可以得知,一旦页面产生数据变化,客户端页面就需要刷新并重新载入,使得服务器端应用程序的工作量大大增加,严重影响了软件系统响应速度。而如果用户发送的请求与服务器端接收的响应只包含用户和后台业务处理所需要的数据,将使得用户客户端与服务器端应用程序之间的通信量大大减小,从而提高系统的响应速度和交互效率。而Ajax正可以实现这一功能,满足这一需求。2.3 MySQLMySQL系统结构精巧,功能非常强大,很多大型的网络应用平台比如淘宝,都会采用MySQL数据库。MySQL兼具实用性和安全性,在这两点上,其他数据库无法与其比拟。MySQL的实用性主要表现在:其使用多种编译器进行代码测试,便于后续的代码移植;且MySQL提供多种程序语言编程接口支持,对系统软硬件环境要求较低,可以安装部署并运行在现有的大多数主流操作系统上;MySQL还支持多线程编程,能够充分利用服务器的CPU资源,而且MySQL还提供一些方法,使其能够与其他数据库进行连接。MySQL相比于一些大数据库具有自身的一些缺陷,但是以MySQL现有的版本功能来说,足以满足中小型网络软件系统的开发与应用,以及个人系统开发的数据库需求。MySQL同时支持命令行工具和用户图形界面来对数据库进行管理操作,全面而且便捷。3系统需求分析3.1功能需求本在线考试系统主要具有在线报名、用户登录、题库管理、考生管理试卷管理以及在线监考等功能。考生通过浏览器进行在线注册与考试报名,然后可登录系统进行相应的考试练习、查询、参考、试卷提交和成绩查询;管理人员如出题人、阅卷人及系统管理员,可以登录后对考生及试题进行相应的管理操作。3.1.1在线报名功能考生根据自己欲参加的考试进行在线注册,将自己的身份数据、个人信息、考试科目等信息通过注册提交到数据库。服务器端接收到考生的报名信息后对考生的身份进行审核,确定考生身份真实性之后,审批考生的考试资格。若考生具有参加该考试的资格,将考生的注册信息保存,加入到相应科目的待考列表中,并将对应的考试信息反馈给用户。若考生不具备参加该考试的资格,则提醒该考生注册失败等信息。3.1.2用户登录功能用户可以选择相应身份进行登录,如考生、出题人、阅卷人或系统管理员,系统对用户身份、用户名及密码进行校验,并对用户登录信息进行日志保存。若出题人在可以出题时间段登录系统,系统会依据出题人员在系统内存有的图像信息通过摄像头对出题人人脸图像进行数据采集,通过人脸识别技术确认出题人身份。如果出题人在试卷题目确定之后或随机组卷的情况下登录系统,在核实出题人身份后提示出题人当前试卷无法进行修改。同样,作为阅卷人和系统管理员身份登录的用户除了要核对该用户的身份信息之外,还需采集用户人脸图像,确保是本人登录。在不可阅卷的时间段内,阅卷人只可以登录系统,不可以对试卷进行查阅,若出题人与阅卷人是同一个人则出题时间段内该用户仅拥有出题权限,阅卷时间段内该用户拥有阅卷权限。系统管理员拥有管理其他用户及系统的相关权限。对于用户,只需在登录时核对用户的用户名与密码即可,因为本系统允许其他人在己知用户名及密码的情况下登录该系统。3.1.3题库管理功能题库除了提供考生试题之外,还包含了可供考生做练习的学习材料,题库由系统管理员及出题人进行维护,出题人可对题库中的题目进行增加、修改、删除和查询,出题人也可以调整出题类型。出题人若增加试题需添加试题描述、选项及答案,若修改对应题目需标注修改的题目编号。出题人若删除题目也需标注删除的题目编号。系统管理员根据出题人添加、修改或删除题目的请求进行审核,审核通过后将修改结果保存,更新题库。3.1.4考试管理功能考试管理,即系统管理员对考试信息的新增、修改与删除。系统对系统管理员的考试管理操作进行日志记录。系统管理员发布考试信息时需要填写考试名称、考试科目、考试开始时间、考试结束时间以及关于该考试的详细说明,如考试介绍、报考条件、考试需求等。当系统管理员对考试进行修改或删除时,系统首先需要判定该考试是否可以进行操作(是否己经结束),如是则管理员可以继续操作,否则终止操作并返回提示信息。对于考试的发布与修改需要系统检测考试信息的完整度,并返回相应的提示信息。3.1.5考生管理功能考生管理,主要是指系统管理员对各考生的信息进行删除与修改。包括对各考生考试报名信息的审核。系统对系统管理员用户的修改信息和审核信息进行保存,并进行日志记录。考试报名阶段,系统管理人员要对考生报名信息进行审核,设置每场考试的参考考生,核实每个考生的参考资格,对于参加考试的人数有限制的科目,还需判断报考考生人数是否达到上限,对于报考人数超过上限的报考科目,系统管理者应做安排下一场对应考试的调整等。系统也将对每个考生的报考考试信息进行保存。3.2用户分析在线考试系统的用户包括考生及管理人员,其中管理人员包括出题人、阅卷人及系统管理员。考生的需求包括:注册、登陆、成绩查询、报考信息查询、考试报名、密码修改、以及考试等。图下图3.1所示:图3.1考生的需求系统管理员的管理功能包括设置出题人与阅卷人权限、考生报名审核、题库增删审核、管理考生及考试信息等;出题人管理功能包括题库增删、修改,人工组卷,自动组卷审核等;阅卷人管理功能包括审核考生批改考生试卷、提交考生分数等。管理人员的主要功能如下图3.2所示。 图3.2管理人员主要功能3.3系统环境3.3.1硬件环境本在线考试系统服务器端硬件环境。表3. 1硬件环境表 指标项配置参数主机型号HP 2600CPU型号Xeon E5606 2.13GHzCPU数量2 显卡ATI FirePro V4800 1GB 内存DDR3 1333MHz ECC Unbuffered DIMM 24GB 硬盘SATA 600GB*43.3.2软件环境本在线考试系统服务器端软件环境。表3.2软件环境表名称版本 操作系统Windows Server 2012 R2 开发工具 Zend Studio 13.0.1 数据库 MySQL 5.6 服务层 PHP 5.6.34W eb服务端 Apache 2.4.29 Win644系统设计以及实现4.1系统设计4.1.1系统流程设计本在线考试系统工作流程如图4.1所示:a)考生用户系统操作流程 b)管理人员系统操作流程图4.1在线考试系统流程图考生通过注册成为在线考试系统用户,登录进入系统前台首页;考生可以在首页进行报考信息查询、密码修改以及考试报名;考生选择考试报名后,系统跳转至报名信息填写页面,考生填写完毕进行提交;系统及管理人员对考生资格进行审核;审核完毕后,当考试开始时,系统进行组卷,考生进入考试页面开始考试;考生答题结束后提交试卷,系统自动阅卷并将阅卷结果转发给阅卷人,阅卷人对阅卷考结果进行审核或者进行人工阅卷后,将阅卷结果提交至系统并存储至数据库中生可以在报考信息查询页面同时看到己经结束的考试分数。管理人员由系统进行设置,通过登录进入各自的首页;管理人员分为三种:系统管理员、出题人、阅卷人;出题人通过题库管理对试题进行新增、删除及修改,将管理结果提交给系统管理员进行审核,此外出题人还负责对系统组卷进行审核或直接进行人工组卷;阅卷人对系统阅卷进行审核,审核后将学生成绩提交至系统,此外阅卷人还可以进行人工阅卷;系统管理员负责对题库管理结果、试卷管理结果进行审核,此外还具有考生管理、考试管理以及阅卷人和出题人权限设置的功能。4.1.2功能模块设计(1)在线报名模块1)考生注册在线考试系统用户;2)考生进行考试报名;3)考生进行报名信息查询;4)考生进行在线考试。(2)用户登录模块1)普通用户可以使用注册的用户名和密码进行登陆;2)管理人员登陆名和密码由系统管理员统一设置。(3)题库管理模块1) 出题人可以对题库进行增删及修改;2) 出题人对题库的操作提交至系统管理员处进行审核。(4)考试管理模块1)系统管理员发布新的考试信息;2)系统管理员对尚未结束的考试进行修改与删除操作;(5)考生管理模块1)系统对判定违纪的考生进行强制交卷;2)系统管理员解决考试过程中考生遇到的问题;3)系统管理员审核考生考试资格;4)系统管理员对考生报考信息进行修改与删除等操作;4.2系统实现4.2.1用户注册用户注册页面需要用户填写的必填项包括用户名(不可重复)、密码、密码二次确认、姓名、年龄、Email、身份证号码(不可重复)等,系统对用户的注册不做过多限制,任何提供以上信息的用户均可完成注册。如下图4.2所示:图4.2用户注册页面用户注册的核心代码如下:?PhPSlink=mysqli_connect(localhost, root,”,test);if (!Slink) die(Could not connect:.mysql_ error();else if (isset($_ POSTsubmit) if ($_ POSTpw=$_ POSTrepw)$query=insert into user (name,pw) values($_ POSTname,$一 POSTpw)”;$result=mysqli_query($link, $query);header(Locationaogin.php); else echo alert(两次输入密码不一致!) ;?4.2.2用户登陆本在线考试系统用户登陆需要填写正确的用户名与密码,用户点击登陆按钮时,系统对用户填写的用户名和密码进行匹配与判别。如登陆成功,则根据用户的类别跳转至不同的系统首页;如登陆失败,则返回相应的错误信息,如:用户不存在、用户名与密码不匹配等。 在系统登陆页面,用户还可以点击注册按钮跳转至系统注册页面进行新用户注册。如下图4.3所示:图4.3用户登陆页面用户登陆核心代码如下所示:?php $link = mysqli_connect(localhost, root, , test); if (!$link) echoalert(数据库连接失败!); else if (isset($_POSTsubmit) $query = select * from user where name = $_POSTname and pw = $_POSTpw; $result = mysqli_query($link, $query); if (mysqli_num_rows($result) = 1) header(Location:index.php); ? 4.2.3考生用户管理功能统考生用户具有密码管理、考试报名、报考信息查询以及在线考试等功能。完成注册并成功登陆的用户可以通过系统首页左侧的考试报名选项进入考试报名页面,进入考试报名页面后,用户需要选择要报考的考试,选择后考试信息将显示在页面右侧文本显示区域。考试信息包括考试开始与结束时间,考试总分与考试需求等等。随后考生需要填写学校、学历与专业等信息,最后点击提交完成考试报名。考生报考信息首先将提交至系统管理员处进行审核。如下图4.4所示: 图4.4考试报名页面考试报名实现代码如下:host,$this-uid,$this-pwd,$this-dbname); $result = $db-query($sql); if($type) return $result-fetch_all(); else return $result; 4.2.4报考信息查询考生考试报名之后,可以对自己的考试报名信息进行查询,点选考生首页左侧的报考信息查询,进入报考信息查询页面。如下图4.5所示:在报考信息查询页面,考生可以查询一定时间范围之内的报考信息;缺省查询时系统自动显示自用户注册以来所以的报考信息。查询结果显示在表格中,其中包括的信息有:考试名称、考试是否结束、报名时间、考试开始与结束时间、考试资格审核结果以及考试成绩。未开始考试且已经通过审核的考试,考生用户可以通过双击该考试表格行跳转至对应的考试页面。考试页面会显示当前考试信息及开考倒计时,倒计时结束后自动跳转至考试题目页面开始考试;考生在考试开始半小时后无法进入该考试。图4.5报考信息查询页面报考信息查询页面:$t1=$_POSTstarttime;/开始时间$t2=$_POSTendtime;/结束时间$sql=select * from exam where stimebetween $start Time and $end Time; $result=mysql_query($sql); 4.2.5在线考试考生用户可以由考试等待页面于倒计时结束时自动跳转至在线考试页面,也可以在考试开始半小时内通过报考信息查询页面进入对应的考试页面。本在线考试系统的在线考试页面如下图4.6所示: 在线考试页面的上方显示考试名称、考试科目以及考试倒计时等信息,信息下方则是答题区域。在线考试页面一次性显示一道题目,考生可以通过上一题、下一题按钮或者下方的试题选择按钮快速跳转至对应题目。在试题选择按钮处,当前题目显示为蓝色,已答题目显示为灰色,未答题目显示为白色。所有题目答完后,在线考试页面出现试卷提交按钮,考生点击提交按钮后考生的答题试卷则自动存入系统数据库中,等待系统自动阅卷或阅卷人人工阅卷。 图4.6在线考试页面在线考试核心实现代码如下所示:?php session_start(); require(config.php); $db=mysql_connect($dbhost,$dbuser); if(!$db)die(Database connection error.mysql_error(); mysql_query(SET NAMES GBK,$db); mysql_select_db($dbdatabase,$db); $snum=$_SESSIONstudentnumber; $sname=$_SESSIONstudentname; $sql=select * from paper where paper_num=$snum; $result=mysql_query($sql) OR die(ERROR:.mysql_error().SQL:.$sql); if(!$result)echoNo questions; exit; $arr=mysql_fetch_array($result); 4.2.6考试管理系统管理员用户可以对系统发布的考试进行管理,通过系统管理员用户首页左侧的考试管理按钮进入考试管理页面。考试管理页面通过表格显示所有已发布的考试信息,包括:考试名称、考试科目、报名人数、参考人数、考试开始及结束时间。系统管理员可以对在尚未开始的考试进行删除及修改操作,或者通过新增考试按钮发布新的考试信息。 图4.7考试管理页面4.2.7考生管理系统管理员可以通过双击考试管理页面的表格某考试项跳转至相应的考生管理页面。该考试的报考考生信息显示在表格中,包括考生姓名、年龄、性别、学校、学历、专业、审核结果等信息。 图4.8考生管理页面系统管理员可以通过点选表格中的对应行对考生进行删除和修改操作。选中表格中某个考生后,点击修改考生按钮,系统弹出考生修改窗口如下图4.9所示: 系统管理员可以通过表单对系统从数据库获取的考生数据进行修改并通过提交对数据库中的考生信息进行更新修改,包括对考生的审核信息。 系统管理员还可以通过点选考生表格中的考生对其进行删除操作。 图4.9修改考生页面结束语本在线考试系统采用 B/S 架构,基于 PHP/My SQL,功能强大、高效灵活,具有强可扩展性。系统采用三层结构,Web 服务器采用 Apache,服务器系统采用Windows Server 2012 R2;系统数据库采用 My SQL,具有很好的可伸缩性,集成性高,使用比较方便;服务层采用 PHP技术编写,具有较好的可移植性,方便与 My SQL数据库连接,并且代码执行效率较高。 参考文献1崔兰超.B/S结构下的网络考试系统的实现与应用J.电脑编程技巧与维护,2019(07):35-36+52.2刘城霞.数据结构在线考试系统研究J.计算机教育,2019(07):128-132.3兰振奇,刘炜,张璐思,王子一,吴华敏,张磊,张慧,王琨,魏玉芬.基于C/S模型的在线考试评测系统的设计J.科学技术创新,2019(19):85-86.4杨伟海. 在线考试的智能题库管理系统的设计与实现D.北京邮电大学,2019.5曾艳丽.基于B/S的在线考试系统设计与实现J.电脑编程技巧与维护,2019(05):35-36+79.6王朝阳,徐迅烨.基于B/S的在线考试系统的设计与实现J.内蒙古科技与经济,2018(23):69-70.7苗连萍.基于B/S的CAD考试系统设计J.信息与电脑(理论版),2018(23):83-84.8王小霞,冯军强,袁军.医学在线考试系统在医务人员业务理论考核中的实践与探索J.中国数字医学,2018,13(12):72-73.9黄国华,侯丽艳.基于Hybrid模式的在线考试系统需求分析与总体设计J.电脑知识与技术,2018,14(35):78-82.10赵立霞,徐家伟,林少钧,李一.基于Bb网络教学平台的大学英语在线考试改革与实践J.深圳信息职业技术学院学报,2017,15(04):52-56.11于雷.基于Ajax的在线考试即时保存技术的设计与实现J.吉林广播电视大学学报,2017(12):95-96.12魏国利,张成刚.基于ASP.NET框架的在线考试管理系统设计与实现J.信息与电脑(理论版),2017(23):121-122+125.18
展开阅读全文