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