基于JSP的考试题库管理系统的设计与实现毕业论文(21页).doc
《基于JSP的考试题库管理系统的设计与实现毕业论文(21页).doc》由会员分享,可在线阅读,更多相关《基于JSP的考试题库管理系统的设计与实现毕业论文(21页).doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-基于JSP的考试题库管理系统的设计与实现毕业论文-第 17 页目 录基于JSP的考试题库管理系统的设计与实现学生姓名: 指导教师: 摘要:随着计算机技术和人工智能理论的发展,教育测量理论的不断深入,计算机辅助教学设计在教学管理中得到了广泛的应用,利用计算机进行自动组卷系统的研究也随之产生和发展。基于遗传算法的自动组卷系统是利用遗传算法对自动组卷功能进行研究,以提高试卷的质量及系统运行效率。本系统可以在试题库中按照试题类型、试题数量、曝光度等约束条件进行快速搜索,系统通过选择、交叉和变异等操作,从试题库中自动地查找和组织出一些不同类型、不同难度、不同章节范围的试题来组成一套最佳的试卷,实现了快
2、速自动组卷功能。本设计是在对组卷系统研究、开发过程中,采用软件工程的方法,利用JSP动态网页技术和Oracle数据库技术进行实现。设计界面友好、操作方便,具有一定的实用价值。关键词:遗传算法 自动组卷 试题管理1. 引言在现代教育管理过程中,如何提高组卷的效率是一件非常重要的工作。考试是对考生知识和能力水平的一种测量。考试的方式有很多种,例如,笔试、面试、口试、上机考试等。其中笔试是我国教育行业采用的主要手段,因此,质量好的试卷能更好的检验学生的学习成果。一份好的试卷,要求具有较全面的覆盖度、恰当的难易度及较高的可信度。采用传统的手工出题组卷方式,工作量相对比较大。通过建立自动组卷系统,利用平
3、时积累建立试题库,然后利用计算机生成试卷和分析试卷,可以减轻学校教学人员的工作量,实现试卷生成、分析试卷的系统化、规范化和自动化。自动化组卷问题实质上是一个多重约束条件的优化问题。目前通用的组卷方法是随机选取法,即在题库中随机搜索满足条件的试题,直到总数满足要求为止。但由于各种组卷约束条件之间相互制约,随机选取法不仅需要多次回溯,而且组卷效率不高。而用遗传算法处理组卷问题就恰恰能解决随机选取法的盲目随机性,提高搜索效率。遗传算法,在本质上是一种不依赖具体问题的直接搜索方法。它是模拟自然界生物体从低级到高级的进化过程,由初始种群出发,采用优胜劣汰、适者生存的自然法则选择个体,通过杂交、变异来产生
4、下一代种群,如此逐代进化,直到满足期望的条件。正是由于遗传算法具有随机性、适应性和并行性的特点,所以基于遗传算法的自动组卷系统可按照试题类型、试题数量、曝光度等约束条件进行快速搜索,通过选择、交叉和变异等操作,从试题库中自动地查找和组织出一些不同类型、不同难度、不同章节范围的试题来组成一份最佳的试卷,进而解决了在教学过程中组卷耗时长、试题质量低等问题,实现了快速自动组卷,为教学单位和人员提供方便和帮助。2. 绪论2.1自动组卷系统的现状随着计算机辅助教学研究的发展,利用计算机自动组卷将解决试卷质量的控制问题。所谓自动组卷就是按照命题人和教学大纲的要求,由计算机自动从试题库中选择试题,组成一份符
5、合要求的试卷。它是计算机辅助教学系统的重要组成部分。现有的考试系统有多种组卷算法。常见的有随机组卷法、回溯试探组卷法和遗传算法组卷等。随机组卷法是根据组卷状态的控制指标,由计算机同随机抽取一道符合控制指标的试题放入组卷库,此过程需不断重复,直到组卷完毕或已无法从题库中抽取满足控制指标的试题为止。该方法具有组卷直观,实现过程简单等优点,但是具有很大的随意性和不确定性,无法从整体上把握题库不断变化的要求。同时,它还不具有智能性,在组卷之前无法对组卷约束条件进行预处理,生成试卷合理性较差,试卷维度系数也很难控制。回溯试探法是将随机抽取法产生的每一状态类型记录下来,当搜索失败时释放上次记录的状态的类型
6、。然后再按照一定的规律变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生成完毕或退回到出发点为止。实践证明,回溯试探组卷法的优点是对每一种状态都进行试探各搜索,组卷成功率较高,该方法适用于类型和出题量都比较小的题库系统。不足之处在于当组卷试题库中的题量较大时,不仅组卷等待时间长、组卷效率低,并且实际应用时程序结构也相对复杂,选取试题随机性差。遗传算法是一种模拟自然选择和自然遗传机制的随机优化算法,它能根据不同环境产生不同的后代,具有动态性,自适应性,从而满足题库不断变化的需求。遗传算法同时具有内在的并行性,能有效地解决计算量大的问题,具有全局寻优和收敛速度快的特点,这些都适宜处理试题库
7、自动组卷的问题。目前,基于遗传算法的组卷系统中有一些采用传统二进制编码方法,组卷时间受试题库试题问题影响较大。进行交叉和变异的过程中,容易形成不满足试题数量约束的试卷非法解。如对其进行修正,将大大影响搜索效率;同时,二进制编码与试题号的转换,会占用系统运行的时间。本系统在成卷方式上采用的是十进制整数编码并增加多种约束机制,克服了上述缺点,提高了组卷的成功率和成卷速度。2.2系统开发目标在开发自动组卷系统的过程中,要开发出一个优秀的系统,应当解决以下几个问题:(1)系统的安全性,即用户的合法登录与身份验证。(2)数据的合法性,即试题、试卷在录入和编辑的过程中是否合法。(3)数据的一致性,即试题信
8、息和章节信息在录入的编辑的过程中题号与其它各项是否保持一致。(4)数据的完整性,即试题信息在录入和编辑的过程中是否完整。(5)生成的试卷必须符合需求的题型、题量。(6)试卷难易度、章节覆盖度和曝光度的控制,即题目难易程度的区分、各章节轻重之分和自动生成的试卷与往年试卷的相似率这三项参数指标必须与目标参数指标的误差尽可能小。总之,本系统是旨在实现满足上述要求的自动组卷系统。2.3系统运行环境为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置。此应用程序可广泛运行于互联网,也可适用于内部的局域网。其运行要求如下:(1)开发环境操作系统:Microsoft Windows 7开发语言
9、:Java开发工具:MyEclipse 8.6数据库:Oracle 10g(2)硬件配置CPU:AMD Athlon XP,1000 MHz (5 x 200)(服务器)内存:512MB或以上(服务器)硬盘:20GB以上(服务器)3. 系统分析该系统先进行了可行性的研究概述,接着进行了可行性的分析。在此基础上提出需求分析。3.1可行性分析可行性研究的目的不是解决问题,而是确定问题是否能够解决。对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功。(1)技术可行性本系统是一个基于Java平台,使用Oracle数据库的系统,开发软件较为简单,采用MyEclip
10、se8.6。目前,国内的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件均良好,利用现有技术条件完全可以达到该系统的功能目标。(2)经济可行性经济可行性即成本效益分析。它要评估项目的开发成本,估算开发成本是否会超过项目预期的全部预算。本系统的开发是基于本人对程序开发的实践学习而来,学校无需资金投入,并且软件开发投入的成本不高,因此开发经费完全可以接受。(3)操作可行性基于遗传算法的自动组卷系统采用B/S结构,具有跨平台性、高度可扩展性、可重用性和可维护性。用户界面友好,对操作人员的专业要求低,操作人员可以通过界面轻松的对题库和试卷进行操作。对于用户使用方便简易,具有比较短的响应时间。由
11、以上分析可知,本系统具有技术可行性、经济可行性和操作可性,因此可以进行相关开发工作。3.2需求分析3.2.1 需求分析概述需求分析是开发人员通过准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转化到相应的形式功能规约(需求规格说明)的过程。需求分析虽处于软件开发过程的初期阶段,但它对于整个软件开发过程以及软件产品质量是至关重要的。随着软件系统复杂性的提高及规模的扩大,需求分析在软件开发中的所处的地位愈加突出,从而也愈加困难。软件工程理论认为,在软件生命周期中,需求分析是最重要的一个阶段。软件需求分析的质量对软件开发的影响是深远的、全局性的,高质量
12、的需求对软件开发往往起到事半功倍的效果,而如果在后续阶段改正需求分析阶段产生的错误将会付出高昂的代价。正所谓“磨刀不误砍柴功”。项目的需求分析如果做得好,那项目就相当于做完了一半,好的需求分析会为项目的顺利开发奠定基础,减少大量开发成本,减小开发风险。3.2.2系统需求分析如前所述,组卷工作是一个教育单位考试工作中不可缺少的部分。它对于学校的教师和教务管理者来说都至关重要。一直以来,人们都是采用传统人工的方式组卷,这种组卷方式存在着许多缺点。如:效率低、保密性差等。另外时间一长,将产生大量的文件和数据,这会为查找、更新和维护都带来困难。显然,传统方式和试卷管理手段已经难以满足现在的教育日新月异
13、的发展。组卷系统不仅仅是对其题库试卷的管理,还要求对试卷进行分析统计。包括:试题的所属范围、试题的难易程度等等。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对试卷进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,这些优点都能够极大地提高组卷的效率。4. 系统设计4.1 总体设计经过需求分析阶段的工作,系统必须“做什么”已经清楚了。现在是决定“怎样做”的时候了。总体设计的基本目的就是回答“概括地说,系统应该如何实现?”
14、这个问题。因此,总体设计又称为概要设计或初步设计。通过这个阶段的工作将划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等等。但是,每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。而总体设计阶段的另一项重要任务就是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。总体设计过程首先要寻找实现目标系统的各种不同方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。然后分析员从这些供选择的方案中选取若干合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划
15、。分析员应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。如果用户和使用部门的负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软件结构。通常,设计出初步的软件结构后还要多方改进,从而得到更合理的结构,进行必要的数据库设计,确定测试要求并且制定测试计划。从上面的叙述中不难看出,在详细设计之前先进行总体设计的必要性。既可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,又可以从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。4.2系统模块设计本系统由题库管理、试卷管理两大模块构成,其中题库管理模
16、块提供题型管理、题库管理、章节管理、知识点管理和试题管理5个功能,而试卷管理包括自动组卷、预览试卷、导出试卷和分析试卷4个功能。本系统的功能模块图如图4-2-1所示。图4-2-1 题库管理系统功能模块图各个模的主要功能块如下:(1)系统登录模块此模块的主要功能是显示用户登录窗口,输入用户名和密码,检查用户的合法性,如果合法则登录成功,否则登录失败。(2)数据库连接模块在系统开发的过程中,大多数地方都涉及到数据库的存取。在应用数据库之前,系统需要建立数据库连接、设定各种参数以及处理数据库连接中可以出现的错误。并由数据库连接模块对所有关于数据库的操作进行封装,这样在进行程序编写的时候,就可以通过简
17、单的引用数据库连接模块来连接数据库了。(3)试卷管理模块试卷管理模块是本系统的主要功能。它分为自动组卷、预览试卷、导出试卷、分析试卷4个子功能。其中,自动组卷,就是根据用户需求自动生成一份符合要求的试卷。预览试卷,是实现对试卷的查看。导出试卷,即是实现把已经生成试卷写入word文档。而分析试卷,则是任选取2套现有试卷分析试卷组成、重复试题等信息。(4)题库管理模块此模块的主要功能是实现对试题库的增、删、查、改操作。它分为试题管理、科目管理、章节管理、知识点管理、题型管理五个子功能。4.3系统数据库设计数据库设计的好与坏对系统的稳定性、可维护性以及代码的实现起着决定性的作用。本系统的数据库是用O
18、racle实现的,能稳定运行在实际应用中,具有很高的可维护性以及可操作性。本系统的核心数据库设计图如图4-3-1所示。图4-3-1 题库管理系统数据库设计图4.3.1系统表结构本系统核心表有8个,分别为题型表(Types)、科目表(Subject)、章节表(Charpter)、知识点表(Knowledge)、试题表(Questions)、答案表(Answers)、试卷表(Testbase)、试题试卷关系表(Ques_r_test)。各表的具体结构如下:(1)题型表题型表主要是保存题库中各种题型的编号及名称,供建立题库、查询及组卷时选择题型时使用。各字段的数据类型及含义如表4-3-1-1所示。表
19、4-3-1-1 题型表(Types)字段名字段类型字段长度可空字段说明T_IDnumber3N题型ID,主键T_NAMEVarchar240N题型名称(2)科目表科目表主要是保存题库的编号及名称,表中每一条记录对应一个题库。各字段的数据类型及含义如表4-3-1-2所示。表4-3-1-2 科目表(Subject)字段名字段类型字段长度可空字段说明S_IDnumber3N科目ID,主键S_NAMEVarchar240N科目名称(3)章节表章节表记录了每一门课程的章节信息,主要用于保存章节编号和章节名称。其中题库编号(S_ID)为外键,参照题库表。各字段的数据类型及含义如表4-3-1-3所示。表4-
20、3-1-3 章节表(Charpter)字段名字段类型字段长度可空字段说明C_IDnumber3N章节ID,主键C_NAMEVarchar2100N章节名称S_IDnumber3N科目编号,外键(S_ID)(4)知识点表知识点表主要是保存知识点编号、名称及对应的章节编号。其中章节编号(C_ID)为外键,参照章节表。各字段的数据类型及含义如表4-3-1-4所示。表4-3-1-4 知识点表(Knowledge)字段名字段类型字段长度可空字段说明K_IDnumber3N知识点ID,主键K_NAMEvarchar2100N知识点名称C_IDnumber3N章节编号,外键(C_ID)(5)试题表试题表会记
21、录每一道题的详细信息。包括用于自动组卷的几个参数:试题编号、科目编号、题型编号、章节编号、知识点编号、试题难度、曝光度。其中科目编号、题型编号、章节编号和知识点编号为外键,分别参照科目表、题型表、章节表和知识点表。各字段的数据类型及含义如表4-3-1-5所示。表4-3-1-5 试题表(Questions)字段名字段类型字段长度可空字段说明Q_IDnumber7N试题ID,主键S_IDnumber3N科目ID,外键(S_ID)Q_TYPEnumber3N题型ID,外键(T_ID)Q_CHARPERnumber3N章节ID,外键(C_ID)Q_KNOWLEDGEnumber3N知识点ID,外键(K
22、_ID)Q_TEXTvarchar23000N题目内容A_NUMnumber2N答案数量Q_DIFFICULTYnumber1N试题难度(1.易2.中等3.较难)Q_EXPOSEDdateY曝光度Q_SCOREvarchar2255N试题分数REMARKnumber3N试题标记(6)答案表答案表记录试题的答案信息。主要保存答案编号、答案内容、是否为正确答案以及对应试题编号。其中试题编号为外键,参照试题表。各字段的数据类型及含义如表4-3-1-6所示。表4-3-1-6 答案表(Answers)字段名字段类型字段长度可空字段说明A_IDnumber7N答案ID,主键Q_IDnumber7N试题编号
23、,外键(Q_ID)ANSWERvarchar23000N答案RIGHTnumber1Y是否正确(0 错1对)(7)试卷表试卷表会记录每一张试卷的信息概要,表中的每一条记录对应一张试卷。保存试卷编号、名称和科目编号。其中科目编号为外键,参照题库表。各字段的数据类型及含义如表4-3-1-7所示。表4-3-1-7 试卷表(Testbase)字段名字段类型字段长度可空字段说明TP_IDnumber5N试卷ID,主键S_IDnumber3N科目ID,外键(S_ID)TP_NAMEvarchar2200N试卷名称(8)试题试卷关系表试卷关系表主要是保存关系编号、试题编号和试卷编号。主要用于连接试题表(表4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JSP 考试 题库 管理 系统 设计 实现 毕业论文 21
限制150内