基于JAVA语言的在线考试系统设计Word文档下载推荐.docx
《基于JAVA语言的在线考试系统设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于JAVA语言的在线考试系统设计Word文档下载推荐.docx(54页珍藏版)》请在冰豆网上搜索。
在线考试
Abstract
Onlineexaminationsystemtoachievepaperlessmanagementofexaminations,theexaminationofsomesubjectsthroughtheInternetorLAN,tofacilitatethemanagementoftheschoolExamination,candidatesarealsoconvenient,especiallyforcandidateswidelydistributed,easytofocusondistanceeducation.Thebackgroundofmymaindevelopmentsystemmanagementsystem-JAVA-lineexaminationmanagementsubsystem,whichincludesquestionsmanagement,candidatemanagement,on-lineproductionofpapers,controlofstudenttestset,paperprocessingandotherfunctions.ThispaperintroducesonlineexaminationmanagementsubsystemontheJAVAanalysis,designanddevelopmentofthewholeprocess.UsingERdiagram,processflowchartsandotheron-linemanagementsubsystemdesignprocessdetail.
Paperisdividedintodevelopmentprograms,requirementsanalysis,systemdesign,keytechnicalsolutions,theconclusionoffiveparts.Developmentprogramintroducesthedevelopmentofonlineexaminationsystemwasthepurpose,developmentplananddevelopmentframeworkforthechoiceofidentificationtechnology;
demandanalysisdescribestheoveralldemandforonlineexaminationsystemandthesystemfunctionalrequirementsofeachmodule;
systemdesignedfortheguidancesystemdesignthinking,databasedesign,systemdesignmodule;
keytechnologyintroducedtobeaddressedinthedetailedrealizationofsometechnologies,suchastheintegrationoftechnologydevelopmentframework,developmentframeworkandthedatabaseconnectionanddatabackupandrestore.
Thecontentsofthisgraduationprojectistodesignandimplementaweb-basedtechnology,onlineexaminationsystem,Guersystembasedmainlyj2EEasthedevelopment,mainlyusingstruts+springandotheragreementsortechnology,usingeclipseasadevelopmenttooltoMYSQLasthedatabasetoMacromedia'
sDreamweaverasalandscapingtoolinterface.Basicallyanonlineexaminationsystemshouldbethemainfunctionalmodules,including:
anadministrator'
slogin,managementandmaintenance;
userregistration,login,logout,personalinformation,access,correction;
testmanagement,problemsetsofmanagement,performancemanagement.Thesysteminterfaceissimpletooperate,easytomaintain.
Keywords:
JavaSE;
J2SE;
MYSQL;
OnlineExamination
第1章绪论
1.1课题背景
网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个重要特征,并对教育的发展形成新的推动力。
随着Internet/Intranet的迅速发展和广泛普及,网络考试系统成为现代教育技术未来发展方向之一。
作为网络考试的一个子系统——网络阅卷子系统,也成为一个重要的研究领域。
现代网络考试作为一种新的考试手段已经开始进入人们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。
网络阅卷子系统突破了传统考试方式的时空限制,使阅卷方式更为灵活,同时充分利用计算机进行自动阅卷功能,大大减轻了教师的工作量。
1.2目的和意义
现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观、更加激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效,便捷的作用,把老师从繁重的工作中解脱出来。
1.3本文结构
本文共分五个章节,系统地阐述了系统开发的全过程。
第一章,主要介绍了开发的背景、目的和意义。
第二章,主要介绍了本系统所用到的关键技术和工具,为下一步的设计的设计奠定基础。
第三章,主要对系统进行需求分析并进行总体设计。
需求分析阶段通过分析系统的功能模块的划分以及角色的划分,为系统的总体设计提供依据。
总体设计阶段通过对数据库、过滤器、监听器、和实体类的设计,以及各个模块用例图的描述,形成了开发的整体思路。
第四章,主要介绍了主要模块的设计与实现,并给出关键源代码和最终的效果图。
第五章,主要是对这次毕业设计的总结和对后续工作的展望。
第2章系统应用的关键技术
2.1JSP技术介绍
2.1.1JSP的描述
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如ASP,PHP等,主要用于开发动态网页内容。
JSP是新一代的动态内容编程技术,它继承了Java技术的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关,信息丰富动态的Web页面,包括HTML,DHTML,XHTML和XML,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。
JSP可以把用户界面从内容层次中分离出来,使得Web开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。
2.1.2JSP的运行机制
JSP文档被复制到Web服务器的文档目录中。
当有人请求这个文档时,服务器识别出这个带有.jsp扩展名的文档,并意识到需要做特殊处理。
第一次请求这个文档时,它被编译成一个servlet对象,并存储在内存中,然后输出内容回送给发出请求的用户机。
第一请求之后,只要有请求到来,服务器将进行检查,看看这个文件是否做过改动,如果没有变化,服务器调用先前编译过的servlet对象。
JSP请求的步骤[2]如图2-1所示。
1.用户机请求一个JSP页面。
2.JSP引擎编译该JSP成一个servlet。
图2-1一个JSP的请求步骤
3.生成的servlet被编译并装载。
4.编译的servlet服务请求并把一响应发送回用户机。
JSP主要是针对Java程序处理不熟悉的人设计的。
与Servlet相比,JSP有如下两个优势:
方便与HTML混合;
在开发、测试方面比Servlet方便。
2.1.3JSP的强势与劣势
JSP的强势:
1.可移植性。
JSP是用Java开发的,因此它是可移植的,可以一处编写,随处运行,支持多平台。
2.有效性。
JSP的初始化代码仅在Web服务器第一次加载时执行一次。
一旦加载,在处理一个新的请求时,只须调用一个新的服务方法。
与处理每个请求都要全部加载一个完整的可执行程序相比,这是一个相当有效的技术。
3.强大的可伸缩性和可扩充性。
它能够在面向对象的语言(Java)中进行开发,并可以在现有对象基础上进行扩展,形成新的对象,从而更好地满足用户的需求。
4.多样化和功能强大的开发工具支持。
Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
5.JavaServlet是一种开发Web应用的理想框架。
JSP以Servlet技术为基础,又在许多方面作了改进。
利用跨平台的JavaBeans组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。
JSP的劣势:
1.为了跨平台的功能,为了极度的伸缩能力,极大的增加了产品的复杂性,Java系统中包括JRE,JDK,J2EE,EJB等多种产品,这就需要大量的学习和培训才能掌握它们,将它们有效地搭配在一起,灵活地加以运用。
2.Java的运行速度快是由于用户将class常驻内存,这样使用的内存空间就比较大。
另一方面,它还需要硬盘空间来存储一系列.Java文件和.class文件以及对应的版本文件。
3.JSP只有对Java相当熟悉的人才能用得很好。
4.JSP程序调试困难。
2.1.4JSP与ASP的比较
JSP与ASP(ActiveServerPage)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:
1.Web服务器的支持:
大多数通用的Web服务器如:
Apache、Netscape和MicrosoftIIS都支持JSP页面,只有微软本身的MicrosoftIIS和PersonalWebServer可以支持ASP。
2.平台的支持:
JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。
Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于一直到其它平台上。
3.组件模型:
JSP是建立在可重用的、跨平台的组件(如:
JavaBeans、EnterprisesJavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。
4.脚本语言:
JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。
5.安全性:
JSP使用Java安全模型,而ASP使用WindowsNT的安全结构。
6.与Access数据库的连接:
JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用DataActiveObjects。
7.用户定制的标签:
JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。
2.2Java组件与JavaBeans
2.2.1什么是JavaBeans
JavaBeans事实上有三层含义。
首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范。
其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。
最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans。
2.2.2JSP与JavaBeans的关系
使用JSP技术,Web页面开发人员可以使用HTML和XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本生成页面上的动态内容。
生成内容的逻辑被封装在JSP标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。
核心逻辑封装在标识和Beans中,可以方便页面设计者编辑和使用JSP页面。
在服务器端,JSP引擎解释JSP标识和小脚本生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并且将结果以HTML(或XML)页面的形式发送回浏览器。
绝大多数JSP页面依赖于可重用的跨平台的足见(JavaBeans或者EnterpriseJavaBeans组件)来执行应用程序所要求的复杂的处理。
这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。
因此,基于Web的较为复杂的应用程序(如JSP开发网站或网上MIS),JSP的复杂架构必须由JavaBeans达成。
2.3J2EE概述
J2EE(Java2PlatformEnterpriseEdition)是使用Java技术开发企业级应用的一种事实上的工业标准(Sun公司出于其自身利益的考虑,至今没有将Java及其相关技术纳入标准化组织的体系),它是Java技术不断适应和促进企业级应用过程中的产物。
目前,Java平台有三个版本:
适用于小型设备和智能卡的J2ME(Java2PlatformMicroEdition)、适用于桌面系统的J2SE(Java2PlatformStandardEdition)和适用于企业级应用的J2EE(Java2PlatformEnterpriseEdition)。
Sun推出J2EE的目的是为了克服传统Client/Server模式的弊病,迎合Browser/Server架构的潮流,为应用Java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。
J2EE是一个标准,而不是一个现成的产品。
各个平台开发商按照J2EE规范分别开发了不同的J2EE应用服务器,J2EE应用服务器是J2EE企业级应用的部署平台。
由于它们都遵循了J2EE规范,因此,使用J2EE技术开发的企业级应用可以部署在各种J2EE应用服务器上。
为了推广并规范化使用J2EE架构企业级应用的体系架构,Sun同时给出了一个建议性的J2EE应用设计模型:
J2EEBlueprints。
J2EEBlueprints提供了实施J2EE企业级应用的体系架构、设计模式和相关的代码,通过应用J2EEBlueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。
J2EEBlueprints是开发人员设计和优化J2EE组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技术资源。
J2EE的优势主要有以下几点:
1.高效的开发:
J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。
高级中间件供应商提供以下这些复杂的中间件服务:
状态管理服务--让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。
2.持续性服务:
让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。
分布式共享数据对象CACHE服务,让开发人员编制高性能的系统,极大提高整体部署的伸缩性。
3.支持异构环境:
J2EE能够开发部署在异构环境中的可移植程序。
基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。
因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。
这在典型的异构企业计算环境中是十分关键的。
J2EE标准也允许用户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。
4.可伸缩性:
企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新用户。
基于J2EE平台的应用程序可被部署到各种操作系统上。
例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。
(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。
能消除系统中的瓶颈,允许多台服务器集成部署。
这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。
5.稳定的可用性:
一个服务器端平台必须能全天候运转以满足公司用户、合作伙伴的需要。
这是实时性很强商业系统理想的选择。
2.4关于Struts
2.4.1Struts简介
Struts已逐步越来越多运用于商业软件,是一种非常优秀的J2EEMVC实现方式。
Struts用JavaServlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。
2.4.2Struts的主要功能
1.包含一个controller servlet,能将用户的请求发送到相应的Action对象。
2.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
3.提供了一系列实用对象:
XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
Struts项目的目标是为创建Javaweb应用提供一个开放源代framework。
Strutsframework的内核是基于例如JavaServlets,JavaBeans,ResourceBundles,和XML,以及各种JakartaCommons包的标准技术的灵活的控制层。
Struts提供了它自身的控制器组件,并整合了其他技术,以提供模型和视图。
2.4.3Struts的工作原理
MVC(Model-View-Controller),是一种常用的设计模式。
MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化,MVC可以让整个逻辑很清晰,这种思想和思维和人的思维很接近,很容易被理解。
MVC的工作原理如图2-2所示:
图2-2MVC工作原理
Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。
Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
Struts的工作原理,如图2-3所示:
图2-3struts工作原理
1.Controller:
在XML文件Struts-config.xml中,与之相关联的是Controller,在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。
ActionServlet是一个通用的控制组件。
这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。
它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。
另外控制组件也负责用相应的请求参数填充ActionFrom(通常称之为FromBean),并传给动作类(通常称之为ActionBean)。
动作类实现核心商业逻辑,它可以访问javabean或调用EJB。
最后动作类把控制权传给后续的JSP文件,后者生成视图。
所有这些控制逻辑利用Struts-config.xml文件来配置。
2.视图:
主要由JSP生成页面完成视图,Struts提供丰富的JSP标签库:
Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。
3.模型:
模型以一个或多个javabean的形式存在。
这些bean分为三类:
ActionForm、Action、JavaBeanorEJB。
ActionForm通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。
Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用JavaBean或EJB等。
2.5关于Spring
2.5.1Sp