当前位置:文档之家› 试卷自动生成系统毕业论文

试卷自动生成系统毕业论文

郑州大学西亚斯国际学院

本科毕业论文(设计)

题目试卷自动生成系统

专业网络信息技术班级06网络一班

院(系)电子信息工程学院计算机科学系

完成时间2010-4-23

试卷自动生成系统

摘要

一般情况教师想出一份试卷,要么到庞大的题库里一道一道的把题找出来,或是从几本相关的书里把题一道一道挑出来。这样即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。正是为了能够帮助教师轻松的出一份高质量的试卷而开发了本软件。为了达到预期的目标我们最终选择了Microsoft Office Word做为本软件的终端输出。本软件是在对现有控件的改进和VBA编程的研究的基础上开发的。本软件实现了以下主要功能:1.手动生成试卷;2.自动生成试卷;3.抽取现有试卷;4.用户管理;5.数据库管理。大量的测试表明本软件在Windows 98/me/2000/XP平台配合Office XP/2003 的环境下程序运行稳定且各项功能运行得都很正确,基本达到了预期的要求!!

结论:经过老师的实际试用本软件在界面上和功能上都有独到之处!!相信完全可以胜任出一份好的试卷任务。

关键词题库系统/试卷生成/ 数据库

Paper Auto-Generation System

ABSTRACT

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 examination question. Helping the teacher thinks out a higt quality paper is the destination of develop this Software. In the cause of this we select the terminal is Microsoft Office Word. This Software’s base of develop is improve on control in existence and study the VBA programing. These functions of this software are as follows: One. Manual create paper; Two. Auto create paper; Three. Select from existential papers; Four. User manage; Five. Database manage. The result of many test is that this software is runing steady and these funtions of it is runing right in the environment which make up of Windows 98/me/2000/XP and Office XP/2003, it is basic reach the requests.

In all: the result of real test by teacher is that this software are unique in interface and function. We must believe it can complete creating a high quality paper.

KEYWORDS Item bank system,paper generation ,database

目录

摘要 ........................................................................................................................... I ABSTRACT ................................................................................................................. I I 1绪论 (3)

1.1开发背景与研究现状 (3)

2开发工具简介 (3)

2.1Dephi7.0软件开发工具介绍 (3)

2.1.1Delphi 7.0的简介 (3)

2.1.2Delphi 7.0主要的控件及其属性简介 (4)

2.2SQL Server 2000数据库简介 (5)

2.2.1SQL Server 2000介绍 (5)

2.2.2数据库连接方式选择 (6)

3需求分析 (7)

3.1需求分析的任务 (7)

3.2用户需求 (7)

3.3功能需求 (8)

3.4环境需求 (8)

4设计阶段 (8)

4.1数据库表设计 (8)

4.2详细设计 (12)

4.2.1抽取现有试卷的流程图: (12)

4.2.2自动生成试卷的流程图: (13)

4.2.3手动生成试卷的流程图: (13)

4.3试卷自动组卷算法设计 (14)

4.3.1现有算法分析 (14)

4.3.2回溯试探法的应用 (14)

5系统实现 (15)

5.1登录模块设计 (15)

5.2系统主界面设计 (16)

5.3用户管理模块设计 (16)

5.4题库管理模块设计 (17)

5.4.1题库录入 (17)

5.4.2题库维护 (18)

5.5试卷生成模块 (19)

5.5.1自动生成试卷 (19)

5.5.2手动生成试卷 (20)

6测试及改进 (21)

6.1系统的测试目的 (21)

6.2测试说明 (22)

6.2.1测试分类 (22)

6.2.2测试集 (23)

6.3测试过程 (23)

6.4测试结果 (24)

7开发总结 (24)

结束语 (24)

致谢 (25)

参考文献 (26)

1绪论

1.1开发背景与研究现状

在以往的教学中,老师出试卷大多由手工出卷,这样生成的试卷往往会有知识点分布太集中、难易程度不当、分值分布不均等一些缺点;这样,既增加了老师的负担,也没有达到很好考查学生学习的真实水平,造成教学上的失误。

基于以上的原因,有很多从事软件开发的人员,在试卷自动生成方面做了很大的研究。目前这一领域也以良好的发展姿态而不断进步,早期已经有了一些类似的系统,但经过软件开发人不断的完善,大致形成了具备如下功能的系统:添加删除试题、试题交流、合并题库、自定义试题参数等一些功能,其中试题自动生成功能非常实用。系统“体积”非常小,压缩后只有几百KB。平时只要将一些试题或从网络下载的试题,按“章节”、“题型”、“难易程度”等参数进行归类,录入题库,需要用时,只要输入一些查询条件即可查出所要找的试题。生成试卷非常方便,只需几分钟就可以生成一份试卷,生成的试卷还配有答案,更重要的是软件能与WROD的完美结合,试题、答案的编辑、试卷的排版打印全部由WORD来完成,试卷和答案都可保存为*.DOC格式。

可见,试卷自动生成系统这方面的研究日益成熟,这不但减轻了教师的工作负担,也使得教学评价更加科学化、规范化,有利用教育事业的发展。

2开发工具简介

2.1Dephi7.0软件开发工具介绍

2.1.1Delphi 7.0的简介

Delphi7.0是美国Borland公司出品的一种强大的可视化软件快速开发工具。内容包括:IDE环境与编程基础、基本语法与数据类型、运算操作、流程控制、面向对象程序设计、用户界面编程、文件系统管理、图形图像多媒体编程、数据库的开发与应用、控件编程技术、高级系统编程应用、网络协议处理、Windows Network编程应用、拨号网络编程、常用网络编程技巧、Web编程应用、

程序的调试与异常处理等部分。

2.1.2Delphi 7.0主要的控件及其属性简介

TForm类的控件:

BorderIcons属性:用来控制程序标题按钮的可用性。

BorderStyle属性:用来控制程序边框的样式。

Color属性:用来控制程序界面的颜色。

Font属性:用来控制程序界面的字体。

Position属性:用来控制程序运行时界面的显示位置。TADOConnection类的控件:

ConnectionString属性:用来控制链接字符串。

LoginPrompt属性:用来控制链接时是否要输入密码。

Connected属性:用来控制是否进行链接。

TADOQuery类的控件:

Connection属性:用来指定和哪个TADOConnection控件相连。

SQL属性:用来添加向数据库提交的SQL语句。

Add方法:用来向SQL属性添加SQL语句。

Open方法:用来执行SQL语言中的Select语句。

ExecSQL方法:用来执行任何SQL语句。

FieldByName属性:用来给数据库的字段赋值。

FidldValues属性:用来取出数据库的字段的。

Append方法:用来向数据库添加一条记录。

Edit方法:用来编辑当前的记录。

Post:用来向数据库提交所做的修改。

TADOTable类的控件:

Connection属性:用来指定和哪个TADOConnection控件相连。

Open方法:用来打开数据库中指定的表。

FieldByName属性:用来给数据库的字段赋值。

FidldValues属性:用来取出数据库的字段的。

Append方法:用来向数据库添加一条记录。

Edit方法:用来编辑当前的记录。

Post:用来向数据库提交所做的修改。

TDataSource类的控件:

DataSet:用来指定和哪个数据集相连。

TDBGrid类的控件:

DataSource:用来指定和哪个TDataSource控件相连。

TPageControl类的控件:

ActivePage属性:用来指定当前活动的Page页。

TCheckTree类的控件:

ReadOnly属性:用来控制TCheckTree内的Item是否可编辑。

Item属性:用来控制TCheckTree包含的所有树形结点。

Images属性:用来指点TCheckTree中结点的图标。

OnMouseUp事件:用来添加鼠标放开事件所执行的程序代码。

OnStateChange事件:用来添加结点状态改变时的程序代码。

TFlatButton类的控件:

Caption属性:用来指定TFlatButton的标题。

OnClick事件:用来添加按钮的单击事件所执行的程序代码。

2.2SQL Server 2000数据库简介

2.2.1SQL Server 2000介绍

SQL 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 操作系统上的应用。在系统中用到的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。

SQL Server 2000 数据库简介数据库(Database)是按一定的结构和规则组织起来的相关数据的集合是综合各用户数据形成的数据集合,是存放数据的仓库。数据库技术目前是计算机处理与存储数据的最有效、最成功的技术;计算机网络的特点则是资源共享;数据+资源共享这两种技术结合在一起即成为在今天广泛应用的网络数据库(也叫WEB Database)。SQL Server 是微软公司开发的一个关系数据库管理系统,以Transact_SQL 作为它的数据库查询和编程语言[9]。T-SQL 是结构化查询语言SQL的一种,支持ANSI SQL-92 标准,它由SQL Server 中具有存储检索数据功能的客户端组件组成。SQL Server 使用分层通信体系结构,将应用程序与基础的网络和协议层次分离。这种体系结构就可以支持在不同的网络环境中部署相同的应用程序。SQL Server 采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。SQL Server 支持两种身份验证模

式:Windows NT 身份验证和SQL Server身份验证。SQL Server 为公共的管理功能提供了预定义的服务器和数据库角色,可以很容易为某一特定用户授予一组选择好的许可权限。SQL Server包含了客户端组件和服务器组件,可以在不同的操作平台上运行,支持多种不同类型的网络协议如TCP/IP、IPX/SPX、Apple Talk 等。SQLServer 在服务器端的软件运行平台是Windows NT, Windows9x,在客户端可以是Windows3.x,Windows NT,Windows9x,也可以采用其它厂商开发的系统如Unix,Apple Macintosh 等。

2.2.2数据库连接方式选择

Delphi连接数据库的主要方式有两种:一是:BDE ,二是ADO 。现在我们来大致比较一下这两种技术的优缺点:

BDE(Borland Database Engine)是Delphi颇具特色的数据库连接管理技术。凭借窗体和报表,BDE可以访问诸如Paradox,dBASE,本地InterBase服务器的数据库,也可访问远程数据库服务器上的数据库,如Oracle,SyBase,Informix等C/S数据库中的数据库,也可访问经ODBC可访问的数据库管理系统中的数据库。

ADO(ActiveX Data Objects)是微软提供的一项技术。通过ADO,可以方便的访问各种类型的数据库,特别是OLEDB数据库。ADO已成为访问数据库的新的标准接口。从Delphi 6.0开始Delphi添加了对ADO的支持,以便让用户能迅速实现对终端用户用来做商业决策的数据库的一致性访问,结合Delphi本身的开发式数据组件结构,程序员可以很快地建立应用程序,用来把自己的商业数据库通过Internet发送给客户,最终用户以及整个销售环节。通过ADO,Delphi 7.0也能让用户快速访问关系或非关系数据库以及E-Mail和商务文件系统。

这两者提供了几乎相同的功能,在进行产品开发时,势必要做一个精心的比较。虽然ADO技术提出的时间不长,并被定位为工业标准的,而且其在性能上由于当前没有良好的数据库引擎支持,其性能还不够完美,但是,我们应该要注意到Borland公司已经宣布停止发展BDE了,其性能被ADO超越也是迟早的事,因此,在开发长期应用的产品时,推荐采用ADO技术。这样还有另一个好处是,在进行产品分发时,可以避开大量BDE的链接库DLL的分发。

基于以上原因我们选择了ADO做为我们的数据库访问组件。

3需求分析

需求分析简单的说就是分析用户的要求。需求分析是设计数据库的起,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。

3.1需求分析的任务

需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求。可行性研究阶段产生的文档,特别是数据流图,是需求分析的出发点。数据流图中已经划分出系统必须完成的许多基本功能,在需求分析阶段系统分析员将仔细研究这些功能并将它们具体化。在这个阶段结束时形成的文档中应该包括详细的数据流图、数据字典和一组简明的算法描述。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。

在需求分析的过程中,应该划分出系统必须完成的功能有那些,并且应该明确地列出某些功能虽然不属于当前系统开发范畴,将来很可能会提出来的要求。这样做的目的是在设计过程中对系统将来可能的扩充和修改做准备,以便一旦需要可以比较容易地进行这种扩充和修改。任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计都有很大影响,因此,必须分析系统的数据需求。

3.2用户需求

1) 系统管理员用户的基本权限和操作

系统管理员用户登陆后除了可以进行对试卷的自动生成,手动生成,题库的录入,题库的维护等功能进行操作,还可以对本软件的选项设置一个选项可以进行用户的管理(用户的增加,用户的修改),数据库管理(数据库的备份)等操作。

2) 普通用户的基本权限和操作

普通用户登陆后除了选项设置按钮不可以用外,其他的基本功能都可以进行操

作。

3.3功能需求

本系统是试卷自动生成系统,主要有二方面的功能需求,其分别是:

(1)试卷功能:其中手动生成试卷是为了能按照用户的意愿组卷,用户可以按试题所涉及的知识点浏览各种题型,生成一份知识覆盖面广泛的试卷,并能保存试卷。自动生成试卷:用户能选择生成试卷的题型,试题数量,试题难度,以及试卷分值,且有预览试卷,预览答案,保存试卷和答案的功能。

(2)题库功能:为了用户能方便管理庞大的试题题库,实现各种常用或者自定义题型的录入、修改、查询、删除等功能。

3.4环境需求

操作系统:Windows 2000/Windows XP

数据库:SQL Server 2000

开发环境:Dephi 7.0

开发语言: Visual Basic

4设计阶段

4.1数据库表设计

根据任务书的规定,现设计如下的数据库表格:

表1:用户表(YH)

表2:题型(Type)

表3:难易度(NYD)

表4:用户组(UserGroup)

表5:选择题(XuanZeTi)

表6:填空题(TianKong)

表7:简答题(JianDaTi)

表8:原理论述题(YuanLiLunShu)

表9:系统设计题(XiTongSheJi)

表10:系统操作题(XiTongCZ)

4.2详细设计

4.2.1抽取现有试卷的流程图:

图 1

4.2.2自动生成试卷的流程图:

图 2 4.2.3手动生成试卷的流程图:

图 3

4.3试卷自动组卷算法设计

4.3.1现有算法分析

自动组卷是考试系统自动化或半自动化操作的核心目标之一,而如何保证生成的试卷能最大程度的满足用户的不同需要,并具有随机性、科学性、合理性,这是实现中的一个难点。尤其在交互式环境下用户对于组卷速度要求较高,而一个理论上较完美的算法可能会以牺牲时间作为代价,往往不能达到预期的效果。因此,选择一个高效、科学、合理的算法是自动组卷的关键。

以往的具有自动组卷功能的考试系统大多采用随机选取法和回溯试探法。随机选取法根据状态空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的试题为止。该方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说组卷成功率低,即使组卷成功,花费时间也令人难以忍受。尤其是当题库中各状态类型平均出题量较低时,组卷往往以失败而告终。

回溯试探法这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时释放上次纪录的状态类型,然后再依据一定的规律变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生成完毕或退回出发点为止,这种有条件的深度优先算法,对于状态类型和出题量都较少的题库系统而言,组卷成功率较好。

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

4.3.2回溯试探法的应用

回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。

用回溯算法解决问题的一般步骤为:

1、定义一个解空间,它包含问题的解;

2、利用适于搜索的方法组织解空间;

3、利用深度优先法搜索解空间;

4、利用限界函数避免移动到不可能产生解的子空间。

问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性。

回溯法是一个既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发搜索解空间树。算法搜索至解空间树的任一结点时,总是先判断该结点是否肯定不包含问题的解。如果肯定不包含,则跳过对以该结点为根的子树的系统搜索,逐层向其祖先结点回溯。否则,进入该子树,继续按深度优先的策略进行搜索。回溯法在用来求问题的所有解时,要回溯到根,且根结点的所有子树都已被搜索遍才结束。而回溯法在用来求问题的任一解时,只要搜索到问题的一个解就可以结束。

搜索:全面访问所有可能的情况,分为两种:不考虑给定问题的特有性质,按事先顶好的顺序,依次运用规则,即盲目搜索的方法;另一种则考虑问题给定的特有性质,选用合适的规则,提高搜索的效率,即启发式的搜索。

本系统使用的是回溯法的启发式搜索,以试题题型,试题分值和选题数量为约束条件进行随机搜索,而把设置的试卷总分数作为一个解空间。如果各题型分值之和等于用户设置的试卷总分数,则产生一个有效解,系统生成一份试卷,试题的题型,编号,分值等信息储存进试题库表中。通过系统的预览试卷功能,系统通过所存信息搜索数据库,获取试题内容,并输入Word文档中组成一份完整试卷。

5系统实现

本系统是一个题库与试卷生成管理系统,重点在于组卷,所以主要是对关于试卷生成的实现的说明。本系统包括题库更新与维护,自动生成试卷和手动生成试卷三大功能。

5.1登录模块设计

下图软件的登陆界面(图4)

图 4

在这里输入用户名及密码就可以进行入软件的主界面了!

5.2系统主界面设计

系统的主界面是我们工作的主要区域,在这里有系统的所有功能的控制面板。其中主要的功能模块有用户管理、题库设置、题型设置、试卷管理、试卷生成等。其中用户管理只有在系统管理员用户登录时可用。系统管理员可以管理其他系统管理员的用户和一般用户的权限。系统主界面见图5:

图 5

5.3用户管理模块设计

用户管理功能有系统管理员和一般用户的添加修改,用户权限的修改。系统管理员通过登陆后点击选项设置可以增加,修改,删除其他的管理员,一般用

户的选项设置按钮是不可用状态。如下图6所示:

图 6

5.4题库管理模块设计

题库管理模块是整个系统的管理模块,可以对系统的中的题库的录入和题库维护。

5.4.1题库录入

通过题库录入按钮我们可以向题库中添加我们想要以后用的试题,可以录入的试题可以是选择题,填空题,简答题,原理论述题,系统设计题,系统操作题。如下图7所示:

相关主题
文本预览
相关文档 最新文档