1
2
目 录
1 系统概述 .......................................................................................................................................3
1.1 系统需求..................................................................................................................................3
1.2 国内外研究现状.....................................................................................................................3
1.3 网站的开发语言和语言功能..................................................................................................4
1.4 系统具备的特点.....................................................................................................................6
2 在线考试系统的系统的需求分析 ...............................................................................................6
2.1 在线考试系统的需求分析......................................................................................................6
2.2 在线考试系统的概要设计......................................................................................................7
3 在线考试系统的详细过程 ...........................................................................................................8
3.1 系统环境..................................................................................................................................9
3.2 数据连接的设计......................................................................................................................9
3.3 servlet 的使用..........................................................................................................................9
3.4 部分功能的设计与实现举例................................................................................................10
3.4.1 在线考试功能的设计与实现.........................................................................................10
3.4.2 系统管理功能的设计与实现.........................................................................................12
3.5 安全性设计............................................................................................................................13
4 系统的测试 .................................................................................................................................14
4.1 系统测试分析........................................................................................................................14
4.1.1 测试过程.........................................................................................................................14
4.1.2 测试方法........................................................................................................................15
4.1.3 具体的方案测试............................................................................................................15
4.2 系统测试结果.......................................................................................................................15
5 课程设计总结 .............................................................................................................................15
3
1 系统概述
1.1 系统需求
网络考试系统是实现网络教育的一个重要组成部分,通过网络考试系统你可以及时测
试自己的学习进度、自己对已学习知识的掌握程度。网络考试与传统考试相比有着明显的优
势,考生和教师可以从世界的任何角落,通过浏览器接入因特网来使用考试系统,不受地域
的限制,同时也使得用户可以更加灵活地安排考试时间,可以在任何时候使用网络考试系统
进行自测,快速查询考试成绩。所以,网络考试系统的开发和应用现在正受到越来越多的大
学的重视。在本单位,网络考试模式是教学改革的正式项目之一,它可以运用到多种教学过
程中。例如对于本单位公共课程“计算机应用基础”,要求在计算机等级考试前进行一次拟
上机考试,以前都是由老师自己命题,然后复制题目到每个学生的机器上,学生把答案写一
个文件中,做完题后由教师回收该文件进行判分。这样的考试,过程变得非常复杂,让教师
的负担很重;而且考试题目不统一,经常出现很多无法估计的问题,考试效果不能达到预想
的目的。基于上述情况,迫切需要一个界面统一、管理使用方便的网络考试系统的出现。
校园网建设的普及和完善以及 Web 数据库技术的快速发展为网络考试系统开发提供
了良好的媒介和基础,使我们对考试过程的实施和管理由书面化和单机化过渡到了网络化。
1.2 国内外研究现状
互联网的考试用途很早就受到了各方面的重视,既然考试能够通过电脑完成,那么网
上考试从技术上来说就是可行的。国内著名的工商管理考试 GMAT 于 1999 年就开始实行算
机考试,2000 年后 GRE,TOEFL 考试也开始采用计算机考试,向着网络化方向发展。近年
来出现的各种 rI’认证考试以及英语 GM 八 T 和 GRE 考试已经是一种基于计算机网络的考
试,完全摆脱了纸和笔。考生使用计算机答卷,通过网络提交答卷,自动阅卷。网络考试的
优点是显然的:阅卷更加迅速,考试结束考生即可知道考试结果,还免了纸介质的试卷和答
卷的传输,从而降低了保密成本。通过抽取不同的试题,或者是随机变换试题顺序或答案顺
序,可以做到一人一卷,极大地降低了作弊的几率。另外,网络考试为自适应考试提供了可
能。基于计算机网络的考试需要专门的较高水平的技术支持,考试己经发展为一种产
业。
网络考试系统的实现技术有多种,可以采用传统的客户机/服务器(C/S)型的 Mls 型架构,
即试题内容放在远程的服务器上,在考试机上安装考试应用程序和数据库客户机配置,因此
每次考试时要对机器进行安装、配置,这样一来考务工作比较烦琐;而且考试程序放在客户
机上,安全性也受到一定影响。另外一种考试系统采用 W 七 b 技术实现。节几 b 技术超越
了传统的“客户机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层。
因此 Web 结构有着更好的安全性。在用户机上不需要安装任何应用程序,只需要有一个标
准的 web 浏览器就可以。应用程序可以安装在事务层所在的计算机上,试题存放在数据库
服务器上(事务层和数据库可以是同一台机器)。采用这种体系结构的计算机网络考试和管理
系统适用于一个考场或几十个考场、几十人或几万人同时进行无纸化考试,解决了考试系统
对客户机软件过分依赖的问题,减轻了客户机软件维护工作量。比以往的考试系统更具有实
用性。而且,考试系统安装和试题装卸的程序简易,进行不同类别试题的考试时仅需要在服
务器上进行试题的更换处理,对考场的计算机配置应考专业的相应软件,考生就可以进行考
试。目前国内成熟的网络考试系统多为 QS 模式,比如清华毫太网络考试系统,
B/S 模式的比较少,其中基于 JavaZ 技术的网络考试平台则更少。
1.3 网站的开发语言和语言功能
4
(1) JSP 技术
JavaServer PagesTM (JSP)技术为创建显示动态生成内容的 Web 页面提供了一个简捷而
快速的方法。JSP 技术的设计目的是使得构造基于 Web 的应用程序更加容易和快捷,而这些
应用程序能够与各种 Web 服务器,应用服务器,浏览器和开发工具共同工作。下面是
JavaServer PagesTM 具的一些特点:
①将内容的生成和显示进行分离
使用 JSP 技术,Web 页面开发人员可以使用 HTML 或者 XML 标识来设计和格式化最终页
面。使用 JSP 标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识和
JavaBeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封
装在标识和 Beans 中,那么其他人,如 Web 管理人员和页面设计者,能够编辑和使用 JSP 页
面,而不影响内容的生成。
在服务器端,JSP 引擎解释 JSP 标识和小脚本,生成所请求的内容(例如,通过访问
JavaBeans 组件,使用 JDBCTM 技术访问数据库,或者包含文件),并且将结果以 HTML(或者
XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于 HTML
的 Web 浏览器的完全可用性。
② 强调可重用的组件
绝大多数 JSP 页面依赖于可重用的,跨平台的组件(JavaBeans 或者 Enterprise
JavaBeansTM 组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执
行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方
法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到
平衡。
③ 采用标识简化页面开发
Web 页面开发人员不会都是熟悉脚本语言的编程人员。JavaServer Page 技术封装了许
多功能,这些功能是在易用的、与 JSP 相关的 XML 标识中进行动态内容生成所需要的。
标准的 JSP 标识能够访问和实例化 JavaBeans 组件,设置或者检索组件属性,下载
Applet,以及执行用其他方法更难于编码和耗时的功能。通过开发定制化标识库,JSP 技术
是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使
得 Web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP 技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能
够支持企业级的分布式应用。作为采用 Java 技术家族的一部分,以及 Java 2(企业版体系
结构)的一个组成部分,JSP 技术能够支持高度复杂的基于 Web 的应用。
由于 JSP 页面的内置脚本语言是基于 Java 编程语言的,而且所有的 JSP 页面都被编译
成为 JavaServlet,JSP 页面就具有 Java 技术的所有好处,包括健壮的存储管理和安全性。
作为 Java 平台的一部分,JSP 拥有 Java 编程语言“一次编写,各处运行”的特点。随着
越来越多的供应商将 JSP 支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,
更改工具或服务器并不影响当前的应用。
(2) Servlet 技术
Servlet 是使用 JavaServlet 应用程序设计接口(API)及相关类和方法的 Java 程序。
除了 JavaServlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。
Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。
JavaServlet 对于 Web 服务器就好象 Java Applet 对于 Web 浏览器。Servlet 装入 Web 服务
器并在 Web 服务器内执行,而 applet 装入 Web 浏览器并在 Web 浏览器内执行。JavaServlet
API 定义了一个 Servlet 和 Java 使能的服务器之间的一个标准接口,这使得 Servlet 具有
跨服务器平台的特性。
5
Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。
当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立
起服务器返回给客户机的响应。当启动 Web 服务器或客户机第一次请求服务时,可以自动装
入 Servlet。装入后,Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范
围很广。例如,Servlet 可完成如下功能:
① 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML 页面。
② 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。
③ 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。
④ 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。
例如,Servlet 可以是多参与者的游戏服务器。
⑤ 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至 applet 的新连
接,并将该连接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,
applet 也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)
进行通信。
⑥ 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。
⑦ 将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证
用户。
(3) MySql 数据库技术
MySQL 是一个真正的多用户、多线程 SQL 数据库服务器。SQL(结构化查询语言)是世
界上最流行的和标准化的数据库语言。MySQL 是以一个客户机/服务器结构的实现,它由一
个服务器守护程序 mysqld 和很多不同的客户程序和库组成。
SQL 是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用 SQL 语
言为一个网站检索产品信息及存储顾客信息,同时 MySQL 也足够快和灵活以允许你存储记录
文件和图像。
MySQL 主要目标是快速、健壮和易用。最初是因为我们需要这样一个 SQL 服务器,它能
处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更
快,MySQL 就开发出来。自 1996 年以来,我们一直都在使用 MySQL,其环境有超过 40 个数
据库,包含 10,000 个表,其中 500 多个表超过 7 百万行,这大约有 100 个吉字节(GB)的关
键应用数据。
(4) JavaScript 技术
JavaScript 就是适应动态网页制作的需要而诞生的一种新的编程语言,如今越来越广泛
地使用于 Internet 网页制作上。JavaScript 是由 Netscape 公司开发的一种脚本语言
(scripting language),或者称为描述语言。在 HTML 基础上,使用 JavaScript 可以开发交
互式 Web 网页。JavaScript 的出现使得网页和用户之间实现了一种实时性的、动态的、交
互性的关系,使网页包含更多活跃的元素和更加精彩的内容。运行用 JavaScript 编写的程
序需要能支持 JavaScript 语言的浏览器。Netscape 公司 Navigator 3. 0 以上版本的浏览器
都能支持 JavaScript 程序,微软公司 Internet Explorer 3. 0 以上版本的浏览器基本上支
持 JavaScript。微软公司还有自己开发的 JavaScript,称为 JScripto JavaScript 和
Jscript 基本上是相同的,只是在一些细节上有出入。JavaScript 短小精悍,又是在客户机
上执行的,大大提高了网页的浏览速度和交互能力。同时它又是专门为制作 Web 网页而量身
订做的一种简单的编程语言。
1.4 系统具备的特点