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

更新时间:2024-05-17 08:28:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

郑州大学西亚斯国际学院

本科毕业论文(设计)

题 目 试卷自动生成系统

专 业网络信息技术 班级06网络一班 院 (系)电子信息工程学院计算机科学系 完成时间 2010-4-23

试卷自动生成系统

摘 要

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

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

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

I

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

II

目 录

摘 要 ........................................................................................................................... I ABSTRACT ................................................................................................................. II 1

绪论 ........................................................................................................................ 3

1.1

开发背景与研究现状 ................................................................................................ 3

2 开发工具简介 ........................................................................................................ 3

2.1

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

2.1.1 Delphi 7.0的简介 ........................................................................................................ 3 2.1.2 Delphi 7.0主要的控件及其属性简介 ........................................................................ 4 SQL Server 2000数据库简介 ................................................................................. 5 2.2.1 SQL Server 2000介绍 ........................................................................................................ 5 2.2.2 数据库连接方式选择 ..................................................................................................... 6

2.2

3 需求分析 ................................................................................................................ 7

3.1 3.2 3.3 3.4

需求分析的任务 ........................................................................................................ 7 用户需求 .................................................................................................................... 7 功能需求 .................................................................................................................... 8 环境需求 .................................................................................................................... 8

4 设计阶段 ................................................................................................................ 8

4.1 4.2

数据库表设计 ............................................................................................................ 8

详细设计 .................................................................................................................. 12 4.2.1 抽取现有试卷的流程图: ........................................................................................... 12 4.2.2 自动生成试卷的流程图: ........................................................................................... 13 4.2.3 手动生成试卷的流程图: ........................................................................................... 13 试卷自动组卷算法设计 .......................................................................................... 14 4.3.1 现有算法分析 ............................................................................................................... 14 4.3.2 回溯试探法的应用 ....................................................................................................... 14

4.3

5 系统实现 .............................................................................................................. 15

5.1 5.2 5.3 5.4

登录模块设计 .......................................................................................................... 15 系统主界面设计 ...................................................................................................... 16 用户管理模块设计 .................................................................................................. 16

题库管理模块设计 .................................................................................................. 17 5.4.1 题库录入 ....................................................................................................................... 17 5.4.2 题库维护 ....................................................................................................................... 18

试卷生成模块 .......................................................................................................... 19

5.5

1

5.5.1 5.5.2

自动生成试卷 ............................................................................................................... 19 手动生成试卷 ............................................................................................................... 20

6 测试及改进 .......................................................................................................... 21

6.1 6.2

系统的测试目的 ...................................................................................................... 21

测试说明 .................................................................................................................. 22 6.2.1 测试分类 ....................................................................................................................... 22 6.2.2 测试集 ........................................................................................................................... 23

测试过程 .................................................................................................................. 23 测试结果 .................................................................................................................. 24

6.3 6.4

7 开发总结 .............................................................................................................. 24

结束语 ......................................................................................................................... 24 致 谢 ......................................................................................................................... 25 参考文献 ..................................................................................................................... 26

2

1 绪论

1.1 开发背景与研究现状

在以往的教学中,老师出试卷大多由手工出卷,这样生成的试卷往往会有知识点分布太集中、难易程度不当、分值分布不均等一些缺点;这样,既增加了老 基于以上的原因,有很多从事软件开发的人员,在试卷自动生成方面做了很大的研究。目前这一领域也以良好的发展姿态而不断进步,早期已经有了一些类似的系统,但经过软件开发人不断的完善,大致形成了具备如下功能的系统:

添加删除试题、试题交流、合并题库、自定义试题参数等一些功能,其中试题自动生成功能非常实用。系统“体积”非常小,压缩后只有几百KB。平时只要将一些试题或从网络下载的试题,按 “章节”、“题型”、“难易程度”等参数进行归类,录入题库,需要用时,只要输入一些查询条件即可查出所要找的试题。生成试卷非常方便,只需几分钟就可以生成一份试卷,生成的试卷还配有答案,更重要的是软件能与WROD的完美结合,试题、答案的编辑、试卷的排版打印全部由WORD来完成,试卷和答案都可保存为*.DOC格式。

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

师的负担,也没有达到很好考查学生学习的真实水平,造成教学上的失误。

2 开发工具简介

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

2.1.1

Delphi 7.0的简介

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

3

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

2.1.2 Delphi 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控件相连。

4

TPageControl类的控件:

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

ReadOnly属性:用来控制TCheckTree内的Item是否可编辑。 Item属性:用来控制TCheckTree包含的所有树形结点。 Images属性:用来指点TCheckTree中结点的图标。

OnMouseUp事件:用来添加鼠标放开事件所执行的程序代码。 OnStateChange事件:用来添加结点状态改变时的程序代码。 TFlatButton类的控件:

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

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

2.2 SQL Server 2000数据库简介

2.2.1

SQL 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 支持两种身份验证模

5

式: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做为我们的数据库访问组件。

6

3 需求分析

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

3.1 需求分析的任务

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

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

3.2 用户需求

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

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

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

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

7

作。

3.3 功能需求

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

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

3.4 环境需求

操作系统:Windows 2000/Windows XP 数据库:SQL Server 2000 开发环境:Dephi 7.0

开发语言: Visual Basic

4 设计阶段

4.1 数据库表设计

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

表1:用户表(YH)

字段中文名 姓名 密码 组 权限

8

字段英文名 UserName Password GroupID QXID 字段类型 文本 文本 数字 数字 字段长度 20 18 长整型 长整型 主键 是

表2:题型(Type)

字段中文名 编号 名称 分值

表3:难易度(NYD)

字段中文名 编号 难易度

表4:用户组(UserGroup)

字段中文名 编号 组名

表5:选择题(XuanZeTi)

字段中文名 题号 题型 题目 选项A 选项B 选项C 选项D 正确答案 难易度 出自章节

9

字段英文名 TypeID TypeName FZ 字段类型 自动编号 文本 数字 字段长度 20 长整型 主键 是 字段英文名 BH NYD 字段类型 自动编号 文本 字段长度 8 主键 是 字段英文名 GroupID GroupName 字段类型 自动编号 文本 字段长度 20 主键 是 字段英文名 TH TypeID TM A B C D DA NY CZ 字段类型 自动编号 数字 备注 文本 文本 文本 文本 文本 数字 文本 字段长度 长整型 255 255 255 255 1 长整型 50 主键 是

表6:填空题(TianKong)

字段中文名 题号 题型 题目 空1 空2 空3 空4 空5 应填数 难易度 出自章节

表7:简答题(JianDaTi)

字段中文名 题号 题型 题目 答案 难易度 出自章节

表8:原理论述题(YuanLiLunShu)

字段中文名 题号 题型 题目 答案 难易度 出自章节

10

字段英文名 BH TypeID TM K1 K2 K3 K4 K5 YTS NY CZ 字段类型 自动编号 数字 备注 文本 文本 文本 文本 文本 数字 数字 文本 字段长度 长整型 100 100 100 100 100 长整型 长整型 50 主键 是 字段英文名 BH TypeID TM DA NY CZ 字段类型 自动编号 数字 备注 备注 数字 文本 字段长度 长整型 长整型 50 主键 是 字段英文名 BH TypeID TM DA NY CZ 字段类型 自动编号 数字 备注 备注 数字 文本 字段长度 长整型 长整型 50 主键 是

表9:系统设计题(XiTongSheJi)

字段中文名 题号 题型 题目 表格 答案 难易度 出自章节 答案表格 题目表格 字段英文名 BH TypeID TM BG DA NY CZ DABG TMBG 字段类型 自动编号 数字 备注 文本 备注 数字 文本 文本 文本

表10:系统操作题(XiTongCZ)

字段中文名 题号 题型 题目 难易度 出自章节 题目表格 问1答案 问1答案表格 问2答案 问2答案表格 问3答案 问3答案表格 问4答案 问4答案表格 问5答案 问5答案表格 问题数 字段英文名 BH TypeID TM NY CZ TMBG W1DA W1DABG W2DA W2DABG W3DA W3DABG W4DA W4DABG W5DA W5DABG WTS 字段类型 自动编号 数字 备注 数字 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 文本 数字 字段长度 长整型 长整型 50 50 255 50 255 50 255 50 255 50 255 50 长整型 主键 是 字段长度 长整型 100 长整型 50 50 50 主键 是 11

4.2 详细设计

4.2.1

抽取现有试卷的流程图:

图 1

12

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

图 2

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

图 3

13

4.3 试卷自动组卷算法设计

4.3.1

现有算法分析

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

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

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

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

4.3.2 回溯试探法的应用

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

用回溯算法解决问题的一般步骤为: 1、 定义一个解空间,它包含问题的解; 2、 利用适于搜索的方法组织解空间; 3、 利用深度优先法搜索解空间;

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

14

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

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

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

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

5 系统实现

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

5.1 登录模块设计

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

15

图 4

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

5.2 系统主界面设计

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

图 5

5.3 用户管理模块设计

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

16

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

图 6

5.4 题库管理模块设计

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

5.4.1 题库录入

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

17

图 7

5.4.2 题库维护

题库维护是对已经录入的题目进行更新,主要进行试题的修改,删除,查询等功能的实现。如图7所示:

18

图 7

5.5 试卷生成模块

试卷的生成主要有两种形式,一是手动生成试卷,该方法生成的试卷由于是人为生成知识面覆盖较好,适合试题范围小,试题数目不多的情况。二是自动生成试卷,该方法生成试卷速度快,适合出题范围比较大的试卷生成。试卷生成时我们可以先预览要生成的试卷确定满意后再输出为我们学要的格式如doc。

5.5.1 自动生成试卷

下图 8是自动生成试卷的界面:

19

图 8

上图中标为“第一部分”的树形控件是用来设置要生成的试卷的试题的抽取范围。 上图中标为“第二部分”的是用来设置各种题型的量及其分数。

上图中标为“第三部分”的是功能按钮,其中“生成试卷”用来根据“第二部分”的设置自动生成一份试卷。

“预览试卷”是用来预览刚生成的试卷。 “试卷答案”是用来查看刚生成的试卷的答案。 “保存试卷”是用来保存刚生成的试卷的信息。

5.5.2 手动生成试卷

下图是手动生成试卷的界面图:

20

图 9

上图中标为“第一部分”的树形控件是用来设置要生成的试卷的试题的抽取范围。 上图中标为“第二部分”的是用来设置各种题型的量及其分数。 上图中标为“第三部分”的是用来设置试卷的部分。 上图中标为“第五部分”的是用来选择要加入试卷的试题。

上图中标为“第四部分”的是功能按钮,其中“加入试卷”用来把在“第五部分”的选择试题加入到要生成的试卷中。“保存试卷”是用来保存刚生成的试卷的信息。

6 测试及改进

在系统初步完成到实际应用期间,做过了多反面的测试,例如:功能性测试,测试系统是否能满足用户需求的基本功。数据校验,检查输入输出以及运算是否正确。安全性测试,检验系统对非法信息的过滤情况,以保证系统运行安全。

6.1 系统的测试目的

为保证软件质量,必须重视软件开发后期进行的软件验收与确认阶段进行的软件测试工作,即软件可靠性测试。除了由开发人员对自己开发的模块、子系统和系统进行自测试外,为了保证测试的客观性,还必须由非直接参与开发的测试

21

组人员对开发的软件系统进行“第方测试”。作为计算机软件产品,有时还需要由专业的测试机构进行测试。本系统的测试过程分为以下三个阶段

◇单元测试——由开发人员进行。 ◇集成测试——由开发人员进行。

◇验收测试——由非直接进行开发的人员组成的测试组进行,开发人员进行相关配合。

软件测试是通过运行测试集进行的。测试集是根据软件设计的总体目标、系统设计说明和分子系统模块子模块的设计说明功能目标和性能指标而设计的测试实例的集合。测试集由测试组和组内的测试例组成。测试例定义相关输入数据及其预期的输出结果,通过测试例的执行,发现程序运行状况的正确与否。对输出结果不符合预期结果的程序给出测试失败的结论,并由测试人员和开发人员进行分析和以便对程序进行修改对符合预期结果的程序得出测试通过的结论。

6.2 测试说明

6.2.1

测试分类

软件系统的测试通常采用“黑盒子”的测试方法,即通过输入测试数据观察被测对象的外部可观察的行为。软件系统的测试可分为两大类:

◆功能测试 ◆性能测试

功能测试的目的在于通过测试数据的输入,观察被测对象的输出是否符合期望值。测试覆盖范围包括用户界面的设置是否符合设计要求、被测对象是否全面覆盖了设计说明中要求的全部功能、每个功能模块子模块对输入数据的响应是否符合期望值对正常范围的输入数据的正确响应和对超界输入数据的拒绝和提示,会否引起系统死锁等。

性能测试的主要目的在于通过测试数据的输入或测试程序的运行观察被测对象的处理能力和获取相关的定量测试指标。

性能测试还可能包括其它一些指标,如可靠性、容错性。本系统的性能测试主要从两个方面进行非法输入测试和疲劳测试。其中,非法输入测试指的是通过越界数据或非约定类数据的输入,观察被测系统对数据刊接受性的检测和应答承

22

受能力。鉴于本系统的输入数据主要来自用户键盘输入,输入数据率不可能很高,因此,疲劳测试主要是针对需要进行大量数据处理的功能进行,通过高强度的计算查询、计算等来测试整个系统的承受能力,附带地考验响应时间是否能够为用户所容忍。

6.2.2 测试集

测试点的设置如表6-1: 表6-1 测试集设置表

测试类型 功能单元测试 测试点 分别由各模块和其子模块功能设置的“测试用例”组成。对规定范围输入数据的正确响应,对越界的输入数据进行越界提示。 权限功能测试 针对系统动态设置的权限构建的“权限与可操作模块操作能力的控制”检查以及用户对数据读、写、修改能力的控制检查。 响应时间测试 分别针对各角色的用户操作响应时间测试: ①常规非大量处理性用户键入后响应时间<=1秒 ②查询响应时间<=5秒 压力测试 多个用户同时访问系统,模拟巨大的工作负荷查看应用程序在峰值使用情况下如何执行操作,是否能正常运行 6.3 测试过程

根据开发阶段、测试人员和测试目的,选择测试组、测试用例。

运行相应的测试组、用例,每个测试用例重复次,将测试结果相同的与预期的功能模块比较,如果相符合,则对此步骤的测试结果值为通过,否则为不通过。对未通过的测试组、例进行分析,找出失败原因,并对程序进行相应的修改。对次测试不同的进行更多的测试并分析原因。根据以上测试过程,如果每项均符合要求,即每项测试结果值均为“通过”,则表示本系统的测试己经通过。

23

6.4 测试结果

对试卷自动生成系统的测试工作除发现了部分编程错误外,在进程同步、负载和安全性方面也存在一些问题。经过多次测试,在己定义的测试集的范畴,观察结果初步可以“判定”所开发的系统基本满足系统需求说明的要求,基本上达到了设计说明界定的目标,但是,由于包括需求说明不够明确、测试集不够完整,以及我们在测试方面缺少经验等方面的原因,从严格的意义上讲,测试仍然是不够完整的。

7 开发总结

本软件的设计目的是在题库建立管理维护和试卷生成方面为教学单位和人员提供方便和帮助。通过这几个月的毕业设计,我学到很多以前没有学到的Delphi开发技术,在软件工程学上更是取得了很大的进步。经过大量的测试和试用,作者深信本软件达到了方便和实用的设计目的,并在软件界面和易用实用等方面有着独到之处。

虽然软件基本达到设计要求并且达到同行的先进水平,但由于作者水平有限,软件存在bug也是在所难免的 ,您的意见和建议将极大的帮助我改进并完善软件。真诚的希望你的参与。

结束语

时间匆匆,转眼之间,四年的大学生活已接近尾声。本次毕业设计是我大学生活中第一次也是最重要的一次考验,是我毕业之前的一次“实弹演习”。本次设计为我提供了一次实践的机会,这对今后我以后找工作提供了很大的帮助,我也从中获得的很多的实用知识。

通过两个多月的设计和开发,试卷自动生成系统基本开发完毕。其功能基本符合需求,能够完成对题库的基本信息的输入、删除、修改、查询以及自动生成试卷和打印。

24

本系统的开发采取了基于dephi 7.0环境开发的,由于之前对此技术接触甚少,在开发的起始阶段我遇到了巨大的障碍,当时甚至连开发环境的搭建都很成问题。后来在贾老师的鼓励和同学的帮助下一直走到了现在。期间,既有解决不了问题时的气馁,也有功能实现时的喜悦。通过这两个多月的开发,我对VB技术有了更深一步的了解,对软件开发标准流程有了更深一步的认识。

致 谢

由于时间仓促和本人水平有限,该项目在某些方面还有待进一步开发。本次毕业设计及论文是在贾庆节老师的悉心指导和耐心帮助下完成的。首先十分感谢贾老师百忙之中抽出时间对我在设计过程中遇到的各种问题给予指导和帮助,在这里我要对贾老师说一声:您辛苦了!

几个月以来,无论是在理论上还是在实践中,贾老师都给予了我莫大的帮助,使我从贾老师身上学到了很多宝贵的东西,贾老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅,这无论对我以后的工作还是学习都有一种巨大的激励作用,在此再次向贾老师和给予我帮助的同学表示衷心的感谢!

感谢郑州大学西亚斯学院电子信息工程学院计算机系的其他老师和同学们,是你们在默默的支持和帮助着我。

惶恐地承受诸位的恩惠,唯有乘风破浪,展翅高飞以求不负众望。在未来的日子里,我将更加严格要求自己,追求更大的成功。

25

参考文献

[1] 陈明 . 软件工程学教程 .科技出版社,2002

[2] 萨师煊,王珊 . 数据库系统概论 . 第三版 . 高等教育出版社,2000 [3] 申旻 . Delphi高手突破 . 清华大学出版社,2002,302

[4] 严蔚敏,吴伟民 .数据结构 .第二版 .清华大学出版社 .2001 [5] 乔林 .参透Delphi/Kylix . 中国铁道出版社 .2003

[6] 飞思科技产品研发中心 . Delphi6开发者手册 . 电子工业出版社, 2002

[7] Steve Teixeira,Xaviver Pacheco著,龙劲松,王瑜,谢尚书译 . Delphi6开发人员指南 . 机械工业出版社 .2003

26

本文来源:https://www.bwwdw.com/article/esq7.html

Top