题库型考试自动组卷系统数据库设计.docx
《题库型考试自动组卷系统数据库设计.docx》由会员分享,可在线阅读,更多相关《题库型考试自动组卷系统数据库设计.docx(38页珍藏版)》请在冰点文库上搜索。
题库型考试自动组卷系统数据库设计
辽东学院本科毕业论文(设计)
题库型考试自动组卷系统的设计与实现
TheDesignandImplementationofAuto-GeneratingExaminationPaperabouttheItemBankTypeExamination
学生姓名:
艾萍
学院:
信息技术学院
专业:
信息管理与信息系统
班级:
B0601
学号:
0911060101
指导教师:
陈志勇
审阅教师:
完成日期:
2010年5月25日
辽东学院
EasternLiaoningUniversity
独创性说明
作者郑重声明:
本毕业论文(设计)是我个人在指导教师指导下进行的研究工作及取得研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,毕业论文(设计)中不包含其他人已经发表或撰写的研究成果,也不包含为获得辽东学院或其他单位的学位或证书所使用过的材料。
与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。
作者签名:
___________日期:
____
摘要
组卷考试在计算机网络下完成,可以大大提高考试工作的效率和质量。
项目采用VisualStudio2005开发平台和SQLServer2005数据库技术,依据面向对象的分析方法,开发出了基于C/S模式的题库型考试自动组卷系统。
本文从题库型考试自动组卷系统在考试中发挥的作用出发,详细阐述了一个功能较完善的组卷系统的服务器端和客户端开发过程。
首先进行了项目概述,简单介绍了项目开发的背景及项目开发的意义;接下来是系统规划阶段,首先对项目开发的可行性进行了分析;在需求分析阶段,通过对实际考试的功能需求分析,得到了系统用例;系统设计阶段主要完成了开发模式的选择、功能模块的划分、动态图的绘制、类的设计、数据库的设计;系统实现阶段介绍系统主要功能的关键代码。
本系统的设计实施为题库型考试自动组卷系统的运行做基础,同时为组卷考试系统的开发提供一个参考模式,并进一步推动高校的校园信息化建设。
关键词:
题库;自动化;试卷;在线考试
TheDesignandImplementationofAuto-GeneratingExaminationPaperabouttheItemBankTypeExamination
Abstract
Themethodthatfinishesinthegeneratingexaminationbynetworkcangreatlyincreasetheefficiencyandquantityofexaminationwork.Accordingtotheobject-orientedanalysismethodthesystemusestheplatformofVisualStudio2005anddatabasetechniqueofSQLServer2005todevelopedtheauto-generatingexaminationpapersystemabouttheitembanktypeexaminationbasedonC/Smodel.
Thisthesisstartingfromthefunctionofauto-generatingexaminationpaperabouttheitembanktypeexaminationsystem,elaboratesindetailedlytheserverandclientdevelopmentofacompletefunctionalauto-generatingexaminationpapersystem.Proceedingfromthesummaryoftheproject,thisthesissimplyintroducsthebackgroundandthesignificanceofprojectdevelopment.Thenonthephaseofsystemplan,firstlyitanalyzesthefeasibilityofthesystem.Inthephaseofsystemanalysis,throughthefuctiondemandsanalysisoftherealexamination,itgainstheusecaseofthesystem.Onthephaseofsystemdesign,itmainlycompletesthepartitionoffunctionmodules,drawingsofdynamicviews,classesdesignanddatabasedesign.Thephaseofsystemimplementationdescribestheimprotentcodeofthemainfeatures.
Designandimplementationofthissystemisusedasthebasisforthemovementofauto-generatingexaminationpaperabouttheitembanktypeexaminationsystem,simultaneouslyprovidesareferencepatternforthedevelopmentofauto-generatingpaperandexaminationsystems,andfurtherimpelsthecampusinformationizationconstruction.
KeyWords:
Itembank;Autoimmunization;TestPaper;On-lineExamination
一、引言
(一)项目开发的背景
考试是检验教师的教与学生的学的重要手段,也是促进学生学习的重要手段,是教学过程中的一个重要环节[1]。
学生考试成绩的优劣,不但反映其对教学内容和应掌握知识的分析、理解、吸收、运用的能力,更反映教师对教学内容的把握和熟练程度。
目前,学校内及社会上存在各种考试,一般以教师人工出卷、传统纸质考试为主。
两者结合存在诸多局限:
第一,教师人工出卷方面:
教师命题时,在出题前需要查阅相关教材资料,凭借自己的教学经验出题。
这样对试卷中试题的难度不好把握,而且基础性试题与应用性试题比重、试题中教学内容覆盖率需要教师人工控制,教师工作量繁重。
第二,传统纸质考试方面:
学校采用传统纸质考试时,对于大规模考试试卷印刷费工费时,成本高,对纸张资源是一种浪费;对于教师、教室资源数量相对紧张的学校,到了考试密集期考场安排工作是繁琐又复杂的事情;考生答题时学生难免会相互抄袭,有失公平性。
随着计算机多媒体技术和网络技术的日益普及,特别是近年来Internet的高速发展,传统有纸化考试方式受到了前所未有的挑战,出现了一些基于网络环境的无纸化考试,主要分为B/S与C/S两种模式[2]。
B/S模式的计算机考试系统已经很成熟,主要是一些培训机构的远程专业性考试,如北大远程教育考试等,考生利用浏览器访问服务器进行考试,教师利用浏览器对试题库进行管理,管理员对考试进行管理。
C/S模式的考试系统运行在校园内部的局域网上,一般是为了解决人工出卷和纸质考试的弊端开发出的带有自动组卷、学生上机考试功能的系统。
这些系统的操作基本如下:
教师操作服务器端对题库、考试进行管理,学生登录客户端进行考试,管理员对基础数据、考试进行管理。
然而大部分学校机房的计算机数量有限,在期中期末等考试密集期无法提供足够的机器供学生上机进行考试,这些学校不能完全采用网络考试的方式,还是以纸质考试为主。
并且无论是C/S还是B/S模式的考试系统都无法对需要学生在答案中画图的试题进行考核,这种试题的考核也只能以纸质考试实现。
但是目前社会上存在的考试系统都只有自动组卷和在线考试功能并没有将试卷导出成纸质试卷的功能,也就无法解决以上两种情况的问题。
如果考试系统在自动组卷的基础上添加试卷导出的功能,这样就能解决教师人工出卷的弊端同时又能满足网络环境不足的学校进行纸质考试的需求。
最简便的方法是购买获得已经成功运行、成熟的在线考试系统,在其自动组卷功能的基础上添加试卷导出的功能。
但是成熟的系统费用必然高昂,并且如果编程人员的设计思路不清晰,代码中的注释说明不够多,后续添加功能的程序员很难看懂其设计思路、在其上添加试卷导出功能的难度可想而知。
为此,希望开发出一个带有试卷导出功能的网络考试系统,这样既能解决纸质考试为主学校的人工出卷弊端,也能满足有一定网络环境的学校进行在线考试的需求,还能实现对画图题的考核。
无论针对哪种需求,系统的主要功能是自动组卷并导出试卷和在线考试,而他们的基础都是对试题库的维护,因此题库型考试自动组卷系统的三大重点是题库管理、自动组卷并导出试卷、考试管理。
(二)项目开发的意义
通过上述分析,题库型考试自动组卷系统的运行应该实现试题管理、导出试卷、学生考试、教师批卷、成绩查询等全过程的网络化管理。
将教师出卷、排版、学生考试、教师评分等环节通过计算机进行管理,为教师、学生提供便利。
使考试管理工作更加自动化、科学化、规范化,方便教师对学生学习情况的掌握,也方便学校对考试工作进行监督、管理。
使教师从繁重的工作中解脱出来,将更多的精力投入到教学中去,最大限度地减少不必要的错误,提高学校考试管理的现代化水平。
题库型考试自动组卷系统的主要功能如下:
第一,题库管理方面:
利用计算机管理试题可以轻松查看每套试题的难度、所属章节;可以处理多种常见的考试题型,如单选题,多选题,填空题,判断题,问答题;添加、修改试题也可以做到操作简单,便于教师对试题进行管理。
第二,考试管理方面:
可以方便地对学生考试进行控制;能提供简单的组织考试的方式:
学生上机考试,上机练习;能批阅学生上机考试所做的答案并能查询成绩,满足实际考试的需求。
第三,自动组卷并导出试卷方面:
能方便且科学的从题库中抽出一套符合要求的试卷,可以设置试卷中的题型,题量,起始章节,结束章节,难度系数,即使题库中试题量很大也可以一键随机生成试卷,无需排版、随时打印,供传统纸式考试用。
传统考试模式、现有的考试系统与待开发的题库型考试自动系统在功能方面的对比如表1.1所示。
表1.1 三种考试方式的对比
轻松管理题库
题型全面
自动组卷
生成纸质试卷
传统考试模式
×
√
×
√
现有考试系统
√
×
√
×
欲开发的系统
√
√
√
√
教师人工组卷时通常把试题存放在word或者excel中,当试题量很大时,无论是查看试题,还是为试卷筛选试题都变得很困难,题库型考试自动组卷系统利用计算机管理题库,查看和筛选试题都变得非常方便。
现有的考试系统几乎都只是对选择题的考核,很少有主观题的考核方式,题库型考试自动组卷系统能满足5种题型的考核,更符合实际考试的需求。
简而言之,题库型考试自动组卷系统的运行会使整个考试过程变得简单,高效。
二、系统规划
系统规划是信息系统生命周期的第一阶段,这一阶段的主要目标是明确系统整个生命周期内的发展方向、系统规模和开发计划[3]。
通过上述对开发背景和意义的分析,现对系统的功能和开发的可行性进行分析。
可行性分析
可行性分析的任务是明确开发应用项目的必要性和可行性[4]。
在功能分析的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。
可行性研究主要集中在以下三个方面:
1.技术可行性
(1)系统的体系结构方面:
C/S(Client/Server)结构即大家熟知的客户机和服务器结构。
它建立在局域网上,面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用C/S结构适宜。
B/S(Browser/Server)结构即浏览器和服务器结构。
它建立在广域网上,面向的是不可知的用户群,对安全的控制能力相对弱。
目前社会上已经存在许多较成熟的在线考试系统:
C/S模式的有电子商务师考试系统;B/S模式的有南京航空航天大学采用JSP技术建立的网络考试系统[5]。
这说明开发题库型考试自动组卷系统无论哪种模式都是可以实现的。
但是针对考试要杜绝学生之间相互抄袭的实际需求:
如果系统开发采用B/S结构则安全性不好控制,学生进行在线考试时可以利用广域网互相传递答案;局域网的环境则相对封闭,采用建立在局域网上的C/S模式,与在客户端考试过程中为每位学生随机抽取不同的试题(难度可以控制在同一水平)相结合的方式,可以有效杜绝学生抄袭现象,考试就更能真实的反映学生的水平。
因此,系统体系结构采用C/S模式更符合需求。
(2)系统的开发环境方面:
上面已经提到的南京航空航天大学的网络考试系统是采用JSP技术实现的,另外利用VisualStudio.NET平台也可以成功开发出在线考试系统:
如长春大学的视障大学生语音考试系统就是利用VisualStudio2005开发平台开发出的C/S模式系统[6],并已成功运行一年;太原理工大学的自动考试系统是采用.NET技术开发出的B/S模式系统,并已成功运行一年[7]。
这说明开发题库型考试自动组卷系统采用JSP技术或者VisualStudio.NET开发平台都是可以实现的。
(3)系统使用的数据库方面:
目前流行的数据库有Oracle,MSSQLServer和Access等,其中Access多用于小型系统,MSSQLServer多用于大中型系统,Oracle多用于企业级大型系统。
下面以辽东学院作为研究对象,分析何种数据库能够支持题库型考试自动组卷系统的运行。
辽东学院下设16个二级学院,本科专业52个,高职专业44个,在校人数1.7万,每年录取新生5000人。
系统数据库中储存的基础数据如学院、专业、班级等信息可以忽略不计,数据库中数据量最大的就是学生信息和题库信息。
假设一个专业共有专业课30门,那么96个专业估计开设2900门专业课程。
其中每门课程的题库都有5种题型,假设一张试卷需要单选题20个,多选题10个,填空题5个,判断题5个,问答题5个,按照题库中题量是试卷题量的10倍来计算,一门课程的试题记录大约需要450条,2900门专业课大约要储存试题记录1,300,000条。
在考试过程中,首先假设一个学生正在考试,系统需要从1,300,000条试题记录中抽取出45道题供学生作答,但是如果有15个班的450人同时进行考试,系统就需要为这450个学生每人抽取出45道试题,也就是450*45=20250条试题记录,并且学生每做一道题,提交一次答案,450个学生在考试过程中不断的提交答案访问数据库,数据库的负荷相当大,这就需要数据库拥有很强大的处理能力。
显然Acess数据库不足以支持本系统,大、中型数据库库才能保证系统的成功运行。
2.经济可行性
经济可行性分析也叫投资/效益(支出/收益)分析,它是分析信息系统所需要的花费和项目开发成功之后所能带来的经济效益[8]。
(1)系统开发的支出方面:
第一,开发人员费用:
系统为本人的毕业设计,由指导教师辅导本人独自完成,因此不涉及开发人员的费用,人工无支出。
第二,硬件费用:
系统运行在学校机房的局域网中,机房设备满足本系统的运行,无需多余开销,硬件费用无支出。
第三,软件费用:
系统开发是为学校教学管理提供方便,并不会用于商业用途,因此可以采用微软提供的暂时免费的VisualStudio2005ExpressEdition与永久免费的SQLServer2005ExpressEdition(速成)版本。
VisualStudio2005ExpressEdition版本与收费版本相比缺少部分功能,如远程调试开发功能、与SQLServer的集成功能、支持移动设备等,但是本系统属于小规模系统,这些缺失功能并不影响本系统的开发。
SQLServer2005ExpressEdition免费版本与收费版本相比支持的内存比较小,同样不影响系统的开发。
本人可以网上申请使用免费版本的开发软件和数据库,软件费用无支出。
(2)系统开发的收益方面:
第一,有形收益:
系统具有学生在线考试功能,较传统的纸质考试节省大量的纸张费用。
第二,无形收益:
系统的试卷导出功能为教师人工出卷过程提供了便利,使教师从繁重的出卷工作中解脱出来,将更多的时间精力投入到教学中去,提高了学校考试管理工作的效率。
3.社会可行性
社会可行性研究是对系统投入使用后对社会可能带来的影响进行分析。
(1)法律方面的可行性:
系统为本人的毕业设计,由指导教师辅导本人独立完成,并不存在盗用他人系统的情况,不会侵犯他人的专利、版权。
系统的开发在法律方面是可行的。
(2)使用方面的可行性:
当今中国是高度信息化的社会,人们的生活已经离不开计算机。
高校学生几乎都要参加计算机等级考试,学生利用计算机进行考试并不会出现操作困难。
教师的工作娱乐也都离不开计算机,有一定的计算机操作经验和考试经验,利用计算机对试题库、考试等进行管理都不会造成太大困难。
因此只要系统的界面友好,操作简单,学生和教师都能够轻易熟悉系统并成功操作。
这样就保证了系统在使用方面的可行性。
综上所述,本系统的开发不论是从技术、经济、还是社会方面来考虑都是可行的。
三、系统需求分析
需求分析是系统开发的最重要阶段之一,在这里系统要决定“做什么”,也就是系统应该具有什么功能,是系统生存期中定义阶段的最后一个步骤,是作为整个系统开发的指南,软件开发人员必须根据需求分析上的功能要求进行开发[9]。
从这一阶段开始,通过面向对象分析方法对系统进行分析与设计,具体如下:
(一)系统主要功能
系统主要分为以下三个重点功能,题库管理、考试管理、自动组卷并导出试卷[10],其功能简要描述如下:
第一,对试题库进行管理:
利用计算机管理试题可以轻松查看每道试题的题目、答案、难度、所属章节等信息,其中难度与所属章节的状态设定为自动组卷的科学化奠定了基础;可以处理多种常见的考试题型,如单选题,多选题,填空题,判断题,问答题;能对不在考试过程的课程试题库进行添加、修改操作,以此保证不影响学生考试。
第二,自动组卷并导出试卷:
自动组卷功能应用在2个部分,分别是学生考试和试卷导出。
学生考试的自动组卷功能要保证为每个学生抽取出相同难度的不同试题,以此减少学生考试相互抄袭的现象;导出试卷的自动组卷功能分为2个步骤,先由系统自动生成试卷,然后教师对该试卷的试题做添加、删除操作,使最终生成的试卷更符合出卷人的意愿。
保存了的试卷无需排版、随时可以打印,以供传统纸质考试使用。
第三,进行考试管理:
可以对学生考试时间等进行控制;能提供简单的组织考试的方式:
学生上机考试,上机练习;能批阅学生上机考试所做的答案并能查询成绩,满足实际考试的需求。
综上所述,为使考试工作更加高效,使教师从繁重的考试工作中解脱出来,将更多的时间精力投入到教学中去,本系统的主要功能详细描述如下:
(1)题库管理功能:
教师对题库中的未考试的课程试题进行添加、修改、删除操作,题型包括单选题,多选题,填空题,判断题,问答题。
(2)试卷管理功能:
包括试卷设置功能和试卷打印功能。
试卷设置功能:
教师对所选课程的试卷信息进行设置,能够设置试卷的题型、题量、起始章节、结束章节、难中易题比重等,为随机自动组卷做准备;试卷打印功能:
教师能够看到系统按照试卷设置信息随机抽取的试题题,并手动对试卷中的试题进行添加、删除操作(但并不是对试题库中的试题做删除操作,仅删除试卷中的试题),保存试卷,随时打印。
(3)考试管理功能:
包括考试安排功能、考试纪事查询功能、教师评分功能。
考试安排功能:
考试安排用于对客户端学生考试的控制,教师或管理员能对考试安排信息进行添加、修改操作,考试安排信息包括考试时长、考试类型、考试状态等;考试纪事功能:
教师或管理员查看考试信息,包括学生在客户端考试的开始时间、结束时间等;教师评分功能:
教师对学生在客户端所作答案进行批阅,评分后上缴试卷,将学生的分数保存。
(4)考试功能:
学生登录客户端可以进行在线测试、自由练习。
在线测试功能:
系统按照服务器端设置的试卷信息随机生成试题,学生对试题进行作答。
系统保存学生的答案,教师在服务器端对该答案评分;系统保存学生考试的开始时间、结束时间、教师或管理员在服务器端查看学生考试纪事信息;上机练习功能:
学生上机练习过程中可以查看标准答案。
(5)查询管理功能:
教师可以通过学号查询学生成绩。
其他功能是管理员对基础数据的维护,包括学院信息、专业信息、班级信息、课程信息、学生信息、教师信息、班级选课信息,这里不做详细介绍。
(二)系统用例分析
UML是面向对象软件系统分析设计的标准建模语言[11],将UML语言与Microsoftvisio2003画图软件相结合对系统用例分析、进行需求描述能够非常清晰地表达本系统的需求。
1.识别参与者
通过对本系统的全面分析,本系统的用户主要分为:
管理员、教师和学生,如图3.1所示。
图3.1系统用户
管理员:
能对服务器端的基础数据进行维护,并能添加、修改考试安排信息、查看学生考试纪事信息。
教师:
能操作服务器端的部分功能,主要包括题库管理、试卷管理、考试管理。
学生:
登录客户端,进行考试、练习操作。
2.系统用例图
通过以上分析并且为了便于后续章节研究,在这里先画出系统总体用例图,如图3.2所示。
图3.2系统总体用例图
下面对系统的重点题库管理、试卷管理、考试管理分用例进行描述,进一步确定系统的功能需求:
(1)教师题库管理用例:
图3.3题库管理用例图
题库管理功能的用例描述如下表3.1至3.6所示:
表3.1 用例题库管理的描述
用例名称:
题库管理
参与者:
教师
简要说明:
教师用来对试题库进行维护的用例
前置条件:
教师成功登录服务器端并点击题库管理菜单项
基本事件流:
1.选择试题类型
2.教师对单选题库进行添加、修改操作
3.教师对多选题库进行添加、修改操作
4.教师对填空题库进行添加、修改操作
5.教师对判断题库进行添加、修改操作
6.教师对问答题库进行添加、修改操作
其他事件流:
教师对题库进行添加、修改操作时,未点击保存按钮,可以随时关闭窗体,题库信息不改变
异常事件流:
无
后置条件:
教师对题库进行了维护
表3.2 用例单选题管理的描述
用例名称:
单选题管理
参与者:
教师
简要说明:
教师对题库中的单选题进行添加、修改操作
前置条件:
教师成功登录服务器端点击题库管理菜单项,选择单选题
基本事件流:
1.选择课程名称
2.添加单选题
3.修改单选题
其他事件流:
教师添加、修改单选题时,点击保存按钮之前,题库不改变
异常事件流:
无
后置条件:
教师对题库中的单选题进行了维护
表3.3 用例多选题管理的描述
用例名称:
多选题管理
参与者:
教师
简要说明: