java考试系统本科学位论文.docx
《java考试系统本科学位论文.docx》由会员分享,可在线阅读,更多相关《java考试系统本科学位论文.docx(51页珍藏版)》请在冰豆网上搜索。
java考试系统本科学位论文
学号
毕业设计(论文)
基于JAVA的考试系统的
设计与开发
教学系:
指导教师:
专业班级:
学生姓名:
二零一二年五月
郑重声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包括任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
本人签名:
日期:
毕业设计(论文)任务书
学生姓名
专业班级
指导教师
工作单位
设计(论文)题目
基于JAVA的考试系统的设计与开发
设计(论文)主要内容:
此毕业设计的内容是设计开发一个基于java技术的在线考试系统,以WindowsXP为操作系统平台,以MYSQL作为数据库,实现网上考试系统应有的主要功能模块,包括:
1.启动系统后出现系统登陆窗口界面;
2.管理员的登录,管理和维护;
3.考生注册、登录、注销;
4.考试管理,包括出题组卷,考试时间控制与提示等;
5.成绩管理,包括判卷,对考试成绩进行查询;
6.提供系统使可靠和安全的措施,包括数据备份和验证操作员密码功能。
应让用户操作方便,容易维护。
要求完成的主要任务及其时间安排:
要求完成的主要任务:
1.查阅资料,写出不低于10篇参考文献(其中至少有2篇外文文献)的参考文献资料;
2.进行方案论证;写出开题报告;
3.进行总体设计和详细设计;完成软、硬件设计
4.完成系统的联调;按系统设计要求,能独立运行演示程序
5.撰写论文并准备答辩;要求论文语言通顺,整篇论文不少于10000汉字;
时间安排:
1、2月22日前(第二周周三)接收指导教师下达的毕业设计任务书。
2、3月10日前(第四周末)完成开题报告并提交开题报告给指导教师审阅、批复。
3、3月11日~5月11日(第4至13周)为系统设计与撰写论文时间。
其间:
(1)毕业设计的期中检查定第8~9周;
(2)文献摘要的提交时间在3月30日(第7周)前;
(3)5月7日~13日(第13周)指导教师初阅论文,学生修改论文;
4、5月14日~5月20日(第14周)为答辩小组内交换评阅论文,学生制作PPT进行答辩准备。
5、5月21日~5月25日(第15周)毕业答辩。
必读参考资料
张孝祥.深入JavaWeb开发内幕——核心基础[M].北京:
电子工业出版社.北京.06年
黄杰湘制作,《mysql中文参考手册》,网络电子书,
数据库应用系统开发实例曹红根清华大学出版社09年
指导教师签名:
教研室主任签名:
毕业设计(论文)开题报告
题目
基于JAVA的考试系统的设计与开发
1.目的及意义(含国内外的研究现状分析):
(1).背景及现状
随着社会的进步和商品经济的不断发展,对劳动者和技术人员的知识和能力水平的要求也越来越高。
考试系统作为衡量人的能力的重要手段,在现代生活中的地位进一步提高,并深入到社会的各个方面,各种各样的学历考试、资格证书考试层出不穷。
同时随着计算机和网络技术的发展,使得考试的技术手段和载体发生了革命性的变化。
世界各国对教育的发展给予了前所未有的关注,都试图在未来的信息社会中让教育处于一个优势的位置,从而走在社会发展的前列,为此许多国家都把信息技术应用于教育,作为民族发展的重要推动力。
在国外,美国政府提出了“教育技术规划(EducationalTechnologyInitiative)”,指出到21世纪初让全美国的每间教室和每个图书馆都将联上信息高速公路,让每个孩子都能在“21世纪教师”网络服务。
澳大利亚国家公共资源管理局已于1995年4月建立“澳大利亚教育网”,并联通Internet,该网络不仅包括全部高等院校,而且还覆盖全澳大利亚所有的中小学。
在1995年底,国外开始出现支持网上教学的系统和平台。
美国的NTU、英国的OPENCOLLEGE都是十分典型的网络教育范例。
网络化在线考试作为网上远程教育的重要组成部分和发展分支,己经在国外一些发达国家得到蓬勃发展,人们选学课程和考试都是通过网上进行。
特别是Internet业务的普及,构筑高性能、低成本的计算机网络化在线考试,从技术条件和经济条件上己经成熟。
在国内,普遍地看,绝大多数远程教育的考试还停留在传统考试方式。
在此方式下,组织一次考试至少要经过5个步骤,即人工出卷、考生考试、人工阅卷、试卷分析和成绩评估。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且这样工作将是一件十分烦琐和非常容易出错的事情。
但是对互联网的真正应用仅限于网上报名工作和网上成绩查询,还没有真正形成上网考试的规模。
而在国外一些国家,网上提交作业和网上考试已经相当普及了。
所以说传统的考试方式已经不能适应现代考试的需要。
(2).意义和价值
目前许多的专业考试已逐步出现从笔试转为计算机网络考试的发展趋势。
与传统的笔试相比,计算机在线考试系统有多方面的优势。
首先,可以省去试卷印刷的费用,减轻教师阅卷的负担,节省了人力、物力、财力,加快考试进程。
其次,可以充分发挥计算机在信息处理方面的优势,如建立海量的题库供将来使用、对试卷结果进行自动化统计分析从而提供有价值的信息等等。
在我国,虽然远程教育已经蓬勃发展起来,但是目前学校与社会上的各种考试大都仍采用传统的考试方式。
在此方式下,组织一次考试一般需要经过人工出题、考生考试、人工阅卷、成绩评估、试卷分析等五个步骤。
随着考试题型的不断变化及要求的不断提高,教师的工作量将会越来越大,其工作方式十分繁琐,且容易出错。
从这个角度出发,可以说传统的考试方式已经不再适应现代考试的需要,考试方式的变革势在必行。
针对上面的问题,开发设计与实现一个完备的在线考试系统可以完全实现无纸化、网络化、自动化的计算机在线学习考试,对单位的信息化建设具有深远的现实意义和实用价值。
还可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。
在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。
只要形成一套成熟的题库就可以实现考试的自动化。
这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。
为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来。
2.基本内容和技术方案
(3).考试系统基本内容
设计开发语言
本系统基于java程序设计语言开发。
设计模式
开发环境
Eclipse 和 MySql数据库。
(4).考试系统技术方案
考试系统结构
(1)表现层(数据呈现/用户交互)的"用户界面"和"控制器(ClientContext)"。
表现层是用户与软件交互的纽带,它的设计要简明且全面。
(2)业务层(业务模型),是软件的核心功能,在service包中,核心接口ExamService。
业务层功能包括登录验证﹑生成考卷﹑为学生自动打分﹑考试事件限制等等。
(3)数据管理层(数据持久化层),是提供数据的CRUD管理,增删改查,:
只关心数据操作,不涉及业务功能。
考试系统主要功能模块
(1)用户登录模块
用户在登录界面输入用户名和密码,点击确定,数据提交给控制器,控制器调用用户登录业务模型进行处理,如果密码与数据库中相应的用户名密码匹配,则进入菜单界面,否则弹出提示框,提示用户名或密码错误。
(2)考试系统试卷生成模块
该系统题目由选择题组成,用户点击菜单栏的“开始考试”按钮,则请求提交给控制器,控制器调用考试业务模块,随即从数据库中抽取指定数量的题目,组成该用户的试卷,显示在界面上,每次显示一题。
(3)自动打分模块
当用户回答完所有的题目,或者点击菜单栏“查看分数”按钮,请求提交给控制器,控制器调用打分业务模型,将每一道题的答案与用户的答案进行匹配,如果正确则得分,错误则不得分,进行累加,返回界面显示。
(4)时间控制模块
当用户开始考试,考试界面上开始显示剩余时间,如果用户在剩余时间内没有完成该考试的所有题目,并且没有主动提交,则系统自动将其试卷进行提交。
(5)用户数据备份模块
用户点击菜单界面上“备份数据”按钮,则控制器调用用户数据备份业务模型,将用户的考试信息,包括考试题目,用户答案,标准答案及分数存入相应的数据库,或者以文件的形式导出。
考试系统基本实现过程
(1)设计相应的实体类,如:
用户,考试题。
设计相应的表,建立数据库。
(2)绘制出考试系统的图形界面,其中包括欢迎界面﹑登录界面﹑菜单界面和考试界面。
用到窗口﹑表格﹑输入框﹑按钮等组件。
(3)为界面组件添加相应的时间处理,例如按钮的单击事件。
点击登录按钮在控制台打印“LoginClick:
login.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
System.out.println("LoginClick");
}
});
(4)编写后台代码,实现相应的业务逻辑。
定义一个业务模型的借口,把需要实现的业务功能定义在借口里。
将来业务模型的实现类实现这个接口即可:
publicinterfaceExamService{
Userlogin(intid,Stringpwd)throwsIdOrPwdException;
ExamInfostart();//考试开始,初始化各个组件。
QuestionInfogetQuestion(intindex);//从题库获取一道题目。
voidsaveUserAnswers(intindex,ListuserAnswers);
//将用户的考试答案保存起来,便于打分
intsend();//打分。
intgetScore();//获取分数,如果是还没开始,则返回异常信息。
}
(5).条件和可行性
(1)随着信息技术的发展与普及和当前计算机软硬件发展水平,信息化的快速发展给人们的日常工作带来了很大的方便,其必然导致教学与考试领域的发展与变革推进无纸化考试改革。
目前在国外一些国家,网上提交作业和网上考试已经相当普及了,随着国内网络教育的兴起,各高校纷纷开发了自己的网络教学平台,作为网络课程重要组成部分的网络考试系统也相继问世。
(2)在网上关于在线考试系统的研究很多,网上也有大量这方面的文献可以参考,设计开发这个系统的技术和一些常见问题的解决方案也有大量的参考。
(3)在大学的四年里我已经学习了java、Jsp、MySQL、SQLServer等课程。
通过平时的学习和做过的一些项目,已了解掌握了编程语言的一些技术和对数据库的连接和基本操作,也对工程开发流程有了一些经验。
3.基本内容和技术方案:
(6).研究方法
采用软件工程的方法,通过认真的研究和分析,开展项目计划、环境评估、需求定义,根据系统需求选择建模工具对整个系统进行建模,然后在理论和建模基础上对模型系统进行应用实现。
对优化后的系统模型进行实现,后期对实现好的系统进行测试分析,就系统安装、系统运行界面、系统集成环境、系统各种功能、系统性能、系统安全性进行了一个很全面很详细的测试。
(7).策略和步骤
(1)确定项目的范围、目标、目的和期望,建立实施策略,项目软、硬件资源的初步鉴定。
(2)通过前期详细的调研完成需求分析问题,按需求分析的结果确定所需的实体与属性,建立完善的实体间的联系,然后创建数据库。
(3)参考同类在线考试系统相关内容确定要实现的主要功能及流程,并明确各子模块的功能。
(4)编写JavaBeans以及使用JDBC技术实现对数据库的各项操作,可简化程序复杂度,并降低程序出错率。
(5)采用结构化开发方法的设计思想,划分子模块以分别实现各项功能,最后将各模块整合成完整的系统。
(6)对系统进行测试,就系统安装、系统运行界面、系统集成环境、系统各种功能、系统性能、系统安全性进行了一个很全面很详细的测试。
4.进度安排:
1、2月22日前(第二周周三)接收指导教师下达的毕业设计任务书。
2、3月10日前(第四周末)完成开题报告并提交开题报告给指导教师审阅、批复。
3、3月11日~5月11日(第4至13周)为系统设计与撰写论文时间。
其间:
(1)毕业设计的期中检查定第8~9周;
(2)文献摘要的提交时间在3月30日(第7周)前;
(3)5月7日~13日(第13周)指导教师初阅论文,学生修改论文;
4、5月14日~5月20日(第14周)为答辩小组内交换评阅论文,学生制作PPT进行答辩准备。
5、5月21日~5月25日(第15周)毕业答辩
5.参考文献:
[1]张孝祥.深入JavaWeb开发内幕——核心基础[M].北京:
电子工业出版社,2006年.
[2]黄杰湘.mysql中文参考手册[M/OL].黄杰湘.北京:
北京万里开源软件有限公司,2010[2012-3-10].
[3]曹红根.数据库应用系统开发实例[M].北京:
清华大学出版社,2009.
教师指导意见:
指导教师签名:
日期:
年月日
目录
摘要1
ABSTRACT2
第1章绪论3
1.1课题背景3
1.2国内外发展现状3
1.3课题意义4
1.4课题内容及成果5
1.5本章小结6
第2章系统需求分析7
2.1系统总体需求分析7
2.1.1功能需求7
2.1.2性能需求8
2.2系统用例图9
2.3本章小结9
第3章概要设计10
3.1系统结构设计10
3.2数据库结构设计11
3.2.1数据库的需求分析11
3.2.2数据库的逻辑设计12
3.2.3数据库的物理设计13
3.3本章小结15
第4章详细设计16
4.1试卷管理模块设计16
4.1.1题库管理模块设计16
4.1.2试卷管理模块设计17
4.1.3启动试卷模块设计18
4.2学生维护管理模块设计19
4.3考试管理模块设计20
4.3.1登录模块设计20
4.3.2考试项目模块设计21
4.3.3参加考试模块设计21
4.3.4考卷成绩查询模块设计22
4.3.5考务管理模块设计23
4.3.6考卷评分模块设计23
4.4组卷算法分析25
4.4.1常见的组卷方法25
4.4.2本系统自动组卷所用的方法25
4.4.3算法实现25
4.5本章小结26
第5章系统测试27
5.1登陆模块测试27
5.2学生管理模块测试27
5.3题库管理模块测试29
5.4试卷管理模块测试30
5.5本章小结31
总结32
参考文献33
致谢34
摘要
近年来,随着互联网技术的迅速发展,基于互联网技术的各种应用也日益受到人们的重视,基于WEB的在线考试系统正是在这种形势下产生的。
为了更好的实现考试的高效性,客观性与公正性,基于WEB的在线考试系统得到了越来越广泛的关注与研究。
本文分析了基于WEB在线考试系统的设计与实现技术,结合实际提出了本系统的总体结构设计和主要模块的功能实现。
本系统分为两个子系统:
教师子系统,学生子系统。
教师子系统包括学生信息管理、题库管理、试卷管理和考务管理四个功能模块,其中生成试卷时可以手工组卷也可以自动组卷。
学生子系统主要包括参加考试和考试查询两个功能模块。
系统实现时采用的工具主要是servlet和jsp,利用了B/S三层架构,使用的数据库是mysql,以WindowsXP作为操作系统,以tomcat作为web服务器。
关键词:
在线考试,B/S模式,自动组卷,手工组卷
ABSTRACT
WiththerapiddevelopmentofInternet,Peopleseemtoattachmoreimportancetoweb-basedapplicationsinrecentyears.Theweb-basedonlinetestsystemcameintobeingjustinsuchanenvironment.Andpeoplearepayingmoreandmoreattentiononweb-basedonlinetestsysteminordertoimproveefficiency,objectivityandimpartiality.
Thispaperdidsomeresearchoftheweb-basedonlinetestsystemandanalyzedtechnologyofitsrealization,combinedwiththeactualproject,proposedthedesignoftheoverallstructureandrealizationofthemainmoduleeventually.Thesystemwasdividedintotwosubsystems:
teachersubsystem,studentsubsystem.Theteachersubsystemincludesstudentinformationmanagementmodule,testbankmanagementmodule,testpapermanagementmoduleandexaminationmanagementmodule.Anditcangeneratetestpaperautomaticallyormanually.Thestudentsubsystemincludesexammoduleandresultsquerymodule.Thissystemisbasedonservlet,jspandB/S(Browser/Server)structure,usingmysqlasdatabasedevelopmenttools,WindowsXPastheoperatingsystem,tomcatasthewebserver.
Keywords:
onlinetest,B/Smode,generatetestpaperautomatically,generatetestpapermanually
1绪论
1.1课题背景
在科学技术飞速发展的21世纪随着网络技术的发展,现在很多大学院校及科研机构以及企事业单位都已经开设了远程教育,通过计算机网络来实现异地教学和培训。
目前,计算机硬件技术的发展己经达到了相当高的水平。
但是远程教育软件的研发还处于起步阶段,随着这项技术的不断深入发展,标准化考试的日益普及,各级各类考试中,就要求有更好、更完善的软件系统应用到远程教育中去,这就给软件设计人员提出了更高的设计要求。
在线考试系统的软件开发是现阶段研究开发的一个热点。
许多国际著名的IT公司所举办的各种认证考试绝大部分采用这种方式。
它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地理位置的局限。
一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,并发现自己的不足,使得学习效率得到很大提高。
在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。
只要形成一套成熟的题库就可以实现考试的自动化。
这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。
为适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来。
1.2国内外发展现状
在线考试系统的软件开发是现阶段研究开发的一个热点。
目前国内外有许多的网络考试,例如,美国ETS组织的"计算机文化考试"、"高级就业计算机科学考试"、"专业领域考试"、"托福"、"GRE"等都分别组织了计算机考试,并普及到英联邦国家;日本于1969年开始设立"信息技术人员考试飞国内的网络考试有人事部和电子工业部组织的"中国计算机软件专业技术资格和水平考试"教育部组织的"全国计算机等级考试"全国电大网络考试,教育部从剑桥引进的"剑桥信息技术(CTI)证书考试"以及CISCO认证考试、微软认证考试等等。
根据应用的技术和系统架构方式,网络考试系统主要可以分为如下几类:
单机版的考试系统,CS/架构的考试系统,BS/架构的考试系统。
这三类系统各有其优缺点。
(1)单机环境考试系统
单机环境考试系统必须在每台计算机上安装计算机考试系统。
考试题库和考试的答卷也必须在该计算机上。
考生考试时就调用该计算机上的数据库,考试完毕后又将答卷存储在该计算机上的数据库中。
所有应用不管是DBMS本身,还是用户的应用系统都是在某个固定的计算机系统上集中运行的。
这种系统对资源消耗极大,对硬件系统依赖性强,从而导致大型数据库应用系统只能在大型机上运行,使数据库的应用发展受到很大限制。
(2)基于C/S架构的网络考试系统
基于ClienUServer(客户端/服务器)架构的考试系统,利用计算机局域网络,每台计算机(客户端)通过安装必要的软件才能与服务器端进行通信。
由于利用了计算机网络,不再需要人力以实现考题的一致性和考试信息的收集,自动化程度和效率较高。
但由于其结构特点,只适用于一定范围的网络内部(局域网),范围难以扩展,当然也可以通过改进通信协议,对该结构进行改造,使其适用于更广的网络范围(广域网),但是由于需要安装客户端程序,维护和升级同样存在困难。
(3)基于B/S架构的网络考试系统
基于B/S架构的网络考试系统采用Web技术实现。
Web技术超越了传统的"客户机/服务器"两层结构,采用了三层体系结构:
用户界面层/事务层/数据库层。
因此Web结构有着更好的安全'性。
在用户机上不需要安装任何应用程序,应用程可以安装在事务层所在的计算机上,试题存放在数据库服务器上(事务层和数据库可以是同一台机器)。
这种B/S模式客户端只要安装一个标准的Web浏览器,其他应用程序都存储在Web服务器上,建立在B/S模式上的网络考试系统,可建立大型、高效、共享的题库,在服务器端对数据库进行管理,客户端通过浏览器登录考试系统,打破了时间地域界限,可以实现自动出卷、阅卷、评卷、简化了试程序,且考试结果更加公正、客观。
与C/S模式相比,B/S模式对系统的软硬要求比较低。
由于采用了互联网的相关技术,B/S模式具有系统维护升级方便、平台操作、良好的开放性、可扩充性和安全性等优点。
采用这种B/S模式的计机网络考试和管理系统适用于多个考场、几千人或几万人同时进行网络化考,解决了考试系统对客户机软件过分依赖的问题,减轻了客户机软件的维护工量,比以往的考试系统更具有实用性。