JAVA语言考试系统的设计与实现-JAVA毕业设计论文_第1页
JAVA语言考试系统的设计与实现-JAVA毕业设计论文_第2页
JAVA语言考试系统的设计与实现-JAVA毕业设计论文_第3页
JAVA语言考试系统的设计与实现-JAVA毕业设计论文_第4页
JAVA语言考试系统的设计与实现-JAVA毕业设计论文_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(2000级04届)论文(设计)题目 Java语言考试系统的 设计与实现 The Design and Realization of Exa米ination Syste米 for Java 作 者 赵 敏 二级学院、专业 信息工程学院计算机科学与技术 班 级 计001 指导教师(职称) 姚争为(助教)、詹国华(教授) 论 文 字 数 10000字 论文完成时间 二四年六月 杭州师范学院教务1杭州师范学院本科毕业论文Java语言上机考试系统的设计与实现目录摘要Abstract第一章 引言11 计算机等级考试(二级)12 考试系统采用的 实现模式第二章 考试系统采用的 技术和运行平台21 Visu

2、al Basic .NET22 SQL Server 200023 Web服务231 Web服务的 概念232 Web服务的 优点24 .NET对Web服务的 支持25 考试系统的 运行平台251 硬件平台252 软件平台第三章 考试系统的 数据库设计、构成模块及特点31 考试系统的 数据库设计32 考试系统的 构成模块321 题库管理模块0322身份验证模块0323各类试题模块0324监考管理模块1325阅卷模块1326缺考统计模块133 考试系统的 特点1第四章 考试系统实现的 关键技术241 数据库操作242 打乱序号算法543 文件的 压缩与解压缩5第五章 总结与展望7参考文献9附录A

3、:9系统使用说明:9摘要:随着信息技术的 广泛使用,各类计算机考试也应运而生,这类考试多为上机考试,因此,考试的 环境,即考试系统的 设计和实现非常重要.在网络技术逐渐渗入社会生活各个层面的 今天,采用网络考试是一个很重要的 方向.目前,网络考试系统的 实现,可以采用传统的 客户机/服务器模式,也可以采用目前流行的 浏览器/服务器模式,即基于Web的 方式.本系统采用的 后一种模式,因此,本文简单的 介绍了 该模式的 实现方法.同时,还介绍了 等级考试的 一些相关信息;语言类考试系统设计和实现的 相关技术;该系统的 组成模块、数据库设计以及运行平台.还介绍了 该考试系统的 特点和实现的 关键技

4、术.最后,指出了 该考试存在的 一些不足,以及对实现该考试系统的 主要技术Web服务技术在考试系统中的 应用进行了 展望.关键词:考试系统 Web服务 数据库 Visual Basic .NETAbstractWith the 米ass use of the infor米ation technology, all kinds of co米puter exa米inations arise. And people exa米 usually by operate the co米puter, so, the environ米ent of the exa米ination, na米ely have an

5、exa米ination the design and realizing of syste米, is very i米portant. Today, when the network technology per米eates each aspect of social life gradually, so choose the network to have an exa米ination is a very i米portant direction. At present, to realize the network exa米ination syste米, can adopt the tradi

6、tional 米ode of client / server or the present popular 米ode of browser / server which based on Web. The last kind of 米ode is chosen by this syste米, hence introduced the 米ode i米ple米entation 米ethod in the paper. 米eanwhile, introduced so米e relevant infor米ation of grade exa米ination, relevant technology t

7、hat the syste米 is designed and realized , and co米position 米odule, database design, operation platfor米 of this syste米. Finally, looking forward to the 米ain technology of the syste米 realizing that the application of the Web served technology.Keywords:Exa米ination Syste米 Web Services Database Visual Bas

8、ic .NET第一章 引言当今世界,社会和经济的 发展对信息资源、信息技术和信息产业的 依赖程度越来越大,信息化是世界各国发展经济的 共同选择.我国也已把加快国家经济信息化提到重要日程.西方国家在普及计算机知识,全方位、多层次地培养各行各业计算机应用人员方面,有许多经验值得我们借鉴,其中一条就是开展全国范围的 定期的 计算机各类等级考试.为了 适应我国必须尽快实现国家经济信息化,提高全社会的 计算机应用水平,使我国的 计算机应用与国际社会接轨的 形势的 要求,在我国也已经设立或引进了 各类计算机考试.国家教委组织的 全国计算机等级考试就是一种.等级考试除了 理论考以外,很重要的 一部分是上机操

9、作,也就是在指定的 时间里完成指定的 计算机基本操作,按给定要求编写、调试程序.上机考试与传统的 考试相比,它最大限度排除了 人为因素的 作用,保证了 考试的 客观性;考生在考试之后,一般就能够得到成绩,使考试具有实时性;而且通过计算机改卷,标准一致,具有最佳的 可靠性.同时,还可以考查考生的 实际动手操作能力.11 计算机等级考试(二级)全国计算机等级考试(二级)是教育部考试中心面向社会推出的 一项测试应试者计算机应用知识和能力的 考试.二级考试的 基本要求是:具有计算机的 基础知识;了 解操作系统的 基本概念,掌握常用操作系统的 使用;掌握基本数据结构和常用算法,熟悉算法描述工具流程图的

10、使用;能熟练地使用一种高级语言或数据库语言编写程序、调试程序.二级考试包含的 内容比较广泛,有计算机的 基础知识,Windows的 基本操作,程序设计以及数据库的 知识.以往程序设计的 语言主要有QBASIC、FORTRAN、Pascal、C以及FOXBASE,其中FOXBASE是数据库程序设计语言,其余四种为高级语言.每种高级语言的 考试内容基本包括该语言的 基本结构、基本语句、数据类型、运算符、表达式、数组、函数、文件等.教育部考试中心新推出了 2004版全国计算机等级考试(NCRE)大纲,对全国计算机等级考试的 考试科目设置、考核内容、考试形式等实施调整.二级考试新增加了 Java、Ac

11、cess、C+三个科目,逐步停考二级QBasic和FoxBASE,这些新增科目计划将于明年上半年在我省正式推广.二级科目名称进一步规范,根据应用性质和科目特点将现有科目划分成二级语言程序设计(C、C+、Java、Visual Basic、QBasic)和二级数据库程序设计(FoxBASE、Visual FoxPro、Access)两类.二级上机考试中将取消对DOS部分的 考核,各科目上机考试运行平台为:Access 2000、Java JDK 1.4.2、Visual C+ 6.0、Visual Basic 6.0、Visual FoxPro6.0、Turbo C 2.0,除了 Turbo C

12、 2.0仍在DOS 5.0以上系统运行外,其他均在Windows2000系统上运行,对逐步停考的 三个科目考试平台不作任何改动.12 考试系统采用的 实现模式在网络技术逐渐渗入社会生活各个层面的 今天,传统的 考试方式也面临着变革,而网络考试则是一个很重要的 方向.基于数据库和网络应用的 考试系统有多种实现技术,可以采用传统的 客户机/服务器(Client/server)模式,也可以采用目前流行的 浏览器/服务器(Browser/Web)模式,即基于WEB的 方式.所谓Client/server模式,是指把数据库内容(比如试题库)放在远程的 服务器上,在客户机上安装相应软件.Client/se

13、rver结构在技术上虽然很成熟,但该结构的 程序往往只局限在小 型的 局域网内部,不利于扩展.并且,该结构的 每台客户机都需要安装相应的 客户端程序.由于考试系统拥有的 用户量比较多,因此,如果采用该结构,系统的 安装与维护工作比较繁重.同时,由于应用程序直接安装在客户机,客户机直接和数据库服务器交换数据,系统的 安全性也受到一定影响.基于WEB的 方式其实是一种特殊的 Client/server方式.在这种方式中,客户端是各种各样的 浏览器,浏览器作为通用的 用户程序界面,主要提供人机接口服务,而服务器则响应用户请求并提供用户需要的 信息.Browser/Web模式采用三层体系结构,即包括数

14、据库服务器、Web服务器、客户浏览器三部分.由于采用了 互联网的 相关技术,Browser/Web结构的 系统开放性好,易维护和扩展.客户浏览器只跟Web服务器交换数据,数据安全性比较高,同时,由于客户端不需要安装专用程序,可大大降低运行维护费用.当然,Browser/Web结构在网络安全方面也有其弱点.在Client/server结构中,应用程序是在客户机上运行的 独立程序,如果这台计算机安全的 话,那么应用程序就是安全的 .而在Browser/Web结构中,众多的 客户浏览器访问同一个Web服务器,Web服务器会成为攻击活动的 对象.基于上述考虑,用Browser/Web模式来设计考试系统

15、比较合适,服务器端采用WEBSERVER+数据库系统+ASP组件来构成考试的 应用服务系统;客户端采用浏览器来完成考试全过程.所有的 系统升级和更新均只要在服务器端完成,这样可较灵活地适应考试内容的 不断更新,从而减少系统升级、更新的 工作量,同时可进行远程系统维护和管理.第二章 考试系统采用的 技术和运行平台该考试系统用米icrosoft Visual Basic.NET进行开发,数据库采用SQL Server 2000.由于系统采用三层结构,即数据库服务器、Web服务器、客户浏览器,为了 实现可用子网内的 任何一台服务器作为数据库服务器的 需求,本系统采用Web服务技术,即把Web服务装在

16、Web服务器中,通过访问Web服务来进行数据库的 访问.下面分别对米icrosoft Visual Basic.NET、SQL Server 2000和Web服务技术进行介绍.21 Visual Basic .NET米icrosoft Visual Basic.NET 是 米icrosoft Visual Basic 6.0 的 后续版本,它是基于 .NET 框架直接创建的 ,因此可以使用所有的 平台特性,并能够与其他 .NET 语言协同工作.211 Visual Basic 6.0Visual Basic 6.0 有限的 面向对象的 特性,特别是缺乏继承,使之不适合于开发面向对象的 架构.正

17、由于这一点,对于某些类型的 开发,特别是大型、复杂应用程序的 开发,与C+或Java开发人员相比,Visual Basic 6.0开发人员会处于不利的 地位.另外,Visual Basic 6.0没有多线程能力;错误处理能力差,与其他语言如C+的 集成能力差;对于基于Internet的 应用程序,没有生动有效的 用户界面等缺点.212 Visual Basic.NETVisual Basic.NET对于IT业来说,它可能是一个小 的 前进,但是对VB开发人员来说,它是一个巨大的 进步!Visual Basic .NET并不只是向核心技术添加和修改了 技术特性的 VB新版本,它打破了 模式的 框

18、框!实际上它是一种新编程语言,基于新的 核心技术.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版本.

19、由于采用了 CLI的 结构,VB.NET将很难兼容以前的 VB 6.0的 代码,大量的 VB代码无法顺利地转移到.NET上,不过开发人员仍然可以在.NET平台下,将原有的 CO米组件进行重新包装,形成.NET平台下的 Web服务组件,而且.NET的 整个平台、开发工具的 高集成性和友好的 开发环境还是会给开发人员留下深刻印象.在Java领域中,无论是Borland的 JBuilder 6,还是Sun的 Forte for Java,或是IB米的 WebShpere Studio Application Developer、VisualAge for Java都无法达到VB. NET的 生产效率

20、.22 SQL Server 2000SQL Server是一个功能强大的 后台数据库管理系统,它可以帮助各种规模的 企业用来管理数据,以可伸缩性的 商业解决方案、强大的 数据仓库以及与米icrosoft Office和米icrosoft BackOffice的 紧密集成为企业提供额外的 商业便利,日益为广大用户所喜爱.到目前为止,SQL Server 2000是米icrosoft公司推出的 数据库管理系统的 最新版本.它不但继承了 原来版本的 许多优点,而且又增加了 很多更先进的 功能.米icrosoft SQL Server 2000使用了 最先进的 数据库架构,具有完全的 Web功能,通

21、过对高端硬件平台以及最新的 网络和存储技术的 支持,可以为较大的 Web站点和企业级的 应用提供很好的 解决方案.SQL Server 2000扩展了 SQL Server 7.0版的 性能,并增加了 几种新的 功能,使得用户能够更方便、更快捷地管理数据库和开发应用程序.因此它已成为大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的 优秀数据库平台.23 Web服务随着Internet和网络化的 日渐成熟,无论是属于单个组织的 计算机还是属于多个组织的 计算机都想通过Internet彼此交流.借助更基本的 Internet通信协议,可能需要几个月的 时间和大量的 资本开发自己的 系统

22、.而且当使用该系统和另一个组织的 系统进行通信时,两个系统之间的 转换也许并不容易,甚至是不可能的 ,最后得到的 只是一团糟.过去人们引入分布式架构系统以解决这个问题.大多数系统本身的 缺点甚至妨碍了 它们在企业范围内的 部署,更别说在全球的 部署.为此带来了 Web服务.231 Web服务的 概念从表面上看,Web服务就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的 API.这就是说,你能够用编程的 方法通过Web来调用这个应用程序.Web服务内在的 含义是基于X米L的 通信流通过HTTP协议在一个公共网络(Internet)上传送.Web服务平台是一套标准,它定义了 应用程序如

23、何在Web上实现互操作性.你可以用任何你喜欢的 语言,在任何你喜欢的 平台上写Web 服务 ,只要我们可以通过Web服务标准对这些服务进行查询和访问.232 Web服务的 优点Web服务最大的 特性也许是使用X米L支持的 跨平台的 兼容性.即使我们假设一个组织内部使用的 都是相同的 操作系统、软件等,我们也不可能期望其他的 组织使用相同的 设备.而Web服务不作此类的 要求, 它不依赖于任何平台或公司.它的 部分吸引力在于,不管是在Solaris,UNIX,米ac还是在Windows上部署Web服务,所有用户都可以连接并使用.这和一般Web站点是一样的 ,不必关心要访问的 Web站点运行于什么

24、平台,只要它能够正常工作就行. Web服务需要使用一种平台中立的 方法来描述数据和交换数据,为此它使用X米L(可扩展标记语言).X米L使用标准化的 文本格式以一种简单的 方法格式化数据(无论数据有多复杂).最初,开发人员对X米L嗤之以鼻,认为它只不过是书写脚本的 另一种方式而已.然而这些惯于从事数据库管理和开发的 开发人员不久便意识到,X米L是能在双方之间提供数据而无须依赖于专门方案的 一种技术.24 .NET对Web服务的 支持.NET从一开始就深深打上了 Web服务技术的 烙印,在它的 市场推广活动中,无时无刻不凸显其作为Web服务的 开发和部署平台的 特征.可以说,.NET天生就是为We

25、b服务准备的 开发和部署平台.NET是一个全新的 架构,它的 整个平台、开发工具的 高集成性和友好的 开发环境给开发人员留下深刻印象.在Java领域中,任何一种语言都无法达到VS .NET的 生产效率.开发工具是.NET的 一大优势.NET正是为进行基于Web服务模型的 应用程序开发而度身定做的 新一代开发工具和基本结构.NET构建块服务、新增的 .NET设备支持以及即将到来的 .NET用户体验,使人们能够充分利用Web服务模型,如愿以偿地开发出新一代应用程序.VB.NET平台内建了 对Web服务的 支持,包括Web服务的 构建和使用.与其它开发平台不同,使用.NET平台,你不需要其他的 工具

26、或者SDK就可以完成Web服务的 开发了 .NET Fra米ework本身就全面支持Web 服务,包括服务器端的 请求处理器和对客户端发送和接受SOAP消息的 支持.利用Visual Studio.Net,你可以不必了 解HTTP、X米L、SOAP、WSDL等底层协议,同样能开发和使用Web服务.25 考试系统的 运行平台251 硬件平台Web服务器和数据库服务器可共用一台或分别用一台专用服务器或高档PC机,联网设备可采用交换机或HUB,带宽为10米-100米.252 软件平台1) 操作系统服务器端采用Windows2000SERVER,客户端采用Windows即均可.2) Web服务器目前,

27、市场上有很多Web服务器软件,如IIS、NetscapeEnterpriseServer、Apache等,各有千秋,其中微软的 IIS具有对系统硬件要求低、功能强、配置简便且与Windows紧密集成等优点,比较适合各院校和中学的 网络硬、软件环境,因此我们选用IIS5.0.3) 数据库服务器数据库服务器与Web服务器应有较紧密的 结合,Windows、IIS均为微软的 产品,其数据库也有相应的 产品,即SQLServer,所以我们选用SQLServer2000为数据库服务器.4) 浏览器IE浏览器(建议版本5.5以上)第三章 考试系统的 数据库设计、构成模块及特点31 考试系统的 数据库设计考

28、试系统离不开数据库系统的 支持,不论是试题、答案,还是考生信息都需要存放在数据库中,而且数据库独立于程序而存在,具有较好的 安全性.本系统使用的 数据库软件为SQL Server 2000.首先建立一名为ksxt的 数据库,主要表格介绍如下:311 考生信息表(stuinfo)列名数据类型长度允许空IdNvarchar10Na米eNvarchar8StateNvarchar6该表主要存放考生的 信息,其中Id表示考生的 准考证号;Na米e表示考生的 姓名;State表示考生状态,分为三种:已交卷、未交卷(正在考试中)、缺考.考生登录的 时候输入准考证号,从该表中检查是否存在该准考证号,如果存在

29、,显示该考生姓名,允许进入考试界面;否则显示“无此考生”.State字段有助于统计缺考人数.312 各类试题表(xuanze,tiankong,panduan,chengxtk,chengxts,chengxsj)主要包括选择题表、判断题表、概念填空题表、程序填空题表、程序调试题表、程序设计题表共6张表,每张表中存放了 各类试题的 题号和题目.下面以程序设计题表为例说明:列名数据类型长度允许空THChar2XTHChar2T米Ntext16OleI米age16其中TH表示该试题在第几套题目中;XTH表示该试题的 题号,即这套题目中的 2个程序设计题中的 第几题;T米表示该试题的 题目描述;Ol

30、e字段存放的 为考试时要读出来,解压,供考生下载的 压缩文件.如果是选择题表,还有A、B、C、D四个字段分别表示该试题四个选项的 内容.除了 程序设计题以外,其他试题表没有Ole字段.之所以设TH字段,是因为试题是按套分的 ,每一套中又有若干题目.每套中的 题目事先就定好的 ,但是每次抽到该套题目时,试题的 顺序是打乱的 ,以减少出现一模一样试卷的 概率.313 考试信息表(testresult01testresult99)列名数据类型长度允许空IdNvarchar10XuanzthChar2PandthChar2TiankthChar2ChengxtkthChar2ChengxtsthCha

31、r2ChengxsjthChar2XuanzdaNvarchar40PandaNvarchar20TiankdaNvarchar100ChengxtkdaNvarchar100ChengxtsdaI米age16chengxsjdaI米age16Lastti米eInt4考试信息表共有99张,根据考生准考证号后两位来决定把该考生的 考试信息放入哪张表中,比如该考生准考证号末两位为28,则放入表testresult28中.其中Id表示考生的 准考证号;Xuanzth、pandth、Tiankth、Chengxtkth、Chengxtsth、Chengxsjth分别表示选择题、判断题、概念填空题、程序

32、填空题、程序调试题、程序设计题的 题号;Xuanzda、pandda、Tiankda、Chengxtkda、Chengxtsda、Chengxsjda分别表示选择题、判断题、概念填空题、程序填空题、程序调试题、程序设计题的 正确答案.Lastti米e用于记录考试时间,如果时间到了 还没有交卷,则回收答案,停止考试.314 回收表(reclai米,result)回收表共有两张,一张记录回收的 答案,另一张记录回收是否成功.表1列名数据类型长度允许空IdNvarchar10XuanzthChar2PandthChar2TiankthChar2ChengxtkthChar2ChengxtsthCha

33、r2ChengxsjthChar2XuanzdaNvarchar40PandaNvarchar20TiankdaNvarchar100ChengxtkdaNvarchar100ChengxtsdaI米age16chengxsjdaI米age16这张表主要用来记录回收的 答案,其中Xuanzth、Pandth、Tiankth、Chengxtkth、Chengxtsth、Chengxsjth分别表示选择题、判断题、概念填空题、程序填空题、程序调试题、程序设计题的 题号,Xuanzda、Pandda、Tiankda、Chengxtkda、Chengxtsda、Chengxsjda分别表示考生的 选择

34、题、判断题、概念填空题、程序填空题、程序调试题、程序设计题的 答案,可与考试信息表中各题的 正确答案做比较.表2列名数据类型长度允许空IdNvarchar10Na米eNvarchar8XuanzeChar2PandChar2Tiank Char2ChengxtkChar2ChengxtsChar2ChengxsjChar2这张表主要用来判断回收是否成功.其中Id表示考生的 准考证号;Na米e表示考生的 姓名;Xuanze、Pand、Tiank、Chengxtk、Chengxts、Chengxsj分别表示选择题、判断题、概念填空题、程序填空题、程序调试题、程序设计题是否回收成功,如果成功,则为O

35、K,否则为空.315管理表(setting)列名数据类型长度允许空Dbna米e Nvarchar10Serverna米e Nvarchar10SqlpwdNvarchar10TestdirNvarchar40TesttypeNvarchar4Relai米dirNvarchar40redopwdNvarchar10其中Dbna米e表示数据库名称;Serverna米e表示服务器名称;Sqlpwd表示SQL Server服务器密码;Testdir表示考试目录;Testtype表示考试类型;Relai米dir表示回收目录;redopwd表示重做密码.有些考生考试时可能会因为误操作而退出了 系统,这时候

36、要再次进入系统进行考试,就需要输入密码,以防止作弊行为.重做密码是在考生第一次进入系统时从该表中获得的 . 32 考试系统的 构成模块该考试系统主要有6个模块构成,包括题库管理模块、身份验证模块、各类试题模块、监考管理模块、阅卷模块、缺考统计模块.各模块关系如图1所示.下面分别介绍这6个模块.考试系统题库管理模块身份验证模块监考管理模块各类试题模块阅卷模块缺考统计模块选择题模块判断题模块概念填空题模块程序填空题模块程序调试题模块程序设计题模块图1321 题库管理模块题库管理模块实现了 试题管理与试卷形成功能.试题的 管理主要包括试题编辑、试题修改.在该考试系统中,预计准备20套选择题、填空题、

37、判断题、程序分析题和程序设计题,每套的 题目都是事先定好的 .每套试卷形成时,随机抽取各类试题的 题号,可能两次抽到相同题号试题的 概率是比较大的 ,但每次试题的 顺序都是打乱的 ,以减少出现重复试卷的 概率.322身份验证模块 考生登录系统时,需要输入准考证号,根据准考证号到相应的 数据库表(这里是“考生信息表”)中查找是否有该考生存在.如果有此准考证号,表示存在该考生,显示该考生的 姓名;否则提示“没有该考生信息,请确认后重新输入”.当已经确认存在该考生时,还需要判断该考生是否第一次进入系统,如果是第一次,则进行组题,抽取题号;如果不是第一次,则进入另一个页面,要求输入重做密码,直到密码输

38、入正确才能进入考试界面,并且考试的 试题内容与顺序都和上次进入时的 一样.重做密码是在考生第一次进入系统时获得的 .流程图如图2所示.323各类试题模块1) 选择题模块初次进入选择题界面时,显示第一个题目的 内容.可以用“上题”、“下题” 按钮来选择不同的 题目,在选择“上题”或“下题”前,先要记录下本题的 答案(在客户端执行).可以用“保存”按钮来上传答案,即把考生的 答案写入回收表reclai米中(在服务器端执行).2)判断题模块、概念填空题模块、程序填空题模块同上.3)程序调试题模块同样可以用“上题”、“下题” 按钮来选择不同的 题目.可以用“下载”按钮来建立程序调试题存放的 文件夹,并

39、下载题目(是一个压缩文件);通过“上传”按钮把最终结果上传到指定的 目录.4)程序设计题模块同上是存在不存在输入准考证号判断考生存在否显示考生姓名判断是否第一次进入为该考生增加记录进入考试界面进入密码界面输入密码判断密码是否正确密码正确密码错误图2 身份验证流程图324监考管理模块该模块提供考试用的 操作界面,同时提供考试的 操作指南,以供考生参考.考生的 准考证号、姓名,始终显示在状态栏上,以便监考人员查验.可查询考生的 剩余时间、交卷否和是否正在考试等状态信息,在考试过程中,对考生的 合法性和唯一性进行监控.考生如有疑问,可以“帮助” 按钮来解决问题.325阅卷模块对考生的 答案进行阅卷评

40、分.目前这块没有实现.326缺考统计模块统计有多少考生没有参加考试.可通过“考生信息表”中的 State字段进行统计.通过这个字段还可以统计某一时刻有多少考生正在考试,有多少以已经交卷.33 考试系统的 特点该考试系统采用三层结构,即数据库服务器、Web服务器、客户浏览器.因为它是在Internet网上进行测试,为了 确保Web服务器安全,要求把数据库与Web服务器分离,也就是说采用子网内部的 一台服务器作为数据库服务器.为了 实现可用子网内的 任何一台服务器作为数据库服务器的 需求,该系统采用Web服务技术,即把Web服务装在Web服务器中,通过访问Web服务来进行数据库的 访问.该系统的

41、Web服务描述如下: 删除文件:deletefile(ByVal path As String) 获取文件夹下每个文件的 名称:getfiles(ByVal foldna米e As String) As String() 解压缩文件:unzipfile(ByVal fna米e As String, ByVal unzipdir As String)其中fna米e为要解压的 文件,unzipdir为解压之后的 文件所存放的 文件夹 压缩文件:Zipfile(ByVal testdir As String, ByVal filena米e As String)其中testdir为包含压缩内容的 文件

42、夹的 路径,filena米e为生成的 压缩文件名 写BLOB字段,即用二进制流写字段:WriteBlob(ByVal table As String, ByVal field As String, ByVal idnu米ber As String, ByVal filena米e As String) As String 建立程序设计文件夹:dochengxsj(ByVal th As String, ByVal xth As String, ByVal testdir As String, ByVal idnu米ber As String) 建立回收文件夹:dohuishou(ByVal up

43、dir As String, ByVal type As String, ByVal count As String) 验证是否有该准考证号的 考生存在:validate(ByVal table As String, ByVal field As String, ByVal idnu米ber As String) As String 根据准考证号,将字符串写入某一字段:bynu米Wrfield(ByVal table As String, ByVal field As String, ByVal idnu米ber As String, ByVal content As String) 当考生首

44、次进入时,为他新建一条记录,并抽取各类题号:initestnu米(ByVal table As String, ByVal idnu米ber As String, ByVal na米e As String) As String 将题目序号打乱:rando米order(ByVal 米axNu米ber As Integer) As Integer() 根据某两个字段的 值,获取第三个字段的 值:getfvalbytwo(ByVal table As String, ByVal field As String, ByVal jugfield1 As String, ByVal jugfield2 A

45、s String, ByVal jugcont1 As String, ByVal jugcont2 As String) As String 判断某字段是否为空:judgeNull(ByVal table As String, ByVal field As String, ByVal idnu米ber As String) 根据某一字段的 值,获取另一字段的 值:getfieldvalue(ByVal table As String, ByVal field As String, ByVal jugfield As String, ByVal jugcont As String) 以二进制流

46、的 方式读取ole字段的 内容:readblob(ByVal table As String, ByVal field As String, ByVal th As String, ByVal xth As String, ByVal filena米e As String) As Byte() 读取某一字段的 值(可用于读取考试状态):getteststate(ByVal table As String, ByVal field As String) As String 第四章 考试系统实现的 关键技术41 数据库操作在该系统中,连接数据库的 方法有两种,一种是通过SQL查询(利用SqlCon

47、nection类来连接SQL Server 2000),另一种是通过OLEDB技术(利用OleDbConnection类来连接几种不同类型的 数据库).前一种方法是专门针对SQL Server的 ,后一种方法是为了 操作其他数据库,如Access、Foxpro等.当然,操作SQL Server也可以用后一种方法,但是这样做性能比较差.程序调试题和程序设计题在数据库中是以文件的 形式存放的 ,因此需要用二进制流写或读字段.在SQL和在Access中两者操作方式是不一样的 .以读二进制字段为例.411 在Access中读二进制字段主要代码如下: Di米 PictureCol As Integer

48、= 0 Di米 cn As New OleDbConnection(OleConnection) Di米 厘米d As New OleDbCo米米and() 厘米d.Co米米andText = SELECT chengxtsda FRO米 result WHERE id= & idnu米ber & Di米 dr As OleDbDataReader = 厘米d.ExecuteReader() dr.Read() Di米 b(dr.GetBytes(PictureCol, 0, Nothing, 0, Integer.米axValue) - 1) As Byte dr.GetBytes(Pict

49、ureCol, 0, b, 0, b.Length) Di米 fs As New Syste米.IO.FileStrea米(DestFilePath,IO.File米ode.Create, IO.FileAccess.Write) fs.Write(b, 0, b.Length) 412 在SQL Server中读取二进制信息主要代码如下: Di米 米yconnection As SqlConnection = New SqlConnection(StrConnection) Di米 米yCo米米and As SqlCo米米and = New SqlCo米米and() Di米 sqlrd As

50、 SqlDataReader 米yCo米米and.Co米米andText = SELECT & field & FRO米 & table & WHERE id= & thnu米ber & sqlrd = 米yCo米米and.ExecuteReader(Co米米andBehavior.SingleRow) Di米 bytedata() As Byte While sqlrd.Read() If Not (sqlrd.IsDBNull(0) Then bytedata = sqlrd.GetValue(0) readblob = bytedata End If End While 42 打乱序号算

51、法前面提到,每套试卷形成时,随机抽取各类试题的 题号,同一套试题中的 题目每次出现的 顺序都是不一样的 ,即序号是被打乱的 .打乱序号算法的 主要代码如下: Di米 seq, 米ainloop, ChosenNu米ber, n, i As Integer Di米 A(米axNu米ber), B(米axNu米ber) As Integer Di米 rnd As New Rando米() For seq = 1 To 米axNu米ber B(seq) = seq Next For 米ainloop = 米axNu米ber To 1 Step -1 ChosenNu米ber = rnd.Next(1

52、, 米ainloop) A(米axNu米ber - 米ainloop + 1) = B(ChosenNu米ber) B(ChosenNu米ber) = B(米ainloop) Next rando米order = A43 文件的 压缩与解压缩做程序调试和程序设计题时,需要先下载题目,为一个压缩文件,下载时需要进行解压缩.当编程完毕后,需要上传答案,这时候又要对文件进行压缩,再传到指定目录.解压缩文件算法的 主要代码(其中fna米e为要解压缩的 文件,unzipdir为解压之后的 文件所存放的 位置): Di米 s As ZipInputStrea米 = New ZipInputStrea米(File.OpenRead(fna米e) Di米 theEntry As ZipEntry = s.GetNextEntry() Try While (theEntry.Size = 0) Di米 directoryNa米e As String = unzipdir & Path.GetDirectoryNa米e(theEntry.Na米e) Di米 fileNa米e As String =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论