数据库试题目自动批改系统文档.docx
《数据库试题目自动批改系统文档.docx》由会员分享,可在线阅读,更多相关《数据库试题目自动批改系统文档.docx(21页珍藏版)》请在冰豆网上搜索。
![数据库试题目自动批改系统文档.docx](https://file1.bdocx.com/fileroot1/2023-4/2/e78e8e95-f102-4fbd-8c38-126812cbf53f/e78e8e95-f102-4fbd-8c38-126812cbf53f1.gif)
数据库试题目自动批改系统文档
论文题目数据库试题自动批改系统
姓名
学院
专业计算机网络技术
指导教师李四讲师
备注
2011年9月6日
数据库试题自动批改系统
——题库、考试子模块
作者姓名:
指导教师:
李四讲师
单位名称:
计算机科学与技术系
专业名称:
计算机网络技术
大连东软信息技术职业学院
2011年9月
DatabaseTestAutomaticMarkingSystem
byLiuXiaochen
Supervisor:
LecturerZhangSan
NortheasternUniversityNeusoftInstituteofInformation
September2011
毕业设计(论文)任务书
毕业设计(论文)题目:
数据库试题自动批改系统
设计(论文)的基本内容:
毕业设计(论文)专题部分:
题目:
设计或论文专题的基本内容:
学生接受毕业设计(论文)题目日期
第1周
指导教师签字:
2010年月日
数据库试题自动批改系统
摘要
随着计算机和网络技术的发展,计算机在各行各业都得到了广泛的应用。
在教学领域,计算机除被大量用于辅助教学以外,还被大量用于辅助测试中。
计算机辅助测试涉及各种技术,如随机抽题、自动组卷、自动批改等。
其中自动批改是难点技术之一,被广泛关注。
当然针对判断题、单选题、多选题、具有一个或多个确定答案的填空题的自动批改技术已相当成熟,被广泛应用到计算机应用能力考试、高考等大规模的考试中。
而诸如名词解释、简答题、论述题、SQL语句题等主观题,由于其自动批改涉及人工智能、模式识别和自然语言理解等方面的理论,所以至今仍没有出现通用的方法,对他们的批改还是靠人工。
但人工批改受很多主观因素的影响,使得批改过程标准不断变化,而利用计算机进行批改时,标准会始终保持一致,且批改速度快。
因此数据库试题自动批改系统的实现具有很重大的现实意义。
针对这种现状,本文设计并实现数据库试题自动批改系统,它可以帮助教师完成数据库学科的一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作。
所有的考试数据和其他数据需要使用数据库技术进行存储和管理,并且具有一定的安全性保障。
本文分以下几部分:
绪论,关键技术,系统分析,系统设计,系统实现,系统测试及结论。
绪论中简要说明了系统设计的目的、意义、范围、研究设想、方法、选题依据等;关键技术介绍了具体实现是需解决的一些技术;系统分析介绍了系统各模块的功能需求及开发环境;系统设计介绍了系统设计的指导思想,数据库设计,系统模块的设计。
系统实现包括环境配置、主要界面、程序的流程图、代码设计等;系统测试通过设计测试方案、测试用例实现对系统的全面测试;总的来说,阐述了基于Struts2.0框架,使用MySQL数据库,采用MVC设计模式完成数据库试题自动批改系统题库、考试子模块的分析、设计与实现。
关键词:
Struts2.0框架,MySQL,MVC
DatabaseTestAutomaticMarkingSystem
Abstract
Withthecomputerandnetworktechnology,computerindustrieshavebeenwidelyused.Inthefieldofteaching,computerassistedinstructionthanisusedextensivelyforother,wasalsousedextensivelyforsecondarytesting.ComputerAidedTestinvolvevarioustechniquessuchasrandomquestion,automaticgeneration,automaticmarking,etc..Ofcourse,forthejudgequestions,multiplechoice,multiplechoice,withoneormoreanswerstofillintheblanktodeterminetheautomaticmarkingtechnologyisquitematureandwidelyappliedtothecomputerskillstest,collegeentranceexamssuchaslarge-scale.Theinterpretationofsuchterms,shortanswers,essayquestions,SQLstatements,etc.Subjectivequestion,patternrecognitionandnaturallanguageunderstandingandotheraspectsofthetheory,andsothereisstillnogeneralmethodfortheircorrectingormanually.Therefore,thedatabasesystemtoachieveautomaticcorrectingpapershaveaverygreatpracticalsignificance.
Inviewofthissituation,thisarticlequestionsthedatabaseisdesignedandimplementedautomaticcorrectionsystem,whichcanhelpteacherstocompletethedatabaseasatestsubjecttitleofthedesign,examinationarrangements,testimplementation,testpapermarkingtoscorestatisticalsummaryofallthework.Allthetestdataandotherdataneedtousedatabasetechnologytostoreandmanage,andprotectthesafetyofcertain.
IntroductionThispaperpointsthefollowingsections,keytechnologies,systemanalysis,systemdesign,systemimplementation,systemtesting,theconclusionofsevenparts.Introductionbrieflydescribesthesystemdesignpurpose,accordingtoothertopics;systemdesignedforguidingthesystemdesign,databasedesign,systemmodules.Systemimplementation,themaininterface,processflowcharts,codeanddesign;Overall,thedescribedStruts2.0framework,usingtheMySQLdatabase,usingMVCdesignpatterntocompletethedatabaseautomaticallycorrectingsystemofquestionbankquestions,theanalysissub-moduletest,designandimplementation.
.
Keywords:
Struts2.0Framework,MySQL,MVC
第1章 绪论
现阶段,学校与社会上各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以传统的考试方式已经不能适应现代考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,且这些应用正逐步深入到千家万户。
人们迫切的要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公正、客观、更加激发学生的学习兴趣。
选择该题目的目的是利用计算机的准确性和高效性,来实现在线考试,在线批改。
同时针对题目的选择也有一个突破,多角度,多策略,多选择的出题方式,一改以往传统的固定出题模式,这样更加的灵活。
该系统就是为了更加方便、高效率的进行数据库测试及批改。
数据库试题自动批改系统是一个根据现有的考试系统的状况,没有达到的功能需求,进一步完善、提升数据库试题自动批改系统的功能而设计的系统。
希望该系统能够应用到学校的数据库课程中去,为老师和同学带来更多的方便。
1.1论文研究主要内容
数据库试题自动批改系统旨在实现考试的无纸化管理,对数据库考试可以通过互联网络或局域网进行,方便老师的管理,也方便了考生,我主要负责题库考试子模块,包括试题的管理,试题的添加,试题的删除,试题的修改,试题的查询;考试管理,答题基本信息设置,学生试题信息显示,学生试题的批改及打分并显示考试的结果信息。
本论文主要介绍了对数据库试题自动批改系统题库、考试子模块的分析、设计和开发的全过程,运用面向对象的分析与设计方法进行了详细说明并予以实现。
1.2国内外现状
国外很早就广泛的应用了客观题的自动批改系统,同时开始对主观题自动批改这个难题展开了广泛的研究,取得了一些成果,并开发出ProjectEssayGrade(PEG),LatentSemanticAnalysis(LSA),E-rater,其中有的已进入使用阶段,并取得了较好的批改效果。
国外对于主观题的自动批改技术的研究可以分为两大类:
一是对于任意文本答案即文章写作类的主观题的自动批改,一般采用抽取答案中的浅层结构信息或语义信息,根据学生的遣词造句情况给以得分,或设置若干可接受答案模板和不可接受答案模板,将学生的答案与模板进行匹配,根据两者的匹配程度计算出得分。
二是对简短文字的自动批改,一般是先将参考答案进行适应的表示,然后计算学生答案与参考答案之间的匹配程度给出得分。
国内对主观题自动批改技术的研究起步较晚,成熟的技术也不多,由于汉语不同于英语等欧式语言,没有形态时态的变化,词与词之间也没有天然的分隔标记,因此,对汉语的自然语言理解和处理面临更多困难。
目前已有的研究都是针对简单类主管题如填空题、简答题等的自动批改,且没有使用的系统出台。
这些研究主要有:
湘潭大学信息工程学院的李辉阳等研究了有限领域简述文字的自动判读问题,提出以基于关系的带权匹配技术实现简单论述正误的判定;南京大学计算机软件新技术国家重点实验室的高思丹等提出利用基于动态规划的语句相似度计算方法实现文字类主观题的自动批改;南京大学计算机软件新技术国家重点实验室的黄康等提出一种基于带权概念网络进行分层语义相似度计算的主观题自动批改方案。
国内的这些主观题自动批改实验系统为特定领域的特定类型题目的自动批改提供了一定的解决途径,达到了一定的批改效果,但是这些系统仍存在一些问题和不足之处。
对参考答案填写要求过高,出题者的任务过重;只能用于特定类型题目特定句式答案的自动批改;在进行语句相似度计算时,没有考虑到语句中各个单词在语句中所处位置以及所起作用,也没有考虑单词之间的顺序。
针对以上情况,在数据库这个特定领域设计并实现一套自动考试批改系统是非常有必要,也能够实现的。
第2章 关键技术介绍
2.1Struts2框架技术
Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。
2.1.1MVC简介
Struts2一个兼容Struts1和WebWork的MVC框架,既然,提到了MVC框架,就不得不对MVC框架做一个简单介绍,其实,Java目前出现的这些框架而言,其最终目的都是为了接触耦合,不论是Spring、Hibernate或MVC框架,目的都是为了接触耦合增加复用。
MVC接触的是View和Model间的耦合。
MVC包含三个基础部分:
Model、View和Controller,这三个部分以最小的耦合协同工作,以增加程序的可扩展性和可维护性。
各个部分的实现技术可以总结如下:
(1)Model:
JavaBean、EJB的EntityBean。
(2)View:
JSP、Struts的TagLib。
(3)Controller:
Struts的ActionServlet、Action。
第3章 系统分析
3.1框架概述
本系统采用Struts2框架和B/S结构,虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。
Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架WebWork基础上发展起来的,稳定性、性能等各方面都有很好的保证,而且吸收了Struts1和WebWork两者的优势。
Struts2是一个优雅的,可扩展的JAVAEEweb框架。
框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。
B/S结构即浏览器和服务器结构,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端实现,形成所谓B/S三层机构。
这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
3.2系统功能概述
数据库试题自动批改系统涉及到题库管理、试卷管理、考试管理、用户管理四个功能模块。
根据系统的实际需要和具体情况,能够实现系统的保密性及时性以及学生、老师和管理员对应不同的操作。
该系统在分析阶段,我们对整个系统中的不同身份的用户进行权限的分配,整个系统中的操作都是针对这三类用户进行的。
学生用户的权限是进行考试、试卷查询、分数查询等学生相关操作。
教师用户的权限是组卷、查询系统信息、考试信息的设置、题库的管理操作:
题目的添加、删除、修改、查询操作等。
管理员用户的权限是针对该系统的所有操作均可以进行。
我们将数据库试题自动批改系统分为两部分进行设计,一部分由我的搭档进行分析设计,模块是试卷管理和用户管理;另一部分有我进行分析设计,模块是题库管理和考试管理。
最终,我们共同合作努力完成该系统的功能实现。
3.2.1用户角色分配
。
表3.1系统用户角色分配
角色编号
角色名称
角色职责
数据库中对于的type
Role_1
学生(student)
在线考试、查询分数、查询个人信息
2
Role_2
教师(teacher)
组卷、设置考试信息、查询学生及个人信息
1
Role_3
管理员(admin)
题库管理、用户管理、试卷管理、考试管理
0
3.2.2模块功能描述
系统的模块功能描述这部分,我将对我所负责的题库管理模块和考试管理模块进行描述。
系统用户的用例图如图3.1所示。
图3.1系统用例图
(1)题库管理模块
题目添加功能
用户通过正确的用户名和密码登录系统,并且拥有对题目操作的权限,首先页面显示题目类型分类,选择想要添加的类型,显示对应类型的题目列表,选择添加,则显示添加题目的页面,需要输入题目的内容、选项、答案、难度级别、所属章节、分值、预计完成时间、添加时间、添加教师。
点击“添加”按钮,如果添加成功,页面将跳转到成功页面;如果添加失败,则提示“添加失败”信息,返回上一页。
题目修改功能
用户选择修改的题目,系统从数据库得出相应的该题目的相关信息,用户可以进行修改。
点击“提交”按钮,如果修改成功,页面将跳转到成功页面;如果修改失败,则提交“修改失败”信息,返回上一页。
题目删除功能
用户选择删除的题目,系统从数据库中查找要修改的题目,如果该题目可以删除,再次提示是否删除该题目的对话框。
点击“确定”按钮,则删除该题目,显示试题列表;如果删除失败,则提示“删除失败”信息,返回上一页。
题目查找功能
用户选择或者输入要查找的题目的相关内容信息,系统从数据库中查找,如果有该题目存在,则显示该题目的内容信息;如果查找的题目不存在,则显示“此题目不存在,请重新查找。
”信息,返回上一页。
(2)考试管理模块
试卷列表功能
当学生登录系统后,选择“试卷列表”选项,显示学生所对应的考试信息,系统从数据库中查找该学生的考试信息,显示都页面上。
显示试题功能
当学生选择某试卷时,点击“开始答题”,此时考试正式开始,在学生答题开始后,中途不能退出系统,如果退出,则按照退出时题目的数量及答案批阅,系统默认学生已经提交试卷。
说明:
每套试卷每名学生只能答一次。
但是可以多次查看自己试卷的分数及对错情况。
记录学生考试答案功能
当学生点击“开始答题”按钮时,系统将复制该套试题的所有信息到临时表,并且添加学生答案列和得分列。
页面每次显示一道题目,每当学生进入下一题或者上一题,系统将取出数据库的时间,提醒用户该次考试还剩多少时间,并且将学生的答案记录到数据库。
系统自动批改功能
在学生答题过程中,系统已经将学生的答案记录到临时试卷答题表中,当学生进入下一题或上一题时,系统将对学生上一步所答试题的答案与标准答案进行比对,同时给出相应的分数,记录在分数列中。
如果学生点击“上一题”按钮,系统将从数据库中查找出学生上一次的答案,以便学生的修改。
当学生点击“提交试卷”按钮时,系统将会核算学生的得分,以及各类型题目的得分,并显示到页面上。
如果学生想要查看详细的批改信息,显示学生该试卷的所有批改信息。
3.3系统环境
3.3.1开发环境
主机类型:
Compaqnx6330,2.5G内存
存储器容量:
80G硬盘
操作系统:
WindowsXP
开发语言:
JAVA语言
开发工具:
Eclipse
第4章 系统设计
4.1设计指导思想和原则
4.1.1指导思想
面向对象的系统的分析和设计实际上就是追求两点:
一是高内聚,一是低耦合。
如果开发让老师、学生都满意的系统,就要充分的了解他们的需求,因此我们在开发系统前对可能应用到该系统的人群进行了充分的调研。
故本系统基本包括了用户的权限分配、试卷的自动组卷、题目的增删改查、学生考试分数的快速评定等进行了方方面面,以最简便的操作提供最强大的功能。
4.1.2软件设计原则
软件设计既是过程又是模型。
设计过程是一些列迭代的步骤,它们使设计者能够描述要构造的软件系统的特征。
软件设计与其他所有设计活动一样,是由创造性的技能、以往的设计经验和良好的设计灵感,以及对质量的深刻理解等一些关键因素影响的。
(1)多样化设计。
一名好的设计师应该考虑设计的替代方案,通常应该提供多种可供评审和选择的设计方案。
(2)设计对于分析模型应该是可跟踪的。
因为设计模型中的一个软件元素可能会涉及到多个需求上,也可能一个需求由多个软件元素实现。
为了使得设计出的软件满足需求,要求设计模型一定要具有可回溯性。
(3)设计不应该从头做起。
软件系统是使用一系列设计模式构造的,很多模式可能在以前就遇到过,这些模式通常被称为可复用设计构件。
应该尽可能使用已有的设计构件减少设计的工作量,而且也可以保证设计的质量。
(4)软件设计应该尽可能缩短软件和现实世界的距离。
也就是说,软件设计的结构应该尽可能模拟问题域的结构。
(5)设计应该表现出一致性和规范性。
在设计开始之前,设计小组应该定义设计风格和设计规范,保证不同的设计人员设计出风格一致的软件。
(6)设计的易修改性。
软件开发的整个过程中都存在着变化,变化是永恒的,因此,设计软件时必须要考虑到设计的易修改性。
(7)容错性设计。
不管多么完善的软件,都可能存在问题,所以设计人员应该为软件进行容错性设计,当遇到异常数据、事件或操作时,软件不至于彻底崩溃。
(8)设计的粒度要适当。
设计不是编码,即使在详细设计阶段,设计模型的抽象级别也比源代码要高。
详细设计是设计实现的算法和具体的数据结构。
(9)在设计时就要开始评估软件的质量。
软件的质量属性需要在设计时考虑如何实现,在设计过程中要不断评估软件质量,不要等全部设计结束之后再考虑。
(10)要复审设计,减少设计引入的错误。
本系统分为四个代表模块,我们分别对这四个模块的设计和实现做了详细的描述。
从这四个模块中,可以清晰地感受到给系统的设计遵循的一贯原则,就是从智能化、人性化的角度出发,取之于人、服务于人。
4.2系统的功能结构设计
4.2.1系统的功能模块划分
图4.1系统结构图
教师登录系统后,可以对题库中的题目进行添加、删除、修改、查询操作,针对每一步的操作,系统都会给出相应的判断和显示。
该模块的基本流程图见图4.2所示。
数据库试题自动批改系统主要分为四大模块:
题库管理、试卷管理、考试管理、用户管理。
下面主要介绍一下我所负责的题库管理和考试管理两大模块的功能。
(1)题库管理模块
图4.2题库管理模块基本流程图
第5章 系统实现
5.1环境配置
5.1.1web.xml文件配置
--springparams-->
contextConfigLocation
classpath*:
spring/*.xml
--strutscorefilter-->
struts2org.apache.struts2.dispatcher.FilterDispatcher
--springcontextloader-->
org.springframework.web.context.ContextLoaderListener
--strutscorefiltermapping-->
struts2
*.action
--FreeMarker