史永哲
(西安广播电视大学 理工部,陕西西安710002)
大型在线考试系统的设计与实现
史永哲
(西安广播电视大学理工部,陕西西安710002)
摘要:本文给出了一个大型在线考试系统的设计和实现方法。该考试系统使用sq1 server2005存储题库数据,应用asp. net技术设计动态网页,采用web offjce组件来提取试题中包含的多种类型信息,通过ajax异步传输技术实现考生答题结果的实时存储。每门课程遵照独立的组卷策略以实现抽题组卷的科学性和灵活性。该大型在线考试系统建成后,经历过数次较大型考试的实践检验,运行情况良好,承载能力强,有较好的推广价值。
关键词:大型;在线;asp.net;考试系统
信息技术的快速发展正在不断地影响和改变着传统的教育模式。教学评价做为教学活动必不可少的重要环节,在信息时代正在不断地发生变化——传统的纸质考试方式正在逐渐被基于计算机和互联网的无纸化考试方式所替代。使用无纸化考试系统不但可以提高考试的公平公正性,可以较大减轻教学评价环节中教师的复杂劳动。目前常见的无纸化考试系统大致可分为两类,一类是基于客户端和服务器的C/S型考试系统,另一种是基于浏览器和服务器的B/S型考试系统。前者基于局域网,后者基于广域网[1]。B/S型的在线考试系统由于不需要安装,兼容性好,使用方便,超越空间距离限制,因而受到大多数教育单位的欢迎[2]。笔者所在单位基于远程教育的要求,投入较多的人力物力,设计开发了一个大型在线考试系统,该考试系统在软件功能,能较好满足在线无纸化考试的需要,在此将设计和实现方法给出,供对此有兴趣的读者参考。
本文介绍的大型在线考试系统是基于B/S型的,选择ASP.NET技术进行系统的编码设计,采用SQL Server 2005作为数据库服务器,使用IIS来进行网页的发布[3]。教师可以通过浏览器在客户端输入题库内容,并设置出题策略,发布试题。学生在客户端通过浏览器进行在线考试,考试的中间结果可以实时保存,提交试卷后,考生客观题的分数可以自动给出。相对于小型考试系统,本在线考试系统具备以下4个方面的特点:1)能够兼容多数课程;即在同一平台上,可以实现对多门课程进行题库的建立、录入、编辑,以及实施考试。2)兼容多种题型;本考试系统对所有常见的题型进行了包容,并尽量提高各种题型的延伸性(例如本系统的选择题,允许设置1-6个选项)。3)兼容多种类型信息的显示;本考试系统采用offjce组件进行试题内容的输入和采集,应用了offjce良好的信息兼容功能,实现了对文本、公式、图形、图像、声音、视频等信息媒体的较好兼容。4)执行效率高;本考试系统重视算法实现的效率,采用按组卷策略抽题的方法,并将学生抽到的试题新生成一个学生试题表,在该表中对考试过程及考试结果进行存储,这种方法能有效提高系统的运行效率。
2.1系统的架构
根据在线考试系统的分布式需求和模块化设计要求,考虑到微软.NET平台技术先进、效率高和容易维护的特点[4],该在线考试系统采用基于微软.NET平台的B/S型三层架构模式,具体包括表示层、业务层和数据层[5]。表示层负责处理用户的输入和输出,业务层负责处理用户提交的请求并向用户返回处理结果,数据层负责数据的实际存储和检索。在该系统中,用户无需安装客户端软件,只需要用浏览器登录WEB服务器后提出访问申请即可。客户端不直接与数据库进行交互,而由中间层向外提供接口,通过COM/DCOM通讯或者HTTP等方式与其建立连接,经由中间层与数据库进行交互[6]。真正的数据处理是在后台服务器上进行。考生主动交卷或因为时间已到被动交卷后,系统会自动将考生成绩提交给WEB服务器。系统的架构图如图1所示。
图1 系统架构图
2.2系统的功能模块设计
本考试系统采用模块化功能设计。从整体上讲,系统的功能可分为2部分,一部分是学生在客户端浏览器进行考试的功能,另一部分是教师在终端浏览器进行考试管理的功能[7]。其中,学生的考试功能经过细分后得到如图2所示的功能模块图,图中实线箭头连接的是常规功能,虚线箭头连接的是非常规功能。考试过程中出现意外情况后可以通过二次登录恢复考试,二次登录需要教师输入口令。
图2 考试流程图
教师在后台的考试管理功能经过细分后,得到如图3所示的功能模块图。其中教师在输入试题后,还需要制定组卷策略,有了组卷策略后,还需要教师发布试题。发布试题的功能为是否允许学生在终端进行考试。无纸化考试系统对客观型题型的处理能力最好,因此教师在命题时,应尽量将试题转变为客观题型,这样就可以将考试评分任务全部交给考试系统自动完成[8]。
图3 题库管理流程图
2.3数据库设计
本系统在数据库的选择上采用功能强大、安全性高的SQL SERVER 2005关系型数据库做为本考试系统的数据库管理软件[9]。数据库的设计主要是对数据表的设计,数据表的设计体现在对表结构的字段设置上,考试系统的功能即是靠建立在数据表字段上的一些操作来实现的。本考试系统包含的数据表很多,囿于篇幅,不便一一列出,在此只介绍一下其中比较重要的试题表。
试题表是后台数据库中最大的一个表,表的字段较多。本题库中,所有的试题共用一个表,通过“所属课程编号”和“试题类型编号”来区分该记录属于那门课程,何种题型。试题表的结构为:试题表=(记录号,试题类型编号,所属课程编号,知识点编号,难度编号,题目数据块,题目文本,选项1,选项2,选项3,选项4,选项5,选项6,答案)。本表通过其中各种编号字段和其它数据表进行连接。对于不同类型的试题,六个选项表示的内容是不一样的,如对于选择题,它是六个选择项,而对于填空题,则是填空答案项。而对于简答题来讲,这六个选项则无用途。试题表的“题目数据块”存储的是word格式的数据块,题目文本存储的是转换为网页格式的试题文本内容。答案是文本类型的字段,对于选择题而言它是答案的标识字符串,而对于简答题来讲它是文本答案。
本考试系统在设计开发过程中碰到过一些技术上的问题,通过努力,最后找到了比较好的解决办法。鉴于这些问题在考试系统开发中具有一定的共性,在此笔者将其中几个典型问题的解决办法给出,供对此有兴趣的读者参考。
3.1题目信息的显示
题目信息内容的显示是开发大型考试系统首先需要解决的问题。因为很多课程的题目中不光包含文字,还包括公式、图形、图像、声音以及视频等。考试系统必须实现对多种信息媒体的兼容[10]。经过认真的研究,我们另辟蹊径,采用offjce组件的方法来实现对题目中多种类型信息的上传与存储[11]。offjce中的word具有很强的信息媒体兼容性,使用它来输入信息就相当解决了信息媒体兼容的问题。不足的是,offjce组件得到的信息内容只能存储为数据块的格式,而数据块的读取速度较慢,会导致抽题速度太慢,为了不影响抽题速度,就必须将offjce格式的信息进行转换,将其转换成网页形式的文本。在试题录入时,可以通过web offjce组件进行试题录入,此时需要引入jnterop.mjcrosoft.offjce.core.d11组件[12],通过该组件可以将offjce格式的信息内容存储为数据块格式,然后再通过一定的算法再将word格式的内容转换为htm1网页文本并进行存储,此时网页中包含的多种媒体内容将存储到新建的与网页同名的文件夹中[13]。当抽到题目以网页格式显示时,就会自动从同名文件夹中读取到媒体内容并显示出来。以下是将word格式的数据转换为htm1格式的部分代码:
Type wordType=Word.GetType();
Documents docs=Word.Documents;
Type docsType=docs.GetType();//打开文件
Documentdoc=docsType.InvokeMember(″Open″,
System.Ref1ectjon.BjndjngF1ags.InvokeMethod,nu11,(object)docs,new Object[]{fj1ePath,true,true});//读取word
Type docType=doc.GetType();//转换格式,另存为htm1
strjng ConfjgPath=//被转换的htm1文档保存的位置
HttpContext.Current.Server.MapPath(″../QuestjonFj1e/″+ QuestjonID+″.htm1″);
object saveFj1eName=ConfjgPath;
3.2组卷策略的实现
组卷的科学性是一个大型题库的必然要求。无纸化考试系统大多采用随机抽题组卷的方式,这就要求每份被抽的试卷具有一定的等价性。为此,我们给题库中的每门课程建立了一个组卷策略,通过该组卷策略,教师可以确定试题的数量、难度、知识点,以及出题方式等。组卷策略的实现分为两个部分,一是试卷中的题型构成策略,二是每个题型的小题组成策略。试卷的题型组成策略如图4所示,在这里可以确定试卷的题型构成、题目数量、分数、出题方式等。
图4 题型策略设置界面
题型构成完成后,就需要对每个题型的小题构成进行策略设计。进入编辑策略后,我们可以设计每道题中所含小题的组成结构,通过设置策略来控制每个题型中所含小题的知识点范围、难易程度、以及题目数量等。具体情况见图5所示。
图5 知识点、难度及题量设置界面
通过上述策略的设计,不但保证了每套随机抽到试卷的相对等价性,还可以让教师通过制定级卷策略,来控制试题的题量、难度、知识点范围,从而实现教师根据考试要求灵活组织试卷的要求。
3.3考试中间过程的存储
考试中间过程的保存是在线考试系统较难实现的一个功能,因为,每次结果存储必然会有一次提交请求,这势必会增加服务器的负担[14]。通过研究,我们采用AJAX的异步传输方法来存储学生的中间答题结果。ajax的核心对象XMLHTTPRequest,通过这个对象,可在不重载页面的情况下通过异步数据传输与Web服务器交换数据。此方法可使网页向服务器发出请求并获得少量的数据信息,但不会增加服务器的进出压力[15]。当学生在考试过程中点击下一题时,系统便会将学生的答题结果通过异步传输的方法传给服务器,服务器将学生的答题结果更新或添加到学生的答题表中,这样便完成了对学生中间答题结果的存储。下面给出应用ajax技术向服务器发送存储数据的请求的部分代码[16-17]。
functjon buttonMove(){
request=new XMLHttpRequest();//定义一个XMLHttpRequest对象
try{
jf(request.readyState==4){//如果服务器完成其它响应
request.open(″GET″,″saveanswer.aspx″,true);/*向服务器发出保存答题结果的请求,其中saveanswer.aspx的功能是将答题结果存入学生试题数据表中。*/
..................;}}
用在线无纸化考试替代传统的纸质考试是教育信息化发展的必然趋势。本文介绍了一个大型在线考试系统的设计和实现方法,该考试系统能够兼容多门课程、多种题型,以及多种类型的媒体信息的显示和存储,终端承载能力较强。本文还给出了大型在线考试系统的主体架构、系统所包含的主要的功能模块、以及数据库的设计方法,同时还重点介绍了设计开发过程中碰到的几项具有共性的问题以及解决方法。本文介绍的大型在线考试系统,实现后已经过教师的使用和数次大型考试的实践检验,系统性能比较稳定,运行情况良好,可以逐步替代一些课程的传统纸质考试,具有较好的推广价值。
参考文献:
[1]侯清礼,王择善.B/S结构与C/S结构的网络考试系统的比较性研究[J].中国轻工教育,2014(6):44-47.
[2]李慧,张剑霞.基于HTTP协议下自动更新平台的构建[J].数字技术与应用,2013(6):32-36.
[3]宗平,高斐.网页中图片离线加速下载方案的设计研究[J].计算机技术与发展,2014(10):25-28.
[4]程琪,张白桦.ASP.NET动态网站开发项目化教程[M].北京:清华大学出版社,2010.
[5]冯阿.基于遗传算法的自动组卷策略[J].哈尔滨师范大学自然科学学报,2004(4):66-70.
[6]刘宗成.基于关联规则的网络行为分析[J].电子科技,2015 (9):16-18.
[7]张瑞,苏建民.基于改进遗传算法的智能组卷在试题库建设中的研究[J].自动化技术与应用,2010,29(1):41-43.
[8]陈晓波.云存储在web3D内容管理系统中的应用[J].电脑知识与技术,2015(2):3-5.
[9]喻争荣,夏小玲.一种基于云存储的VOD系统[J].计算机与现代化,2014(8):71-74.
[10]张万臣.基于WEB的在线考试系统在高职院校考试环节中的应用[J].计算机光盘软件与应用,2013(1):35-39.
[11]玉泉.基于web的高职院校在线考试系统研究[J].计算机光盘软件与应用,2013(11):57-61.
[12]汪刚.基于web的在线考试系统分析[J].电子商务,2014(6):87-88,92.
[13]严为,吉晓民.制造业信息化中.net应用服务平台结构探讨[J].机械设计,2013(5):45-49.
[14]江凌,杨平利.基于ADO.NET技术访问SQL Server数据库的编程实现[J].现代电子技术,2014(8):37-41.
[15]熊文,孙旭.Ajax技术在Web2.0网站设计中的应用研究[J].计算机技术与发展,2012(3):142-145.
[16]游金崇,李隐峰,尤吴晶.基于Web的高校毕业生就业信息服务平台设计[J].电子科技,2014(11):81-85.
[17]贺建英,唐青松.Ajax技术与路径存储法在树形结构中的整合研究[J].电子设计工程,2015(3):8-10.
The deslgn and lmPlementatlon of large scale onllne eXamlnatlon system
SHI Yong-zhe
(Department of Science and Technology,Xi 'an Radio and Television University,Xi 'an 710002,China)
Abstract:Thjs artjc1e gjves the way of the desjgn and jmp1ementatjon of 1arge sca1e on1jne examjnatjon system. The examjnatjon system uses SQL Server2005 database to store test data,usjng asp.net technjque to wrjte dynamjc web page,usjng the web offjce component to extract a varjety of types of jnformatjon contajned jn the questjons,usjng Ajax asynchronous transfer techno1ogy to store the resu1ts of the examjnatjon of students jn rea1 tjme. The jndependent test paper strategy js used to rea1jze the scjentjfjc and f1exjb1e of the test paper. After the comp1etjon of the 1arge-sca1e on1jne examjnatjon system,jt has experjenced severa1 tjmes practjce test of 1arge-sca1e examjnatjon,proved the operatjon js good and the carryjng capacjty js strong,and has the strong promotjon va1ue.
Key words:1arge sca1e;on1jne;asp.net;examjnatjon system
中图分类号:T02
文献标识码:A
文章编号:1674-6236(2016)07-0141-03
收稿日期:2016-01-25稿件编号:201601225
作者简介:史永哲(1975—),男,陕西武功人,硕士,副教授。研究方向:计算机网络技术及数据库。