摘 要:在线考试系统是网络学习平台的一个重要组成部分,基于目前学习发展的现状和要求,本文使用RIA技术,设计并实现了基于心理测量学的题库试题生成的方法。
关键词:RIA;FLEX;试卷生成
1、引言
随着知识信息的迅速增加和更新,在信息社会中高效率高质量的学习己成为学生的要求。网络学习是学习理论知识和网络技术的有效结合,而在线考试系统作为网络学习平台的一个重要组成部分,已经在国内外得到蓬勃发展。然而,传统的Web页面重载机制已经严重的制约着在线考试系统软件的开发,包括页面响应时间、不良的网络带宽等等。与此同时,RIA(Rich Internet Application,富互联网应用系统)产生了,它是下一代的将桌面应用程序的交互的用户体验与传统的Web应用的部署灵活性和成本分析结合起来的网络应用程序。
2、基于FLEX的RIA
Flex是Adobe 公司为开发 RIA而推出的表示服务器和应用程序框架,它可以运行于J2EE和.NET平台。Flex向服务器提供基于标准的、声明性的编程方法和流程,并提供运行时服务,用于开发和部署丰富客户端应用程序的表示层。同时,Flex开发者可以使用直观的基于XML的MXML来定义丰富的用户界面,该语言由 Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。由于Flash Player在互联网上有着非常高的普及率,因此使用Flex构建的应用程序能够在所有常见桌面平台上运行。
3、试卷生成的设计与实现
传统心理测试学的试卷的生成一则依靠心理测量学的约束条件如难度、区分度等,二则依靠测试格式的约束条件如测试题型分布、测试总题量等,三则依靠测试能力约束条件如章节覆盖面、掌握层次等,约束条件越多,要求的计算机算法来执行。而相同考题的生成试卷主要使用加权离差模型的经验解法。
加权离差模型的经验解法可由以下两个部分组成:第一,初步选题部分;第二,置换优化部分。
具体说,初步选题部分包括四步:
首先,对每个尚未选入测验的试题t,计算若其选入测验后将有的离差加权期望和数,具体来看:
a、如果j是关于试题量的约束,则计算qj,即先求已选入测验的具有j性质试题的数目;同时,若试题t具有j性质则加1;另外,再加(n-k)uj,这里,uj是指定特质水平上项目信息量的平均数。这样求出式12所规定的值。若qj
接着,在剩余项目中选出具有期望离加权和最小的试题,并将其实际加进到测验中去。
最后,重复前三个步骤,直到选出n个试题。
置换优化部分包括三步:
首先,按前三步骤的做法,除在计算中不加进期望值(n-k)uj,选出第(n+1)题,并临时性地加到测验中去。
其次,从测验已包含的试题中,找出剔除后最能减小离差加权和的试题。在这个部分中,除了不时将试题加进入而是剔除出测验外,和前面步骤完全类似。
最后,如果临时性加进的试题不必剔除,那么就用它置换应剔除的试题。假如这一置换过程还能减小离差加权和,就可继续重复这些步骤;否则就停止。
系统使用ASP.NET代码实现以上算法,封装为Web Service,在Flex中使用WebService类访问该WebService来生成试卷,界面使用Flex的DataGrid控件生成试题列表,主要Flex实现代码如下:
public function initApp():void{
var strurl:String = ""http://localhost:8080/Exam/services/ExamServicewsdl"";
var ws:WebService = new WebService();
ws.wsdl = strurl;
ws.loadWSDL();
var service:AbstractService = ws;
var token:AsyncToken = AsyncToken(service.GetClozeList(20, 1));
token.addResponder(new TakeResponder(onHandler));
PopUpManager.removePopUp(this);
function onHandler(evt:ResultEvent):void{
clozeList = evt.result as ArrayCollection;
viewData.dataProvider = clozeList;
}
}
参考文献:
何晓淳,陈友常,通用智能题库,沈阳辽宁师范大学出版社 1997.6