




已阅读5页,还剩49页未读, 继续免费阅读
(计算机软件与理论专业论文)网络考试系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 学科专业:计算机软件与理论 论文题目:网络考试系统的设计与实现 硕士生:刘念伯导师:杨国纬 v 了7 7 【因特网的迅猛发展给远程教育注入了新的活力,使之逐步转变成 现有教育方式更一般的形式。基于万维网的网络考试系统,因其具有 廉价、开放、易实现、强调考试数据的分析整理等特点,正在成为远 程教育的重要教学手段。本文对基于万维网的网络考试所涉及的基本 技术作了一些研究,重点探讨了如何利用这些技术构建一个网络考试 系统的原型。7 全文共分六章。第一章对所实现系统的特点作了一些简要介绍。 第二章介绍了将涉及的一些基本概念和技术,如w w w ,h t t p ,a s p , a c t i v e x ,w e b 数据库等。第三章介绍了系统的设计。第四章系统实 现及其解决的几个主要问题。第五章简单介绍了其使用。最后在第六 章中分析了该原形的不足之处和所需的进一步工作。 关键词:万维网 a s p a c t i v e x w e b 数据库 ? , a b s t r a c t s p e c i a l t y :c o m p u t e r s o f t w a r ea n dt h e o r y t i t l e :t e s to n l i n es y s t e m d e s i g na n di m p l e m e n t a t i o n g r a d u a t es t u d e n t :l i un i a n b ot u t o r :p m f = y a n g g u o w e i d i s t a n c ee d u c a t i o ni s b e c o m i n g m o r ea n dm o r e p o p u l a r w i t ht h e r a p i d d e v e l o p m e n to ft h ei n t e r a c t a n yt i m e t h en e wg e n e r a t i o nd i s t a n c ee d u c a t i o ni s e x p a n d i n g t h ec o n c e p to f t r a d i t i o r m le d u c a t i o n t e s to n l i n es y s t e mb a s e do nw o r dw i d ew e bi st h ei m p o r t a n tp a r to ft h en e w g e n e r a t i o nd i s t a n c ee d u c a t i o nb e c a u s eo fc h e a p ,o p e m n ge a s yf o ri m p l e m e n t a t i o n , a n de m p h a s i z eo nt e s td a t a sa n a l y z i n g t h i sp a p e rt a k e ss o m er e s e a r c ho nm a i nt e c h n o l o g i e sat e s to n l i n es y s t e mi s b a s e do n a n de m p h a s i z e so nh o wt oc r e a l cat e s to n l i n es y s t e mp r o t o t y p eu s i n gt h e s e t e c h n o l o g i e s t h e r ea r es i xc h a p t e r si nt h i sp a p e r i i lt h ef i r s tc h a p t e r , s o m em a i n a s p e c t so f t h i s p r o t o t y p ei s i n t r o d u c e d b a s i cc o n c e p t sa n dt e c h n o l o g y , s u c ha s 、 n ,、m 脚盯p a s p , a c t i v e x , w e bd a t a b a s ea r ei n t r o d u c e di nt h es e c o n dc h a p t e r s y s t e md e s i g n i s a n a l y z e di nt h et l l i r dc h a p t e r t h ef o r t hc h a p t e ri sf o rs y s t e mi m p l e m e n t a t i o na n d s o m em a i np r o b l e m ss o l v e dd m s n g d e s i g np r o g r e s s u s eo f t h i ss y s t e mi si n t r o d u c e d i nc h a p t e rf i v es i m p l yf i n a l l y , s h o r t c o m i n g so ft h i sp r o t o t y p ea n dw o r k ss h o u l db e d o n en e x ti sa n a l y z e di nt h el a s tc h a p t e r k e yw o r d s : w ,、】l ,a s p a c t i v e x w e bd a t a b a s e 第一章网络考试系统相关技术基础 w e b 数据库是近两年出现的一个热门技术,通俗地讲w e b 数据库技术就是 各种各样将w e b 与数据库相结合的方案和手段,即如何通过w e b 方式来进行数 据库访问。本章首先对与w e b 数据库密切相关的一些基本技术作了简要的阐述, 然后着重讨论了w e b 数据库与传统数据库访问方式相比的优越性以及现有的一 些w e b 服务器与数据库服务器的连接技术。 l 1i n t e r n e t 与w w w 随着广域网( w a n ) 的发展,信息高速公路也开始起步,可以认为其现阶 段的形态就是i n t e m e t 。简单地讲,i n t e m e t 是一个计算机交互网络。它是一个全 球性的巨大的计算机网络体系。它把全球数以万计的网络、主机连接起来,包含 了难以计数的信息资源,向全世界提供信息服务。 i n t e m e t 非常复杂,它的几个主要的组成部分有:物理网络、通信协议和 i n t e r n e t 应用程序。i n t e m e t 的物理网络是由若干个用路由器、交换机和电缆连接 起来的计算机网络组成,计算机之间的通信是通过通信协议来实现的。网络节点 上的处理机使用多种i n t e m e t 应用程序来交换资料,表1 1 列出了某些常见的 i n t e r n e t 应用。 应用描述 ej ;, m a i l 【 w o d dw i d ew e b f r p t e l n e t n e w s g r o u p s 电子邮件 在i n t e m e t 上显示超文本页面 在站点之间复制文件 登录到远程主机 新闻组 表lli n t e r n e t 常见的应用 翦- i 页 w o r i dw i d ew e b 简称w w w 或w e b ,是瑞士日内瓦欧洲粒子物理实验室 c e r n 最先开发的一个分布式超媒体信息查询系统。w w w 是一个非常新的事 物。短短的几年时间,w e b 从它的初期慢慢地成长起来,已经变为环球计算机网 的主要推动力。、 n ,、 ,最基本的内容是超文本链接,即通过i n t e r n e t 与信息源进 行连接的过程。超文本的概念是指允许用户用非线性的( 即非顺序的) 方式访问 信息。 w w w 主要是由三种标准成分组成,即u r l $ ( 统一资源定位器) 、h t t p ( 超 文本传输协议) 和h t m l ( 超文本标记语言) 。 u r l $ 是定位和访问i n t e r n e t 上对象的标准( 如h t t p :w w w , s u n c o r n ) ,它通过 跨协议的资源地址来帮助定位i n t e m e t 上的资料。u r l $ 能通过h t t p 识别文文 件,确定e m a i l 地址,通过f t p 传送文件等。 一个u r l 的格式基于所使用的协议而改变。一个u r l 可以分解成三部分: 使用的协议,连接的服务器的地址和被访问的文件的路径。一般来讲,u r l 的 格式可以为: p r o t o c o l :s e r v e r n a m e :p o r t p a t h 一般来讲,、 n n v 使用h 兀p 协议经过i n t e r a c t 传送信息。从服务器上取得 信息返回给客户端,有四个步骤: 1 客户端与服务器建立连接。 2 客户端向服务器发送一个特定文档的请求。 3 服务器用一个状态码、有关被发送对象的信息和对象本身来响应这个请 求。 4 客户或服务器任一方断开连接。 h r t p 是一种“无状态”协议。无状态意味着 盯r p 不需记住从一个请求到 另一请求的连接信息。不需维持状态使h t t p 协议变得很简单,它可以提高资料 第2 页 传送的灵活性,但同时也产生了一些负面影响,给连续事务处理带来了困难。 w w w 的第三个组成部分是超文本标记语言( - e m l ) ,标记语言通过针对 特殊用途的特殊格式标记来定义文本的范围。e r m l 不足一种编程语言,但有一 套语法规则,可用来创建与系统平台无关的文档。这些文档一般被存储在w e b 服务器上,根据客户端的请求由w e b 服务器向浏览器传送。 h t m l 为创建w e b 文文件提供了丰富的标记,称之为元素。h t m l 元素规 定w e b 文文件的逻辑结构,并且控制文文件的显示格式。特殊的h t m l 元素可 以用来定义指向其它文档的超链以及提供在同一个文件内的不同位置之间建立 超文本链接的功能。如:got ou e s t c , 本例中,浏览器会把“g ot ou e s t c ”这段文字显示为超文本链,如果单击这段 超文本,浏览器则会去访问电子科大的主页。h t m l 就是利用这种方式构成了 w 、) i ,、) l r 系统信息联系网。 1 2 w e b 数据库 基于w e b 的环球信息访问的迅猛增长,刺激了人们对数据库与w e b 前端之 间接口的兴趣。从本质上讲,将w e b 与数据库结合,即以w e b 的方式来访问数 据库有以下三方面引人注目的优点: i 与i n t e m e t 连接的用户难以记数,这是推动w e b 数据库开发的直接利益 因素。用户们实实在在地守在他们的浏览器前,一旦你的数据库能够通 过一个网络u r l 访问,那么需要做的全部事情就是引导用户查看与使用 它们。这将给商家们带来不可估量的经济利益。 2 可以通过标准的,功能强大的用户接口外壳、v c b 浏览器来访问数据 库。在这种模式下,开发者不需考虑用户所处的位置,也不需考虑用户 所使用的、f 台,甚至不用提供任何客户端软件就可以让用广一防n 4 数据库。 第3 页 3 数据库计算机到用户浏览器之间有一条随时备用的资料管道a 以往的许 多分布式应用程序,依靠于专利性质的软件包,这些软件包通过电话线 或专用线路相互通信,并通过一些特殊的协议对信息进行中继。i n t e m e t 服务广泛流行以后,不再需要使用这些专用线路和专用技术了。用户随 时可以依赖自己与网络空间的连接来访问数据库。这样一来,数据库供 货商只需将数据库放到网络上即可完事,而不用担心协议问题。 w e b 能提供标准的用户接口,具有允许巨大传输量的健壮的传输协议,而且 提供低费用的客户软件( 浏览器) ;数据库系统则具有清晰定义的数据模型,存 储和获取资料的健壮的方法,强大的授权和安全机制,以及控制事务和维持资料 完整性的有效途径。因此将两者结合起来是发展的必然趋势。 1 3w e b 服务器与数据库服务器的连接技术 1 3 1c g i 技术 c g i 是最早的w e b 数据库连接技术,几乎所有的w e b 服务器都支持c g i 。 c g i 标准定义了在与w e b 服务器进行交互的一个h t m l 文档里,如何调用可执 行程序。程序员可以选择任何语言来编写c g i 程序。利用c g i ,我们几乎可以 完全自由地创建动态h t m l 。但是c g i 程序是作为一个独立的外部应用程序来 执行的,他与w e b 服务器上的其它进程竞争处理器资源,因此导致效率低下。 1 3 2 w e b a p i 技术 为了克服c g i 效率低下的问题,许多厂商开发了自己的w e ba p i 技术。w e b a p i 通常以动态链接库( d l l ) 的形式提供,驻留在w e b 服务器上它的作用与 c g i 相似,也是为了扩展w e b 服务器的功能。目前最著名的产品有n e t s c a p e 的 n s a p i ,m i c r o s o f t 的i s a p l 等。直接使用这些a p i 编程相当困难,因此n e t s c a p e 与m i c r o s o t t 均为自己的服务器提供了基于a p i 的高级编程接口,分别为l i v e w i r e 第4 页 和i d c ( i n t e m e t d a t a b a s e c o n n e c t o r ) 。除了扩腱服务方功能外,很多产品还引入 了w e b 浏览器插入a p i ( p l u gi n 技术) ,即一组扩展w e b 浏览器功能的a p i ,以 提供更好的用户接口。如p o w e r b u i l d e r 的w i n d o wp | u g j n 以及a e t i v e x 技术等。 这样一来,w e b 客户机和服务器都可以通过插入技术得以扩展。这些产品虽然克 服了c g i 的低效性,但因为依赖于专门的w e b 服务器,有些产品还需要在客户 方增加必要的d d l 或共享库等。因此通用性较差。 从以上两图可以看出a p i 与c g i 的摄大区别在于a p i 不需为每次请求创 建个新的进程。在大多数情况f ,许多a p i 和服务器进程f 二j 属一个进程。a p i 第- 5 页 比c g i 具有更高的性能。这是因为a p l 只需轻量的线程切换。a p l 只需初始化 一次便可以处理多次客户请求。所有请求同一服务的客户可以共享资料和通信资 源。在很多虚拟机的实现情况下,a p i 可以自动地利用多处理器的优势,以获得 更高的吞吐量和更短的客户响应时间。 从另一个角度来看,可以从两方面提供w e b 数据库服务。一是服务器端扩 展,= 是客户端扩展。服务器扩展程序用于扩展w e b 服务器的功能。它可以通 过转换客户和数据库服务器已有的标准对其直接加以利用,能减轻网络传输,维 护开放数据库连接以减少打开与关闭数据库的开销。前面提到的c g i ,n s a p i , i s a p i 等都可以作为服务器端扩展。客户扩展程序用于提高浏览器性能。主要功 能是提供更友好的用户接口以及执行输入域的合法性检查等。前面提到的 p l u g _ i n 技术以及j a v aa p p l e t s 和s c r i p t s 等都可以用于开发客户扩展程序。 1 4a s p ( a c t i v es e r v e rp a g e s 活动服务器页面) a s p ( a c t i v es e r v e rp a g e s ) 是一种由微软公司开发的服务器端技术。它与客户 端技术的不同之处在于:在w e b 页面开发过程中,客户机端处理有一个严重的 限制,即要求w e b 浏览器必须支持在页面中调用脚本语言的功能,但是众多的 客户浏览器对脚本语言的支持是不相同的,因此客户端技术存在着对浏览器的依 赖性问题。而a s p 作为一种服务器端技术,其处理工作是完全在服务器端进行 的,从而消除了对于客户浏览器的依赖性。 在w e b 环境下,应用程序的开发者不希望客户直接连接到后台资料源。当然, 其中一个理由就是“每客户”的连接不具有很好的伸缩性。但更重要的原因是: 如果允许某些随机的i n t e r n e t 用户访问后台数据库,可能会带来安全性问题。因 此,在构造i n t e m e t 应用程序时,如果生成的h t m l 页面包含有数据库中的资料, 那么通常会使用服务器端的应用程序来生成这样的h t m l 页面。每当w e b 客户 第6 页 需要资料时,即向w e b 服务器发送一个请求并由服务器端应用程序根据这一 请求,根据数据库中的资料生成一个页面。发送到客户端。 随着很多新工具的出现,如j a v a 小程序、a c t i v e x 控件,现在已经能够编写 客户端w e b 应用程序了,这些应用程序维持独占到服务器的某个连接。这些应 用程序采用的办法不是仅当需要更多的资料时才向服务器发出请求,而是让资料 在客户端应用程序与服务器端应用程序之间直接传输。 传统上,为了开发服务器端i n t e r n e t 应用程序,要利用一个网关接口( 如c g i ) 或者i n t e r a c t 服务器应用程序编程接口( i s a p i ) 来进行。使用通用网关接口有一 个不便之处,就是需要在页面中显示的内容实际上是嵌入到一段编译过的程序内 部。如果想修改页面的内容或格式,就需要读源代码,找到h t m l 输出语句。 而且一旦被修改,就要重新编译。这就使得服务器端应用程序的维护变的很困难。 c g i 程序还有其它不便的地方,当调用一个c g i 程序时,它都作为一个独立的 进程运行,因此这些应用程序会消耗较多的系统资源,不具有很好的伸缩性。 a s p 解决了这些问题。a s p 具有开发简单、功能强大等许多优点,可以非常 直观简易地实现复杂的w e b 应用。而且一个a s p 页面可以将服务器端脚本和客 户端内容混合在一起。 a s p 与常见的客户端技术如j a v aa p p l e t 、a c t i v e x c o n t r o l 、v b s c r i p t 、 j a v a s c r i p t 等不同,a s p 中的命令和操作都是由服务器解释执行的,执行结果产 生动态生成的w e b 页面并送到客户浏览器:而客户端技术的脚本语言则是由网 络浏览器来解释执行的。由于a s p 是在服务器端解释执行,开发者可以不必考 虑客户端浏览器是否支持a s p ,同时开发者也不必担心别人下载程序从而窃取编 程代码。 a s p 通过扩展名为a s p 的a s p 文件来实现,一个a s p 文件相当于一个可执 行文件,陶此必须放在w e b 服务器上有可执行权限的目录f 。当浏览器向w e b 辩7 页 s e r v e r 请求调用a s p 文件时,就启动了a s p 。 w e bs e r v e r 开始调用a s p ,将 被请求的a s p 文件从头读到底,执行每一个命令,然后动态生成个h t m l 页 面并送到浏览器。a s p 文件的制作和h t m l 类似,且和h t m l 开发集成,可 以在同一个过程完成。通过a s p 内置的对象、服务器组件( s e r v e rc o m p o n e n t ) 可 以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件 完成专门的任务。a s p 具有以下特征: 完全和h t m l 集成; 易于生成,无需手工编译和连接; 面向对象,可以使用服务器组件。 a s p 提供了五个内建对象来提供更高一级的w e b 功能,它们是: r e q u e s t :获取客户信息: r e s p o n s e :将信息发送给客户; s e r v e r :提供w e bs e r v e r 工具: s e s s i o n :存储在一个s e s s i o n 内使用的信息; a p p l i c a t i o n :在一个a s p 应用内让不同使用者共享信息。 1 5 a c t i v e x 资料对象( a d o ) 在本系统中,主要采用了a d o 的方式来存取数据库。a d o 是构造在o l ed b ( 用于数据管理的一组c o m 接口规范) 之上的。它是由u d a ( u n i v e r s a ld a t a a c c e s s :微软的万能资料访问体系结构) 定义的应用程序级的编程接口。下图显 示了a d o 的结构: 第8 页 图l3a d o 对象模型 a d o 对象模型不是层次型的,它的六个对象除了e r r o r 和f i e l d 对象以外,所 有其它对象都可以独立创建。这一功能使得在不同环境重复使用对象变得比较容 易进行。也就意味着往往可以用几种不同的办法完成同一个特定的编程任务。 a d o 的c o n n e c t i o n ( 连接) 对象代表到一个资料存储的会话( s e s s i o n ) 。 c o n n e c t i o n 实质上是o l ed b 中的d a t as o u r c e 对象和s e s s i o n 对象的一种组合, c o n n e c t i o n 对象拥有一个e x e c u t e ( 执行) 方法。另外,c o n n e c t i o n 对象还可以依附 在c o m m a n d 对象和r e c o r d s e t 对象之上。 a d o 的c o m m a n d ( 命令) 对象等价于o l ed b 的c o m m a n d 对象。它提供了 一种办法,用来针对资料源准备和执行参数化命令。一个c o m m a n d 对象有一个 p a r a m e t e r s ( 参数) 集合,它包含一个或多个p a r a m e t e r s 对象,每个这样的p a r a m e t e r s 对象代表一个针对具体命令的参数。只有当基础o l ed b 提供者实现了o l ed b 的c o m m a n d 对象时,a d o 的c o m m a n d 对象才可用。 a d o 的r e c o r d s e t ( 记录集) 对象是a d o 的心脏。与o l ed b 的r o w s e t 对 象类似,r e c o r d s e t 对象代表的也是一个来自资料源的列表式的资料集合。那些 从资料存储中返回资料的c o n n e c t i o n 和c o m m a n d 方法,可将返回资料赋值给 r e c o r d s e t 对象。程序员也可以直接创建更灵活的r e c o r d s e t ,可将这样的r e c o r d s e t 第9 项 连接到c o n n e c t i o n 对象,并且可以有选择地连接到c o m m a n d 对象。r e c o r d s c t 可以支持多个选项,这些选项可以资料加锁类型等配置。r e c o r d s c t 对象在逻辑 上由若干行和列组成。r e c o r d s e t 中的各个具体的列通过其f i e l d s 集合访问,每 列对应一个f i e l d s 对象。 1 6 数据库管理系统 从应用的级别来分,数据库管理系统可分为部门级和企业级,部门级的数据 库管理系统如微软的s q ls e r v e r ,企业级的数据库管理系统如o r a c l e ,s y b a s e 等。 对于一个中等规模的网络考试系统来说,s q ls e r v e r 已经足够使用了。而且s q l s e r v e r 还具有以下许多优点: 1 完全的客户机服务器体系结构。这一结构可以有效的使用网络,提高网络 带宽的利用率。因为在客户机服务器运算模式下,数据库操作都集中在服务器 进行,在网络上传输的是用户的请求命令和数据库服务器的操作结果,而不是整 个数据库文件,这样可以减少网络上的信息流量,从而提高网络的使用效率。 2 简单的图形化管理工具使系统管理更为直观方便。s q le n t e r p r i s e m a n a g e r 是一个基于w h d o w s 图形用户接口的集成管理工具,利用它可完成s q l s e r v e r 的许多配置管理工作。 3 隐含的并发控制能力。s q ls e r v e r 利用锁定功能防止用户在查询和更新并 发操作时相互发生冲突,锁定是隐含的,用户不必操心锁定过程。 4 丰富的编程接口工具。s q ls e r v e r 提供了多种专用开发工具,其中 t r a n s a c t s q l 与工业标准s q l 语言兼容,并在其基础上加以扩充,使它更适合 事务处理方面的需要。此外它还支持o d b c 规范,可以使用o d b c 访问s q l s e r v e r 数据库。 5 多线程体系结构。s q l s e r v e r 支持多线程操作,在多用户并发访问时,系 统在产生较小额外负担的情况f 能够进行并行处理,从f f i i 减少内存需求,提高系 第1 0 贾 统的吞吐量。在用户数量增加时,s q ls e r v e r 的运行速度也不会明显变慢。 6 s q ls e r v e r 是m i c r o s o f t 服务器套件b a c k o f f i o e 的成员之一,它与其它软 件( w i n d o w sn t , i n t e m e ti n f o r m a t i o ns e r v e r , e x c h a n g es e r v e r 等) 有机结合,并 充分利用它们提供的服务或功能( 如安全管理、事件日志、性能监视器、内存管 理和异步i o 等) ,从而增强了s q ls e r v e r 数据库系统的功能,同时占用较少的 系统资源。 在使用w i n d o w sb i t 作为服务器操作系统,i i s 作为w e b 服务器的环境里, 使用s q ls e r v e r 作为w e b 数据库管理系统有着不可替代的优势。 第i i 页 第二章w e b 数据库方案选择 本章具体讨论了w e b 数据库的实现方案,论述了三层结构相对与两层结构 的优越性,并对现有w e b 数据库技术作了简要的介绍。通过比较,提出了一种 基于i s a p i 的三层结构的w e b 数据库解决方案a 2 1 从两层结构到三层结构( n 层结构) 两层结构也就是我们通常所说的客户,服务器( c s ) 结构。客户,服务器体系 结构是当今计算即网络上流行的一种计算模式。每一个应用程序的工作分为两个 交叉的程序,一个是客户,另一个是服务器。客户端应用程序收集用户的需求信 息,然后通过网络与服务器程序相连接,该服务器程控与处理所请求的信息。这 种客户与服务器之间的对话通过应用程序协议接口实现,即客户程序和服务器程 序通过相同的协议进行会话。客户端软件按要求格式化用户请求,并通过网络将 请求传送到服务器。服务器接收到客户请求,分析请求,寻找信息源,再用相同 协议规定的格式将响应结果信息传回到客户端。 在客户端,客户进程由一个用户请求启动。服务器必须随时准备响应用户请 求,它通常是一个驻留程序,在一个特定的埠号上监听客户的请求。 由于、 n ) l r 的迅速发展,客户服务器模式演变为浏览器- w e b 服务器模式。 即服务方为w e b 服务器,接收客户方的请求,并按要求传送相应的文档,如文 本、图像、声音和动画等。而在客户端则统一为浏览器,用户通过浏览器指定待 请求文档的u r l ,向服务器发送请求,可以请求一般的静态文文件,也可以请 求执行一个程序( 如c g i 等) 。由于w e ba p i 的出现,请求的页面中可以包含a s p 代码,或嵌入某种s c r i p t ( 如v bs c r i p t ) 代码,由浏览器来解释执行,从而增加 了w e b 页面的动态性和交互性。在这种模式下,客户方得到了简单化和标准化。 用户所需要的仅仅是一种浏览器。而不需要对每一种应用都安装和熟悉相应的客 第1 2 页 户软件。 在客户服务器模式下典型的数据库访问方式为客户端发送s q l 请求到数据 库服务器,服务器返回相应结果,客户端负责资料的格式化和其它分析。可用下 图表示: i 应用程序 s o l 请求 。 一、 数据库 ( 二) f ( 客户机) 服务器 内存 l 资料答复 图2t客户,服务器模式的数据库应用 简单性是c s 模式得以流行的一个重要因素。两层结构使得用可视化编程工 具快速开发应用程序成为可能。但是随着应用规模的不断扩大,两层的c s 模式 逐渐显出了它的不适应性。在两层结构的数据库访问模式下,应用逻辑要么处在 客户端,要么由数据库服务器来完成。为了访问资料,客户端必须知道资料在服 务器上是如何组织和存储的,而且在网上直接传送的是s q l 语句。两层结构的 一种改进方式是使用存储过程。将一部分处理划归到数据库服务器,不通过网络 直接传送s q l 请求,而是传送存储过程名来激活运行于服务器方的某个函数过 程。在这种情况下,在一定程度上增加了数据库服务器的负担,影响了性能,也 不能完全适应大规模的应用。 三层结构与两层结构的区别在于,除了最终客户和最终的数据库服务器之 外,还在中间增加了一层应用服务器。如图所示: 秣1 3 碾 巨,圄 、曰圄 第一层( g u i )第二层( 应用逻辑) 第三层( 数据) 图2 2 三层结构的数据库应用 与两层结构相比,三层结构的应用更容易在网上得以实施和管理。绝大多数 代码运行于中间层服务器上,客户端只需要作用户接口的处理,甚至可以通过下 载a c t i v c x 控件来完成。再者,三层结构通过创建抽象服务层最小化了网上的数 据传输。客户端不是直接与数据库服务器打交道,而是调用中间层上的逻辑服务, 该服务程序再为客户去访问数据库。同时,由于资料的设计方案并没有暴露给客 户,因此具有更好的安全性,而且也能提供更好的服务方授权功能。 下面将两层结构与三层结构作个简单比较: l 两层结构三层绪构 复杂( 有很多的客户方逻辑相对简单( 应用可以在服务方 系统管理 需要管理)集中管理) 安全性低( 资料级安全)高( 服务级或方法级) 资料封装低( 资料表暴露)高( 客户方调用服务或方法) 低( 大量s q l 语句在网上传高( 只有服务请求和响应在客 性能 送,选中的资料要下载到客户服务器问传递) 户方进行分析处理) 很差很好( 可以较容易地下载 li n t e r a c t 支持 a p p l e t 、b e a n s 之类的腹客户) 表2i两层结构与三层结构的比较 第1 4 页 2 2w i n d o w sd n a 体系分析 目前已经有不少厂商推出了自己的w e b 数据库产品。一般都基于三层( n 层) 结构。即在客户浏览器和最终数据库服务器之间( 通常在w e b 服务器上) 增加一层应用逻辑服务层来对w e b 和数据库所使用的不同协议标准进行转换, 从而使通过测览器访问数据库成为可能。 图2 3w i n d o w sd n a 体系结构 w i n d o w sd n a ( d i s t r i b u t e di n t e r n e ta p p l i c a t i o n s 分布式网间应用程序) 就 是一个用来构造基于组件的三层式应用程序的框架结构。这种应用程序可以在任 何网络上分发。w i n d o w sd n a 的目标是使p c 、客户机服务器和基于w e b 的应 用程序围绕这个公共的应用程序体系结构合为一体。 w i n d o w s d n a 以组件对象模型( c o m ) 和i n t e r a c t 标准为基础。所有服务都 通过已发布的c o m 接口为应用程序所使用。 2 2 1 表示层 在表示层各种产品支持多种类型的用户接口,从普通的h t m l 到动态的 第1 5 砸 h t m l ,以及本机的w i n 3 2 应用程序。对于基于w e b 的客户,微软提供了i e 浏 览器,它支持h t m l 、d h t m l ,客户端脚本编程、j a v a 小程序、n e t s c a p e 插件 和a c t i v e x 控件。这些语言和组件可用来创建一个功能丰富的交互式用户界面。 2 2 2 商业逻辑层 在商业逻辑层,w i n d o w sd n a 包含了一组功能很强的集成应用程序服务。 这些服务相互之间和与底层的操作系统之间紧密集成并通过c o m 以一种统一 的方式进行展示。这些服务包括: w e b 服务,通过s 实现: 事务和组件服务,通过n i t s 实现; 排队和同步服务,通过m s m q 来实现; 服务器端脚本编程技术,通过驻留于i i s 的a s p 来实现; 2 2 3 数据访问层 w i n d o w sd n a 处理数据访问的方法称之为u d a ( 万能数据访问) 。u d a 是 一个基于c o m 的框架结构,它遵循开放式工业标准。u d a 不要求所有数据都 存储在一个公共数据存储器中,而是为各种类型的存储提供了一个统一的编程接 口,从而简化了这些应用程序的开发。在u d a 的核心,指定了一个被称为o l e d b 的系统级接口。还指定了一个被称为a d o 的应用程序编程接口。该接口提 供了一个较为简单的方式通过o l e d b 访问数据的方法。 2 3 基于a s p 技术的三层结构的w e b 应用 符合w i n d o w s d n a 体系的a s p 技术作为一种服务方扩展,很适合用来构造 三层结构的w e b 应用。 在这种应用中,第一层可以是任意的浏览器,a s p 作为一种服务器端技术, 消除了对于客户浏览器的依赖性,可以直接由标准的h t m l 窗体来处理。 第1 6 页 第二层为运行在w 曲服务器上的功能很强的集成应用程序。通过a s p 内置 的对象、服务器组件( s e r v c rc o m p o n e n t ) 可以完成非常复杂的任务,而且用户还 可以自己开发或利用别人开发的服务器组件完成专门的任务。这些a p i 封装了一 些特殊的功能,包括对数据库的调用。 第三层为资料源,可以通过关系数据库接口o d b c 等来访问。 箍个结构如图24 所示: w e b 浏览器把a s p 文件的请求发送到w e b 服务器。w e b 服务器将被请求的 a s p 文件从头读到底,执行每一个命令,然后动态生成一个h t m l 页面并送到 浏览器。w e b 服务器分析请求时,如果发现是调用某个a p i ,则将处理移交给该 a p ,a p i 接受请求,将其转换成数据库服务器能够接受的形式( 如s q l ) ,再把 它们送到数据库服务器。然后,数据库服务器执行资料操作,诸如查询或插入, 并把结果送回a p i 。最后,a p i 将结果送给w e b 服务器。w e b 服务器则把a s p 的网页转换成w e b 浏览器能够接受的形式( 如h t m l ) ,送到w e b 浏览器。 各种集成应用程序作为线程运行于w e b 服务器上,弥补j - c g i 开销大的缺 点,同时具有更好的移植性以及更强的安全性。a s p 作为一种服务器端编程技术, 比常见的客户端技术如j a v aa p p l e t 、a c t i v e x c o n t r o l 、v b s c r i p t 、j a v a s c r i p t 等 第- 1 7 页 具有更强大的功能。 通过以上的分析,本课题拟定开发一个基于的a s p 的数据库应用原型,通 过该模型可以对任何关系数据库进行访问,并能提供一种较为方便的方式开发基 于a s p 技术的三层结构的w e b 应用程序。 第1 8 页 第三章网络考试系统功能分析和结构设计 本章主要是探讨如何设计一个基于w e b 的简洁高效易用的考试系统。 3 1 网络考试系统在网络远程教育中的应用 目前,网络考试在试卷的生成和考试方式上还存在着许多不足之处,它们 影响了远程教育的教学效果的提升。目前,绝大多数网络考试主要是以两种形式 提供给学生学习使用的。第一种是使用w o r d 等工具编写的文文件,学生通过 网络浏览器下载网页进行测试学习;第二种是基于客户机服务器结构的专用考试 系统,学生一般是通过特定的客户端软件在局域网内进行考试。 这两种形式的网络考试各有其优缺点: 文档专用考试系统 制作难度容易一般 教学效果不好很好 考试的同步性困难较好 应用范围广泛仅在局域网 功能扩展很难容易 表31 文档形式与专用考试系统比较袭 文档形式的考试实际上等同于传统考试,需要大量的人工干预,不利于考试 的集中、同步和考后答案的回收、批改、分析,已逐步被专用考试系统所取代。 但也正是由于文档形式的简单和本身的无须特殊工具使得它还有广泛的应用。专 用考试系统克服了文文件形式的弊端,实现了实时高效的网络化考试和考试资料 的批改分析。但由于其专用性受到很大的限制。首先它需要在客户端安装特定的 软件;其次它只能实现某一时刻的特定考试,限制了使用者的范围;最后它不利 使教育资源的开放和共享。 显然这两种形式的网络考试都不能完全满足现代网络远程教育迅速发展的 需要。因此需要一种新的网络考试形式,它需要同时具有试卷文文件和专用考试 系统的优点,即能够使用一种简单的方法实现高效易用的考试系统。 第1 9 丽 3 1 1 网络考试系统系统描述 我们希望开发一个基于w e b 的通用考试系统,作为网上学校的一个子系统, 该系统在一个w e b 站点上运行,通过浏览器访问,能实现局域网用户( 校内) 和w e b 用户( 校外) 的实时j # 实时的考试功能,提供用户登录、实时考试、统 计分析、历史记录查询、试题录入、试卷生成等服务。 3 1 2 对系统的要求 我们对网络考试系统作出如下要求: i 能正确、有效地处理各种考试事务。 2 具有实用性与通用性。 3 提供良好的人机界面。 4 具有良好的可扩充性。 3 2 网络考试系统总体方案 前面已经提出了网络考试系统的系统描述,现在我们来制定方案以找出其解 决途径。 3 2 i 模拟现实的考试机制 实际上这个方案早在提出系统描述时就已经确定了。选取这一方案有以下几 个原因: a 符合人们的思维习惯。 b 便于各种考试事务的安排处理。 c 易于扩充。 d 便于人工干预。 i t - 2 0 页 3 2 2 以a s p 技术为基础的三层结构w e b 数据库 图31 网络考试系统结构 此方案采用b s 结构,w e bs e v e r 接受、解释用户请求,并向数据库服务器发 送s q l 查询,查询结果与网页发回客户端,由b r o w s e r 显示出来,主要功能在服 务器端完成。 选用此方案是基于以下凡方面的考虑: a 资料的保存。 在网络考试过程中,需要进行大量密集的数据库操作,用独立的数据库服务 器来保存网络考试系统的大量信息是十分恰当的。 b 通用性。 采用a s p 技术可以服务器段解释执行后直接向用户的浏览器发送h t m l 文本, 这样用户只需要一个浏览器就可以完成在网络考试系统内的所有操作。 a c t i v e x 技术使我们能在a s p 语句中嵌入标准的s q l 语句,这样我们在开 发时可以使用一种数据库,投入运行时则完全可以使用另一种数据库而不需改变 程序。 c 动态页面。 用a s p 与s c r i p t 技术可以向用户输出动态页面。 d 安全性。 由于采用了三层结构,用户只能与w e b 服务器进行直接的通讯,而数据库 服务器的所有信息对于他她郜足透明的,从而避免厂用,! ,对数据库的盥接访0 。 第2 i 疆 即使出现意外情况,其造成的损失也是极为有限的。 e 易于实现。 a s p 具有的内置对象和服务器组件特别适宜编写此类混合了浏览器端和服 务器端的程序。 f 能满足实时非实时考试的需要。 用户可任意选择参加实时和非实时的在线正式考试或个人练习,也可将考试 页面下载到本地进行离线的练习。这无疑是一个让人感到特别高兴的事情,这样 一来,无论是实时还是非实时的情况我们都能在运用这一方案轻松解决1 3 2 3 算法框图作为主要的分析工具 前面已经提到,网络考试系统的大多数事务都可以通过表格提交与传送的方 式予以解决,用算法框图作为主要的分析工具也就成了顺理成章的事。 3 3 网络考试系统详细设计 限于篇幅,在此仅讨论网络考试系统涉及的数据库表和主要功能设计。 3 3 1 涉及的数据库表 涉及的考试事务对象的实体联系模型图( e - r 图) 如下: ( 其中1 :l 表示一对一 1 :m 和1 :n 表示一对多m :n 表示多对多) 第- 2 2 页 上面已经确定用数据库来存贮系统的大量资料,下面我们就来看网络考试系 统究竟需要哪些数据库表。 iu s e r s ( 有效用户表) p e r s o n a l t e s t l n f o ( 个人考试情况表) o e n e r a l t e s t i n f 0 ( 总体考试情况表)s i g n u p ( 考试报名表) 1p a p e r ( 试卷表)t e s t a n d q u e s t i o n ( 考试情况试题对应表) f iq u e s t i o n ( 试题表)c o m p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技成果转化合同
- rt考试题及答案
- pkpm考试题及答案
- 电缆行业知识培训课件
- 电线家装知识培训课件
- 电站工作知识培训课件
- 电石炉净化培训知识课件
- 委托开发合同(编号:2)
- KLHDC2-IN-1-生命科学试剂-MCE
- 高温防疫安全知识培训课件
- 统编版五升六语文开学摸底测试卷(十二)(含答案)
- 2025-2026学年北师大版(2024)初中物理八年级上册教学计划及进度表
- 2025年地理信息系统考试题及答案
- 2025年度哈尔滨“丁香人才周”(春季)哈尔滨新区教育系统专项招聘80人考试备考试题及答案解析
- 军用电台知识培训方案课件
- 江苏员额检察官考试完整版试题及答案
- 2025年中级注册安全工程师《其他安全》十年真题考点
- (2025)行政执法人员考试题库(附答案)
- 院前急救工作制度及流程
- 1-安全生产治本攻坚三年行动工作方案及台账模板(2024-2026年)
- CQI审核管理办法
评论
0/150
提交评论