试卷生成系统.doc

上传人:精*** 文档编号:859302 上传时间:2023-09-23 格式:DOC 页数:39 大小:534.29KB
下载 相关 举报
试卷生成系统.doc_第1页
第1页 / 共39页
试卷生成系统.doc_第2页
第2页 / 共39页
试卷生成系统.doc_第3页
第3页 / 共39页
试卷生成系统.doc_第4页
第4页 / 共39页
试卷生成系统.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、试卷生成系统摘 要:教学评价是教学工作的一个重要环节,通常的教学评价方式多为通过试卷进行考试,因而试卷的质量将直接影响到教学评价的结果。一般情况下,教师出试卷时要么到庞大的题库里一道一道的把题目挑选出来,或是从几本相关的书里把题挑选出来组成一份试卷,这样既费时又费力,而且很难保证试题的覆盖面和把握试卷的难度。为了将老师从繁重的命题工作中解放出来,为了提高命题的质量和管理的现代化、科学化、规范化,本文开发一个试卷生成系统。本文在充分的需求分析基础上,设计和实现了一个试卷生成系统,主要完成了手动生成试卷、自动生成试卷、抽取现有试卷和用户管理等功能。通过测试,系统在Windows 98me2000X

2、P平台下能稳定运行,且基本达到了预期的设计目标,有一定的实用价值。关键词:试题库系统;试卷生成;算法Paper Generation Systemscience and technology of computer Tan Wu instructor:Fu KaiyaoAbstract :Value of teaching is an important tathe for teaching,usually a value of teaching is from a exam ,so a quality paper straight touches the value of teaching.

3、 The general situation ,teacher thinks out a paper,reach huge exam pool each finds out the question, or shoulder the question together out from several relevant books. Time-consuming and also strenuous like this, and very difficult to guarantee coverage rate and paper degree of difficulty of examina

4、tion question. Helping the teacher disengages from the burdensome proposition about exam, In order to improve the quality and management proposition of the modern, scientific, standardized, the paper developed a test generation system.Paper Generation System is designed and implemented based on the

5、sufficient needs analysis in this paper,It mainly implements some functions include in manually and automatically generating papers,extrating some of existing papers,maintaining user information and so on ,the system can operate stably in Windows 98/me/2000/XP platform ,reach the expected goal and h

6、ave some practical value.Keywords: test library system;paper generation;algorithmic前言随着计算机技术的发展和普及,在我们的学习和日常生活中都离不开计算机技术,大到科研的超级计算机,小到我们日常使用的手提电话,实际都是计算机技术的应用,对于学校、企事业单位来说,计算机特别是PC机已经相当普及,大家对计算机的操作更加熟悉,充分发挥设备潜能是一种节约的表现,是一种美德。设计编写试卷生成系统,是基于二种目的:一是充分利用现有的计算机系统减轻工作人员的劳动强度。二是摒弃传统的手工整理、以试卷(纸质)的形式存放到档案室,浪

7、费纸张等原材料,不利于保护环境。一个好的试卷生成系统,要求界面友好,能方便地生成试卷,试卷的维护(修改、删除试题)操作简单,组卷灵活快捷,查询试题或试卷迅速,以适应各种知识更新对试卷难度的要求,还要具有一定的安全性。为此,在对系统进行概要设计时,就充分考试虑到以上的因素,模块围绕实用性设计,比如,编辑模块就是为了实现试题的录入、试题的维护、试卷的生成而设计的;查询模块是为了实现试题和试卷的快速查询而设计的;系统管理是考虑系统的安全性,用户名和密码,整个设计简洁明了,同时也就方便了操作。本软件的开发成功为试卷的生成工作又添加了一款实用性较强的软件,为试卷生成系统告别手工管理的时代又推进了一大步。

8、35目 录1 绪论11.1 开发背景与研究现状11.2论文组织12 开发工具简介22.1 Visual Basic22.1.1 主要控件及其属性简介22.1.2 数据库连接方式32.2 SQL Server200032.3 SQL 语言43 需求分析63.1用户需求63.2功能需求63.3 系统流程图63.4 性能需求73.4.1 加载数据效率要求73.4.2 界面风格要求73.5 开发环境83.5.1 软件环境83.5.2 硬件环境84 系统设计94.1 系统功能模块图94.2 数据表设计114.3 组卷算法134.3.1 现有算法分析134.3.2 回溯试探法的应用144.4 自动组卷15

9、4.5 手动组卷154.6 抽取现有试卷175 关键技术与系统实现195.1 登录模块195.2 试卷生成管理215.3 系统中的关键技术实现255.3.1 显示教材章节信息供用户使用255.3.2 手动生成试卷时所选试题的临时保存处理255.3.3自动生成试卷时生成一个覆盖知识点广且试题不重复的试卷处理265.3.4数据库的备份与恢复276 系统的测试296.1 测试方法296.2 测试配置环境296.3 测试目的296.4 测试过程306.4.1 测试抽取现有试卷模块306.4.2 测试自动生成试卷模块31结束语34参考文献:35致 谢361 绪论1.1 开发背景与研究现状在以往的教学中,

10、老师出试卷大多由手工出卷,这样生成的试卷往往会有知识点分布太集中、难易程度不当、分值分布不均等一些缺点;这样,既增加了老师的负担,也没有达到很好考查学生学习的真实水平,造成教学上的失误。 基于以上的原因,有很多从事软件开发的人员,在试卷自动生成方面做了很大的研究。目前这一领域也以良好的发展姿态而不断进步,早期已经有了一些类似的系统,但经过软件开发人不断的完善,大致形成了具备如下功能的系统:删除试题、批量录入试题、试题交流、合并题库、自定义试题参数等一些功能,其中试题交流功能非常实用,主要用于同事间交流试题。系统“体积”非常小,压缩后只有几百KB。平时只要将一些试题或从网络下载的试题,按“学科”

11、、“章节”、“知识点”、“题型”、“难易程度”五个参数进行归类,录入题库,需要用时,只要输入一些查询条件即可查出所要找的试题。生成试卷非常方便,只需几分钟就可以生成一份试卷,生成的试卷还配有答案,更重要的是软件能与WROD的完美结合,试题、答案的编辑、试卷的排版打印全部由WORD来完成,试卷和答案都可保存为*.DOC格式。组卷算法是该系统中的重点,目前被使用的算法主要有三种,分别是随机选取法,回溯试探法和遗传算法。这三种算法各有特点,随机选取法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说组卷成功率低,即使组卷成功,花费时间也令人难以忍受,所以很少被使用。而回溯试探法,同样结

12、构简单,但是组卷成功率很高,所以常被使用。遗传算法是目前很流行的组卷方法,结合了前两种算法的多个优点,体现了组卷的随机性和科学性,被广泛使用中。 可见,试卷自动生成系统这方面的研究日益成熟,这不但减轻了教师的工作负担,也使得教学评价更加科学化、规范化,有利用教育事业的发展。1.2论文组织论文全面详细地介绍了试卷生成系统的设计思想、实现原理和使用技巧。论文按如下方式组织。第一部分是主要是对系统的开发背景和研究现状进行详细的介绍。第二部分主要是对开发工具的介绍。第三部分是主要是对本系统做详细的需求分析。第四、五、六部分是本文的主要内容,是软件的开发设计。第四部分主要对于系统组卷的设计,重点介绍了自

13、动生成试卷,手动生成试卷和抽取现有试卷三种组卷算法。而第五部分是系统的实现部分,具体的分析了三种组卷算法的实现过程。同时也仔细说明了系统实现过程中的关键技术。第六部分是系统的测试部分,利用测试实例来说明系统的可用性和数据的准确性。2 开发工具简介2.1 Visual Basic Visual Basic是可视化的Basic,他创建应用程序时,不需要编写大量的程序代码来描述和控制界面元素的位置,大小等属性,只需要简单的在屏幕中增加已经建立的对象。可视化编程的一个突出特点就是其开发环境就像一个百宝箱,很多功能都集成在其之中,这就是IDE(Integrated Development Environ

14、ment),即集成开发环境。IDE是指在相应的开发平台中集成了编辑器、编译连接工具、控件器箱辅助工具。例如在VB的集成开发环境中就包括了以下一些主要元素:工具栏、工具箱、工程管理器窗口、属性窗口、窗体设计器、代码编辑器窗口等;VB的程序设计风格与传统设计方法不同,它是面向对象和事件的程序设计方法。面向对象是近年来出现的程序设计技术,它是一种全新的设计和构造软件的思维方法。在面向对象的程序设计中,“对象”是系统中的基本运行实体。例如窗体和控件,就是VB的对象,VB中的对象是由系统设计好提供给用户使用的。对象建立、移动、增删、缩放操作也是由系统规定好的,这比一般的面向对象程序设计中的操作要简单的多

15、,因此本软件选择了VB6.0作为开发工具。2.1.1 主要控件及其属性简介Form类的控件:Picture属性:用来设置窗体的背景图象。Visible属性:界面是否显示。BackColor属性:用来控制程序界面的颜色。Font属性:用来控制程序界面的字体。StartUpPosition属性:用来控制程序运行时界面的显示位置。ImageList类的控件:ImageHeight属性:用来设置图的高度。ImageWidth属性:用来设置图的宽度。MSFlexGrid控件:Rows属性:返回或设置在一个 MSHFlexGrid 中的总行数。Cols属性:返回或设置在一个 MSHFlexGrid 中的总

16、列数。AllowBigSelectorBoolean属性: 返回/设置一个值,定义当在行或列的头部单击时,是否该行或列将整个被选中。EnterCell的事件:当一个新的单元成为当前活动单元时。CommandButton控件:Caption属性:用来指定CommandButton的标题。Click事件:用来添加按钮的单击事件所执行的程序代码。TreeView控件:显示 Node 对象的分层列表,每个 Node 对象均由一个标签和一个可选的位图组成。ImageList属性:指定的ImageList控件保存在Node对象中使用的点位图和图标。Node属性:可以表现为文本,点位图,线条和加减号的8种组

17、合之一。NodeClick时间:用来添加按钮的单击事件所执行的程序代码。2.1.2 数据库连接方式 从简单的文本文件到各种复杂的关系型数据库,数据库应用程序需要面对各种各样的数据源。Visual basic 6.0提供ADO(Active Data Objects)作为应用程序和OLE-DB连接的桥梁。ADO,即Active数据对象(Active Data Objects):实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口相连。用户可以使用任何一种ODBC数据源,即不仅适合于SQL Server、Oracle、Access等数据库应用程序,

18、也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。本系统就是用ADO对象来连接数据库的。以下是本系统开发过程中用到的一些ADO对象:Connection对象:通过“连接”可从应用程序访问数据源,连接是交换数据所必需的环境。对象模型使用Connection对象使连接概念得以具体。Recordset对象:表示的是来自基本表或命令执行结果的记录全集。Recordset 对象可支持两类更新:立即更新和批更新。使用立即更新,一旦调用Update方法,对数据的所有更改将被立即写入基本数据源。也可以使

19、用AddNew和Update方法将值的数组作为参数传递,同时更新记录的若干字段。Field对象:代表使用普通数据类型的数据的列。Recordset对象含有由Field对象组成的Fields集合。每个Field对象对应于Recordset中的一列。使用Field对象的Value属性可设置或返回当前记录的数据。以下是本程序中用到的方法:AddNew方法:创建可更新Recordset对象的新记录。Open方法(ADO Connection):打开到数据源的连接。Open方法(ADO Recordset):打开记录集。Close方法:关闭打开的对象及任何相关对象。Execute方法:执行指定的查询、S

20、QL语句、存储过程或特定提供者的文本等内容。2.2 SQL Server2000SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的。于1988 年推出了第一个OS/2 版本在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上专注于开发推广SQL Server 的Windows NT 版本,Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。在系统中用到的是

21、Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点。同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。目前被广泛使用的数据库有SQL Server、Oracle、Access等。Access是一个可

22、视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。但是access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。而SQL Server是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比Access要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的SQL语言对数据库进行管理

23、,所以如果是标准SQL语言,两者基本上都可以通用的。SQL Server还有更多的扩展,可以用存储过程,数据库大小无极限限制。因为本系统需求一个中型,而且安全性强的数据库,所以选择SQL Server做为该系统的数据库。2.3 SQL 语言SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybas

24、e、 Microsoft SQL Server、 Access等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如“Select”、 “Insert”、 “Update”、 “Delete” 、“Create”和 “Drop”常常被用于完成绝大多数数据库的操作。MS SQL Server 就是用的Transact- SQL。SQL语言有着非常突出的优点,SQL语言是非过程化的语言、统一的语言、是所有关系数据库的公共语言。非过程化语言:SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在

25、高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。统一的语言:SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。SQL为许多任务提供了命令,其中包括:查询数据、在表中插入、修改和删除记录、建立、修改和删除数据对

26、象、控制对数据和数据对象的存取、保证数据库一致性和完整性等。以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据;DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象;DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。

27、 3 需求分析考试是整个教学过程中的一个重要环节,它是对学生所学知识和能力的一种评价,也是衡量教师教学效果优劣的一种教育测量手段。但是,目前考试的实施过程不完全科学,命题内容,评分标准等缺乏普遍的可比性,考试不够客观和准确。随着计算机科学的迅速发展和广泛应用,计算机技术已进入现代教育领域,并形成了一门新兴的边缘科学计算机辅助教学(Computer Aided Instruction,CAI)。3.1用户需求利用计算机建立试题库,实现计算机自动选题组卷,是CAI工程的重要组成部分,也是实现教考分离的一个重要手段。利用计算机组卷,不仅能节省教师的宝贵时间,提高工作效率,而且能消除出卷人主观意识的影

28、响,使考试更加标准化,更加客观,真实,全面地反映反映教学的实际效果,有利于教学质量的提高。建立了试题库系统以后,可实行教考分离,促使任课老师必须按照教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水平有着非常重要的意义。每次考试后,还可利用计算机对试卷和考试分数进行分析和评价,使考试这一教学环节更加科学化和规范化。作为试题库系统中的一部分,试卷生成系统必须满足如下需求:(1)灵活多样的组卷方式,如手工组卷和自动组卷。(2)既能临时生成试卷,又能直接使用以前生成的试卷,也就是要求能对生成的试卷进行保存,以便下次直接使用,并能删除不再需要的试卷。(3)试卷的保密性要

29、求,只有授权人员才能生成和查阅试卷。(4)试卷生成速度不宜太慢。(5)生成的试卷按照规定的模板输出,并能导出到word文档中。(6)生成的试卷既可以直接打印,也可以在word中修改和打印。(7)友好的用户界面。3.2功能需求本系统是试卷生成系统,主要有三方面的功能需求,其分别是:(1)抽取现有试卷:为了用户能方便管理现有的试卷,此模块主要有预览试卷,保存答案,删除试卷三大功能。(2)手动生成试卷:为了能按照用户的意愿组卷,用户可以按试题所涉及的知识点浏览各种题型,生成一份知识覆盖面广泛的试卷,并能保存试卷。 (3)自动生成试卷:用户能选择生成试卷的题型,试题数量,试题难度,以及试卷分值,且有预

30、览试卷,预览答案,保存试卷和答案的功能。3.3 系统流程图根据对用户的调查,本系统有三类用户使用,分别是管理员,教务管理员和教师。这三种身份的人具有不同权限,管理员负责管理系统帐号;教务管理员负责管理试题、审核试题、打印试题;教师只能浏览和根据需要组卷。本系统主要是对试题组卷的管理,根据需求分析,可以得到系统流程如图3-1所示。成功失败开始用户登陆提示错误读取用户类型管理员教务管理员教师试卷生成管理抽取现有试卷自动生成试卷手动生成试卷系统管理管理员图3-1 系统总流程图3.4 性能需求3.4.1 加载数据效率要求本系统的使用不受时间限制,可以24小时正常使用,对于用户登陆,试卷预览,答案预览,

31、试卷生成功能响应时间不宜超过5秒钟。 3.4.2 界面风格要求整体以白色和淡蓝色为主,辅助米黄色和淡绿色给人清新,舒坦的感觉,在1024*768分辨率下达到最佳显示效果,界面简洁清爽,不能过于复杂。3.5 开发环境3.5.1 软件环境操作系统:Windows98以上/ME/2000/XP等数据库:SQLServer2000开发语言: Visual Basic开发工具: VB6.03.5.2 硬件环境 CPU:PII200以上内存:256MB以上硬盘:2.1GB以上(可用空间最好在160MB以上)4 系统设计系统设计的目的是确定系统如何完成预定的任务,也就是确定系统的物理配置方案,并且进而确定组

32、成系统的每个程序的结构。首先设想完成系统功能的若干种合理的物理方案,分析员应该仔细比较这些方案,并且和用户共同选定一个最佳方案,然后,进行软件结构设计,确定软件由哪些模块组成以及这些模块之间的动态调用关系。进行软件结构设计时应该遵循的最主要的原理是模块独立原理,也就是说:软件应该由一组完成相对独立的子功能模块组成,这些模块之间的接口关系应尽量简单。自顶向下逐步求精是进行软件结构设计的常用途经,在进行详细的过程设计和编写程序之前,首先进行结构设计,其好处在于可以在软件开发的早期站在全局高度对软件结构进行优化,在这个时期进行优化付出的代价不高,却可以使软件质量得到重大改进。试题管理系统和试卷生成系

33、统是两个连在一起的系统,而本系统主要介绍的就是试卷生成系统的设计和方法。4.1 系统功能模块图根据需求分析,将系统分为四个模块:系统管理模块,试卷生成管理模块,数据库管理系统,系统帮助模块。系统功能模块结构如图4-1所示。试卷管理系统系统管理试卷生成管理数据库管理系统帮助用户管理密码管理自动生成试卷手动生成试卷抽取现有试卷数据库还原数据库备份系统关于系统帮助图4-1 系统功能模块图下面对各功能模块的子功能进行较详细的讨论。(1) 系统管理模块该模块包括用户管理模块和用户密码管理模块。系统启动时调用此模块,要求用户先进行登陆。登陆功能模块如图4-2所示。系统用户信息管理员教务管理员教师修改管理员

34、密码添加删除修改其他用户审核添加修改其他用户管理自身帐户查询试题打印试题管理自身账号图4-2 登陆模块功能图(2) 试卷生成管理模块试卷生成管理模块主要包括如下子模块:n 抽取现有试卷模块:显示预览试卷,保存答案,删除试卷功能。n 手动生成试卷模块:显示加入试卷,保存试卷功能。n 自动生成模块:显示生成试卷,预览试卷,预览答案,保存试卷功能。详细的试卷生成管理功能模块如图4-3所示。试卷生成管理抽取现有试卷手动生成试卷自动生成试卷预览试卷保存答案删除试卷加入试卷保存试卷生成试卷预览答案预览试卷预览答案图4-3 试卷生成管理模块功能图(3) 数据库管理模块主要包括数据库还原和数据库备份。数据库管

35、理模块结构如图4-4所示。数据库管理数据库还原数据库备份 图4-4 数据库管理模块功能图(4) 系统帮助模块主要包括系统帮助和系统关于。系统帮助模块结构如图4-5所示。系统帮助系统关于帮助图4-5 系统帮助模块功能图4.2 数据表设计根据系统功能设计,把数据库命名:STGL,在SQL Server 2000数据库创建了题型表、难度程度表、出卷人表、用户信息表等。各数据表的具体情况如表1至表9所示。表 用户信息表(usermanagement)字段中文名字段英文名字段类型字段长度姓名NameIDchar20密码PWDchar20用户类型QXint2表 题型表(TX)字段中文名字段英文名字段类型字

36、段长度题型Typechar10名称TypeNamechar10表 难度程度表(NYD)字段中文名字段英文名字段类型字段长度编号BHint4难易度NDchar4表4 选择题表(selects)字段中文名字段英文名字段类型字段长度题号BHchar10题型Typechar10题目Topicchar100选项AAchar100选项BBchar100选项CCchar100选项DDchar100正确答案Answerchar1难易度NDchar4出自章节ZJchar2表5 填空题表(adds)字段中文名字段英文名字段类型字段长度题号BH char10题型Typechar10题目TMchar100空1K1ch

37、ar50空2K2char50空3K3char50难易度NDchar4出自章节ZJchar2表6 简答题表(ask)字段中文名字段英文名字段类型字段长度题号BH char10题型Typechar10题目TMchar100答案Answerchar200难易度NDchar4出自章节ZJchar2表7 阅读程序题表(YDCX)字段中文名字段英文名字段类型字段长度题号BHint10题型Typeint10题目TMchar100答案Answerchar200难易度NDchar4出自章节ZJchar2表8 出卷人表(SJ)字段中文名字段英文名字段类型字段长度 试卷代号SJDH datetime8出卷老师CJL

38、Schar20难易度NDchar4表9 已存试卷表(SJT)字段中文名字段英文名字段类型字段长度编号BHint4试卷代号SJDH datetime8题号ZDchar10试卷类型Typechar10分数FZchar104.3 组卷算法4.3.1 现有算法分析自动组卷是考试系统自动化或半自动化操作的核心目标之一,而如何保证生成的试卷能最大程度的满足用户的不同需要,并具有随机性、科学性、合理性,这是实现中的一个难点。尤其在交互式环境下用户对于组卷速度要求较高,而一个理论上较完美的算法可能会以牺牲时间作为代价,往往不能达到预期的效果。因此,选择一个高效、科学、合理的算法是自动组卷的关键。以往的具有自动

39、组卷功能的考试系统大多采用随机选取法和回溯试探法。随机选取法根据状态空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的试题为止。该方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说组卷成功率低,即使组卷成功,花费时间也令人难以忍受。尤其是当题库中各状态类型平均出题量较低时,组卷往往以失败而告终。回溯试探法这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时释放上次纪录的状态类型,然后再依据一定的规律变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生成完毕或退回出发点为止,这种有条件的深度优先算法,

40、对于状态类型和出题量都较少的题库系统而言,组卷成功率较好。 分析上述两种算法的优缺点,不难发现,在限制条件状态空间的控制下,随机选取法有时能够抽取出一组令用户满意的试题。只不过由于它随机选取试题的范围太大,无法确定目前条件下哪些区域能够抽取合适的试题,反而可能在那些已经证明是无法抽取合适试题的区域内反复选题,进行大量的无效操作进入死循环,最终导致组卷失败。回溯试探法组卷成功率高,但它是以牺牲大量的时间为代价的,由于本软件只是个小型的单科考试组卷系统,结构简单,出题量也较少,所以本系统选择相对简单,组卷成功率较好的回溯试探法进行组卷。4.3.2 回溯试探法的应用回溯算法也叫试探法,它是一种系统地

41、搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解;2、利用适于搜索的方法组织解空间;3、利用深度优先法搜索解空间;4、利用限界函数避免移动到不可能产生解的子空间。 问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性。 回溯法是一个既带有系统性又带有跳跃性的的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发搜索解空间树。算法搜索至解空间树的任一结点时,总是先判断该结点是否肯定不包含问题的解。如果肯定不包含,则跳过对以该结点为

42、根的子树的系统搜索,逐层向其祖先结点回溯。否则,进入该子树,继续按深度优先的策略进行搜索。回溯法在用来求问题的所有解时,要回溯到根,且根结点的所有子树都已被搜索遍才结束。而回溯法在用来求问题的任一解时,只要搜索到问题的一个解就可以结束。搜索:全面访问所有可能的情况,分为两种:不考虑给定问题的特有性质,按事先顶好的顺序,依次运用规则,即盲目搜索的方法;另一种则考虑问题给定的特有性质,选用合适的规则,提高搜索的效率,即启发式的搜索。本系统使用的是回溯法的启发式搜索,以试题题型,试题分值和选题数量为约束条件进行随机搜索,而把设置的试卷总分数作为一个解空间。如果各题型分值之和等于用户设置的试卷总分数,

43、则产生一个有效解,系统生成一份试卷,试题的题型,编号,分值等信息储存进试题库表中。通过系统的预览试卷功能,系统通过所存信息搜索数据库,获取试题内容,并输入Word文档中组成一份完整试卷。4.4 自动组卷自动组卷是时系统根据用户要求,随机选取试题,组成一份完整的试卷。本系统使用的是回溯探取法随机选题。其主要过程如下:(1)用户输入选题要求,如各题型数量,题型分值和题型难度,并设置试卷总分数。(2)初始化随机数生成器。(3)系统根据题型数量和题型难度要求在各题型表中随机抽取试题,将抽取到的试题的“编号”、“试题类型”、“分值”等信息存入临时表LSSJ中,并对其进行排序和比较,如有重复则返回继续搜索

44、,防止试题被重复选取,一直到抽取试题数等于用户设置的各题型的试题数量。(4)系统自动判断用户设置的试卷总分值与试题总分值是否相等,是则生成试卷,并将试题信息“编号”、“分值”、“难度”等信息存入数据库表SJT中,且生成“试卷代号”、“试卷创建者”、并判断“试卷难度”,存入数据库表SJ中。否则试卷生成失败,并清空临时表SJ中所有信息。(5)设置试卷模板。(6)预览试卷,系统根据数据库表SJT中信息搜索题库试题内容,并按设置好的试卷模板导入Word中,生成一份完整的试卷,并以*.doc文件的形式保存。自动生成试卷的流程如图4-9所示。4.5 手动组卷由于自动生成的试卷,对于试卷知识覆盖面的问题不好

45、控制,为了解决这各问题,所以本软件增加了另一种组卷方式,也就是手动生成试卷。此组卷方式的优点在于,系统将各题型的试题具体的分到了此科考试的具体章节和知识点。用户可以根据具体章节和知识点浏览此知识点下的各试题,并可以选择加入试卷,组成一份知识覆盖面广的试卷。其主要组卷过程如下:(1)用户选择试题题型,题型分值,试题数量和知识点,并设置试卷总分值,系统根据用户选择的题型和知识点显示所有试题。(2)用户选择试题,试题的“编号”、“难度”、“题型”等信息存入临时表LSST中,如果重复选题,则系统提示“您已选择此试题!”,否则系统提示“试题添加成功!”。(3)生成试卷,系统判断用户设置分数是否与试题总分数相等,是则生成一份完整的试卷,并将试题的“编号”、“难度”、“分值”、“类型”等信息存入数据库表SJT中。且生成“试卷代号、”试卷创建者“,并判断”试卷难度“,存入数据库表SJ中。否则试卷生成失败,提示用户“您生成的试卷分值与设置的试卷分值不等,试卷生成失败!”。 (4)设置试卷模板。(5)预览试卷,系统根据数据库表SJT中信息搜索题库试题内容,并按设置好的试卷模板导入Word中,生成一份完整的试卷,并以*.doc文件的形式保存。YYN输入试卷信息试卷总分100分?试卷生成失败预览试卷保存试卷保存答案自动选择试题程序开始程序结束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教学课件 > 自学考试资料

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922