试卷生成系统(毕业设计论文)_第1页
试卷生成系统(毕业设计论文)_第2页
试卷生成系统(毕业设计论文)_第3页
试卷生成系统(毕业设计论文)_第4页
试卷生成系统(毕业设计论文)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) i 试卷生成系统试卷生成系统 计算机科学与技术计算机科学与技术 谭武谭武 指导老师:符开耀指导老师:符开耀 摘摘 要:要:教学评价是教学工作的一个重要环节,通常的教学评价方式多为通过试卷进行考试,因而试卷的质量将直 接影响到教学评价的结果。一般情况下,教师出试卷时要么到庞大的题库里一道一道的把题目挑选出来,或是从几本 相关的书里把题挑选出来组成一份试卷,这样既费时又费力,而且很难保证试题的覆盖面和把握试卷的难度。为了将 老师从繁重的命题工作中解放出来,为了提高命题的质量和管理的现代化、科学化、规范化,本文开发一个试卷生成 系统。

2、 本文在充分的需求分析基础上,设计和实现了一个试卷生成系统,主要完成了手动生成试卷、自动生成试卷、抽 取现有试卷和用户管理等功能。通过测试,系统在 windows 98me2000xp 平台下能稳定运行,且基本达到了预 期的设计目标,有一定的实用价值。 关键词:关键词:试题库系统;试卷生成;算法 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) ii paperpaper generationgeneration systemsystem sciencescience andand technologytechnology ofof computercomputer tanta

3、n wuwu instructorinstructor:fufu kaiyaokaiyao abstract :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. the general situation ,teacher thinks out a paper,reach huge exam pool each finds out th

4、e 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 examination question. helping the teacher disengages from the burdensome proposition about exam,

5、 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 sufficient needs analysis in this paper,it mainly implements some functions include in m

6、anually 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 have some practical value. keywords: test library system;paper generation;algorithmic 湖南科

7、技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) iii 前言 随着计算机技术的发展和普及,在我们的学习和日常生活中都离不开计算机技术,大到科研的 超级计算机,小到我们日常使用的手提电话,实际都是计算机技术的应用,对于学校、企事业单位 来说,计算机特别是 pc 机已经相当普及,大家对计算机的操作更加熟悉,充分发挥设备潜能是一种 节约的表现,是一种美德。 设计编写试卷生成系统,是基于二种目的:一是充分利用现有的计算机系统减轻工作人员的劳 动强度。二是摒弃传统的手工整理、以试卷(纸质)的形式存放到档案室,浪费纸张等原材料,不 利于保护环境。 一个好的试卷生成系统,要求界面友好,能方便地生

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

9、) 1 目目 录录 1 1 绪论绪论 .1 1 1.1 开发背景与研究现状 .1 1.2 论文组织.1 2 2 开发工具简介开发工具简介 .2 2 2.1 visual basic.2 2.1.1 主要控件及其属性简介.2 2.1.2 数据库连接方式.3 2.2 sql server2000.3 2.3 sql 语言.4 3 3 需求分析需求分析 .6 6 3.1 用户需求.6 3.2 功能需求.6 3.3 系统流程图 .6 3.4 性能需求 .7 3.4.1 加载数据效率要求.7 3.4.2 界面风格要求.7 3.5 开发环境 .8 3.5.1 软件环境.8 3.5.2 硬件环境.8 4 4

10、 系统设计系统设计 .9 9 4.1 系统功能模块图.9 4.2 数据表设计.11 4.3 组卷算法.13 4.3.1 现有算法分析.13 4.3.2 回溯试探法的应用.14 4.4 自动组卷.15 4.5 手动组卷.15 4.6 抽取现有试卷.17 5 5 关键技术与系统实现关键技术与系统实现 .1919 5.1 登录模块.19 5.2 试卷生成管理.21 5.3 系统中的关键技术实现.25 5.3.1 显示教材章节信息供用户使用.25 5.3.2 手动生成试卷时所选试题的临时保存处理.25 5.3.3 自动生成试卷时生成一个覆盖知识点广且试题不重复的试卷处理.26 5.3.4 数据库的备份

11、与恢复.27 6 6 系统的测试系统的测试 .2929 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 2 6.1 测试方法.29 6.2 测试配置环境.29 6.3 测试目的.29 6.4 测试过程.30 6.4.1 测试抽取现有试卷模块.30 6.4.2 测试自动生成试卷模块.31 结束语结束语 .3434 参考文献:参考文献: .3535 致致 谢谢 .3636 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 1 1 1 绪论绪论 1.1 开发背景与研究现状开发背景与研究现状 在以往的教学中,老师出试卷大多由手工出卷,这样生成的试卷往往会有知识点分布太

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

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

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

15、点介绍了自动生成试卷,手动生成试卷和抽取现有试卷三种组卷算法。而第五部分是系统的实现 部分,具体的分析了三种组卷算法的实现过程。同时也仔细说明了系统实现过程中的关键技术。第 六部分是系统的测试部分,利用测试实例来说明系统的可用性和数据的准确性。 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 2 2 2 开发工具简介开发工具简介 2.1 visualvisual basicbasic visual basic 是可视化的 basic,他创建应用程序时,不需要编写大量的程序代码来描述和控 制界面元素的位置,大小等属性,只需要简单的在屏幕中增加已经建立的对象。可视化编程的一个 突

16、出特点就是其开发环境就像一个百宝箱,很多功能都集成在其之中,这就是 ide(integrated development environment),即集成开发环境。ide 是指在相应的开发平台中集成了编辑器、编译 连接工具、控件器箱辅助工具。例如在 vb 的集成开发环境中就包括了以下一些主要元素:工具栏、 工具箱、工程管理器窗口、属性窗口、窗体设计器、代码编辑器窗口等; vb 的程序设计风格与传统设计方法不同,它是面向对象和事件的程序设计方法。面向对象是近 年来出现的程序设计技术,它是一种全新的设计和构造软件的思维方法。在面向对象的程序设计中, “对象”是系统中的基本运行实体。例如窗体和控件,

17、就是 vb 的对象,vb 中的对象是由系统设计 好提供给用户使用的。对象建立、移动、增删、缩放操作也是由系统规定好的,这比一般的面向对 象程序设计中的操作要简单的多,因此本软件选择了 vb6.0 作为开发工具。 2.1.1 主要控件及其属性简介主要控件及其属性简介 form 类的控件: picture 属性:用来设置窗体的背景图象。 visible 属性:界面是否显示。 backcolor 属性:用来控制程序界面的颜色。 font 属性:用来控制程序界面的字体。 startupposition 属性:用来控制程序运行时界面的显示位置。 imagelist 类的控件: imageheight 属

18、性:用来设置图的高度。 imagewidth 属性:用来设置图的宽度。 msflexgrid 控件: rows 属性:返回或设置在一个 mshflexgrid 中的总行数。 cols 属性:返回或设置在一个 mshflexgrid 中的总列数。 allowbigselectorboolean 属性: 返回/设置一个值,定义当在行或列的头部单击时,是否该行或 列将整个被选中。 entercell 的事件:当一个新的单元成为当前活动单元时。 commandbutton 控件: caption 属性:用来指定 commandbutton 的标题。 click 事件:用来添加按钮的单击事件所执行的程序

19、代码。 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 3 treeview 控件:显示 node 对象的分层列表,每个 node 对象均由一个标签和一个可选的位图 组成。 imagelist 属性:指定的 imagelist 控件保存在 node 对象中使用的点位图和图标。 node 属性:可以表现为文本,点位图,线条和加减号的 8 种组合之一。 nodeclick 时间:用来添加按钮的单击事件所执行的程序代码。 2.1.2 数据库连接方式数据库连接方式 从简单的文本文件到各种复杂的关系型数据库,数据库应用程序需要面对各种各样的数据源。 visual basic 6.0 提

20、供 ado(active data objects)作为应用程序和 ole-db 连接的桥梁。 ado,即 active 数据对象(active data objects):实际是一种提供访问各种数据类型的连接 机制。ado 设计为一种极简单的格式,通过 odbc 的方法同数据库接口相连。用户可以使用任何一种 odbc 数据源,即不仅适合于 sql server、oracle、access 等数据库应用程序,也适合于 excel 表 格、文本文件、图形文件和无格式的数据文件。ado 是基于 ole-db 之上的技术,因此 ado 通过其内 部的属性和方法提供统一的数据访问接口方法。本系统就是用

21、 ado 对象来连接数据库的。 以下是本系统开发过程中用到的一些 ado 对象: connection 对象:通过“连接”可从应用程序访问数据源,连接是交换数据所必需的环境。对 象模型使用 connection 对象使连接概念得以具体。 recordset 对象:表示的是来自基本表或命令执行结果的记录全集。recordset 对象可支持两 类更新:立即更新和批更新。使用立即更新,一旦调用 update 方法,对数据的所有更改将被立即写 入基本数据源。也可以使用 addnew 和 update 方法将值的数组作为参数传递,同时更新记录的若干 字段。 field 对象:代表使用普通数据类型的数据的

22、列。recordset 对象含有由 field 对象组成的 fields 集合。每个 field 对象对应于 recordset 中的一列。使用 field 对象的 value 属性可设置或 返回当前记录的数据。 以下是本程序中用到的方法: addnew 方法:创建可更新 recordset 对象的新记录。 open 方法(ado connection):打开到数据源的连接。 open 方法(ado recordset):打开记录集。 close 方法:关闭打开的对象及任何相关对象。 execute 方法:执行指定的查询、sql 语句、存储过程或特定提供者的文本等内容。 2.2 sqlsql

23、serverserver20002000 sql server 是一个关系数据库管理系统,它最初是由 microsoft sybase 和 ashton-tate 三家 公司共同开发的。于 1988 年推出了第一个 os/2 版本在 windows nt 推出后,microsoft 与 sybase 在 sql server 的开发上就分道扬镳了。microsoft 将 sql server 移植到 windows nt 系统上专注 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 4 于开发推广 sql server 的 windows nt 版本,sybase 则较专注于

24、sql server 在 unix 操作系统上 的应用。在系统中用到的是 microsoft sql server 以后简称为 sql server 或 ms sql server。 sql server 2000 是 microsoft 公司推出的 sql server 数据库管理系统的最新版本该版本继 承了 sql server 7.0 版本的优点。同时又比它增加了许多更先进的功能具有使用方便可伸缩性好 与相关软件集成程度高等优点,可跨越从运行 microsoft windows 98 的膝上型电脑到运行 microsoft windows 2000 的大型多处理器的服务器等多种平台使用。

25、 目前被广泛使用的数据库有 sql server、oracle、access 等。access 是一个可视化工具,是 风格与 windows 完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。 系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、 报表向导等工具,使得操作简便,容易使用和掌握。但是 access 数据库有一定的极限,如果数据达 到 100m 左右,很容易造成服务器 iis 假死,或者消耗掉服务器的内存导致服务器崩溃。 而 sql server 是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上 也要

26、比 access 要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为 现在数据库都使用标准的 sql 语言对数据库进行管理,所以如果是标准 sql 语言,两者基本上都可 以通用的。sql server 还有更多的扩展,可以用存储过程,数据库大小无极限限制。因为本系统需 求一个中型,而且安全性强的数据库,所以选择 sql server 做为该系统的数据库。 2.3 sqlsql 语言语言 sql(structured query language,结构查询语言)是一个功能强大的数据库语言。sql 通常使 用于数据库的通讯。ansi(美国国家标准学会)声称,sql 是关系数

27、据库管理系统的标准语言。sql 语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。 使用 sql 的常见关系数据库管理系统有:oracle、 sybase、 microsoft sql server、 access 等 等。虽然绝大多数的数据库系统使用 sql,但是它们同样有它们自立另外的专有扩展功能用于它们 的系统。但是,标准的 sql 命令,比如“select”、 “insert”、 “update”、 “delete” 、“create”和 “drop”常常被用于完成绝大多数数据库的操作。ms sql server 就是用的 transact- sql

28、。sql 语言有着非常突出的优点,sql 语言是非过程化的语言、统一的语言、是所有 关系数据库的公共语言。 非过程化语言:sql 是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。 sql 允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有 sql 语句 接受集合作为输入,返回集合作为输出。sql 的集合特性允许一条 sql 语句的结果作为另一条 sql 语句的输入。 统一的语言:sql 可用于所有用户的 db 活动模型,包括系统管理员、数据库管理员、 应用程 序员、决策支持系统人员及许多其它类型的终端用户。 所有关系数据库的公共语言:由于所有主要的关系

29、数据库管理系统都支持 sql 语言,用户可将 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 5 使用 sql 的技能从一个 rdbms(关系数据库管理系统)转到另一个,所有用 sql 编写的程序都是可以 移植的。 sql 为许多任务提供了命令,其中包括:查询数据、在表中插入、修改和删除记录、建立、修 改和删除数据对象、控制对数据和数据对象的存取、保证数据库一致性和完整性等。 以前的数据库管理系统为上述各类操作提供单独的语言,而 sql 将全部任务统一在一种语言中。 sql 功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据 修改和更新,概括起来,

30、它可以分成以下几组: dml(data manipulation language,数据操作语言):用于检索或者修改数据; ddl(data definition language,数据定义语言): 用于定义数据的结构,比如 创建、修改 或者删除数据库对象; dcl(data control language,数据控制语言):用于定义数据库用户的权限。 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 6 3 3 需求分析需求分析 考试是整个教学过程中的一个重要环节,它是对学生所学知识和能力的一种评价,也是衡量教 师教学效果优劣的一种教育测量手段。但是,目前考试的实施过程不完全

31、科学,命题内容,评分标 准等缺乏普遍的可比性,考试不够客观和准确。随着计算机科学的迅速发展和广泛应用,计算机技 术已进入现代教育领域,并形成了一门新兴的边缘科学计算机辅助教学(computer aided instruction,cai)。 3.1 用户需求用户需求 利用计算机建立试题库,实现计算机自动选题组卷,是 cai 工程的重要组成部分,也是实现教 考分离的一个重要手段。利用计算机组卷,不仅能节省教师的宝贵时间,提高工作效率,而且能消 除出卷人主观意识的影响,使考试更加标准化,更加客观,真实,全面地反映反映教学的实际效果, 有利于教学质量的提高。建立了试题库系统以后,可实行教考分离,促使

32、任课老师必须按照教学大 纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水平有着非常 重要的意义。每次考试后,还可利用计算机对试卷和考试分数进行分析和评价,使考试这一教学环 节更加科学化和规范化。 作为试题库系统中的一部分,试卷生成系统必须满足如下需求: (1)灵活多样的组卷方式,如手工组卷和自动组卷。 (2)既能临时生成试卷,又能直接使用以前生成的试卷,也就是要求能对生成的试卷进行保存, 以便下次直接使用,并能删除不再需要的试卷。 (3)试卷的保密性要求,只有授权人员才能生成和查阅试卷。 (4)试卷生成速度不宜太慢。 (5)生成的试卷按照规定的模板输出,并能导出到

33、word 文档中。 (6)生成的试卷既可以直接打印,也可以在 word 中修改和打印。 (7)友好的用户界面。 3.2 功能需求功能需求 本系统是试卷生成系统,主要有三方面的功能需求,其分别是: (1)抽取现有试卷:为了用户能方便管理现有的试卷,此模块主要有预览试卷,保存答案,删 除试卷三大功能。 (2)手动生成试卷:为了能按照用户的意愿组卷,用户可以按试题所涉及的知识点浏览各种题 型,生成一份知识覆盖面广泛的试卷,并能保存试卷。 (3)自动生成试卷:用户能选择生成试卷的题型,试题数量,试题难度,以及试卷分值,且有 预览试卷,预览答案,保存试卷和答案的功能。 湖南科技大学本科毕业设计(论文)湖

34、南科技大学本科毕业设计(论文) 7 3.3 系统流程图系统流程图 根据对用户的调查,本系统有三类用户使用,分别是管理员,教务管理员和教师。这三种身份 的人具有不同权限,管理员负责管理系统帐号;教务管理员负责管理试题、审核试题、打印试题; 教师只能浏览和根据需要组卷。本系统主要是对试题组卷的管理,根据需求分析,可以得到系统流 程如图 3-1 所示。 成功 失败 开始 用户登陆提示错误 读取用户类型 管理员 教务管理员 教师 试卷生成管理 抽取现有试卷 自动生成试卷 手动生成试卷 系统管理 管理员 图图 3-13-1 系统总流程图系统总流程图 3.4 性能需求性能需求 3.4.1 加载数据效率要求

35、加载数据效率要求 本系统的使用不受时间限制,可以 24 小时正常使用,对于用户登陆,试卷预览,答案预览,试卷生 成功能响应时间不宜超过 5 秒钟。 3.4.2 界面风格要求界面风格要求 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 8 整体以白色和淡蓝色为主,辅助米黄色和淡绿色给人清新,舒坦的感觉,在 1024*768 分辨率下达 到最佳显示效果,界面简洁清爽,不能过于复杂。 3.5 开发环境开发环境 3.5.1 软件环境软件环境 操作系统: windows98 以上/me/2000/xp 等 数据库: sql server 2000 开发语言: visual basic

36、开发工具: vb6.0 3.5.2 硬件环境硬件环境 cpu:pii200 以上 内存:256mb 以上 硬盘:2.1gb 以上(可用空间最好在 160mb 以上) 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 9 4 4 系统设计系统设计 系统设计的目的是确定系统如何完成预定的任务,也就是确定系统的物理配置方案,并且进而 确定组成系统的每个程序的结构。首先设想完成系统功能的若干种合理的物理方案,分析员应该仔 细比较这些方案,并且和用户共同选定一个最佳方案,然后,进行软件结构设计,确定软件由哪些 模块组成以及这些模块之间的动态调用关系。进行软件结构设计时应该遵循的最主要的原

37、理是模块 独立原理,也就是说:软件应该由一组完成相对独立的子功能模块组成,这些模块之间的接口关系 应尽量简单。 自顶向下逐步求精是进行软件结构设计的常用途经,在进行详细的过程设计和编写程序之前, 首先进行结构设计,其好处在于可以在软件开发的早期站在全局高度对软件结构进行优化,在这个 时期进行优化付出的代价不高,却可以使软件质量得到重大改进。 试题管理系统和试卷生成系统是两个连在一起的系统,而本系统主要介绍的就是试卷生成系统 的设计和方法。 4.1 系统功能模块图系统功能模块图 根据需求分析,将系统分为四个模块:系统管理模块,试卷生成管理模块,数据库管理系统, 系统帮助模块。系统功能模块结构如图

38、 4-1 所示。 试卷管理系统 系统管理 试卷生成管理 数据库管理 系统帮助 用户管理 密码管理 自动生成试卷 手动生成试卷 抽取现有试卷 数据库还原 数据库备份 系统关于 系统帮助 图图 4-14-1 系统功能模块图系统功能模块图 下面对各功能模块的子功能进行较详细的讨论。 (1) 系统管理模块 该模块包括用户管理模块和用户密码管理模块。系统启动时调用此模块,要求用户先进行登陆。 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 10 登陆功能模块如图 4-2 所示。 系统用户信息 管理员 教务管理员 教师 修改管理员密码 添加删除修改其他用户 审核添加修改其他用户 管理自身

39、帐户 查询试题打印试题 管理自身账号 图图 4-24-2 登陆模块功能图登陆模块功能图 (2) 试卷生成管理模块 试卷生成管理模块主要包括如下子模块: 抽取现有试卷模块:显示预览试卷,保存答案,删除试卷功能。 手动生成试卷模块:显示加入试卷,保存试卷功能。 自动生成模块:显示生成试卷,预览试卷,预览答案,保存试卷功能。 详细的试卷生成管理功能模块如图 4-3 所示。 试卷生成管理 抽取现有试卷 手动生成试卷 自动生成试卷 预览试卷 保存答案 删除试卷 加入试卷 保存试卷 生成试卷 预览答案 预览试卷 预览答案 图图 4-34-3 试卷生成管理模块功能图试卷生成管理模块功能图 湖南科技大学本科毕

40、业设计(论文)湖南科技大学本科毕业设计(论文) 11 (3) 数据库管理模块主要包括数据库还原和数据库备份。数据库管理模块结构如图 4-4 所示。 数据库管理 数据库还原 数据库备份 图图 4-44-4 数据库管理模块功能图数据库管理模块功能图 (4) 系统帮助模块主要包括系统帮助和系统关于。系统帮助模块结构如图 4-5 所示。 系统帮助 系统关于 帮助 图图 4-54-5 系统帮助模块功能图系统帮助模块功能图 4.2 数据表设计数据表设计 根据系统功能设计,把数据库命名:stgl,在 sql server 2000 数据库创建了题型表、难度程 度表、出卷人表、用户信息表等。各数据表的具体情况

41、如表 1 至表 9 所示。 表表 用户信息表用户信息表(usermanagement)(usermanagement) 字段中文名字段英文名字段类型字段长度 姓名 nameidchar20 密码 pwdchar20 用户类型 qxint2 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 12 表表 题型表题型表(tx)(tx) 字段中文名字段英文名字段类型字段长度 题型 typechar10 名称 typenamechar10 表表 难度程度表难度程度表(nyd)(nyd) 字段中文名字段英文名字段类型字段长度 编号 bhint4 难易度 ndchar4 表表 4 4 选择题

42、表选择题表(selects)(selects) 字段中文名字段英文名字段类型字段长度 题号 bhchar10 题型 typechar10 题目 topicchar100 选项 a achar100 选项 b bchar100 选项 c cchar100 选项 d dchar100 正确答案 answerchar1 难易度 ndchar4 出自章节 zjchar2 表表 5 5 填空题表填空题表(adds)(adds) 字段中文名字段英文名字段类型字段长度 题号 bh char10 题型 typechar10 题目 tmchar100 空 1 k1char50 空 2 k2char50 空 3

43、k3char50 难易度 ndchar4 出自章节 zjchar2 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 13 表表 6 6 简答题表简答题表(ask)(ask) 字段中文名字段英文名字段类型字段长度 题号 bh char10 题型 typechar10 题目 tmchar100 答案 answerchar200 难易度 ndchar4 出自章节 zjchar2 表表 7 7 阅读程序题表阅读程序题表(ydcx)(ydcx) 字段中文名字段英文名字段类型字段长度 题号 bhint10 题型 typeint10 题目 tmchar100 答案 answerchar20

44、0 难易度 ndchar4 出自章节 zjchar2 表表 8 8 出卷人表出卷人表(sj)(sj) 字段中文名字段英文名字段类型字段长度 试卷代号 sjdh datetime8 出卷老师 cjlschar20 难易度 ndchar4 表表 9 9 已存试卷表已存试卷表(sjt)(sjt) 字段中文名字段英文名字段类型字段长度 编号 bhint4 试卷代号 sjdh datetime8 题号 zdchar10 试卷类型 typechar10 分数 fzchar10 4.3 组卷算法组卷算法 4.3.1 现有算法现有算法分析分析 自动组卷是考试系统自动化或半自动化操作的核心目标之一,而如何保证生

45、成的试卷能最大程 度的满足用户的不同需要,并具有随机性、科学性、合理性,这是实现中的一个难点。尤其在交互式 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 14 环境下用户对于组卷速度要求较高,而一个理论上较完美的算法可能会以牺牲时间作为代价,往往 不能达到预期的效果。因此,选择一个高效、科学、合理的算法是自动组卷的关键。 以往的具有自动组卷功能的考试系统大多采用随机选取法和回溯试探法。随机选取法根据状态 空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或 已无法从题库中抽取满足控制指标的试题为止。该方法结构简单,对于单道题的抽取运行速度较

46、快, 但是对于整个组卷过程来说组卷成功率低,即使组卷成功,花费时间也令人难以忍受。尤其是当题 库中各状态类型平均出题量较低时,组卷往往以失败而告终。 回溯试探法这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时释放上次纪录的状 态类型,然后再依据一定的规律变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生 成完毕或退回出发点为止,这种有条件的深度优先算法,对于状态类型和出题量都较少的题库系统 而言,组卷成功率较好。 分析上述两种算法的优缺点,不难发现,在限制条件状态空间的控制下,随机选取法有时能够 抽取出一组令用户满意的试题。只不过由于它随机选取试题的范围太大,无法确定目前条件下

47、哪些 区域能够抽取合适的试题,反而可能在那些已经证明是无法抽取合适试题的区域内反复选题,进行 大量的无效操作进入死循环,最终导致组卷失败。回溯试探法组卷成功率高,但它是以牺牲大量的 时间为代价的,由于本软件只是个小型的单科考试组卷系统,结构简单,出题量也较少,所以本系 统选择相对简单,组卷成功率较好的回溯试探法进行组卷。 4.3.2 回溯试探法的应用回溯试探法的应用 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条 路往前走,能进则进,不能进则退回来,换一条路再试。 用回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解; 2、利用适于搜索的方法

48、组织解空间; 3、利用深度优先法搜索解空间; 4、利用限界函数避免移动到不可能产生解的子空间。 问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性。 回溯法是一个既带有系统性又带有跳跃性的的搜索算法。它在包含问题的所有解的解空间树中, 按照深度优先的策略,从根结点出发搜索解空间树。算法搜索至解空间树的任一结点时,总是先判 断该结点是否肯定不包含问题的解。如果肯定不包含,则跳过对以该结点为根的子树的系统搜索, 逐层向其祖先结点回溯。否则,进入该子树,继续按深度优先的策略进行搜索。回溯法在用来求问 题的所有解时,要回溯到根,且根结点的所有子树都已被搜索遍才结束。而回溯法

49、在用来求问题的 任一解时,只要搜索到问题的一个解就可以结束。 搜索:全面访问所有可能的情况,分为两种:不考虑给定问题的特有性质,按事先顶好的顺序, 依次运用规则,即盲目搜索的方法;另一种则考虑问题给定的特有性质,选用合适的规则,提高搜 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 15 索的效率,即启发式的搜索。 本系统使用的是回溯法的启发式搜索,以试题题型,试题分值和选题数量为约束条件进行随机 搜索,而把设置的试卷总分数作为一个解空间。如果各题型分值之和等于用户设置的试卷总分数, 则产生一个有效解,系统生成一份试卷,试题的题型,编号,分值等信息储存进试题库表中。通过 系统

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

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

52、,为了解决这各问题,所以本软件 增加了另一种组卷方式,也就是手动生成试卷。此组卷方式的优点在于,系统将各题型的试题具体 的分到了此科考试的具体章节和知识点。用户可以根据具体章节和知识点浏览此知识点下的各试题, 并可以选择加入试卷,组成一份知识覆盖面广的试卷。其主要组卷过程如下: (1)用户选择试题题型,题型分值,试题数量和知识点,并设置试卷总分值,系统根据用户选 择的题型和知识点显示所有试题。 (2)用户选择试题,试题的“编号”、“难度”、“题型”等信息存入临时表 lsst 中,如果 重复选题,则系统提示“您已选择此试题!”,否则系统提示“试题添加成功!”。 (3)生成试卷,系统判断用户设置分

53、数是否与试题总分数相等,是则生成一份完整的试卷,并 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 16 将试题的“编号”、“难度”、“分值”、“类型”等信息存入数据库表 sjt 中。且生成“试卷代 号、”试卷创建者“,并判断”试卷难度“,存入数据库表 sj 中。否则试卷生成失败,提示用户 “您生成的试卷分值与设置的试卷分值不等,试卷生成失败!”。 (4)设置试卷模板。 (5)预览试卷,系统根据数据库表 sjt 中信息搜索题库试题内容,并按设置好的试卷模板导入 word 中,生成一份完整的试卷,并以*.doc 文件的形式保存。 y yn 输入试卷信息 试卷总分 100 分?

54、试卷生成失败 预览试卷 保存试卷 保存答案 自动选择试题 程序开始 程序结束 图图 4-94-9 自动生成试卷流程图自动生成试卷流程图 手动生成试卷的流程如图 4-10 所示。 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 17 y n 添加试题 生成试卷失败 试卷总分 100 分? 预览试卷 保存试卷 输入试卷信息 程序开始 程序结束 图图 4-104-10 手动生成试卷流程图手动生成试卷流程图 4.6 抽取现有试卷抽取现有试卷 为了让用户能很方便的管理已生成的试卷,本系统增加了抽取现有试卷这个功能模块。用户能 通过这个模块能很方便的对现有试卷进行删除和预览,同时也能预览

55、用户所选择的试卷的答案。其 主要过程如下: (1)用户进入抽取现有试卷界面,系统自动搜索数据库表 sj 中信息,显示现有试卷的“代号” ,“试卷创建者”,“试卷难度” 。 (2)用户选择一份已有试卷,系统自动从数据库表 sjt 中搜索该试卷试题的“编号”, “分 值”, “难度”。 (3)预览试卷,系统根据数据库表 sjt 中信息搜索题库试题内容,并按设置好的试卷模板导入 word 中,生成一份完整的试卷,并以*.doc 文件的形式打开。 (4)保存答案,系统根据数据库表 sjt 中信息搜索题库试题答案,并按试卷模板以 *.doc 文 件的形式打开。 (5)删除试卷,系统删除试卷在数据库表 s

56、jt 中的信息,系统显示“删除试卷成功” 。 抽取现有试卷算法的具体流程可用图 4-11 直观说明。 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 18 n y n y 保存答案 程序开始 预览试卷 输出答案 输出试卷 确认删除试 卷 执行删除 程序退出 选择现有试卷 图图 4-114-11 抽取现有试卷流程图抽取现有试卷流程图 湖南科技大学本科毕业设计(论文)湖南科技大学本科毕业设计(论文) 19 5 5 关键技术与系统实现关键技术与系统实现 本系统是一个试卷生成管理系统,重点在于组卷,所以主要是对关于试卷生成的实现的说明。 本系统包括抽取现有试卷,自动生成试卷和手动生成

57、试卷三大功能。 5.1 登录模块登录模块 登录界面是用户最先看到的系统的界面,所以直观上给用户的感觉很重要,所以做一个好的界 面,提高软件的亲和力。本管理系统登录界面如图 5-1 所示。 登陆功能实现的核心代码如下。 图图 5-15-1 系统登陆界面系统登陆界面 private sub cmdok_click() 进入.确定 on error goto err dim txtsql as string username = if trim(txtusername.text) = then 判断用户名是否为空 msgbox 请输入帐号!, vbokonly + vbexclamation, 警告

58、 txtusername.setfocus exit sub end if if trim(txtpassword.text) = then 判断密码是否为空 msgbox 请输入密码!, vbokonly + vbexclamation, 警告 txtpassword.setfocus exit sub end if 判断是否有这个用户 txtsql = select * from 用户信息表 where 用户名称 = dim rs as string; 论文选择了 treeview 控件来显示章节,因为这个控件用起来比较方便。其具体算法代码如下: if not treeview1.sele

59、cteditem is nothing then 只响应叶节点(没有孩子) if treeview1.selecteditem.children = 0 then dim sql as string sql = select bh,type,tm,zj,nd from & iteminfo sql = sql & where zj= sql = sql & mid(treeview1.selecteditem.key, 3, 4) & set rs = queryext(sql) datagrid_object rs, datagrid1 else 5.3.2 手动生成试卷时所选试题的临时保存

60、处理手动生成试卷时所选试题的临时保存处理 手动生成试卷时要不断的将用户选择的题目临时存储起来,由于记录的信息不是很多,论文用 数组把添加进去的试题的题号和类型存储起来,后面添加的时候检查在数组中是否存在,如果存在 就证明已经添加过了。 if iteminfo = “choice” then if randchoice.dataexit(datagrid1.columns(0).text) = true then text1(0).text = text1(0).text + 1 randchoice.totalnum = text1(0).text randchoice.kindofitem

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论