Java在线考试系统毕业设计说明书含源文件.doc
- 文档编号:1217885
- 上传时间:2023-04-30
- 格式:DOC
- 页数:51
- 大小:2.79MB
Java在线考试系统毕业设计说明书含源文件.doc
《Java在线考试系统毕业设计说明书含源文件.doc》由会员分享,可在线阅读,更多相关《Java在线考试系统毕业设计说明书含源文件.doc(51页珍藏版)》请在冰点文库上搜索。
摘要
随着信息时代的到来和现代科学技术的突飞猛进,尤其是计算机技术的快速发展,在线考试系统已经越来越普及了。
本文主要介绍一个基于J2EE的网络在线考试系统的体系结构和具体设计与如何实现。
该系统采用Struts中的MVC的三层体系结构模式进行设计,使用JSP+JavaBean+MySQL进行实现,即系统前台由JSP网页实现表现逻辑,中间使用JavaBean的组件实现系统内部复杂的业务逻辑,后端使用MySQL数据库实现数据逻辑。
该系统基本实现了在一个在计算机网络环境下命题、组卷、答题和评分等基本的考试功能。
具体来说,管理员可以对试题进行添加与修改,对试卷进行组卷,该系统的自动组卷使用了遗传算法实现。
并可以对试卷进行发布。
考生登陆该系统可以实现在线答题,考试结束评分系统可以自动批改客观题,并将主观题提供给老师批改,得出相应的考试分数。
本文首先在绪论中介绍了在线考试的研究意义。
然后详细描述了在线考试系统的组成与结构,阐述了此次设计的设计过程,包括需求分析,概要设计,数据库设计,详细设计等内容。
还重点剖析了关键功能的实现,最后在一定的环境下对系统的进行了功能测试,证实了系统的可用性。
关键词:
在线考试系统;Struts;MVC模式;JSP;J2EE;遗传算法
Abstract
Withtheadventoftheinformationageandmodernscienceandtechnologybyleapsandbounds,especiallytherapiddevelopmentofcomputertechnology,on-lineexaminationsystemhasbecomeincreasinglypopular.
ThispaperintroducesanonlineexaminationsystembasedonJ2EEarchitectureanddesignandhowtoachieve.Thesystemusesathree-tierarchitecturemodelinStrutsMVCdesignusingJSP+JavaBean+MySQLtoachievesystemperformancelogicfrontbytheJSPpage,themiddleoftheJavaBeancomponentstoachievecomplexbusinesslogicwithinthesystem,usetheMySQLbackenddatabasedatalogic.
Thesystemisbasicallyrealizedinthecomputernetworkenvironmentinabasicproposition,testpaper,answer,andscoretheexaminationfunction.Specifically,administratorscanrightquestionstoaddandmodify,onpaper,testpaper,thesystemofautomaticgenerationofageneticalgorithm.Andtopublishpapers.Thecandidatescanvisitthesystemonlineanswertheendofthetestscoringsystemcanautomaticallymarkingobjectivequestionsandsubjectivequestionstotheteachertomark,drawtheappropriatetestscores.
Firstly,intheintroductiondescribesthesignificanceoftheonlineexam.Secondly,Detaileddescriptionofthecompositionandstructureoftheonlineexaminationsystem,describedthedesignofthedesignprocess,includingneedsanalysis,preliminarydesign,databasedesign,detaileddesignandcontent.Alsofocusedontheanalysisofthekeyfunctions,Finally,incertaincircumstancesthesystemfunctionaltesting,confirmedtheavailabilityofthesystem.
Keywords:
on-lineexaminationsystem,Struts,MVCPattern,JSP,J2EE,geneticalgorithm
目次
摘要 I
Abstract II
1 绪论 1
1.1在线考试系统的问题的提出 1
1.2在线考试系统的研究目的及其意义 1
1.3国外相关研究 2
2 需求分析 3
2.1 现状分析 3
2.2 功能需求分析 4
2.3用例图分析 4
2.4数据流程图分析 6
2.5可行性分析 7
2.5.1经济可行性 7
2.5.2技术可行性 7
2.5.3法律可行性 8
2.6运行需求分析 8
2.7系统开发环境配置 8
3关键技术介绍 9
3.1JSP技术介绍 9
3.2Struts框架介绍 10
3.3数据库—MySQL5.0 12
4数据库设计 13
4.1数据库需求分析 13
4.2数据库概要设计 14
4.3数据库逻辑结构设计 16
4.4数据库表设计 17
5概要设计 20
5.1系统功能模块设计 20
5.2系统处理流程图 21
6系统实现 23
6.1数据库与系统连接 23
6.2考试及管理员登录模块 24
6.3人员管理模块 26
6.4试题库管理模块 26
6.5试卷管理模块 28
6.6考务管理 29
6.7考生界面 31
7关键功能实现 35
7.1考试倒计时功能实现 35
7.2自动组卷功能实现 35
7.2.1组卷模型描叙 35
7.2.2问题描述 36
7.2.3算法介绍(原理) 36
7.2.4算法实现 37
7.2.5算法伪代码实现 38
8测试 39
8.1测试目的 39
8.2测试方法 39
8.3测试实例 39
8.3.1考生登陆模块测试 39
8.3.2在线考试模块测试 40
8.3.3自动组卷模块测试 42
8.4系统的特点 44
8.4.1系统优点 44
8.4.2系统的缺点 44
9结论 45
致谢 46
参考文献 47
47
1绪论
1.1在线考试系统的问题的提出
当今社会各行各业都急需人才,而人才选拔的重要方法就是通过考试来决定。
现阶段,大部分学校的考试都是采用传统的考试方式即有老师出试卷,学生在试卷上答题,老师进行人工评阅试卷,以及人工分析试卷这四大步骤组成。
这样做就会带来一些问题:
一是给老师带来出试卷的麻烦,不利于老师教学效率的提高;二是由于人工考试方式的工作量非常大从而容易出现一些人为的错误;三是由于人为因素的不确定性,可能会造成试卷试题范围过于狭窄。
所以随着各种考试类型的不断增加和考试难度的不断提高,传统的考试方式已不再满足如今的考试需求,急需要现代化在线考试系统的辅助。
目前,随着计算机科学技术的快速发展和网络的日益普及,以及人们对于教育的不断重视,基于互联网的在线无纸化考试已成为大势所趋,同时现在很多国内外大学和社会培训机构都已经开设了远程教育服务,通过互联网实现远程异地培训和教育,而在线考试系统也越来越成为老师检验教学成果的好帮手,从而为在线考试系统发展提供了坚实的基础。
现在,我国的计算机硬件开发技术已经发展达到了相当高的水平。
但是,在我国在线考试系统软件的开发目前还处于初步阶段,不过随着技术的不断深入发展,将会开发出更完善,更实用的在线考试系统,并将其应用于实际考试当中去。
1.2在线考试系统的研究目的及其意义
计算机科学技术与网络技术的快速发展,人们急切需要利用这些科学技术来实现一个在线考试系统,用来减轻老师的出题负担以便提高考试效率和考试质量。
使考试更趋于公平、公正。
本课题“在线考试系统”就是在这种形势下提出的,其研究的主要目的就是利用计算机技术结合相关网络技术,把在教学中可实现标准化考试的课程由传统的纸张考试模式转变成为无纸化考试模式,以实现考生信息管理、试题库管理、考务管理、、自动组卷、在线考试,计算机自动评阅试卷和进行成绩统计等功能,从而达到节约资源,提高考试效率,保证考试结果公正客观性。
由于利用计算机进行自动组卷、阅卷,不仅能节省教师大量宝贵时间,而且能很大程度上减少出卷人的主观影响,使考试工作更加规范化,更加公正、客观、有效、切实的反映考生的实际学习成果,有助于促进教师教学质量的提高,有助于实现教学、考试分开,使老师只需按照教学大纲进行备课上课,把主要精力应用于提高教学质量和改进教学方法当中,无需过多的考虑题目的设计,这对提高整体教学水平与质量有着不同寻常的意义。
同时,在现阶段,基于互联网应用技术的在线考试系统,由于现在浏览器访问极为方便,考生可以不受时间和空间的限制参加考试,一个成熟的在线考试系统可以让考生在学习过后及时检测自己的学习成果,从而发现自己的不足,提高学习效率。
在线考试系统中题目可以自动生成、试卷可以自动提交、试卷还可以自动进行评阅。
所以只要搭建好一套完整的试题库就可以使考试有效的自动进行。
由此一来,老师只要把主要精力用于题目的设计、题库的维护,而不是考试的组织,从而大大的减轻了教师的人力,同时因为试卷无需印刷,也大量节省了试卷印刷的成本,具有相当大的经济意义。
1.3国外相关研究
目前在线考试系统有很多,例如ETS(美国教育考试服务中心)举办的GRE(美国研究生入学考试)的计算机网络化考试就是最有影响的案例,但是在线考试系统实现的功能差异很大,存在的问题也很多,例如数据库的安全性、自动组卷算法优化等,所以在线考试系统研究开发仍任重而道远。
2需求分析
2.1 现状分析
传统的考试要求组织者提前命题试卷,然后确定统一时间,让所有考生到考场进行考试。
这种模式如下图2.1所示
出题
印刷试卷
安排考试
学生参加考试
阅卷,统计成绩
图2.1传统考试模式
这种模式存在有较多的问题:
出题:
由于考试都是要在统一的时间进行开考,所有的考生都要考同一份试卷,所以出题工作就要非常小心谨慎,试题出得太容易或太难,都有可能达不到检测目的,特别是对于一个大型的考试,如何准确的把握试卷的难度,一直都困扰着命题老师。
而如何保证试题不在考试之前泄漏出去,也是一个令老师头疼的问题。
印刷试卷:
对于规模较大的考试来说,印刷试卷需要大量的时间和人工,对纸张资源也是一种很大的消耗。
对于在不同地区的考试,还要考虑远距离试卷的运输成本的问题。
在印刷试卷和运输试卷的过程中同样也要考虑试卷泄漏的问题,其中任何一环出现了问题,都会使整个考试工作付诸东流。
。
安排考场:
对于规模较大的考试来说,管理与培训监考老师是一件很麻烦的事。
特别是考试特别多的时候。
许多的考试都要相继举行的时候,对于老师和教室数量相对紧张的学校来说,如何合理安排考场与调配监考老师,又是一件相对复杂的工作。
考生参加考试:
自古以来,考试进行当中都会产生考生作弊这一问题,组织者想了很多的办法来解决考生作弊这一问题,如增加监考人员的数量,把试卷分为AB卷,加重对考试作弊人员的处罚力度等,但是这些方法都没能有效的解决考生作弊这一问题。
由于不同区域监考程度的不同,对控制考试时间的程度也不同,这些都很难达到一个统一标准。
再加上过多的人为因素干扰,使得考试客观性有所下降。
判卷:
考试结束后,采用人工评判试卷的形式比较容易出现错误,并有可能出现人为造成的不公正现象。
2.2 功能需求分析
根据对传统考试分析。
我觉得基于互联网的在线考试系统可以很好的解决现阶段考试所出现的问题。
在线考试不仅可以减轻考试组织、评阅试卷、统计成绩等方面所消耗的物力和人力,并且突破了空间与时间的限制,不仅可以节省资源,而且可以提高评分的客观性、公正性和准确性,大大改善了考试工作的效率。
根据调查分析,我认为在线考试系统应该实现基本考试功能,即应具有命题,组卷,分配试卷,在线参加考试,考试结束后评阅考卷,查询考试成绩等基本的考试功能。
具体需求功能如下
表2.1需求功能表
命题功能:
老师根据大纲进行出题。
管理员将题目输入到系统的题库进行保存。
组卷功能
系统根据考试大纲要求进行自动组卷。
试卷分配功能
系统将组好的试卷分配到考生,然后进行考试。
在线考试功能
考生输入考号密码登陆系统后,选择对应的试卷可进行考试。
答题中,有倒计时的功能,考试结束时还没提交就自动交卷。
评阅考卷功能
系统将自动对客观题进行评分。
将主观题提供老师批改。
成绩查询功能
考试结束后,考生可以查询到自己的考试成绩
2.3用例图分析
本系统针对客户端的应用方案和用例可以为分两方面的用例,管理员和考生用户,下面利用StartUML工具将从这两个用例图画出,图2.2管理员用例图,图2.3考生用例图进一步来分析该在线考试系统。
图2.2管理员用例图分析
图2.3考生用例图分析
数据流图分析
利用数据流图分析在线考试系统的试题管理和试卷管理的数据流程。
2.4数据流程图分析
试题管理数据流程图
1.第二层数据流程图2.4
图2.4试题管理第二层数据流图
2.第三层数据流程图2.5
图2.5试题管理第三层数据流程图
试卷管理数据流程图
1.第二层数据流程图2.6
图2.6试卷管理第二层流程图
2.第三层数据流程图2.7
图2.7试题管理第三层数据流程图
2.5可行性分析
可行性分析也称为系统可行性研究分析,即在开发系统之前,针对开发的系统是否具备可能性与必要性进行一些分析调查,对系统的开发从经济、技术、法律等方面进行全面的研究与分析,从而最大程度的减少投资的失误,保证开发的系统能成功使用。
可行性研究就是为了确定问题是否可以在最短的时间内以最低的成本解决完成。
下面我将针对经济可行性与技术可行性对在线考试系统进行简单的可行性分析。
2.5.1经济可行性
主要是对项目的经济效益进行评价,利用计算机来实现在线考试以成为适应当今教学管理的新方式。
开发一套能满足互联网的在线考试系统的软件是十分必要的,实现试题管理和试卷生成自动化,在减少由于认为失误而早成损失的同时,也可以使老师减少工作量。
本系统在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学校完全实现信息化管理。
所以在经济上本系统是可行的。
2.5.2技术可行性
本系统是基于B/S模式的在线考试系统,使用JSP技术并使用经典的MVC三层结构体系即该系统由表现层、业务逻辑层和持久层构成。
运用目前比较流行的WEB框架——Strut,提供了对开发MVC系统的底层很好的支持,使用MySQL作为本系统的后台管理数据库,配合使用Tomcat作为本系统的应用服务器。
所以在技术上本系统是可以实现的
2.5.3法律可行性
本系统的开发不涉及任何侵权问题。
设计本系统过程中的一切行为都是在法律许可的范围内。
系统开发和运行也与法律法规没有任何抵触和冲突之处。
所以在法律上本系统是可行的。
2.6运行需求分析
硬件条件:
英特尔CPU、1GRAM、10G硬盘以上的PC机。
软件条件:
WindowsXPIE6.0以上
2.7系统开发环境配置
选择windows平台作为主导,一方面考虑目前windows的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;令一方面从技术角度来讲,windows平台上的应用无论是在开发上,还是在软件的部署上都是非常容易,而且性能优越。
具体如下:
1.开发工具:
MyEclipse6.6
2.辅助开发工具:
Dreamweaver8
3.数据库:
MySQL5.0
4.服务器:
ApacheTomcat6.0
5.运行环境:
安装JDK1.6支持Java运行。
6.开发技术:
JSP,Struts框架。
B/S模式。
3关键技术介绍
该系统基于B/S模式,采用Struts中的MVC的三层体系结构模式进行设计,使用JSP+JavaBean+MySQL进行实现。
下面对JSP,Struts,MysQL做些简单的介绍。
3.1JSP技术介绍
JSP(JavaServerPages)是一种动态网页技术标准。
JSP语言的基础是Java编程语言,这种语言实现了“一次编写到处运行”可见其移植性非常好。
并且Java语言是一种纯面向对象的编程语言,任何代码都是封装在类中,所以类的重用性较好。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,在JSP文件中,可以直接书写HTML标签,并嵌入JSP标签以及Java脚本,很大程度地简化了动态Web页面的开发。
使开发变得快速,轻松。
JSP的实质是最终作为一个Servlet类运行在服务器上。
也就是说所有的JSP文件最终会被Web服务器自动转化为Servlet并加载运行。
运行结束后,通常返回给客户端的就是一个HTML文本,客户端使用浏览器进行浏览。
JSP在服务器端的具体工作过程如下:
(1)当服务器第一次接收到客户端对JSP文件的请求后,由JSP引擎将对应的JSP文件自动换成Servlet。
(2)JSP引擎调用服务器端的Java编译器对Servlet代码进行编译,生成字节码文件。
(3)服务器将字节码文件加载到内存运行。
(4)运行结果一般为HTML格式的文件,返回客户端。
运行原理图3.1如下:
客户端请求
该jsp文件是否第一次被访问
JSP引擎将jsp转化为servlet
编译servlet
将字节码文件加载到内存
是
运行
执行结果返回客户端
客户端得到响应
否
图3.1运行原理图
3.2Struts框架介绍
Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助Java开发者利用J2EE开发Web应用。
和其他的Java架构一样,Struts也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。
Struts是MVC思想的很好的体现,它继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
Struts的工作原理与体系结构如下图3.2所示:
图3.2[1]
从图中我们可以知道,Struts的体系结构包括模型(Model)组件,视图(View)组件和控制器(Controller)组件三部分。
1)模型(Model)组件
模型组件并不是由Struts提供,一般由普通的接口和JavaBean充当,定义和实现业务逻辑的接口和类。
2)视图(View)组件
视图组件包括JSP页面、ActionForm和Struts标签。
3)控制器(Controller)组件
控制器组件包括ActionServlet(核心控制器)、自定义Action(代表一个用户操作)。
Struts处理请求的过程如下:
(1)当浏览器客户端发起请求到ActionServlet时,ActionServlet首先对请求进行一系列处理:
根据请求的路径和配置信息找到对应的ActionBean和FromBean。
(2)在确定将要调用的ActionBean和对应的FromBean后就将请求中包含的值填充到FromBean中。
在调用Action的execute方法前,ActionServlet还需要准备好ActionMapping参数,ActionMapping中包含该Action的配置信息。
(3)然后Struts将请求分发至相应的ActionBean处理,ActionMapping参数ActionForm参数、request和response都作为参数传给处理请求的ActionBean的execute方法。
(4)Action调用业务逻辑方法,得到返回值,并返回ActionForward对象。
(5)控制器重新回到ActionServlet,ActionServlet根据Action返回的ActionForward对象转发到相应的JSP页面。
(6)处理结果返回给浏览器。
3.3数据库—MySQL5.0
MySQL5.0是一种开放源代码的关系型数据库管理系统,它与其他大型的数据库例如SQLServer、Oracle相比,MySQL5.0有着其自身的一些缺点,例如功能相对简单、数据库规模较小等,但这却一点都没有影响到它受中小型企业和一般的个人使用者欢迎的程度,因为MySQL提供的功能已经对他们来说已经够用了,同时因为MySQL5.0是一个开源数据库,所以可以大大减少系统成本。
MySQL数据库的主要功能只在组织和管理很庞大或复杂的信息和基于WEB的库存查询请求不仅仅为客户提供信息,而且还可以为您自己使用数据库可以提供如下功能:
(1)减少记录编档的时间
(2)减小记录检索时间
(3)灵活的查找序列
(4)灵活的输出格式
(5)多个用户同时访问记录
4数据库设计
在对数据库进行分析设计时,应按照数据规范化理论的设计,尽量减少冗余数据,以确保数据完整性,统一性。
在数据库基本设计原则的指导下,数据库设计重点应考虑下列因素:
1.数据库表设计必须布局合理,层次分明。
2.数据库必须高度结构化,保证数据的结构化,规范化和标准化,这是建立数据库和进行信息交换的基础。
数据结构的设计应该遵循国家标准和行业标准,尤其要重视编码的应用。
3.数据库设计的时候,一方面要尽可能地减小数据冗余,减小存储空间降低数据一致性问题发生的可能性,另一方面,还要考虑适当的数据冗余,以降低程序开发难度。
4.数据库设计时应保持数据库中数据的准确性和统一性。
在系统中,多个用户同时操作数据库中的共享数据,就会可能影响到数据库数据的一致性产生错误,因此必须使用“锁”等方法来确保数据库中数据的一致性。
5.数据库设计的时候,对于数据库中的保密数据还必须设计一些安全机制来确保数据苦的安全。
在数据库设计实际的过程中,确定数据库的结构设计是否合理的,主要是依据数据库中是否有以下特点:
1.数据库是否具有一定的灵活性、适应性和可移植性;
2.数据库是否具有与其系统的兼容性;
3.数据库是否具有对新环境的可改变性;
4.数据库的存储成本是否够低;
5.数据库的设计是否有利于系统的实现;
6.是否具有良好的数据库结构,易于维护,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 在线 考试 系统 毕业设计 说明书 源文件
![提示](https://static.bingdoc.com/images/bang_tan.gif)