题库与试卷生成系统_第1页
题库与试卷生成系统_第2页
题库与试卷生成系统_第3页
题库与试卷生成系统_第4页
题库与试卷生成系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

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

2、有试卷和用户管理等功能。通过测试,系统在 Windows 2000XP/Vista 平台下能稳定运行,且基本达到了预期的设计目标,有一定的实用价值。关键词:关键词:试题库;试卷生成;Visual C#;算法毕业设计(论文)Test Labrary and Paper Generation System Design and Development Abstract :Value of teaching is an important tathe for teaching,usually a value of teaching is from a exam ,so a quality paper

3、 straight touches the value of teaching. 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 a

4、nd paper degree of difficulty of examination 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 i

5、s designed and implemented based on the 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 Windows2000/XP/Vista

6、platform ,reach the expected goal and have some practical value.Keywords: test library;paper generation;visual C#;algorithmic毕业设计(论文)I目目 录录1 绪论.11.1 开发背景与研究现状 .11.2 论文组织.12 开发工具简介.22.1 VISUAL C#.22.1.1 数据库连接方式.22.2 SQL SERVER2005.42.3 SQL 语言.43 需求与可行性分析.63.1 用户需求.63.2 功能需求.63.3 业务流程图 .73.4 性能需求 .73.

7、4.1 加载数据效率要求.73.4.2 界面风格要求.73.5 可行性分析 .83.5.1 管理可行性.83.5.2 经济可行性.83.5.3 技术可行性.83.6 数据流程分析 .8 3.6.1 数据流程图.9 3.6.2 数据字典 .93.7 开发环境 .153.7.1 软件环境.153.7.2 硬件环境.154 系统设计.164.1 系统功能模块图 .164.2 数据库设计 .184.2.1 实体 E-R 图.184.2.2 数据库的存储结构.194.3 组卷算法 .214.3.1 现有算法分析.214.3.2 回溯试探法的应用.214.4 自动生成设计 .224.5 手动生成设计 .2

8、35 系统实现.255.1 登录模块设计 .255.2 系统主界面设计 .255.3 用户管理模块设计.26毕业设计(论文)II5.4 题库和题型设置模块 .265.5 试卷生成模块 .28结论.31参考文献.32致谢.33毕业设计(论文)11 绪论绪论1.1 开发背景与研究现状开发背景与研究现状在以往的教学中,老师出试卷大多由手工出卷,这样生成的试卷往往会有知识点分布太集中、难易程度不当、分值分布不均等一些缺点;这样,既增加了老师的负担,也没有达到很好考查学生学习的真实水平,造成教学上的失误。 基于以上的原因,有很多从事软件开发的人员,在试卷自动生成方面做了很大的研究。目前这一领域也以良好的

9、发展姿态而不断进步,早期已经有了一些类似的系统,但经过软件开发人不断的完善,大致形成了具备如下功能的系统:添加删除试题、试题交流、合并题库、自定义试题参数等一些功能,其中试题共享功能非常实用,主要用于同事间交流试题。系统“体积”非常小,压缩后只有几百 KB。平时只要将一些试题或从网络下载的试题,按“科目” 、 “章节” 、 “题型” 、“难易程度”四个参数进行归类,录入题库,需要用时,只要输入一些查询条件即可查出所要找的试题。生成试卷非常方便,只需几分钟就可以生成一份试卷,生成的试卷还配有答案,更重要的是软件能与 WROD、WPS 等的完美结合,试题、答案的编辑、试卷的排版打印全部由 WORD

10、 来完成,试卷和答案都可保存为*.DOC 格式或者*.RTF 的富文本格式,如果你的电脑上没有 word 这类文字处理软件还可保存为*.TXT 格式。 可见,试卷自动生成系统这方面的研究日益成熟,这不但减轻了教师的工作负担,也使得教学评价更加科学化、规范化,有利用教育事业的发展。1.2 论文组织论文组织论文全面详细地介绍了试卷生成系统的设计思想、实现原理和使用技巧。论文按如下方式组织。第一部分是主要是对系统的开发背景和研究现状进行详细的介绍。第二部分主要是对开发工具的介绍。第三部分是主要是对本系统做详细的需求和可行性分析。第四、五、六部分是本文的主要内容,是软件的开发设计。第四部分主要对于系统

11、组卷的设计,重点介绍了自动生成试卷,手动生成试卷和抽取现有试卷三种组卷算法。而第五部分是系统的实现部分,具体的分析了三种组卷算法的实现过程。同时也仔细说明了系统实现过程中的关键技术。第六部分是系统的测试部分,利用测试实例来说明系统的可用性和数据的准确性。毕业设计(论文)22 开发工具简介开发工具简介2.1 Visual C#C#(读做 C sharp,中文译音暂时没有。专业人士一般读C sharp,现在很多非专业一般读C 井。C#是微软公司发布的一种面向对象的、运行于.NET Framework 之上的高级程序设计语言。#是一种安全的、稳定的、简单的,由 C 和C+衍生出来的面向对象的编程语言

12、。它在继承 C 和 C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承) 。C#综合了 VB 简单的可视化操作和 C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET 开发的首选语言。并且 C#成为ECMA 与 ISO 标准规范。C#看似基于 C+写成,但又融入其它语言如Delphi、Java、VB 等。C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于 Microsoft .NET 平台的解决方案。这种框架使 C#组件可以方便地转化为 XML 网络服务,同时他增强了开发者的效率,同时也致力于消除编程中可能

13、导致严重结果的错误。C#使C/C+程序员可以快速进行网络开发,并保持了开发者所需要的强大性和灵活性。2.1.1 数据库连接方式数据库连接方式 从简单的文本文件到各种复杂的关系型数据库,数据库应用程序需要面对各种各样的数据源。微软的.NET 平台提供了 ADO.NET 作为应用程序和 OLE-DB 连接的桥梁。ADO.NET 增强了对非连接编程模式的支持,并支持 RICH XML.由于传送的数据都是 XML 格式的,因此任何能够读取 XML 格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是 ADO .NET 组件,它可以是基于一个 Microsoft Visual Studio

14、 的解决方案,也可以是任何运行在其它平台上的任何应用程序。ADO.NET 是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel 表格或者 XML 文件。ADO.NET 允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用 ODBC 协议,许多新的数据源使用 OleDb 协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET 的 ADO.NET 类库来进行连接。ADO.NET 提供与数据源进行交互的相关的

15、公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为 Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。表 1 列处了一些常见的 data providers,以及它们所使用毕业设计(论文)3的 API 前缀,和允许进行交互的数据源类型。ADO.NET 包含的对象:SqlConnection 对象和数据库交互,你必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。connection 对象会被 command 对象使用,这样就能够知道是在哪个数据库上面执行命令。与数据库交互的过程意味着你必须指明想要发生的操作。这

16、是依靠 command 对象执行的。你使用 command 对象来发送 SQL 语句给数据库。command 对象使用connection 对象来指出与哪个数据库进行连接。你能够单独使用 command 对象来直接执行命令,或者将一个 command 对象的引用传递给 SqlDataAdapter,它保存了一组能够操作下面描述的一组数据的命令。sqlDataReader 对象许多数据操作要求你只是读取一串数据。data reader 对象允许你获得从command 对象的 SELECT 语句得到的结果。考虑性能的因素,从 data reader 返回的数据都是快速的且只是“向前”的数据流。这意

17、味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用 Dataset。DataSet 对象DataSet 对象是数据在内存中的表示形式。它包括多个 DataTable 对象,而DataTable 包含列和行,就象一个普通的数据库中的表。你甚至能够定义表之间的关系来创建主从关系(parent-child relationships) 。DataSet 是在特定的场景下使用帮助管理内存中的数据并支持对数据的断开操作的。DataSet 是被所有 Data Providers 使用的对象,因此它并不像 Data Provider 一样需要特别的

18、前缀。SqlDataAdapter 对象某些时候你使用的数据主要是只读的,并且你很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。Data adapter 通过断开模型来帮助你方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的时候,Data adapter 填充(fill)DataSet 对象。data adapter 包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。另外,data adapter 包含对数据的SELECT,INSERT,UPDATE 和 DELETE

19、 操作的 command 对象引用。你将为 DataSet中的每一个 table 都定义 data adapter,它将为你照顾所有与数据库的连接。所有你将做的工作是告诉 data adapter 什么时候装载或者写入到数据库。总结:ADO.NET 是与数据源交互的.NET 技术。有许多的 Data Providers,它将允许与不同的数据源交流取决于它们所使用的协议或者数据库。然而无论使用毕业设计(论文)4什么样的 Data Provider,你将使用相似的对象与数据源进行交互。SqlConnection 对象管理与数据源的连接。SqlCommand 对象允许你与数据源交流并发送命令给它。为

20、了对进行快速的只“向前”地读取数据,使用 SqlDataReader。如果想使用断开数据,使用 DataSet 并实现能进行读取或者写入数据源的 SqlDataAdapter。2.2 SQL Server2005SQL Server 是一个关系数据库管理系统,它最初是由 Microsoft Sybase 和Ashton-Tate 三家公司共同开发的。于 1988 年推出了第一个 OS/2 版本在 Windows NT 推出后,Microsoft 与 Sybase 在 SQL Server 的开发上就分道扬镳了。Microsoft 将 SQL Server 移植到 Windows NT 系统上专

21、注于开发推广 SQL Server 的 Windows NT 版本,Sybase 则较专注于 SQL Server 在 UNIX 操作系统上的应用。在系统中用到的是 Microsoft SQL Server 以后简称为 SQL Server 或 MS SQL Server。SQL Server 2005 是 Microsoft 公司推出的 SQL Server 数据库管理系统的最新版本该版本继承了 SQL Server 8.0(SQL Server2000) 版本的优点。同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行 Microsoft Wind

22、ows 2000 的膝上型电脑到运行 Microsoft Windows Vista 的大型多处理器的服务器等多种平台使用。目前被广泛使用的数据库有 SQL Server、Oracle、Access 等。Access 是一个可视化工具,是风格与 Windows 完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。但是 access 数据库有一定的极限,如果数据达到 100M 左右,很容易造成服务器 iis 假死,或者消耗掉服务器的内存导致服

23、务器崩溃。而 SQL Server 是基于服务器端的中型的数据库,可以适合大容量数据的应用,在功能上管理上也要比 Access 要强得多。在处理海量数据的效率,后台开发的灵活性,可扩展性等方面强大。因为现在数据库都使用标准的 SQL 语言对数据库进行管理,所以如果是标准 SQL 语言,两者基本上都可以通用的。SQL Server 还有更多的扩展,可以用存储过程,数据库大小无极限限制。因为本系统需求一个中型,而且安全性强的数据库,所以选择 SQL Server 做为该系统的数据库。2.3 SQL 语言语言SQL(Structured Query Language,结构查询语言)是一个功能强大的数

24、据库语言。SQL 通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL 是关系数据库管理系统的标准语言。SQL 语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用 SQL 的常见关系数据库管毕业设计(论文)5理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access 等等。虽然绝大多数的数据库系统使用 SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的 SQL 命令,比如“Select” 、 “Insert” 、 “Update” 、 “Delete” 、 “Create”和

25、“Drop”常常被用于完成绝大多数数据库的操作。MS SQL Server 就是用的 Transact- SQL。SQL 语言有着非常突出的优点,SQL 语言是非过程化的语言、统一的语言、是所有关系数据库的公共语言。非过程化语言:SQL 是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL 允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有 SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条 SQL 语句的结果作为另一条 SQL 语句的输入。统一的语言:SQL 可用于所有用户的 DB 活动模型,包括系统管理员、数据库管理员、 应

26、用程序员、决策支持系统人员及许多其它类型的终端用户。所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持 SQL语言,用户可将使用 SQL 的技能从一个 RDBMS(关系数据库管理系统)转到另一个,所有用 SQL 编写的程序都是可以移植的。SQL 为许多任务提供了命令,其中包括:查询数据、在表中插入、修改和删除记录、建立、修改和删除数据对象、控制对数据和数据对象的存取、保证数据库一致性和完整性等。以前的数据库管理系统为上述各类操作提供单独的语言,而 SQL 将全部任务统一在一种语言中。SQL 功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,

27、概括起来,它可以分成以下几组:DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据;DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象;DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。 毕业设计(论文)63 需求与可行性分析需求与可行性分析考试是整个教学过程中的一个重要环节,它是对学生所学知识和能力的一种评价,也是衡量教师教学效果优劣的一种教育测量手段。但是,目前考试的实施过程不完全科学,命题内容,评分标准等缺乏普遍的可比性

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

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

30、ord 中修改和打印。(7) 友好的用户界面。3.2 功能需求功能需求本系统是题库与试卷生成系统,主要有三方面的功能需求,其分别是:(1) 题库管理:为了用户能方便管理庞大的试题题库,实现各种常用或者自定义题型的录入、修改、查询、删除、分类等功能。(2) 手动生成试卷:为了能按照用户的意愿组卷,用户可以按试题所涉及的知识点浏览各种题型,生成一份知识覆盖面广泛的试卷,并能保存试卷。 (3) 自动生成试卷:用户能选择生成试卷的题型,试题数量,试题难度,以及试卷分值,且有预览试卷,预览答案,保存试卷和答案的功能。毕业设计(论文)73.3 业务流程图业务流程图根据对用户的调查,本系统有两类用户使用,分

31、别是管理和教师。这两种种身份的人具有不同权限,管理员负责管理系统帐号和系统的其他全部功能;教师不能管理用户但是可以更新维护题库,按需求生成和保存打印试题等。本系统主要是对题库维护和试题组卷的管理,根据需求分析,可以得到系统流程如图 3-1 所示。图图 3-1 业务流程图业务流程图3.4 性能需求性能需求3.4.1 加载数据效率要求加载数据效率要求本系统的使用不受时间限制,可以 24 小时正常使用,对于用户登陆,试卷预览,答案预览,试卷生成功能响应时间不宜超过 5 秒钟。 3.4.2 界面风格要求界面风格要求试题课程表题型表章节表题库用户用户用户自动生成试卷手动生成试卷毕业设计(论文)8整体以白

32、色和淡蓝色为主,辅助淡绿色给人清新,舒坦的感觉,在 1024*768 分辨率下达到最佳显示效果,界面简洁清爽,不能过于复杂。3.5 可行性分析可行性分析可行性分析的任务是明确开发应用项目的必要性和可行性。必要性来自实现开发任务的迫切性,而可行性则取决于实现应用系统的资源和条件。这项工程需要建立在初步调查的基础上。 3.5.1 管理可行性管理可行性 随着科学技术的不断发展,计算机科学的日渐成熟,其强大的功能已经为人们深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。MIS 为计算机应用的一部分,使用计算机对学生的成绩信息进行管理,具有手工管理所无法比拟的优点。同时,为了适应时代发展,

33、适应我国教育深化改革、全面实施素质教育的需要,教育部适时提出了加快普及信息技术,以教育信息化带动教育现代化,努力实现我国教育水平的跨越式发展的战略目标,所以开发题库与试卷生成系统在管理上是可行的。 3.5.2 经济可行性经济可行性采用计算机管理不但可以提高工作效率,而且还可以节省人力、物力、财力,降低了人工处理产生的错误。由于所开发的系统是一个单机版的系统,在计算机配置方面的要求也不是很高,所以学校在软、硬件不需要进行大的投入的前提下,开发题库与试卷生成系统在经济上是可行的。 3.5.3 技术可行性技术可行性因为开发所采用的工具全是可视化工具,开发出的应用程序均是图形化界面,操作员几乎不用记任

34、何命令就可以操作此系统。另外,系统的操作员多为学校的教师,有较高的文化素质,他们其中大多已经基本会 Windows 的操作,即使不会操作Windows,经过短期的培训也能熟练的使用本软件,所以开发题库与试卷生成系统在技术上是可行的。3.6 数据流程分析数据流程分析 该系统的数据流程分为两部分,图 3-2 为顶层数据流程图,用户由各种类型的试题根据相应需求生成试卷。图 3-3 为第二层的数据流程图,是对顶层数据流程的毕业设计(论文)9分解,将试卷的生成分为手动生成和自动生成。 3.6.1 数据流程图数据流程图图图 3-2 顶层数据流程图顶层数据流程图图图 4-6 第二层数据流程图第二层数据流程图

35、D1 试题表D2 自动生成试卷D3 手动生成试卷D4 题型表D5 课程表D6 章节表 3.6.2 数据字典数据字典 (1) 数据项的定义:数据项编号:X01数据项名称:用户名数据项编号:X02数据项名称:用户密码用户P1试卷生成处理D1D2 D3用户试题题型章节课程P2.1题型设置P2.2题库设置P2.3试题录入试题题库P2.4自动生成P2.5手动生成D4D5D6D2D3毕业设计(论文)10类 型:字符型长 度:20类 型:字符型长 度:20数据项编号:X03数据项名称:姓名类 型:字符型长 度:20数据项编号:X04数据项名称:教工号类 型:整形长 度:12数据项编号:X05数据项名称:状态

36、类 型:布尔型长 度:1数据项编号:X06数据项名称:题号类 型:整形长 度:6数据项编号:X07数据项名称:题干类 型:字符型长 度:300数据项编号:X08数据项名称:答案类 型:字符型长 度:300数据项编号:X09数据项名称:课程类 型:字符型长 度:50数据项编号:X10数据项名称:章节类 型:字符型长 度:50数据项编号:X11数据项名称:图片路径类 型:字符型长 度:50数据项编号:X12数据项名称:难度类 型:整形长 度:2数据项编号:X13数据项名称:题型类 型:字符型长 度:50数据项编号:X14数据项名称:是否选择类 型:布尔型长 度:1数据项编号:X15数据项名称:题型

37、名数据项编号:X16数据项名称:课程名毕业设计(论文)11类 型:字符型长 度:50类 型:字符型长 度:50 (2) 数据结构定义 数据结构编号:DS01-01 数据结构名称:用户表简 述:用户基本情况记录数据结构组成:X01+X02+X03+X04+X05数据结构编号:DS01-02数据结构名称:试题表简 述:试题基本情况记录数据结构组成:X06+X07+X08+X09+X10+X11+X12+X13+X14数据结构编号:DS01-03数据结构名称:题型表简 述:动态题型记录数据结构组成:X15数据结构编号:DS01-04数据结构名称:课程表简 述:动态课程记录数据结构组成:X16 (3)

38、 数据流定义数据流编号:D1数据流名称:试题表简 述:需要录入试题数据库的各种类型的试题数据流来源:试题录入模块数据流去向:试题存储模块数据流组成:题号+题干+答案+章节名+课程名+难度+题型+是否选择+图片路径流 通 量:1 份/题数据流编号:D2毕业设计(论文)12数据流名称:自动生成试卷简 述:抽取题库符合条件的试题自动组成试卷数据流来源:试卷设置模块数据流去向:自动生成试题模块数据流组成:课程名+题型+难度系数流 通 量:1 份/试卷数据流编号:D3数据流名称:手动生成试卷简 述:手动选择所需题目组成试卷数据流来源:试卷设置模块数据流去向:手动生成试题模块数据流组成:题号+题型+章节名

39、+课程名+难度系数流 通 量:1 份/试卷数据流编号:D4数据流名称:题型表简 述:根据需求动态生成题型数据流来源:题型设置模块数据流去向:试题录入模块数据流组成:题型名流 通 量:1 份/题库数据流编号:D5数据流名称:课程表简 述:设置试题所属课程数据流来源:题库设置模块数据流去向:试题录入模块数据流组成:课程名流 通 量:1 份/课程数据流编号:D6数据流名称:章节表简 述:设置试题所属章节数据流来源:题库设置模块毕业设计(论文)13数据流去向:试题录入模块数据流组成:课程名流 通 量:1 份/试卷 (4) 数据存储定义数据存储编号:F1数据存储名称:试题库简 述:试题的题号、题干、答案

40、、课程、难度系数等信息数据存储结构:题号+题干+答案+课程+章节+难度系数+题型+是否选择关 键 词:题号相 关 的处理:P2.3,P2.4,P2.5数据存储编号:F2数据存储名称:题型库简 述:试题的题型信息数据存储结构:题型名关 键 词:题型名相 关 的处理:P2.1数据存储编号:F3数据存储名称:课程库简 述:试题所属课程信息数据存储结构:课程名关 键 词:课程名相 关 的处理:P2.2数据存储编号:F4数据存储名称:用户库简 述:用户的相关信息数据存储结构:用户名+用户密码+用户类型+姓名+状态关 键 词:用户名相 关 的处理:P2.1,P2.2,P2.3,P2.4(5) 处理逻辑定义

41、毕业设计(论文)14处理逻辑编号:P2.1处理逻辑名称:题型设置输入:来自题型表输出:去向题型设置模块描述:设置题型激发条件:用户的题型需求处理逻辑编号:P2.2处理逻辑名称:题库设置输入:来自课程表、章节表输出:去向题库设置模块描述:设置试题所属的课程章节激发条件:试题的课程章节设置处理逻辑编号:P2.3处理逻辑名称:试题录入输入:来自试题表输出:去向试题库描述:增加修改删除试题激发条件:题库的管理与维护处理逻辑编号:P2.4处理逻辑名称:自动生成试卷输入:自动生成试卷设置输出:自动生成试题模块模块描述:根据需求自动生成试卷激发条件:用户的试卷需求处理逻辑编号:P2.5处理逻辑名称:手动生成

42、试卷输入:手动生成试卷设置输出:手动生成试题模块模块描述:根据需求手动生成试卷激发条件:用户的试卷需求毕业设计(论文)153.7 开发环境开发环境3.7.1 软件环境软件环境操作系统: Windows Server2003(Build 3790)数据库: SQL Server 2005开发语言: Visual C#开发工具: Visual Studio 20053.7.2 硬件环境硬件环境 CPU:Pentium 2.16G内存:512MB 以上硬盘:2.1GB 以上(可用空间最好在 160MB 以上)毕业设计(论文)164 系统设计系统设计系统设计的目的是确定系统如何完成预定的任务,也就是确

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

44、到重大改进。试题管理系统和试卷生成系统是两个连在一起的系统,而本系统主要介绍的就是试卷生成系统的设计和方法。4.1 系统功能模块图系统功能模块图根据需求分析,将系统分为四个模块:系统管理模块,试卷生成管理模块,数据库管理系统,系统帮助模块。系统功能模块结构如图 4-1 所示。图图 4-1 系统功能模块图系统功能模块图题库与试卷生成系统系统管理题库管理试卷生成帮助和关于用户管理密码管理题型设置试题更新维护自动生成试卷手动生成试卷系统关于系统帮助毕业设计(论文)17下面对各功能模块的子功能进行较详细的讨论。(1) 系统管理模块该模块包括用户管理模块和用户密码管理模块。系统启动时调用此模块,要求用户

45、先进行登陆。登陆功能模块如图 4-2 所示。图图 4-2 登陆模块功能图登陆模块功能图(2) 试卷生成管理模块试卷生成管理模块主要包括如下子模块:手动生成试卷模块:显示生成试卷,保存试卷功能。自动生成模块:显示生成试卷,预览试卷,预览答案,保存试卷功能。详细的试卷生成管理功能模块如图 4-3 所示。用户管理系统管理管理员教师密码管理题型设置题库更新维护自动生成试卷手动生成试卷毕业设计(论文)18图图 4-3 试卷生成管理模块功能图试卷生成管理模块功能图 (3) 系统帮助模块 主要包括系统帮助和系统关于。系统帮助模块结构如图 4-4 所示。 系统帮助系统关于帮助图图-4 系统帮助模块功能图系统帮

46、助模块功能图4.2 数据库设计数据库设计数据库设计是在选定的数据库管理系统基础上建立数据库的过程。4.2.1 实体实体 E-R 图图本系统的实体有:用户实体、试题实体,各个实体具体的描述 E-R 图如图 4-试卷生成模块手动生成试卷自动生成试卷试卷设置单题预览试卷答案预览保存输出试卷试卷设置试卷答案预览保存输出试卷毕业设计(论文)195、图 4-6 所示。图图 4-5 用户实体用户实体 E-R 图图图图 4-6 试题实体试题实体 E-R 图图 4.2.2 数据库的存储结构数据库的存储结构本系统采用 SQL Server 2005 数据库,系统数据库名为 MySchool,数据库MySchool

47、 中包括 5 个数据表。 (1) 用户表 Admin,主要用来存储系统管理员的相关信息,表结构如表 4-1:表表 4-1 Admin 表表 字段名数据类型长度是否主键功能描述用户用户名密码姓名教工号状态试题题干答案课程章节难度图片类型选择题号毕业设计(论文)20UserNamenchar50是用户姓名UserPwdnchar50登录密码Namenchar50用户姓名UserIDint12教工号(2) 用户表 Teacher,主要用来存储教师用户的信息,表结构如表 4-2:表表 4-2 Teacher 表表字段名数据类型长度是否主键功能描述UserNamenchar50是用户姓名UserPwdn

48、char50登录密码Namenchar50用户姓名UserIDint12教工号UserStatebit1用户状态 (3) 试题表 Question,主要用来存储题库中的试题,表结构如表 4-3:表表 4-3 Question 表表字段名数据类型长度是否主键功能描述QuestionIDint8是题号QuestionBodynchar300题干Answernchar300答案与解释Objectnchar50课程名Chapternchar50章节ImgPathnchar100图片路径Difficultint4难度系数Typenchar50试题类型Choicebit1是否被选 (4) 题型表 Type

49、,用来存储动态生成试题类型,表结构如表 4-4:表表 4-4 Type 表表字段名数据类型长度是否主键功能描述毕业设计(论文)21TypeNamenvarchar50是动态试题类型(5) 课程表 Object,用来存储课程相关信息,表结构如表 4-5:表表 4-5 Object 表表字段名数据类型长度是否主键功能描述ObjectNamenvarchar50是试题章节4.3 组卷算法组卷算法4.3.1 现有算法现有算法分析分析自动组卷是考试系统自动化或半自动化操作的核心目标之一,而如何保证生成的试卷能最大程度的满足用户的不同需要,并具有随机性、科学性、合理性,这是实现中的一个难点。尤其在交互式环

50、境下用户对于组卷速度要求较高,而一个理论上较完美的算法可能会以牺牲时间作为代价,往往不能达到预期的效果。因此,选择一个高效、科学、合理的算法是自动组卷的关键。以往的具有自动组卷功能的考试系统大多采用随机选取法和回溯试探法。随机选取法根据状态空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的试题为止。该方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说组卷成功率低,即使组卷成功,花费时间也令人难以忍受。尤其是当题库中各状态类型平均出题量较低时,组卷往往以失败而告终。回溯试探法这是将随机选取法产生的每一状态类型纪

51、录下来,当搜索失败时释放上次纪录的状态类型,然后再依据一定的规律变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生成完毕或退回出发点为止,这种有条件的深度优先算法,对于状态类型和出题量都较少的题库系统而言,组卷成功率较好。 分析上述两种算法的优缺点,不难发现,在限制条件状态空间的控制下,随机选取法有时能够抽取出一组令用户满意的试题。只不过由于它随机选取试题的范围太大,无法确定目前条件下哪些区域能够抽取合适的试题,反而可能在那些已经证明是无法抽取合适试题的区域内反复选题,进行大量的无效操作进入死循环,最终导致组卷失败。回溯试探法组卷成功率高,但它是以牺牲大量的时间为代价的,由于本软件只是

52、个小型的单科考试组卷系统,结构简单,出题量也较少,所以本系统选择相对简单,组卷成功率较好的回溯试探法进行组卷。4.3.2 回溯试探法的应用回溯试探法的应用毕业设计(论文)22回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为: 1、 定义一个解空间,它包含问题的解;2、 利用适于搜索的方法组织解空间;3、 利用深度优先法搜索解空间;4、 利用限界函数避免移动到不可能产生解的子空间。 问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性。 回溯法是一个既带有系

53、统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发搜索解空间树。算法搜索至解空间树的任一结点时,总是先判断该结点是否肯定不包含问题的解。如果肯定不包含,则跳过对以该结点为根的子树的系统搜索,逐层向其祖先结点回溯。否则,进入该子树,继续按深度优先的策略进行搜索。回溯法在用来求问题的所有解时,要回溯到根,且根结点的所有子树都已被搜索遍才结束。而回溯法在用来求问题的任一解时,只要搜索到问题的一个解就可以结束。搜索:全面访问所有可能的情况,分为两种:不考虑给定问题的特有性质,按事先顶好的顺序,依次运用规则,即盲目搜索的方法;另一种则考虑问题给定的特有性质,选

54、用合适的规则,提高搜索的效率,即启发式的搜索。本系统使用的是回溯法的启发式搜索,以试题题型,试题分值和选题数量为约束条件进行随机搜索,而把设置的试卷总分数作为一个解空间。如果各题型分值之和等于用户设置的试卷总分数,则产生一个有效解,系统生成一份试卷,试题的题型,编号,分值等信息储存进试题库表中。通过系统的预览试卷功能,系统通过所存信息搜索数据库,获取试题内容,并输入 Word 文档中组成一份完整试卷。4.4 自动自动生成设计生成设计自动组卷是时系统根据用户要求,随机选取试题,组成一份完整的试卷。本系统使用的是回溯探取法随机选题。其主要过程如下:(1) 用户输入选题要求,如各题型数量,题型分值和

55、题型难度,并设置试卷总分数(2) 初始化随机数生成器。 (3) 系统根据题型数量和题型难度要求在 Question 表中随机抽取试题,并将已经抽取过的试题 Choice 属性值修改为 True,为试题的输出作为标记。 (4) 设置试卷模板。(5) 预览试卷,系统根据数据库表 Question 中信息搜索题库试题内容,并毕业设计(论文)23按设置好的试卷模板导入 Word 中,生成一份完整的试卷,并以*.doc 文件的形式保存。 自动生成试卷的流程如图 4-9 所示。YYN输入试卷信息自动生成试题试卷生成失败预览试卷保存试卷保存答案自动选择试题程序开始程序结束图图 4-9 自动生成试卷流程自动生

56、成试卷流程4.5 手动手动生成设计生成设计由于自动生成的试卷,对于试卷知识覆盖面的问题不好控制,为了解决这各问题,所以本软件增加了另一种组卷方式,也就是手动生成试卷。此组卷方式的优点在于,系统将各题型的试题具体的分到了此科考试的具体章节和知识点。用户可以根据具体章节和知识点浏览此知识点下的各试题,并可以选择加入试卷,组成一份知识覆盖面广的试卷。其主要组卷过程如下:(1) 用户选择试题题型,题型分值,试题数量和知识点,并设置试卷总分值,系统根据用户选择的题型和知识点显示所有试题。(2) 用户选择试题,用户在 DateGridView 中浏览选择所需要的试题,并在毕业设计(论文)24checkbo

57、x 中标记所有选择的试题,单击保存即可标识出所选择的一个题型中的所有题目,然后依次选择其他题型并保存。(3) 设置试卷模板,并浏览修改相应格式。(4) 生成试卷,系统根据数据库表 Question 中已标记题库试题内容,并按设置好的试卷模板导入 Word 中,生成一份完整的试卷,并以*.doc 文件的形式保存。手动生成试卷的流程如图 4-10 所示。YN手动选择试题生成试卷失败启动生成试题预览试卷保存试卷输入试卷信息程序开始程序结束图图 4-10 手动生成试卷流程图手动生成试卷流程图毕业设计(论文)255 系统实现系统实现本系统是一个题库与试卷生成管理系统,重点在于组卷,所以主要是对关于试卷生成的实现的说明。本系统包括题库更新与维护,自动生成试卷和手动生成试卷三大功能。5.1 登录模块登录模块设计设计本系统的主要用户有两类,系统管理员和教员用户,其中系统管理员有用户管理权限和其他所有系统功能。教员用户的主要功能是试题的录入修改维护、题库和题型设置、手动或自动出题、试题的输出、自身密码管理等。用户登录时需输入合法用户名、密码及相应用户类型。界面如图 5.1:图图 5-1 登录模块登录模块5.2 系统主界面设计系统主界面设计系统的主界面是我们工作的主要区域,在这里有系统的所有功能的控制面板。其中

温馨提示

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

评论

0/150

提交评论