分布式网络考试系统原型分析及实现

类别:Delphi 点击:0 评论:0 推荐:

                            分布式网络考试系统原型分析及实现

Analysing and implementing

the prototype of the distributed network exam system

 

 河南思维自动化设备有限公司软件部  耿百强

HENAN Thinker Automatic Equipment Co. Ltd, Geng Baiqiang

                                            河南省济源市委党校 翟希仁

摘    要

 

随着机务段信息化建设的不断深入以及机务安全管理系统的全面实施,越来越多的机务段对网络考试提出了迫切需求。为满足机务段的需求,我们以工程化的软件开发模式,以UML为建模语言,使用ModelMaker这个CASE工具,分析、设计开发成功了一个基于COM+和XML的分布式的多层混合模型的网络考试系统,并提供了与指纹管理系统的接口,推广到各机务段使用后,反映良好。本文将详细向您介绍网络考试系统的原型及实现方法。

 

 

关键词: COM+ ; UML ;XML ; Delphi;分布式;考试系统。

Abstract

With the going deep into development of locomotive information and putting locomotive security management system in practice in each field, more and more locomotive depots have a need to the network exam. To satisfy this requirement ,we successfully developed  a network exam system that it is a distributed multilayer mixed model  based  COM+ and XML technology ,by using the tools of UML and ModelMaker that it is a tool of CASE provided by Borland company ,and provided a interface to the finger printer system. In Executing in KUERLE locomotive depot, this system wins a positive reflection. In this paper, I will introduce this model and realized methods in network exam system in details to you.

 

Key WordsCOM+ ; UML; XML; Delphi;  Distributed; Exam System.

 

1        引   言

随着网络技术的日益普及和铁道部对机务段信息化建设的重视,现在机务段都配备了列车运行安全监控设备,并在此基础上搭建了机务安全管理信息系统,对机务段信息化建设起到了积极的推动作用。但在实际工作中存在着软件建设落后于硬件建设的现象,例如,机务段管理层对乘务员的考核还停留在传统的考试模式,不仅效率低下,而且还存在许多弊端,造成信息资源的浪费。考试的无纸化、网络化不仅能有效减少管服人员的工作量,较好的利用计算机与网络的优势,提高工作效率,也能使考试更加公平、公正。基于这种需求,我们为机务段设计开发了一套性能稳定、安全可靠、操作方便的可以满足大量乘务员同时使用的网络考试系统。另外,为严格杜绝考试作弊的现象,本系统还提供了指纹验证的功能,使得考试的安全性、公平性、公正性大大提高。

本系统在乌鲁木齐铁路局库尔勒机务段使用后,效果良好,不仅大大推进了库尔勒机务段的信息化建设进程,而且使得管服人员对乘务员的考核更加科学化、公平化、公正化、高效化和网络化。

2        系统开发原理 2.1      系统目标

系统应该能满足大量乘务员在任何地方、任何时间都能参加考试,并自动判断成绩。通过对机务段考试业务需求的详细分析,本系统提供的主要功能如下:

1.    乘务员可以在网上进行考试,考试结束后由计算机自动判断分数,并记录成绩,乘务员还可以查看标准答案。如果考试时间到,系统自动提示交卷并停止作答。

2.    教员可以在网上建立、修改题库,修改乘务员个人资料,监控考场情况等。

3.    管理员可以在网上建立考生、教员等档案资料,审核题库,安排考生考试,修改考生和考场状态,查询考生考试成绩,监控考场情况以及设置考试项目与考试题数等。

另外为保证考试的公平、公正,试卷的试题由计算机随机从题库抽取。为严格杜绝考试的作弊行为,系统还应该提供指纹验证登录的功能。

再者,考虑到系统的稳定性与执行效率,在分析库尔勒机务段网络配置的基础上,系统采用了分布式的三层C/S与B/S混用的架构方式,即:乘务员如果是在本段进行考试,可以选择C/S结构的触摸屏考试和工作站考试模式;如果乘务员是在外点进行考试,可以选择B/S结构的工作站考试模式。

2.2      基于C/S与B/S的系统混合构架模型

当前软件界比较流行的系统结构模型主要有:C/S结构模型与B/S结构模型。这两种结构又可分为二层和多层架构,主要的区别在于是否使用了中间件(例如COM+或CORBA)来架构应用服务器层。考虑到机务段对考试的具体需求,本系统采用C/S与B/S混用的多层分布式网络架构模型,如图1所示:

该结构模型结合了分布式多层C/S与B/S的优点而设计,在通常情况下分为客户层、事务逻辑层和数据层。

客户层:主要用来满足整个系统的各种访问需求并处理以下工作:接收用户的输入,对用户的输入进行分析检查并作相应的处理;向服务器发出数据请求,显示由应用服务器传来的运行结果。客户层通常由客户进程组成,在该模型中客户进程主要包括IE浏览器动态创建的进程以及客户端的考试工作站创建的进程等。

事务逻辑层:负责接收从客户端或游览器传来的请求并将请求传给底层进行处理,同时将请求处理结果发送给客户端或者浏览器。事务逻辑层的进程主要由中间件MTS/COM+以及一些相关的处理进程组成。

在Windows平台下微软公司推出了的Windows DNA(Distributed interNet Application Architecture,分布式网络应用结构)策略。把COM+作为Windows DNA策略中的中间件。在Windows 2000以上操作系统中,COM+成为了系统的一部分。COM+为中间层提供了负载平衡、对象池(Object Pooling)、事务特性等一系列的强力支持,并且在COM+中工作的程序受到操作系统的保护,从而最大的保证了系统的安全、稳定和高效。

在该模型中,主要通过ADO实现数据动态操作,ADO是微软当前主流的数据访问组件,与以往的数据访问技术相比,它提供了极为简单的对象模型,并封装了复杂的底层访问技术。

数据层:主要为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。

本结构模型克服了二层C/S的弊端,充分利用了分布式的多层C/S与多层B/S的优点,满足了机务段在复杂情况下对考试业务的需求,极好地利用了机务段现有的网络资源,是对现有网络资源的有效集成、利用以及扩展。

2.2.1        XML语言

XML(eXtended Markup Language)是一种标记语言,就像我们熟悉的HTML一样,但是XML的标签是由人们根据自己的需要来定制的,也就是说,任何词和字都可以做为标签来用,只要能准确的表达数据的属性。准确表达数据的含义就是XML带来的最大好处。另外,XML使用文本方式存储其格式,便于程序之间、操作系统之间沟通、交流,适应目前互联网的发展。

XML出现短短几年就得到了广泛的应用,目前新推出的软件几乎都会支持XML。例如微软的.Net系列软件、Office系列软件等等。不出几年,XML就会代替HTML成为因特网上标准的标记语言。

本系统引入XML语言表达数据的好处是使得系统中客户端数据的显示和系统处理的数据分离,减小开发系统的复杂度,减少系统处理时间,减少网络传送量,从而提高系统的执行效率。

2.2.2        UML(统一建模语言)

统一建模语言(Unified Modeling Language, UML)是面向对象软件的标准化建模语言。由于其简单、统一,又能够表达软件设计中的动态和静态信息,目前已经成为可视化建模语言事实上的工业标准。

从企业信息系统到基于Web的分布式应用,甚至严格的实时嵌入式系统都适合用UML来建模。这是一种富有表达力的语言,可以描述开发所需要的各种视图,然后以此为基础来装配系统。

本系统引入UML的主要优势是提高软件开发效率,减少开发时间,节约开发成本。以UML语言建模应该是以Rational公司的Rose工具为最好。不过Rose比较昂贵,并且Rose比较庞大,使用不是太方便。Borland公司出品的ModelMaker建模工具不仅支持UML,而且在对象建模上也有其独到的地方。因此建模工具就选用ModelMaker。

2.3      系统的功能特点

(1)、采用分布式的混合构架模式(C/S与B/S结合),可满足多种情况下机务段对考试业务的需要。

(2)、采用多层构架模式,系统性能稳定、容错能力强,提供了网络负载均衡的功能,具有应付较大量乘务员进行考试业务的能力。

(3)、采用组件方式编程,系统的模块化程度高、可扩展化强。

(4)、采用数据库二次加密技术,大大提高了数据库服务器的安全性,为机务段构建了安全系数较高的网络在线考试系统。

3        系统的开发 3.1      系统总体设计方案

分布式网络在线考试系统是在Windows平台上开发的基于分布式多层混合架构技术的管理信息系统,其网络结构如图2所示。图3是Web考试模式下的页面布置结构图。其主要流程是:用户根据授权登录后,系统根据用户权限的不同,设置相应的操作操作。乘务员登录后可以进行考试,查看成绩及标准答案等操作;教员登录后可以进行修改考生(即乘务员)的个人资料、修改题库、修改用户密码以及监控考试情况等操作;管理员登录后除具有教员的一切功能外,还可以进行审核题库(只有审核过的题库才可以进行考试)、设置考试时间、查询、打印考试成绩等操作。

考试工作站:对乘务员进行考试的客户端程序。主要提供了根据系统配置进行随机出题、指纹验证登录、考试时间提示、自动判断成绩、查看考试成绩以及标准答案等功能。其中考试工作站在实现方式上又分为客户端程序与Web方式,前者允许乘务员通过客户端程序(支持触摸屏考试模式)的方式进行考试,后者则允许乘务员通过铁路专用网进行考试。

考试设置工作站:对考试业务进行设置的客户端程序。主要提供了修改题库、审核题库、修改考生资料、设置考生/考场状态、查询/打印考试成绩、题库的导入/导出功能以及监控考试情况等功能。

考试应用服务器:网络在线考试系统的应用服务器。主要实现了数据缓冲及考试业务逻辑的封装与复用功能,是考试工作站、考试设置工作站与数据库服务器的接口。应用服务器提供了丰富的接口,可以通过模块方式增加或者减少业务规则,考虑到以后考试业务的升级,应用服务器层还预留了新考试类型的接口,使得以后的系统扩展较为方便。另外,为保证考试的高效性,应用服务器支持双机热备份的数据库服务器模式,即如果当前正在使用的数据库服务器发生故障,则系统配置中的后备数据库服务器自动切换为当前数据库服务器,这一切都是在用户所不知晓与干预的情况下进行的。通过应用服务器层的高效,真正使机务段的考试业务做到了使用简便、功能强大、性能稳定,模块化程度强,满足了新时期机务段对信息化建设的较高要求。

图2所示的应用服务器集群除了考试应用服务器外还包括一个Windows IIS 5.0的Web服务器,它为实现在铁路专用网上进行考试业务提供了支持与保障。数据库群是指后台正在使用的SQL Server 2000数据库以及备份数据库,这两台数据库服务器可以通过中间层的应用服务器自动实现故障诊断切换模式。

图3所示是考试业务的Web实现,它通过铁路专用网向乘务员提供考试服务,它的业务流程与客户端程序模式基本类似,乘务员通过IE 5.0以上版本的浏览器登录考试Web服务器,考试Web服务器根据不同的用户权限完成操作。图中的密码验证构件分别为教员、乘务员、管理员三个构件的登录(Login)方法调用。

3.2      系统安全解决方案

网络在线考试系统需要通过网络来进行数据的传输,因此应用服务器、Web服务器与数据库服务器的安全性必须从系统设计时就进行规划。根据库尔勒机务段的实际情况,我们采用了以下安全措施:

(1)、加装可靠的防火墙,对外部的恶意攻击进行有效的遏制;

(2)、将服务器(包括应用服务器、数据库服务器与Web服务器)的硬盘分区转化为NTFS格式,根据不同的需求为用户开设各自的权限;

(3)、将关键代码写成DLL组件,不但增强了安全性,同时也使系统的模块化程度加强,提高了系统性能;

(4)、在数据库中对关键数据进行二次加密,在具体实现上,我们使用了AES(高级加密标准)加密技术;

(5)、应用SQL SERVER 2000的数据备份与恢复功能,保证数据库信息的完整与安全。

4        系统实现 4.1      开发平台的选择

本系统采用的微软公司所推出的分布式的C/S与B/S混合的应用构架模型,开发平台选用了Windows 2000 Server,数据库选用SQL Server 2000,Web服务器程序使用IIS 5.0。由于使用了XML,所以Web客户端必须是IE 5.0以上版本的浏览器才能正常使用本系统,客户端考试工作站可以支持Windows 98/Me、2000、XP以及2003,数据库驱动选用微软的MDAC2.7组件。

4.2      编程工具的选择

目前比较流行的开发工具VC++、VB和Delphi等都可以实现本程序以及中间件COM+程序的开发。使用VC++可以得到最好的速度,最大的灵活性,最强大的功能,但使用VC++开发系统所要花费的时间和开发成本足以抵消掉他所带来的好处;使用VB来开发花费的时间是少了,可是VB的运行效率和VC++相差甚大;Delphi是Borland公司出品的Windows下的快速开发工具,具有VB的开发效率和VC++程序的运行速度,所以用来开发本系统是最合适的选择。另外,在Delphi 7.0中新增了IntraWeb组件,可以直接在Delphi7.0环境下开发Web应用,正是本系统混合架构的最佳开发工具。

4.3      XML和网页编辑工具的选择

现在的XML开发工具很多,但很多都不理想,不是使用不方便就是对中文的支持不好。最后只能用Windows下的记事本(NotePad.exe)手工书写。这样效率很低,也许正因为这个原因XML才没有HTML应用多。

网页的编辑工具比较好选,DreamWeaver功能最强大使用方便,是不二之选。

5        结语

本系统在库尔勒机务段实施后,在段领导的大力支持下,经过一段时间的运行,用户感觉界面操作简便、性能稳定、可靠性强、安全高效,给予了系统较高的评价。但我们深知,限于精力、技术和时间等因素的影响,系统需要改进的地方还很多:

(1)、随机试卷生成算法有待进一步加强。目前的随机算法比较简单,在实际使用中,可根据不同的情况结合试卷的难度等信息,采用更复杂更有效的随机算法。

(2)、考试功能有待增加。目前的试题类型支持单项选择、多项选择及判断题等,试题类型还有待进一步丰富,另外可以增加设置考试科目的考题数目功能等等。

(3)、系统性能有待改进与提高。可以利用目前SQL Server 2000提供的XML直接支持更进一步改进程序性能! 另外,应用服务器有待增强负载均衡的功能。

 

 

 

 

 

 

 

参考文献

[1] (美) Grady Booch,James Rumbaugh,Ivar Jacobson,《UML用户指南》,机械工业出版社,2001年8月

[2]李维,《Delphi5.X分布式多层应用-电子商务篇》,机械工业出版社,2000年5月

[3]林锦雀,江高举,《最新XML入门与应用》,中国铁道出版社,2001年11月

[4]潘爱民,《COM原理与应用》,清华大学出版社,1999年11月

 

 

 

作者简介

[1]耿百强,河南思维自动化设备有限公司软件部软件高级工程师,主要研究方向:多层分布式系统,构件系统。

[2]翟希仁,河南省济源市委党校讲师,主要研究方面:软件工程方法学,安全学。

本文地址:http://com.8s8s.com/it/it4305.htm