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

下载本文档

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

文档简介

1、毕毕业业设设计计说说明明书书 题题 目:目: 青海大学课程试题库系统分析与设计青海大学课程试题库系统分析与设计 姓姓 名名: 冯冯凯凯 学学 号号: 指指 导导 教教 师师: 牛勇牛勇 专专 业业 年年 级级: 信息管理与信息系统信息管理与信息系统 2009 级级 所在学院和系:所在学院和系: 财经学院管理科学与工程系财经学院管理科学与工程系 完完 成成 日日 期期: 2013 年年 5 月月 答答 辩辩 日日 期期: 2013 年年 6 月月 8 日日青海大学课程试题库系统分析与设计摘 要青海大学的一系列考试主要是通过纸质试卷进行考试,一般情况下,教师出试卷时要么到庞大的题库里把题目挑选出来

2、,要么是从几本相关的书里把题挑选出来组成一份试卷,这样既费时又费力,而且很难保证试题的覆盖面和把握试卷的难度。为了将老师从繁重的命题工作中解放出来,为了提高命题的质量和管理的现代化、科学化、规范化,本系统说明书写的是一个课程试题库系统的详细开发过程。在充分的需求分析基础上,设计和实现了课程试题库系统,其主要内容有:运用信息系统开发理论、开发方法和开发技术确定出系统应具有的逻辑功能,再用适当的方法表达出来,形成这个系统的逻辑方案;对青海大学课程试题库系统进行总体设计、详细设计和数据库设计、程序相关的代码设计、输入输出设计、系统整体功能的调试。主要实现了手动生成试卷、自动生成试卷、题库管理和用户管

3、理等功能。通过测试,系统在 Windows 7 平台下能稳定运行,且基本达到了预期的设计目标,有一定的实用价值。关键词:关键词:试题库,试卷生成,算法QINGHAI UNIVERSITY COURSE TEXT BANK SYSTEMS ANALYSIS AND DESIGNABSTRACTMidterm and final exam and a series of papers by the exam paper of all Qinghai University,so a quality paper straight touches the value of teaching. The g

4、eneral 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 q

5、uestion. 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 suffic

6、ient needs analysis, the important contents are: the use of information systems development theory, development method and techniques to determine the system should have the logic function, then the appropriate method of expression , the formation of the system logic solutions; Qinghai college exam

7、system for the overall system design, detailed design and database design; program-related code design, input and output design, the system as a whole functions debugging .It mainly implements some functions include in manually and automatically generating papers ,extracting some of existing papers

8、,maintaining user information and so on ,the system can operate stably in Windows7 platform ,reach the expected goal and have some practical value.Keywords: test library ,paper generation,algorithmic目录1 绪论.11.1 开发背景与研究现状 .11.2 开发工具简介 .11.2.1 Visual C#.11.2.2 SQL Server200 数据库连接方式.22 系统分析.32.

9、1 用户需求分析 .32.2 可行性分析 .32.2.1 经济可行性.32.2.2 技术可行性.32.2.3 社会可行性.42.3 业务流程分析 .42.4 数据流程分析 .52.4.1 数据流程图.52.4.2 数据字典.63 系统设计.93.1 系统功能模块结构图 .93.2 数据库设计 .123.2.1 实体 E-R 图 .123.2.2 数据库的存储结构 .143.3 组卷算法 .153.3.1 现有算法分析 .153.3.2 回溯试探法的应用 .163.4 试卷自动生成设计 .163.5 试卷手动生成设计 .174 系统实现.194.1 登录模块设计.194.2 系统主界面设计.21

10、4.3 用户管理模块设计 .224.4 题库和题型设置模块 .234.5 试卷生成模块 .285 结论.33参考文献.35致谢.361 绪论财经学院管理科学与工程系 11 绪论1.1 开发背景与研究现状青海大学各院系在以往的教学过程中,老师出试卷大多情况下是手工出卷,生成的试卷往往会有知识点分布太集中、难易程度不当、分值分布不均等一些缺点;这样,既增加了老师的负担,也没有达到很好考查学生学习的真实水平,造成教学上的失误。随着青海大学的发展各科教师的工作量也会日益增加,因此开发一个课程试题库系统来帮助教师对各科试题的管理及方便快捷地生成符合要求且高质量的试卷是非常有必要的。 目前有很多从事软件开

11、发的人员,在试卷自动生成方面做了很大的研究。这一领域也以良好的发展姿态而不断进步,早期已经有了一些类似的系统,经过软件开发人员不断的完善,大致形成了具备如下功能的系统:按“科目” 、 “章节” 、 “题型” 、 “难易程度”四个参数进行归类将试题录入题库,也可更新删除试题。需要用时,只要输入一些查询条件即可查出所要找的试题。生成试卷非常方便,只需几分钟就可以生成一份试卷,生成的试卷还配有答案,更重要的是软件能与 WROD、WPS 等的完美结合,试题、答案的编辑、试卷的排版打印全部由 WORD 来完成,试卷和答案都可保存为*.DOC 格式,如果电脑上没有 word 这类文字处理软件还可保存为*.

12、TXT 格式。可见,试题库系统这方面的研究日益成熟,减轻了教师的工作负担,同时也大大的提高了老师的工作效率。1.2 开发工具简介1.2.1 C#C#是微软公司发布的一种面向对象的、运行于.NET Framework 之上的高级程序设计语言。C#是一种安全的、稳定的、简单的,由 C 和 C+衍生出来的面向对象的编程语言。它在继承 C和 C+强大功能的同时去掉了一些它们的复杂特性1。C#综合了 VB 简单的可视化操作和 C+的高效的运行效率,以其强大的操作能力、创新的语言特性和便捷的面向组件编程的支持成为.NET 开发的首选语言。并且 C#成为 ECMA 与 ISO 标准规范。C#看似基于 C+写

13、成,但又融入其它语言如 Delphi、Java、VB 等。C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于 Microsoft .NET 平台的解决方案。这种框架使 C#组件可以方便地转化为 XML 网络服务,同时他增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。C#使 C/C+程序员可以快速进行网络开发,并保持了开发者所需要的强大性和灵活性。1 李继武.Visual C#.NET 项目开发实践M.清华大学出版社,2007青海大学本科毕业设计:青海大学课程试题库系统分析与设计2财经学院管理科学与工程系1.2.2 SQL Server2005SQL Server 是一

14、个关系数据库管理系统,它最初是由 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 Serve

15、r 或 MS SQL Server。SQL Server 2005 是 Microsoft 公司推出的 SQL Server 数据库管理系统,该版本继承了 SQL Server2000 版本的优点。同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点。目前被广泛使用的数据库有 SQL Server、Oracle、Access 等。SQL Server 是基于服务器端的中型的数据库,可以适合大容量数据的应用,在处理海量数据的效率,后台开发的灵活性,可扩展性等方面非常强大2。因为现在数据库都使用标准的SQL 语言对数据库进行管理,所以如果是标准 SQL 语言,两者基本上

16、都可以通用的。SQL Server 还有更多的扩展,可以用存储过程,数据库大小无极限限制。因为本系统需求一个中型,而且安全性强的数据库,所以选择 SQL Server 作为该系统的数据库。1.2.3 数据库连接方式 从简单的文本文件到各种复杂的关系型数据库,数据库应用程序需要面对各种各样的数据源。微软的.NET 平台提供了 ADO.NET 作为应用程序和 OLE-DB 连接的桥梁。ADO.NET 增强了对非连接编程模式的支持,并支持 RICH XML.由于传送的数据都是 XML格式的,因此任何能够读取 XML 格式的应用程序都可以进行数据处理4。事实上,接受数据的组件不一定要是 ADO .NE

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

18、DO.NET 类库来进行连接3。ADO.NET 提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为 Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。表 1 列处了一些常见的 data providers,以及它们所使用的 API 前缀,和允许进行交互的数据源类型。2John W.Fronckowiak,David J.Helda.数据库编程技术大全M.北京:电子工业出版社,2007.3左美云.信息系统开发与管理教程M.清华大学出版社,2006.2 系统分析财经学院管理科学与工程系 32 系统分析分析青海大学对课程试题管理的

19、工作流程,运用信息系统开发理论、开发方法和开发技术确定出系统应具有的逻辑功能,再用适当的方法表达出来,形成这个系统的逻辑方案。其主要内容有:用户需求分析、可行性分析、业务流程分析、数据流程分析、数据字典等内容。2.1 用户需求分析通过对青海大学教师的调研得出,利用计算机建立试题库,实现计算机自动选题组卷,不仅能节省教师的宝贵时间,提高工作效率,而且能消除出卷人主观意识的影响,使考试更加标准化,更加客观,真实。通过调研还得出试题库要具有:用户管理、题库设置、题型设置、试题管理、试卷生成等基本功能。 作为试题库系统中的一部分,试卷生成子模块要满足以下需求:(1)灵活多样的组卷方式,如手工组卷和自动

20、组卷。(2)既能临时生成试卷,又能直接使用以前生成的试卷,也就是要求能对生成的试卷进行保存,以便下次直接使用,并能删除不再需要的试卷。(3)试卷的保密性要求,只有授权人员才能生成和查阅试卷。(4)试卷生成速度不宜太慢。(5)生成的试卷按照规定的模板输出,并能导出到 word 文档中。(6)生成的试卷既可以直接打印,也可以在 word 中修改和打印。2.2 可行性分析可行性分析的任务是明确开发应用项目的必要性和可行性。必要性来自实现开发任务的迫切性,而可行性则取决于实现应用系统的资源和条件。这项工程需要建立在初步调查的基础上。2.2.1 经济可行性主要是对项目的经济效益进行评价,青海大学课程试题

21、库系统作为一个设计,无需开发经费,对于学院在经济上是可以接受的,并且本系统实施后可以显著提高在线考试系统工作效率,有助于学院完全实现网络化管理,因此青海大学课程试题库系统在经济上是可行的4。2.2.2 技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。青海大学课程试题库系统结合了 C#语言和 SQL 数据库,二者的结合为本系统的开发提供了坚实的技术保证。目前管理信息系统从技术上来说已经相当成熟,伴随着信息领域和其4张广钦.信息管理教程M.北京: 北京大学出版社,2005.青海大学本科毕业设计:青海大学课程试题库系统分析与设计4财经学院管理科学与工

22、程系他领域的发展,其自身也在不断的发展完善,就其目前的发展水平来说,基本能够满足老师的需要。2.2.3 社会可行性青海大学程试题库系统本着减轻教师工作负担、提高工作效率、优化教师出卷流程比传统的出卷模式节省人力、物力和时间。而且青海大学可以满足本系统运行所要求的硬件需求。因此本系统就青海大学来说是可行的。综上所述,开发青海大学课程试题库系统是可行的。2.3 业务流程分析根据调研确定,青海大学课程试题库系统有两类用户,分别是管理员和教师。这两种身份的人具有不同权限,管理员负责管理系统账户和系统的其他全部功能;教师不能进行账户管理但是可以更新维护题库,按需求生成和保存打印试题等。本系统主要是对题库

23、维护和试题组卷的管理,根据需求分析,可以得到系统流程如图 2-1 所示。图图 2-1 业务流程图业务流程图试题课程表题型表章节表管理员生成试卷教师账户教师管理员账户题库2 系统分析财经学院管理科学与工程系 52.4 数据流程分析系统的数据流程分为两部分,图 2-2 为顶层数据流程图,用户由各种类型的试题根据相应需求生成试卷。图 2-3 为第二层的数据流程图,是对顶层数据流程的分解,将试卷的生成分为手动生成和自动生成。2.4.1 数据流程图图图 2-2 顶层数据流程图顶层数据流程图图图 2-3 第二层数据流程图第二层数据流程图D1 试题表D2 自动生成试卷D3 手动生成试卷D4 题型表D5 课程

24、表D6 章节表用户P1试题库处理D1D2 D3用户试题题型章节课程P1.1题型设置P1.2题库设置P1.3试题录入试题库P1.4自动生成P1.5手动生成D4D5D6D2D3青海大学本科毕业设计:青海大学课程试题库系统分析与设计6财经学院管理科学与工程系2.4.2 数据字典(1)数据项用户名数据项的定义: 数据项编号:I01数据项名称:用户名简 述:题库系统用户名称类 型:字符型长 度:20 (2)数据结构 用户表数据结构的定义:数据结构编号:DS01-01数据结构名称:用户表简 述:用户基本情况记录数据结构组成:I01+I02+I03+I04+I05试题表数据结构的定义:数据结构编号:DS01

25、-02数据结构名称:试题表简 述:试题基本情况记录有关数据结构:I06+I07+I08+I09+I10+I11+I12+I13+I14(3)数据流试题表数据流的定义:数据流编号:D1数据流名称:试题表简 述:需要录入试题数据库的各种类型的试题数据流来源:试题录入模块数据流去向:试题存储模块数据流组成:题号+题干+答案+章节名+课程名+难度+题型+是否选择+图片路径数 据 流量:1 份/题自动生成试卷数据流的定义:数据流编号:D2用户密码数据项的定义:数据项编号:I02数据项名称:用户密码简 述:题库系统用户密码类 型:字符型长 度:202 系统分析财经学院管理科学与工程系 7数据流名称:自动生

26、成试卷简 述:抽取题库符合条件的试题自动组成试卷数据流来源:试卷设置模块数据流去向:自动生成试题模块数据流组成:课程名+题型+难度系数数 据 流量:1 份/试卷(4)数据存储试题库数据存储的定义:数据存储编号:F1数据存储名称:试题库简 述:试题的题号、题干、答案、课程、难度系数等信息数据存储组成:题号+题干+答案+课程+章节+难度系数+题型+是否选择关 键 字:题号相关联的处理:P1.3,P1.2题型库数据存储的定义:数据存储编号:F2数据存储名称:题型库简 述:试题的题型信息数据存储组成:题型名关键字:题型相关联的处理:P1.1(5) 处理逻辑题型设置处理逻辑的定义:处理逻辑编号:P1.1

27、处理逻辑名称:题型设置简述:进行题库题型的设置输入的数据流:来自题型表输出的数据流:去向题型设置模块处理:设置题型题库设置处理逻辑的定义:处理逻辑编号:P1.2青海大学本科毕业设计:青海大学课程试题库系统分析与设计8财经学院管理科学与工程系处理逻辑名称:题库设置简述:进行课程、章节的添加输入的数据流:来自课程表、章节表输出的数据流:去向题库设置模块处理:设置试题所属的课程章节(6) 外部实体教师外部实体的定义:外部实体编号:S1外部实体名称:教师简述:课程试题库的教师用户输入的数据流:D1输出的数据流:D2,D3 管理员外部实体的定义:外部实体编号:S2外部实体名称:管理员简述:课程试题库的管

28、理员用户输入的数据流:D1输出的数据流:D2,D3 2.5 开发环境2.5.1 软件环境操作系统: Windows7(32 位)数据库: SQL Server 2005开发语言: Visual C#开发工具: Visual Studio 20052.5.2 硬件环境 CPU:Intel(R) Core(TM)2 Duo CPU T6570 2.10GHz内存:1G硬盘:250G3 系统设计财经学院管理科学与工程系 93 系统设计系统设计的目的是确定系统如何完成预定的任务,也就是确定系统的物理配置方案,进而确定组成系统的每个程序的结构。首先设想完成系统功能的若干种合理的物理方案,应该仔细比较这些

29、方案,并且和用户共同选定一个最佳方案,然后,进行软件结构设计,确定软件由哪些模块组成以及这些模块之间的动态调用关系。进行软件结构设计时应该遵循的最主要的原理是模块独立原理,也就是说:软件应该由一组完成相对独立的子功能模块组成,这些模块之间的接口关系应尽量简单。3.1 系统功能模块结构图根据需求分析,将系统分为四个模块:系统管理模块,试卷生成模块,题库管理模块,系统帮助模块。其中主要有三方面的功能,分别是:(1)题库管理:为了用户能方便管理庞大的试题题库,实现各种常用或者自定义题型的录入、修改、查询、删除等功能。(2)手动生成试卷:为了能按照用户的意愿组卷,用户可以按试题所涉及的知识点浏览各种题

30、型,生成一份知识覆盖面广泛的试卷,并能保存试卷。 (3)自动生成试卷:用户能选择生成试卷的题型,试题数量,试题难度,以及试卷分值,且有预览试卷,预览答案,保存试卷和答案的功能。系统功能模块结构如图 3-1 所示。图图 3-1 系统功能模块结构图系统功能模块结构图青海大学课程试题库系统系统管理题库管理试卷生成帮助和关于用户管理密码管理题型设置试题更新维护自动生成试卷手动生成试卷系统关于系统帮助青海大学本科毕业设计:青海大学课程试题库系统分析与设计10财经学院管理科学与工程系下面对各功能结构模块进行较详细的分析。(1)系统管理结构模块该模块包括用户管理模块和用户密码管理模块。系统启动时调用此模块,

31、要求用户先进行登陆。登陆功能模块如图 3-2 所示。图图 3-2 登陆模块功能结构图登陆模块功能结构图(2)试卷生成管理模块试卷生成管理模块主要包括如下子模块:手动生成试卷模块:显示生成试卷,保存试卷功能5。自动生成试卷模块:显示生成试卷,预览试卷,预览答案,保存试卷功能6。详细的试卷生成管理功能模块如图 3-3 所示。5夏超文,徐滕岗,钱杨.工程图学试题库系统设计与实现J.东华大学学报(自然科学版),2006.6刘丽平,王文杰,郭世宁.计算机自适应考试(CAT)系统题库的设计与实现J.计算机系统应用,2006.用户管理系统管理管理员教师密码管理题型设置题库更新维护自动生成试卷手动生成试卷试卷

32、生成模块手动生成试卷自动生成试卷试卷设置单题预览试卷答案预览保存输出试卷试卷设置试卷答案预览保存输出试卷3 系统设计财经学院管理科学与工程系 11图图 3-3 试卷生成管理模块结构图试卷生成管理模块结构图 (3) 系统帮助模块该功能模块主要包括系统帮助模块和系统关于模块。系统帮助模块结构如图 3-4 所示。 系统帮助系统关于帮助图图 3-4 系统帮助模块功能图系统帮助模块功能图3.2 数据库设计数据库设计是在选定的数据库管理系统基础上建立数据库的过程。青海大学本科毕业设计:青海大学课程试题库系统分析与设计12财经学院管理科学与工程系3.2.1 实体 E-R 图本系统所涉及到的实体有:用户实体、

33、试题实体、试卷实体,各个实体具体的描述及各实体之间关系如图 3-5、图 3-6、图 3-7、图 3-8、图 3-9 所示。图图 3-5 教师实体图教师实体图图图 3-6 试卷实体图试卷实体图 图图 3-7 管理员实体图管理员实体图图图 3-8 试题实体图试题实体图试题题干答案课程章节难度图片类型选择题号试卷科目试卷名试卷科目试卷名教师用户名密码姓名教工号状态管理员用户名密码姓名教工号3 系统设计财经学院管理科学与工程系 13图图 3-9 各实体间的各实体间的 E-R 图图 3.2.2 数据库的存储结构本系统采用 SQL Server 2005 数据库,系统数据库名为 MySchool,数据库

34、MySchool 中包括5 个数据表。(1) 用户表 Admin,主要用来存储系统管理员的相关信息,表结构如表 3-1:组卷MN编辑N教师用户名密码姓名教工号状态1管理员用户名密码姓名教工号管理1N1试题题干答案课程章节难度图片类型题号选择青海大学本科毕业设计:青海大学课程试题库系统分析与设计14财经学院管理科学与工程系表表 3-1 Admin 表表 字段名数据类型长度是否主键功能描述UserNamenchar50是用户姓名UserPwdnchar50登录密码Namenchar50用户姓名UserIDint12教工号(2) 用户表 Teacher,主要用来存储教师用户的信息,表结构如表 3-2

35、:表表 3-2 Teacher 表表字段名数据类型长度是否主键功能描述UserNamenchar50是用户姓名UserPwdnchar50登录密码Namenchar50用户姓名UserIDint12教工号UserStatebit1用户状态(3) 试题表 Question,主要用来存储题库中的试题,表结构如表 3-3:表表 3-3 Question 表表字段名数据类型长度是否主键功能描述QuestionIDint8是题号QuestionBodynchar300题干Answernchar300答案与解释Objectnchar50课程名Chapternchar50章节ImgPathnchar100图

36、片路径Difficultint4难度系数Typenchar50试题类型Choicebit1是否被选(4) 题型表 Type,用来存储动态生成试题类型,表结构如表 3-4:表表 3-4 Type 表表字段名数据类型长度是否主键功能描述TypeNamenvarchar50是动态试题类型3 系统设计财经学院管理科学与工程系 15(5) 课程表 Object,用来存储课程相关信息,表结构如表 3-5:表表 3-5 Object 表表字段名数据类型长度是否主键功能描述ObjectNamenvarchar50是试题章节3.3 组卷算法3.3.1 现有算法分析自动组卷是课程试题库系统自动化或半自动化操作的核

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

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

39、题的区域内反复选题,进行大量的无效操作进入死循环,最终导致组卷失败。回溯试探法组卷成功率高,但它是以牺牲大量的时间为代价的,由于本软件只是个小型的考试组卷系统,结构简单,出题量也较少,所以本系统选择相对简单,组卷成功率较好的回溯试探法进行组卷8。3.3.2 回溯试探法的应用回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试9。用回溯算法解决问题的一般步骤为: 7马洪宽,张华隆.概率论与数理统计M. 上海:上海交通大学出版社,2005.08.8李继武.Visual C#.NET 项目开发实践M.清华大学出版社,200

40、7 9邓晓红. 管理信息系统实验指导与课程设计M.北京:机械工业出版社,2006.青海大学本科毕业设计:青海大学课程试题库系统分析与设计16财经学院管理科学与工程系1、 定义一个解空间,它包含问题的解;2、 利用适于搜索的方法组织解空间;3、 利用深度优先法搜索解空间;4、 利用限界函数避免移动到不可能产生解的子空间。 问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性。 回溯法是一个既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根结点出发搜索解空间树。算法搜索至解空间树的任一结点时,总是先判断该结点是否肯定不包含问题的

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

42、果各题型分值之和等于用户设置的试卷总分数,则产生一个有效解,系统生成一份试卷,试题的题型,编号,分值等信息储存进试题库表中。通过系统的预览试卷功能,系统通过所存信息搜索数据库,获取试题内容,并输入Word 文档中组成一份完整试卷。3.4 试卷自动生成设计自动组卷是时系统根据用户要求,随机选取试题,组成一份完整的试卷。本系统使用的是回溯探取法随机选题。其主要过程如下:(1) 用户输入选题要求,如各题型数量,题型分值和题型难度,并设置试卷总分数(2) 初始化随机数生成器。 (3) 系统根据题型数量和题型难度要求在 Question 表中随机抽取试题,并将已经抽取过的试题 Choice 属性值修改为

43、 True,为试题的输出作为标记。 (4) 设置试卷模板。(5) 预览试卷,系统根据数据库表 Question 中信息搜索题库试题内容,并按设置好的试卷模板导入 Word 中,生成一份完整的试卷,并以*.doc 文件的形式保存。自动生成试卷的流程如图 3-10 所示10王福成.数据库开发指南M.北京:清华大学出版社,2008.3 系统设计财经学院管理科学与工程系 17YYN输入试卷信息自动生成试题试卷生成失败预览试卷保存试卷保存答案自动选择试题程序开始程序结束图图 3-10 自动生成试卷流程图自动生成试卷流程图 3.5 试卷手动生成设计由于自动生成的试卷,对于试卷知识覆盖面的问题不好控制,为了

44、解决这个问题,本软件增加了另一种组卷方式,也就是手动生成试卷11。此组卷方式的优点在于,系统将各题型的试题具体的细分到了此科目的具体章节和知识点。用户可以根据具体章节和知识点浏览此知识点下的各试题,并可以选择加入试卷,组成一份知识覆盖面广的试卷12。其主要组卷过程如下:(1) 用户选择试题题型,题型分值,试题数量和知识点,并设置试卷总分值,系统根据用户选择的题型和知识点显示所有试题。(2) 用户选择试题,用户在 DateGridView 中浏览选择所需要的试题,并在 checkbox 中标记所有选择的试题,单击保存即可标识出所选择的一个题型中的所有题目,然后依次选择其他题型并保存。11李云.V

45、isual C# 程序设计教材M.清华大学出版社,2009.12夏超文,徐滕岗,钱杨.工程图学试题库系统设计与实现J.东华大学学报(自然科学版),2006. 青海大学本科毕业设计:青海大学课程试题库系统分析与设计18财经学院管理科学与工程系(3) 设置试卷模板,并浏览修改相应格式。(4) 生成试卷,系统根据数据库表 Question 中已标记题库试题内容,并按设置好的试卷模板导入 Word 中,生成一份完整的试卷,并以*.doc 文件的形式保存。手动生成试卷的流程如图 3-11 所示。YN手动选择试题生成试卷失败手动生成试题预览试卷保存试卷输入试卷信息程序开始程序结束图图 3-11 手动生成试

46、卷流程手动生成试卷流程4 系统实现财经学院管理科学与工程系 194 系统实现本系统是一个题库与试卷生成管理系统,重点在于题库管理和试题组卷,主要是对关于试卷生成的实现的说明。本系统包括题库更新与维护,自动生成试卷和手动生成试卷三大功能。4.1 登录模块设计本系统的主要用户有两类,系统管理员和教师用户,其中系统管理员有用户管理权限和其他所有系统功能。教师用户的主要功能是试题的录入修改维护、题库和题型设置、手动或自动出题、试题的输出、自身密码管理等。用户登录时需输入合法用户名、密码及相应用户类型。界面如图 4-1:图图 4-1 登录模块登录模块登陆模块设计代码如下:namespace MyScho

47、ol public partial class LoginForm : Form public LoginForm() InitializeComponent(); private void btnLogin_Click(object sender, EventArgs e) bool isValidateUser = false; string message = ; if (ValidateInput() isValidateUser = ValidateUser(cboUserType.Text, txtLoginId.Text, txtPwd.Text, ref message); i

48、f (isValidateUser) UserHelper.loginId = txtLoginId.Text; UserHelper.loginType = cboUserType.Text;青海大学本科毕业设计:青海大学课程试题库系统分析与设计20财经学院管理科学与工程系 ShowUserForm(); this.Visible = false; else MessageBox.Show(message, 登陆失败, MessageBoxButtons.OK, MessageBoxIcon.Error); private void btnCancel_Click(object sender

49、, EventArgs e) Application.Exit(); private bool ValidateInput() if (txtLoginId.Text.Trim() = ) MessageBox.Show(请输入用户名, 输入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtLoginId.Focus(); return false; else return true; public void ShowUserForm() AdminForm adminForm = new AdminForm(); switch

50、 (cboUserType.Text) case 管理员: adminForm = new AdminForm(); adminForm.toolStripButton5.Visible = false; adminForm.toolStripSeparator3.Visible = false; adminForm.Show(); break ; case 教师: adminForm = new AdminForm(); adminForm.用户管理ToolStripMenuItem.Enabled = false; adminForm.toolStripDropDownButton1.En

51、abled = false; adminForm.slblAdmin.Text = 教师用户-; adminForm.Text = 题库与试卷生成系统-教师窗口; adminForm.Show(); break ; 4 系统实现财经学院管理科学与工程系 214.2 系统主界面设计系统的主界面是工作的主要区域,在这里有系统的所有功能的控制面板。其中主要的功能模块有用户管理、题库设置、题型设置、试卷管理、试卷生成、密码管理等。其中用户管理只有在管理员用户登录时可用,教师用户可以由初始密码登录,然后再自行修改密码。管理员可以修改教师用户的权限和相应资料,但是无权修改教师用户密码。系统界面见图 4-2

52、:图图 4-2 系统主界面系统主界面模块设计代码如下: private void tsmiExit_Click(object sender, EventArgs e) DialogResult result = MessageBox.Show(确认退出,提示,MessageBoxButtons.OKCancel,MessageBoxIcon.Information); if (result = DialogResult.OK) Application.Exit(); private void tmsiNewStudent_Click(object sender, EventArgs e) Ad

53、dUserForm addUserForm = new AddUserForm(); addUserForm.MdiParent = this; addUserForm.Show(); private void tsmoAboutUs_Click(object sender, EventArgs e) AboutForm aboutForm = new AboutForm() ; aboutForm.ShowDialog(); aboutForm.timer1.Enabled = true; private void 题库设置ToolStripMenuItem_Click(object sen

54、der, EventArgs e) TypeSet typeSet = new TypeSet(); typeSet.MdiParent = this; typeSet.Show();青海大学本科毕业设计:青海大学课程试题库系统分析与设计22财经学院管理科学与工程系4.3 用户管理模块设计用户管理功能有管理员和教师用户的添加修改,教师用户状态的修改,查看全部用户列表。图图 4-3 查找教师用户查找教师用户模块设计代码如下:namespace MySchoolpublic partial class SearchStudentForm public SearchStudentForm() Ini

55、tializeComponent(); private void btnSearch_Click(object sender, EventArgs e) if (txtLoginId.Text = ) MessageBox.Show(请输入用户名!, 输入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtLoginId.Focus(); else FillListView(); private void FillListView() string loginId; string TeacherName; string Teach

56、erNO; string userStateId; try string SQL = string.Format(select LoginId,TeacherName,TeacherNO,UserStateId from Teacher where LoginId like 4 系统实现财经学院管理科学与工程系 23%0%,txtLoginId.Text); SqlCommand cmd = new SqlCommand(SQL, DBHn); SqlDataReader dataReader; DBHn.Open(); dataReader=cmd.ExecuteReader(); lvSt

57、udent.Items.Clear(); if (! dataReader.HasRows) MessageBox.Show(抱歉,没有找到用户, 查找提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtLoginId.Focus(); 4.4 题库和题型设置模块该部分有题库的总体结构课程等的设置和自定义题型,在题库设置我们可以管理课程和章节,这里删除课程可以将题库中全部改课程删除,在题型设置里我们可以动态添加一些新的富有创新的题型使得试卷形式和内容丰富多彩。题库设置模块主要实现课程及课程所对应的章节的添加、删除。图图 4-4 题

58、库设置界面题库设置界面模块设计代码如下:namespace MySchool public partial class TypeSet : Form public TypeSet() InitializeComponent(); public string table; private void TypeSet_Load(object sender, EventArgs e) string tabel = 课程; string col = 课程名;青海大学本科毕业设计:青海大学课程试题库系统分析与设计24财经学院管理科学与工程系 TreeviewControl.init(tvwTypeSet,

59、 KeCheng, 课程); tvwTypeSet.ExpandAll(); TreeviewControl.FillListBox(livKeCheng, tabel, col); private void livKeCheng_SelectedIndexChanged(object sender, EventArgs e) try if (livKeCheng.SelectedItems.Count != 0) table = livKeCheng.SelectedItems0.Text.Trim(); string tabell = livKeCheng.SelectedItems0.T

60、ext; string coll = 章节名; TreeviewControl.FillListBox(livZhangJie, tabell, coll); else return; catch (Exception ex) MessageBox.Show(出现错误 + ex.Message, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); finally 题型设置模块是实现题库里试题类型的添加、删除图图 4-5 题型设置界面题型设置界面4 系统实现财经学院管理科学与工程系 25模块设计代码如下:namespace MySchoo

温馨提示

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

评论

0/150

提交评论