当前位置: 首页 > 毕业资源下载

静态网页设计与制作作业成品

基于JAVA在线考试管理系统(源代码+论文+开题报告+外文翻译+英文文献+答辩PPT)免费下载

 摘要:

目前国内基于B/S、C/S结构的在线考试系统产品已经有许多,本文首先介绍了这些考试系统的形成和发展过程,大致结构。然后通过仔细分析,提出了目前的这些系统还存有系统更新和维护等种种弊端,仍不够成熟。基于对现有产品的思考,结合J2EE的成熟技术,我们想到了是否可以将该技术运用在在线考试系统中,提出了一个基于J2EE架构的在线考试系统。通过将该架构与已有结构的在线考试系统进行比较,分析了该架构的优势,重点介绍了该框架的整体构造以及相关的概念和技术。并通过设计了一个基于J2EE架构的在线考试系统对该架构做了一个比较深入的剖析。最后,对J2EE技术做了一个总结性的展望,认为该技术有着良好的发展空间和广阔的前景。


关键字:    

   J2EE,在线考试系统,b/s,JavaBean,jsp,数据池

 

 

目录:

屏幕截图 2021-02-01 092923.png



在线考试系统构架: 

 

 


2.1 在线考试系统一般需求分析 

在线考试系统应具有以下要求:
1)由于考试对应的是特定的对象,所以系统需要经过有效的身份验证才可以登陆。并且系统需要有可以管理会话的功能。以便在考试过程中全程跟踪考试状态。
2)系统的权限一般分为两种:管理员和学生。不同的身份使用不同的权限和功能。
3)管理员需要对试题和考生进行有效的管理,负责试题的录入及更新和修改,对试题的分类,每次考试前,需要对试场环境和考生状态进行考前初始化工作。要注意的是, 鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。
4) 系统要有良好的试卷上传和回收功能,确保信息传送的正确性。
5) 系统要有一个友善的界面,确保考生考试的顺利进行。
6) 因为试卷中的主观题需要老师批改,可能需要一段时间才能查询到成绩。但如果试卷是由客观题型组成的,考生就可以在考试结束后查询到自己的成绩了。
7) 系统提供对考生成绩的统计和查询等管理功能。
8) 系统应具有良好的安全性管理。

2.2 当前在线考试系统现状分析

当前考试系统中,仍有许多是基于c/s模式的,每一次伴随着系统的升级,都要在每个客户端更新软件,耗时耗力。可喜的是,随着技术的发展,基于b/s模式的在线考试系统越来越多,逐渐占据了主导地位。它克服了c/s模式下的许多缺点,从传统的基于C/S模式的考试系统转变到基于B/S模式的考试系统,可以使用户在任何一台电脑上,只要可以上网,就可以使用该服务,大大简化了操作,为用户提供了方便。另一方面,也为教师的管理和批阅工作提供了方便,提高了效率。但是据我多方的观察和研究,发现大多数的在线考试系统都是采用基于页面的模式开发,每个页面中都包含了要用到的所有功能逻辑,导致代码重复率高,结构不够清晰,维护升级起来也很费时间和人力。鉴于这种情况,所以我们将J2EE的概念加入到在线考试系统中来,使得该系统更易于升级和维护。

2.3 基于J2EE的在线考试系统架构介绍及拥有的优势

2.3.1 结构总体介绍

J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议――通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构:
运行在客户端机器上的客户层组件
运行在J2EE服务器上的Web层组件
运行在J2EE服务器上的业务逻辑层组件
运行在EIS服务器上的企业信息系统(Enterprise information system)层软件

图片2.png

图1  J2EE 典型的四层结构

2. 3.2 客户层组件

J2EE应用程序可以是基于web方式的,也可以是基于传统方式的。J2EE规范中指出,客户层组件有两种,它们是应用客户端程序和applets客户端。

2.3.2.1 Applets

从Web层接收的一个Web页面可以包含内嵌的applet。一个applet是一个用Java编程语言编写的小的客户端应用程序,它在安装在Web浏览器中的Java虚拟机中运行。然而,为了在Web浏览器中成功地运行applet,客户端系统很可能需要Java插作和安全策略文件。 
Web组件是用来建立一个Web客户端程序的首选的API,因为这样在客户端系统中就不需要插件和安全策略文件。同样的,使用Web组件可以有效地改善应用程序设计,因为它们提供了一个将应用程序设计和Web页面设计有效分离的途径。Web页面的设计者可以不必关心Java编程语言的语法就能很好地完成自己的工作。

2.3.2.2 应用程序客户端

一个J2EE应用程序客户端运行在客户端机器上,它使得用户可以处理需要比标记语言所能提供的更丰富的用户界面的任务。具有代表性的是用Swing或抽象窗口工具包(AWT)API建立的图形用户界面(GUI),但是一个命令行界面也是当然可能的。 
  应用程序客户端直接访问运行在商业层的enterprise bean。然而,如果应用程序需要授权, 一个J2EE应用程序客户端可以打开一个HTTP连接来与一个运行在Web层的servlet建立通信。

2.3.3 WEB层组件

J2EE web层组件可以是JSP 页面或Servlets.按照J2EE规范,静态的HTML页面和Applets不算是web层组件。
正如下图所示的客户层那样,web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean 来进行处理。

图片3.png

图2 Web层组件

2.3.4 业务层组件

业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运行在业务层上的enterprise bean 进行处理. 下图表明了一个enterprise bean 是如何从客户端程序接收数据,进行处理(如果必要的话), 并发送到EIS 层储存的,这个过程也可以逆向进行。有三种企业级的bean: 会话(session) beans, 实体(entity) beans, 和消息驱动(message-driven) beans。 会话bean 表示与客户端程序的临时交互. 当客户端程序执行完后, 会话bean 和相关数据就会消失. 相反, 实体bean 表示数据库的表中一行永久的记录。当客户端程序中止或服务器关闭时, 就会有潜在的服务保证实体bean 的数据得以保存.消息驱动 bean 结合了会话bean 和 JMS的消息监听器的特性, 允许一个业务层组件异步接收JMS 消息。

图片4.png

图3 业务层组件

2.3.5 企业信息系统层

企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划 (ERP),大型机事务处理, 数据库系统,和其它的遗留信息系统. 例如,J2EE 应用组件可能为了数据库连接需要访问企业信息系统

2.3.6 J2EE架构的优势

J2EE为搭建具有可伸缩性、灵活性、易维护性的系统提供了良好的机制:
1)保留现存的IT资产: 由于技术需求的不断更新,在线考试系统必须可以适应新的要求,利用已有的对考试系统方面的投资,而不是重新制定全盘方案。这样,一个以渐进的(而不是激进的,全盘否定的)方式建立在已有考试系统之上的服务器端平台机制是学校和单位所需求的。J2EE架构可以充分利用用户原有的投资,这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的'企业计算'领域供应商的参与。每一个供应商都对现有的客户提供了不用废弃已有投资,进入可移植的J2EE领域的升级途径。由于基于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。 
2)高效的开发: J2EE允许客户把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务: 
① 状态管理服务 -- 让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。 
② 持续性服务 -- 让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。 
③ 分布式共享数据对象服务 -- 让开发人员编制高性能系统,极大提高整体部署的伸缩性。 
3)支持异构环境: J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。由于考试系统很多时候需要提供给许多不同的学校和单位使用,这些学校和单位的软件硬件环境存在有较大的差异,所以能支持异构环境这点就十分关键。同时J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。 
4)伸缩性: 学校和单位必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足可能不断增多的在他们系统上进行考试的大批新的考生。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来系统升级和规模扩大的需要。 
5)稳定的可用性: 虽然在线考试系统不象一般企业的服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要,但起码必须保证考生考试的这段时间内不发生意外停机等故障,从而影响到考生考试。J2EE部署到可靠的操作环境中,他们支持长期的可用性。一些J2EE部署在WINDOWS环境中,客户也可选择健壮性能更好的操作系统如Sun Solaris、IBM OS/390。最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。这是对在线考试系统,特别对于那些比较重要的考试的理想选择。 
该考试系统用Microsoft Visual Basic.NET进行开发,数据库采用SQL Server 2000。由于系统采用三层结构,即数据库服务器、Web服务器、客户浏览器,为了实现可用子网内的任何一台服务器作为数据库服务器的需求,本系统采用Web服务技术,即把Web服务装在Web服务器中,通过访问Web服务来进行数据库的访问。下面分别对Microsoft Visual Basic.NET、SQL Server 2000和Web服务技术进行介绍。

2.1 Visual Basic .NET

Microsoft Visual Basic.NET 是 Microsoft Visual Basic 6.0 的后续版本,它是基于 .NET 框架直接创建的,因此可以使用所有的平台特性,并能够与其他 .NET 语言协同工作。
2.1.1  Visual Basic 6.0
Visual Basic 6.0 有限的面向对象的特性,特别是缺乏继承,使之不适合于开发面向对象的架构。正由于这一点,对于某些类型的开发,特别是大型、复杂应用程序的开发,与C++或Java开发人员相比,Visual Basic 6.0开发人员会处于不利的地位。另外,Visual Basic 6.0没有多线程能力;错误处理能力差,与其他语言如C++的集成能力差;对于基于Internet的应用程序,没有生动有效的用户界面等缺点。
2.1.2  Visual Basic.NET
Visual Basic.NET对于IT业来说,它可能是一个小的前进,但是对VB开发人员来说,它是一个巨大的进步!Visual Basic .NET并不只是向核心技术添加和修改了技术特性的VB新版本,它打破了模式的框框!实际上它是一种新编程语言,基于新的核心技术——.NET范例。在Visual Basic .NET之中,技术变化是如此之多,以致VB开发人员可以与C#,C++和Java开发人员相竞争。
在许多方面Visual Basic .NET都与它以前的版本不同。它具有更高的一致性和类型安全级别。用Visual Basic .NET我们更容易写出控制性、可读性很高的代码。虽然它有时要求你习惯于那些编译时额外的检查,但它将在你测试和调试时,为你节约宝贵的时间。
VB.NET的语法与VB 6.0已经有了根本性的差别,与其说VB.NET是VB 6.0的升级,不如说VB.NET是C#的Basic版本。由于采用了CLI的结构,VB.NET将很难兼容以前的VB 6.0的代码,大量的VB代码无法顺利地转移到.NET上,不过开发人员仍然可以在.NET平台下,将原有的COM组件进行重新包装,形成.NET平台下的Web服务组件,而且.NET的整个平台、开发工具的高集成性和友好的开发环境还是会给开发人员留下深刻印象。在Java领域中,无论是Borland的JBuilder 6,还是Sun的Forte for Java,或是IBM的WebShpere Studio Application Developer、VisualAge for Java都无法达到VB. NET的生产效率。

2.2 SQL Server 2000

SQL Server是一个功能强大的后台数据库管理系统,它可以帮助各种规模的企业用来管理数据,以可伸缩性的商业解决方案、强大的数据仓库以及与Microsoft Office和Microsoft BackOffice的紧密集成为企业提供额外的商业便利,日益为广大用户所喜爱。到目前为止,SQL Server 2000是Microsoft公司推出的数据库管理系统的最新版本。它不但继承了原来版本的许多优点,而且又增加了很多更先进的功能。
Microsoft SQL Server 2000使用了最先进的数据库架构,具有完全的Web功能,通过对高端硬件平台以及最新的网络和存储技术的支持,可以为较大的Web站点和企业级的应用提供很好的解决方案。SQL Server 2000扩展了SQL Server 7.0版的性能,并增加了几种新的功能,使得用户能够更方便、更快捷地管理数据库和开发应用程序。因此它已成为大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。

2.3 Web服务

随着Internet和网络化的日渐成熟,无论是属于单个组织的计算机还是属于多个组织的计算机都想通过Internet彼此交流。借助更基本的Internet通信协议,可能需要几个月的时间和大量的资本开发自己的系统。而且当使用该系统和另一个组织的系统进行通信时,两个系统之间的转换也许并不容易,甚至是不可能的,最后得到的只是一团糟。过去人们引入分布式架构系统以解决这个问题。大多数系统本身的缺点甚至妨碍了它们在企业范围内的部署,更别说在全球的部署。为此带来了Web服务。

2.3.1 Web服务的概念

从表面上看,Web服务就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。Web服务内在的含义是基于XML的通信流通过HTTP协议在一个公共网络(Internet)上传送。Web服务平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Web 服务 ,只要我们可以通过Web服务标准对这些服务进行查询和访问。

2.3.2 Web服务的优点

Web服务最大的特性也许是使用XML支持的跨平台的兼容性。即使我们假设一个组织内部使用的都是相同的操作系统、软件等,我们也不可能期望其他的组织使用相同的设备。而Web服务不作此类的要求, 它不依赖于任何平台或公司。它的部分吸引力在于,不管是在SolarisUNIXMac还是在Windows上部署Web服务,所有用户都可以连接并使用。这和一般Web站点是一样的,不必关心要访问的Web站点运行于什么平台,只要它能够正常工作就行。
 Web服务需要使用一种平台中立的方法来描述数据和交换数据,为此它使用XML(可扩展标记语言)XML使用标准化的文本格式以一种简单的方法格式化数据(无论数据有多复杂)。最初,开发人员对XML嗤之以鼻,认为它只不过是书写脚本的另一种方式而已。然而这些惯于从事数据库管理和开发的开发人员不久便意识到,XML是能在双方之间提供数据而无须依赖于专门方案的一种技术。

2.4 .NET对Web服务的支持

.NET从一开始就深深打上了Web服务技术的烙印,在它的市场推广活动中,无时无刻不凸显其作为Web服务的开发和部署平台的特征。可以说,.NET天生就是为Web服务准备的开发和部署平台。
.NET是一个全新的架构,它的整个平台、开发工具的高集成性和友好的开发环境给开发人员留下深刻印象。在Java领域中,任何一种语言都无法达到VS .NET的生产效率。开发工具是.NET的一大优势。.NET正是为进行基于Web服务模型的应用程序开发而度身定做的新一代开发工具和基本结构。.NET构建块服务、新增的.NET设备支持以及即将到来的.NET用户体验,使人们能够充分利用Web服务模型,如愿以偿地开发出新一代应用程序。
VB.NET平台内建了对Web服务的支持,包括Web服务的构建和使用。与其它开发平台不同,使用.NET平台,你不需要其他的工具或者SDK就可以完成Web服务的开发了。.NET Framework本身就全面支持Web 服务,包括服务器端的请求处理器和对客户端发送和接受SOAP消息的支持。利用Visual Studio.Net,你可以不必了解HTTP、XML、SOAP、WSDL等底层协议,同样能开发和使用Web服务。

2.5 考试系统的运行平台

2.5.1 硬件平台

Web服务器和数据库服务器可共用一台或分别用一台专用服务器或高档PC机,联网设备可采用交换机或HUB,带宽为10M--100M。

2.5.2 软件平台

1) 操作系统
服务器端采用Windows 2000 SERVER ,客户端采用Windows即均可。
2) Web服务器
目前,市场上有很多Web服务器软件,如IISNetscape Enterprise ServerApache等,各有千秋,其中微软的IIS 具有对系统硬件要求低、功能强、配置简便且与Windows 紧密集成等优点,比较适合各院校和中学的网络硬、软件环境,因此我们选用IIS 5.0 
3) 数据库服务器
数据库服务器与 Web服务器应有较紧密的结合,Windows IIS均为微软的产品,其数据库也有相应的产品,即SQL Server,所以我们选用SQL Server 2000 为数据库服务器。 
4) 浏览器
IE浏览器(建议版本5.5以上)

最新毕业设计成品

版权所有© 帮我毕业网 并保留所有权利

QQ 1370405256 微信 biyebang

QQ:629001810微信:biyebang

收缩