基于JSF框架的试题自动生成系统

2012-10-13 14:31温彩玲
太原城市职业技术学院学报 2012年8期
关键词:试题库题库题型

温彩玲

(太原城市职业技术学院,山西 太原 030027)

基于JSF框架的试题自动生成系统

温彩玲

(太原城市职业技术学院,山西 太原 030027)

论文提出一个能够满足高职院校需要的且基于JSF框架的试题生成系统。系统采用随机获取试题的方式来进行智能组卷,并将结果输出到word中实现试卷的生成。

组卷策略;JSF;试题系统

众所周知,不管是什么阶段的学校,学生从入学开始到最后的完成学业毕业,期间都要进行很多形式的考试,直至最终获得毕业证书。传统形式的考试要经历教师出题、教务处排版印刷、监考老师分发试卷、考生答卷、教师收卷阅卷以及最后的统计分数等多个步骤,这其中大部分过程都要求教师手工参与完成,不仅需要消耗了大量的时间精力,同时还需要对工作有较高的保密要求。

虽然现在市面上已经出现了在线考试系统,但是由于该方法对于考试的类型以及考试结束后内容的保存等方面存在一定的问题,无法达到满足现阶段所有科目考试的需要。尤其对于高职院校,由于本身注重的是学生实践、操作、应用能力方面的培养,简单的理论考试根本无法满足需要。因而,我们提出这种基于试题库的试题自动生成系统。

该系统中的试卷是根据用户的要求自动提取题库中的试题生成的。试题的抽取采取确定参数后随机排列,然后随机抽取的方式进行提取,并对生成试题的用户、试题的特征、生成时间进行记录,从根本上杜绝了试卷泄密和考试作弊的问题,可以充分保证了考试的公平性。

一、系统开发语言

JavaServer Faces(JSF)是JavaEE5.0开始提出,是Java Community Process(JCP)推动的,有望成为Web应用程序开发的一种标准框架。

JSF中所有与应用程序的用户交互均由一个前端FacesServlet(控制器) 来处理,对于每个请求,FacesServlet首先会创建一个FacesContext对象,它包含了处理请求所必须的信息。

JSF的主要优点就是它既严格遵循模型——视图——控制器(MVC)设计模式,又符合Java Web应用程序的用户界面标准,确保了应用程序具有更高的可维护性。

二、系统的设计要点

(一)试题库的设计

试题题库是在线考试系统中最基础也是最根本的部分,是某一门学科中所有考试题目的集合。对于一个好的试卷生成系统来说,试卷生成的好坏与否关键就在于题库组织是否合理。要建立一个好的试题题库,首先要保证有足够数量的考试题目,能涵盖学科的全部至少也是大部分的知识,同时还要对已有的试题题目进行合理的分类。为了能够满足本系统的需求,试题库中的数据库设计如下:

表1 试题信息表

(二)组卷策略

要使考试科学合理,真正达到考察学生对知识掌握情况的目的,试卷生成的质量非常关键。不同的考试需要的考试试卷不同,因而需要根据试卷相关的各种参数,如试题的难度比例、题型的配比、涵盖的知识点等等,然后在题库中找出合适的题目来生成试卷。一个理想的试题应该具备以下特性:

(1)良好的通用性,也即一个好的试题生成系统应该能够在不同的科目、不同类型的考试中应用。

(2)试卷生成的随机性:系统每次生成的试题应该都不一样,具有随机性。同时,系统也应该可以根据管理员的要求出题。

(3)试题的合理性:试卷中试题的覆盖面应该足够大,在没有特定要求的情况下,同一份试卷中不应当出现涉及同一知识点的多道题目、分值也不应涉及的太多。此外,各种题目的类型、难度和分值以及各个知识点所要占得比例都要均衡。

(4)应变性:除了上述几点之外,系统还应该允许管理员根据不同的教学进度、具体的教学要求以及学生的学习情况等,对试题范围、难度进行相应的调整。

考虑到系统的实用性,该系统只需要组织者输入最基本的考试要求,如考察科目、考试难度、各类题型的数量、需要涵盖的知识点,系统会根据这些基本参数在题库中随机抽取试题,生成一份符合要求的试卷。以《Java程序设计基础》试题为例,在试题参数选择界面中,系统将试题库中所有该科目的知识点获取并显示,用户可以根据需要对此选择。同样,试题类型部分也将所有的试题类型列出,并在后面设置可以填写的文本框,一旦该题型被选中,后面的文本框自动处于编辑状态,用户可以输入该题型所需要的试题个数。此外,系统还根据一般的情况将试卷难度设为难、较难、中等、较简单和简单五个等级,基本能够满足一般用户的需要。

利用计算机实现自动组卷功能,最常用的方式是动态生成随机数,然后根据随机数从题库中选择对应试题组成试卷。在这种方法中,应保证一份试卷中的试题不重复出现,因此要求生成的随机数不能重复。而且,由于试题的动态变化,生成的随机数在数据库中可能无法提取到相应的试题,这样还需要重新提取,因而采用的组卷算法必须简单高效,否则就有可能成为系统瓶颈,导致系统反映迟钝。

在该系统中,首先根据用户给定的参数提取数据库中合适的试题,并按照类型分类存入不同的List中。然后,根据List的大小确定动态生成的随机数的范围,从而杜绝取不到题的现象。另外,由于第一次存储采用了随机的存储方式,因而在第二次存储后整个List中试题的顺序是完全随机的,因而也可以保证试题在抽取中的随机性。

(三)试卷生成

由于目前高校中所用的试卷基本都是通过word排版后进行打印的,因而在该系统中,我们也采用生成word页面的方式,来生成试卷。由于JSF中没有相应的组件能够将动态生成的数据导出到已经生成的试卷模板。因而在系统中,我们先将数据动态导出到HTML静态页面,然后使用BufferedInputStream和BufferedOutput——Stream获得要读取数据,并将其输出到word中。

三、结语

目前该系统已经基本完成,但是依然存在一定的问题。如组卷策略中使用随机数来提取试题,一旦试题库中试题数目太多,会引起试题生成缓慢,甚至产生瓶颈;此外,试题库中试题的难易程度目前只能人工更新,而实际上试题的难易程度应该由学生实际作答情况和老师的评价按一定比例来动态更新,在下一步要努力改进。

[1]丛根滋,苏中滨,沈维政.基于SQLServer-Hibernate-JSF的信息门户网站开发平台的设计与实现[J].计算机应用与软件,2011,(12).

G718.5

A

1673-0046(2012)8-0053-02

猜你喜欢
试题库题库题型
离散型随机变量常考题型及解法
“勾股定理”优题库
巧妙构造函数 破解三类题型
“轴对称”优题库
石油炼制技术课程试题库建设的探讨
“轴对称”优题库
“整式的乘法与因式分解”优题库
职业院校旅游专业试题库建设的实践与反思
——以导游资格笔试科目为例
C语言考试题库在教学中的重要性研究
高校试题库建设新探讨