基于web在线考试系统的设计与实现说明书.doc_第1页
基于web在线考试系统的设计与实现说明书.doc_第2页
基于web在线考试系统的设计与实现说明书.doc_第3页
基于web在线考试系统的设计与实现说明书.doc_第4页
基于web在线考试系统的设计与实现说明书.doc_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

基于 web 在线考试系统的设计与实现 摘 要 基于计算机网络的现代远程教育是一种新兴的教学手段。本文从远程教育发展过 程出发,阐述了远程教育的背景,分析了远程教育目前的状况和未来的发展趋势,并 且对基于web的在线考试及考试评测系统进行了分析和设计。从开始的需求分析到数据 库和页面设计都以方便使用者为目的,突出网络远程教育的特点,做到直观、方便。 通过B/S模式基本上可以实现考试的所有功能,用ASP技术来实现,后台数据库采用 Access技术,通过ASP与Access的结合,用户很方便通过浏览器操作,而数据的后台操 作则由服务器端处理,这样提高了网页的互动性,使整个系统能更好的为用户服务。 相信随着网络技术的发展,远程教育将更为突出的显现出资源共享和优势互补的特点。 关键字:远程教育、考试系统、ASP、Access、计算机安全 Web-based Online Examination System Design and Implementation Abstract It is a kind of newly arisen teaching means according to the modern long range education of calculator network. This text sets out from the development process of the long range education, elaborating the long range educational background, analyzing long range to educate current condition and future development trend, and to according to web of on-line examination and examination the measured system to carry on analysis and design. Analyze the database and page designers to all take convenient user as a purpose from the need ofwith beginning, outstanding educational characteristics of the network long range, attain to keep a view, convenience. Pass B/S, Using ASP technology to achieve, background database using Access technology, through a combination of ASP and Access, users easily through the browser operation, and data from the background operation of the server-side processing, such enhanced interactive website so that the whole system can better services for users. They believed that with the development of network technology, and distance education will be more prominent showing resource sharing and complementary characteristics. Keyword: distance education, examination system, ASP, Access, computer security 目 录 1 绪 论 1 1.1 在线考试的背景介绍.1 1.2 需求分析.1 2 相关技术分析 3 2.1 ASP 介绍.3 2.1.1 ASPASP 的版本.3 2.1.2 Windows 2000, COM+ 和 ASP 3.0 .4 2.1.3 ASP+和下一代 Web 服务框架 .4 2.1.4 新一代 Web Services 框架 4 2.1.5 一些 ASP 的一些特点 5 2.2 数据库的介绍 7 2.2.1 数据库模型 .8 2.2.2 数据库管理 9 2.2.3 数据库的建立 9 2.3 ADO 连接技术 9 2.3.1 使用 UDL 文件来创建 ADO 连接 11 2.3.2 创建你所需的 UDL 文件 .12 3 系统设计 13 3.1 系统整体功能13 3.2 考试子系统功能设计 .13 3.2.1 学生部分的功能设计14 3.2.2 老师部分的功能设计 15 3.2.3 管理员部分的功能设计16 3.3 数据库的设计实现16 3.3.1 数据库的选择 16 3.3.2 数据库表的设计 16 4 用户界面的设计实现 19 4.1 主界面设计 .19 4.2 登陆窗口设计20 4.3 管理员使用说明介绍25 5 系统实现 31 6 难点和解决 32 7 在线考试方式的成本及效益分析 .33 结 论 .34 致 谢 .35 参考文献 .36 附录 A 主要窗口源代码37 附录 B 英文资料.50 附录 C 中文译文55 1 绪 论 1.1 在线考试的背景介绍 “在线考试”是近几年来热门的话题,它代表了考试的发展方向。它是远程教育的 重要组成部分。就我国而言,远程教育的发展经历了三个历史阶段:第一阶段的远程 教育即函授教育,其技术代表和特征是邮政通信和印刷技术;第二阶段远程教育是指 在邮政通信和印刷技术基础上,利用广播电视(卫星和微波) ,录音录像,电话传真和 计算机以及电信传播等媒体开展的远程教育。可以说广播电视,录音录像是第二阶段 远程教育的技术代表和特征之一。我们常说的现代远程教育就是指第三阶段的远程教 育。它是以网络为主要形式,基于现代信息技术和教育技术的远程教育,确切地说, 现代远程教育是在卫星电视网络和计算机网络三大通信网络环境下开展的远程教育, 它具有数字化、多媒体和交互式等显著的技术和教学特征。 与之相适应的是,随着科学技术的发展。远程教育与在线考试越来越紧密的联系 在一起。在一定程度上,考试采用的方式方法决定了考试系统的功能,决定了考试的管理 方法,因此,选择符合现代远程开放教育特点的、适应现代社会发展特征的考试方式方法 是建立现代远程教育考试系统的关键。我们认为,具备新型考试系统功能的考试方式是 在线考试。随着远程教育的网络化、数字化,在线考试也变的越来越实用,在线考试 是利用现代计算机网络技术形成的一种新型考试方式,其最大优点是具备了现代远程教 育要求的远距离考试、随时考试的功能。同时,由于实行网络考试必须建立题库系统, 因此,这种考试可以大大提高教师的工作效率,也使试题的科学性有了提高。 在线考试基本具备了现代远程教育考试系统的功能,现代社会的发展也为网络考试 的实现提供了条件和市场。 1.2 需求分析 目前我国社会已经进入信息化社会,信息化社会加快了人们工作学习的节奏,同时使 互联网技术在社会各个领域得到普及。互联网技术的普及使操作和使用现代设备 计算机,成为人们一种必备的技能。因此,一方面在线考试以它的方便、快捷适应了信息 社会发展的要求,另一方面现代信息社会的发展又为在线考试提供了市场。网络提倡的 是“资源共享”,网络远程教育是教育发展到现阶段的产物,它是网络和教育的结合体。 通过网络远程教育可以更好的分享教育资源,分享名校的名师资源。它可以让学员按 照自己的时间和进程来安排学习,打破了传统教育地域和时间的局限性,而且还节省 了资源。 考试是现阶段衡量知识累积情况和运用能力的最简捷、最直接的手段。在远程教 育中也是如此,通过在线的考试系统,可以更容易的让受教育者了解到自己学习中的 薄弱环节,让教师掌握学生的学习状况。考试系统可以采用常见的 B/S(Browser/Server)模式,在 Server 端统计出学生的成绩,并存放进数据库保存。 这样以后通过数据库的操作就可以直观的反映出学生的学习情况,以便老师调整教学 的重点和方向。通过考试系统,可以大大的减少教师的劳动量,判卷子的工作 90%可 以由计算机来完成,将教师从单调重复的作业中解放出来。 完成一个考试系统,要具备以下的功能: 1、学生通过 Browser(浏览器)完成答题; 2、学生可以把不熟悉的题目做记号保存; 3、老师要可以自由组合试卷和出题; 4、系统可以判断非问答题以外的题目的对错; 5、对学生成绩等进行统计,图形化; 6、学生可以查询自己的成绩; 7、教师通过统计了解教学的不足之处; 8、管理员可以根据需要增删题目等; 2 相关技术分析 2.1 ASP 介绍 ASP 的历史其实并不长,1996 年首发,然后迅速发展为 Windows 环境下的主流开 发环境.此外,在其他平台上也有第三方厂商开发的模拟环境,例如 ChilliASP。 动态服务器端 Web 编程 传统上,动态页面由服务器端可执行程序产生.标准的 Web 服务器界面称为 CGI,基 本原理是让一个可执行程序取得从客户端传过来的信息,然后收集输出信息生成返回页 面(HTML,script 代码,文字等),最后发送到客户端.后来出现了例如 Perl 这样的解释器, 程序员只需编写一些宏代码,就可以让服务器解释执行。 微软 ISAPI 技术 微软随着 IIS 推出了另一个工具:ISAPI(Internet Server Application Programming Interface ),其不同于 CGI 的是 ISAPI 允许调用动态链接库(DLL).许多微软开发者都曾在 ISAPI 上开发过.另一个短命产品叫 dbWeb,提供一定程度的交互式数据查询,过滤,格式 化功能。 第二代开发工具叫 IDC(the Internet Database Connector),开发环境稍有改善.不仅因 为它比 dbWeb 速度更快,效率更高,而且因为它使用更加方便.IDC 引入模板的概念,让 程序员更容易地在此基础上构筑应用系统.每个页面 IDC 要使用两个文件.其中 query 文件包含简单的宏语句,定义从数据库中取得数据的方法.实际上就是 SQL 描述加配置 信息。 2.1.1 ASP 的版本 在 1996 年初,Denali(ASP 的开发代号)发布了 0.9beta 版,在 Web 开发领域掀起了一场 风暴.Web 页面的制作变得如此简单而强大,附带的一系列组件提供了更先进的功能,新 的 ADO(ActiveX Data Objects )技术.建立动态网页如同儿戏。 最终的发行版 ASP1.0 是作为 IIS3.0 的组件一起发布的.与 ADO 技术的捆绑,无疑是 ASP 大受欢迎的最主要原因之一.程序员几乎可以随心所欲地通过 script 任意打开,存取,操 作数据库。 1998 年,作为 WindowsNT4 Optoin Pack 的一部分,微软推出了 ASP2.0.与 ASP1.0 的主要区别是 ASP2.0 支持外部组件的调用.这样,ASP 应用程序可以在单独的内存空 间中运行组件.MTS(Microsoft Transaction Server )的引入将组件的运行也归入事务处理 过程。 2.1.2 Windows 2000, COM+ 和 ASP 3.0 今年初,Windows2000 推出,包含了 IIS5.0 和 ASP3.0.撇开一些细微的改进,最主要的 区别在于 COM 的运行机制.在 Windows2000 中,微软将核心 COM 运行库结合了 MTS, 创建了 COM+.使组件的使用更方便,整个运行平台更稳定,伸缩性更强,效率更高. IIS5.0 在界面上的变化不大,但在底层,改为使用 COM+组件服务,提供了更佳的组件 运行环境,包括每个组件可以有自己单独的进程。 2.1.3 ASP+和下一代 Web 服务框架 ASP+的下层结构与 ASP 的以前版本截然不同,尽管从程序员的开发界面上看似曾 相识.ASP+是完完全全地基于组件,并且完全地模块化.你所使用的每个页面,部件,HTML 元素都可能是一个单独的运行组件.新的运行环境将自动管理,协调系统的运行.程序员可 以按照微单元的开发风格来建立功能强大的应用系统。 面向对象的 ASP+提供了对环境的扩展.开发者可以通过新增组件或继承原组件基 本类的方式,增加和扩展应用环境。 2.1.4 新一代 Web Services 框架 显然,COM+构筑了操作系统运行的基本框架.作为一套全新的运行环境,ASP+为 Widnows 中各种类型的应用程序提供支持.这个框架也是微软 NGWS(Next Generation Web Services)的关键.一旦你安装了这个框架,ASP+就会成为其中的一个部分.该框架同 时支持其它服务器端编程技术,例如新的组件管理服务,建立可执行的应用和 Windows 服务,性能统计 API,事件日志 API 等。 通过增加新的和增强分布式服务来扩充我们现在用于创建可重复使用的和可同时 使用的 COM+模块。这些新的特征包括: 一套统一的和丰富的编程库。 一套安全的和多语言的运行库引擎。 简单的创建、开发和维护。 增强分布式应用的适用范围。 保护现有的软件和培训的投资。 2.1.5 一些 ASP 的一些特点 1、使用 VBScript 、 Jscript 等简单易懂的脚本语言,结合 HTML 代码,即可快 速地完成网站的应用程序。 2、使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。 3、与浏览器无关(Browser Independence) ,用户端只要使用可执行 HTML 码的浏 览器,即可浏览 ASP 所设计的网页内容。ASP 所使用的脚本语言均在 WEB 服务器端 执行,用户端的浏览器不需要能够执行这些脚本语言。 4、ASP 能与任何 ActiveX scripting 语言相容。除了可使用 VBScript 或 Jscript 语言 来设计外,还通过 plug-in(插件)的方式,使用由第三方所提供的其他脚本语言,譬 如 Perl 等。脚本引擎是处理脚本程序的 COM (Component Object Model) 物件。 5、ASP 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽 窃,也提高了程序的安全性。 6、可使用服务器端的脚本来产生客户端的脚本。 ASP 的基本理念是,如果大多数公司能够从服务供应商提供的基础设施租用空间, 那么他们投资于昂贵的数据中心就没有多大意义。在设备建造和管理上,拥有许多客 户的服务供应商能够实现规模经济、降低成本,在提供服务时也比自建系统的公司速 度更快、可靠性更高。 PHP 和 ASP.NET 都可以构建复杂的 Web 应用程序(例如电子商务站点、 Intranet 和企业门户) ,但两者之间却存在若干重要差别。与 PHP 不同,ASP.NET 并 不是一种语言或分析器,而是 Microsoft .NET Framework 中的一组用于构建 Web 应 用程序和 XML Web Service 的技术。同 PHP 一样,Microsoft ASP.NET 页面在服务 器上执行并生成标记(例如 HTML、WML 或 XML) ,标记将发送给桌面应用程序或 移动应用程序。但不同的是,ASP.NET 为开发 Web 页面提供了强大的、面向对象的 以及由事件驱动的编程模型,同时仍保留了 PHP 开发人员所习惯的那种简单性。 ASP.NET 应用程序是基于强大的面向对象编程 (OOP) 模式,而不是基于脚本模 式。这样便可以获得更为严谨的 OOP 功能,例如继承、封装和反射。虽然大多数基 本的简单操作可以轻松地从 PHP 转换到 ASP.NET,但要转换更为复杂的应用程序却 并不这么简单,这需要仔细的规划和考虑,并采用更符合 OOP 的方法。 本文假设读者具有 PHP 方面的经验,并且对编程和软件开发有着基本了解。本 文首先从代码方面对两者的基础体系结构的差别进行简单比较,并简要介绍一下 OOP 开发模型,然后比较两者的功能,最后将使用 PHP 和 ASP.NET 开发 Web 应用程序 时的语法和常见任务作以对比。 注意:如果您希望跳过有关迁移的详细信息,而只想尝试 ASP.NET 的使用,则 可以直接跳到建议的后续操作部分。 体系结构对比: 阅读完本文后,通过比较语法和语言,您将了解 PHP 和 ASP.NET 是很相似的, 它们具有类似的功能和语法。但是,从更基本的体系结构层面来讲,PHP 与 ASP.NET 却有着很大差别。PHP 基于独立于平台的处理器/引擎,该处理器/引擎用于 分析 PHP 脚本、提供数据库连接、符合 Internet 协议以及提供大多数 Web 应用程 序平台所常见的众多其他任务。 ASP.NET 是基于一系列技术(如 CLR)构建的框架,提供了大量以很好的方式 组织的类库,这些类库可满足要在 Web 应用程序中使用的大多数功能的需要。您还 可以轻松地创建各种组件,对该框架进行扩展。 虽然 PHP 也提供了类似的功能(例如 PEAR 库) ,但 PHP 和 ASP.NET 并非完 全相同,因为 ASP.NET 框架是完全基于 OOP 模式和 OOP 概念构建的,而 PHP 则不然。这种差别在 PHP 和 ASP.NET 中类和对象的访问方式方面表现得犹为明显。 PHP 和 ASP.NET 中的面向对象编程 虽然 PHP 和 ASP.NET 都为应用程序开发提供了 OOP 模式,但它们对各种 OOP 概念(例如封装和多态)的支持却存在差别。例如,PHP 仅支持部分封装(例 如,支持在类中声明方法和字段)和部分多态(没有重载和抽象) 。此外,由于 PHP 的类中不存在私有 (private)、公有 (public) 或受保护 (protected ) 函数等概念以及重载, 因此 PHP 也不支持这些概念及其访问。OOP 纯粹主义者可能会说,ASP.NET 以及 各种语言也没有完全支持 OOP 模式中的所有概念,对于使用 OOP 的大多数语言 (如 C+ 和 Java)来说,情况确实如此。 这既有积极的一面,也有消极的一面。消极的一面是:对于某些 Web 开发人员 来说,学习 ASP.NET 要比学习 PHP 困难些,因为 PHP 提供的是开发人员创建 Web 站点时所惯用的脚本模式。但是,使用过 OOP 语言和/或 V 的开发人员会发现 ASP.NET 比较亲切且易于学习。 无疑,ASP 为那些需要通过这种新一代外包模式获得服务的公司取得了显著的经 济效益,至少包括以下几点: 快速安装:通过 ASP 模式安装服务的时间比那些在内部安装类似 IT 功能的公司所 花的时间少得多。客户只需进入 ASP 早已安装和测试好的基础设施中,这是安装电子 商务消费模式最快的方式。 降低成本:因为 ASP 为许多客户提供服务,它们能在服务提供上实现规模经济, 而这对单个用户是不可能的。 优化现金流结构:传统的 IT 投资在前期需要大额的现金支出,结果却是不确定的 收益(由于 IT 项目的高失败率)。而通过 ASP 模式,客户只需支付适度的安装费用和 服务提供后的附加支出,这种“订金式”的计算方式使收益和风险有了更好的匹配。 支持 724 运作:不像传统的商业运作,以网络为基础的商业可以不间断地持续运 转。但是创建持续运作的基础设施和流程需要专业技术,而大部分用户都缺乏此技术。 缓解 IT 人员短缺:许多企业很难吸引熟练的 IT 员工,特别是对于中小企业而言, 向 ASP 的外包能够减少甚至消除对内部 IT 员工的需求。 支持移动工作组:在 ASP 模式中,软件功能来自于远方,因此用户所在的位置无 关紧要。只要能够被系统成功识别,用户无论在哪里都能得到同样的功能和数据。 2.2 数据库的介绍 “数据库”作为短语最早使用的是在 1963 年 6 月,System Development Corporation 赞助举办了一个题为“开发计算机管理中心数据库”(“Development and Management of a Computer-centered Data Base”)的研讨会。数据库作为一个独立的单词大量出现在 70 年代初的欧洲,直到二十世纪末才被美国各大报纸使用。(数据银行 Databank,一个类 似的用法,早在 1966 年被华盛顿邮报所使用) 第一数据库管理系统开发于 1960。这个 领域的先锋是 Charles Bachman。Bachman 早日文件证明其目的是更有效地利用新型直 接访问存储设备:在此之前,数据处理是基于穿孔卡片和磁带,这系列的动作主要是 加工活动。两大数据模型从那时起延续至今:CODASYL 根据 Bachman 的思想开发的 网络模型以及(显然独立)应用于 North American Rockwell 开发的一个系统中的等级 模型,后来被 IBM 作为他们 IMS 产品的基础。 关系模型由 E. F. Codd 于 1970 年提出。 他批评当时的模型结构混乱了信息结构的摘要描述和物力访问机制的描述。而长期以 来,关系模型依然只引起学术上的兴趣。同时 CODASYL 系统和 IMS 被视为实际的工 程学解决方案,当时采取的关系模型更处于理论观点阶段,(正确的)主张软、硬件技术 应及时跟进。首先的实现有伯克利大学的 Michael Stonebraker 的 Ingres 和 IBM 的 System R 项目。这两者均是研究圆形,在 1976 年公开。第一商业产品 ,甲骨文和 DB2 在 1980 年左右面市。第一个成功的微机数据库产品是运行于 CP/M 和 PC- DOS/MS-DOS 操作系统上的 dBASE。 20 世纪 80 年代,研究活动的重点在分布式数 据库系统和数据库机,但这些进展对市场几乎没有影响。另一个重要的理论思想是功 能型数据模型,但在除了专业应用如遗传、分子生物学、欺诈调查等方面,在全球几 乎没有引起注意。 在 90 年代,重点转向面向对象数据库。在需要处理比关系数据库 处理更加复杂的数据的领域去了了一些成功,如空间数据库、数据工程(包括软件工程 库)、多媒体数据。一些思想被关系数据库的供应商所接纳,整合 chneg 为产品中的新 功能。 在 2000 年代,创新的流行的区域是 XML 数据库。同关系数据库一道,产生了 许多新的创业板公司,但同时重要思想也被纳入已有的关系数据库产品中。XML 数据 库的目标是消除传统数据库分中文件和资料的分离,允许一个组织的信息资源在同样 的地方进行存储,而不必在意他们是否是高度系统化的资源。 2.2.1 数据库模型 数据库存在多种模型。而应用于大型数据储存的数据库一般为网状数据库 (Network Database)、关系数据库 (Relational Database) 以及面向对象型数据库 。此外 也有应用在 LDAP(轻量级数据访问协议)的树状数据库 (Hierarchical Database)。 表 格数据库一般在形式上是一个二维数组。一般来讲,数组中每列表示一个数据类型。 数据在其中以不同行的形式存储。表格数据库模型是电子表格(比如 Excel)的基础。 2.2.2 数据库管理 数据库管理(Database Administration)是有关建立、存储、修改和存取数据库中信息 的技术,是指为保证数据库系统的正常运行和服务质量,有关人员须进行的技术管理 工作。负责这些技术管理工作的个人或集体称为数据库管理员(DBA)。数据库管理的主 要内容有:数据库的建立、数据库的调整、数据库的重组、数据库的重构、数据库的 安全控制、数据的完整性控制、数据库的备份与恢复、数据库的优化和对用户提供技 术支持。 2.2.3 数据库的建立 数据库的设计只是提供了数据的类型、逻辑结构、联系、约束和存储结构等有关 数据的描述。这些描述称为数据模式。要建立可运行的数据库,还需进行下列工作: 选定数据库的各种参数,例如最大的数据存储空间、缓冲决的数量、并发度等。 这些参数可以由用户设置,也可以由系统按默认值设置。 定义数据库,利用数据库管理系统(DBMS)所提供的数据定义语言和命令,定义数 据库名、数据模式、索引等。 准备和装入数据,定义数据库仅仅建立了数据库的框架,要建成数据库还必须装 入大量的数据,这是一项浩繁的工作。在数据的准备和录入过程中,必须在技术和制 度上采取措施,保证装入数据的正确性。计算机系统中原已积累的数据,要充分利用, 尽可能转换成数据库的数据。 常见数据库管理系统 FileMaker Pro 8.5 提供数据库开发平台的全能数据库软件 4th Dimension 或者叫 4D,是一套從 Mac OS 發展出來的数据库系统 Microsoft Access 从微软公司兼并的一家公司的产品发展而来 Adabas Software AG(德国)开发的的数据库 askSam, 结合了数据库和文本编辑 mit vielen innovativen Eigenschaften 2.3 ADO 连接技术 微软公司的 ADO (ActiveX Data Objects) 是一个用于存取数据源的 COM 组件。它 提供了编程语言和统一数据访问方式 OLE DB 的一个中间层。允许开发人员编写访问 数据的代码而不用关心数据库是如何实现的,而只用关心到数据库的连接。访问数据 库的时候,关于 SQL 的知识不是必要的,但是特定数据库支持的 SQL 命令仍可以通过 ADO 中的命令对象来执行。 ADO 被设计来继承微软早期的数据访问对象层,包括 RDO (Remote Data Objects) 和 DAO(Data Access Objects)。ADO 在 1996 年冬被发布。 ADO 包含一些顶层的对象: 连接,代表到数据库的连接 记录集,代表数据库记录的一个集合 命令,代表一个 SQL 命令 记录,代表数据的一个集合 流,代表数据的顺序集合 错误,代表数据库访问中产生的意外 字段,代表一个数据库字段 参数,代表一个 SQL 参数 属性,保存对象的信息 ADO 组件的使用需要利用支持 COM 的高级语言,例如 ASP 中的 VBScript 或者 Visual Basic,甚至 Delphi,微软的竞争对手 Borland 的一个产品,现在也支持使用 ADO 来访问数据库。 在新的编程框架.NET Framework 中, 微软也提供了一个面向 Internet 的版本的 ADO,称为 ADO.NET。其对象模型和传统 ADO 差别很大。 ADO 是一种面向对象的 编程接口,微软介绍说,与其同 IBM 和 Oracle 提倡的那样,创建一个统一数据库,不 如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为实现这一目标, 微软在数据库和微软的 OLE DB 中提供了一种“桥”程序,这种程序能够提供对数据库 的连接。 开发人员在使用 ADO 时,其实就是在使用 OLE DB,不过 OLE DB 更加 接近底层。ADO 的一项属性远程数据服务,支持“数据仓库”ActiveX 组件以及高效的 客户端缓存。作为 ActiveX 的一部分,ADO 也是 COM 组件的一部分。ADO 是由早期 的微软数据接口?远程数据对象 RDO 演化而来的。RDO 同微软的 ODBC 一同连接关 系数据库,不过不能连接非关系数据库。 ADO 向我们提供了一个熟悉的,高层的对 OLE DB 的 Automation 封装接口。对那 些熟悉 RDO 的程序员来说,你可以把 OLE DB 比作是 ODBC 驱动程序。如同 RDO 对 象是 ODBC 驱动程序接口一样,ADO 对象是 OLE DB 的接口;如同不同的数据库系统 需要它们自己的 ODBC 驱动程序一样,不同的数据源要求它们自己的 OLE DB 提供者 (OLE DB provider) 。目前,虽然 OLE DB 提供者比较少,但微软正积极推广该技术, 并打算用 OLE DB 取代 ODBC。 ADO 向 VB 程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较 低的内存占用(已实现 ADO2.0 的 Msado15.dll 需要占用 342K 内存,比 RDO 的 Msrdo20.dll 的 368K 略小,大约是 DAO3.5 的 Dao350.dll 所占内存的 60) 。同传统的 数据对象层次(DAO 和 RDO)不同,ADO 可以独立创建。因此你可以只创建一个 “Connection“对象,但是可以有多个,独立的“Record set“对象来使用它。ADO 针对客 户服务器以及 WEB 应用程序作了优化。 2.3.1 使用 UDL 文件来创建 ADO 连接 创建 ADO 的连接,首先要设置 ADO 连接对象的 ConnectionString 属性,该属性 提供所要连接的数据库类型、数据所处服务器、要访问的数据库和数据库访问的安全 认证信息。比较专业的方法是在 ConnectionString 中直接提供以上信息,下面是访问不 同类型数据源设置 ConnectionString 的标准: 访问 ODBC 数据 “Provider=MSDASQL;DSN=dsnName;UID=userName;PWD=userPassword;“ 访问 ORACLE 数据库 “Provider=MSDAORA;Data Source=serverName;User ID=userName; Password=userPassword;“ 访问 MS SQL 数据库 “Provider=SQLOLEDB;Data Source=serverName;Initial Catalog=databaseName; User ID=userName;Password=userPassword;“ 访问 ACCESS 数据库 “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User ID=userName;Password=userPassword;“ 上述的连接属性设置标准随着数据源的类型不同而变化,软件用户常常不习惯这 种设置方式,都希望有可视化的数据源设置方法。为此 Microsoft 提供了通用数据连接 文件(.UDL)来建立和测试 ADO 连接属性。ADO 连接对象可以很方便地使用 UDL 文件来连接数据源,下面例子使用 my_data1.udl 来创建 ADO 连接。 _ConnectionPtr m_pDBConn; m_pDBConn.CreateInstance(_uuidof(Connection); m_pDBConn-ConnectionString =“File Name=c:mydirmy_data1.udl“; m_pDBConn-Open(“,“,“,NULL); 这样一来无论数据源如何变化,在软件中都可以用统一的方法编程。当数据源改 变时,只要双击相应的 udl 文件即可可视化地设置数据源,无需更改软件。 因为 ADO 是 COM 接口,为了软件的可靠性,打开 ADO 连接时,可以加入异常 处理代码。 try m_pDBConn-Open(“,“,“,NULL); catch(_com_error 因为_ConnectionPtr m_pDBConn 是智能指针,应在处理异常代码时将智能指针设 为 NULL 后将自动将引用计数降为 0。 如果不出现异常,只要在使用完 m_pDBConn,只要引用 Close 方法即可。 2.3.2 创建你所需的 UDL 文件 在你所想创建 UDL 文件的目录中单击右键,选择从菜单 新建|Microsoft 数据连接, 然后将新创建的 UDL 文件更改为你所希望的文件名(.UDL 扩展名不能改变) 。 注:如果操作系统是 Window 2000,先创建一个文本文件,再将该文本文件的扩展名 改为 “udl“。 然后双击所创建的 UDL 文件,即可视化地完成数据源的设定。 3 系统设计 3.1 系统整体功能 这里的远程教育系统是基于网络的教育系统。网络提倡的是“资源共享”,这与教 师追求的“受业解惑”是相辅相成的。整个教育系统要实现的就是传统教育中要实现的 所有功能。本设计模拟大兴社区学院(北京广播电视大学大兴分校)在线考试平台系 统开发。 如图 3-1,教师和学生都是通过 Browser(浏览器)或者是课件来和系统进行数据 通讯,从而达到足不出户就可以学习和受业解惑的目的。 图 3-1 整体功能图 3.2 考试子系统功能设计 下面我们将以设计单一科目考试系统为例。要实现一个考试系统,首先要了解学 生,老师,管理员和系统之间的关系。如图 3-2。 从下图我们可以很清楚地看出要从学生、老师和管理员三方面来设计。 图 2 -2 学生、老师和管理员关系图 3.2.1 学生部分的功能设计 在学生开始考试后,每个题目有一个“标记”(Mark) ,若用户对某题目的答案不太 明确时,可以在标记框上打记号,使用户以后能很方便地找到这个题目。试卷中还有 一个预览的功能(Overview) ,选择这个功能时将会展示整个试卷的完成情况,单击相 应的题号可直接进入相应的小题。 1、用户检验: 系统同时只允许用户从一个地点进行登录,禁止两个或多个人同时用一个账户进 行考试,其目的为了防止非法用户进行登录。 2、联机检测: 每个登录的用户有个时钟(Timer) ,从用户上一次与 Server 端对话开始计时。如 果一个用户长时间没有与 Server 端对话,并且超过了 15 分钟的话,系统自动认为与用 户的连接中断并切断与该用户的连接。如果此时用户仍想继续测试的话,必须重新进 行登录。 3、灾难恢复: 考虑到考生的每个状态都是存放在数据库中,因此系统中非常重视灾难恢复的功 能。若某种原因使系统(Server 端或 Client 端)异常停止,系统在得到恢复后,用户 重新登录能继续进行,甚至能自动把用户的界面恢复到系统中断前的状态。如果停机 时,用户正在进行考试,那么在 15 分钟之内恢复则考试继续进行。如果时间超过 15 分钟系统才被恢复的话,则考试会自动停止,用户重新登录后能继续进行余下的考试。 4、超时: 当参加考试用户时间到了的时候,系统将会自动终止该用户的考试状态。 3.2.2 老师部分的功能设计 在教师进入系统后,可以通过系统中的模板功能一步一步的组合出一张用于学生 考试的试卷。在出题模板里面,教师可以从数据库中按照关键字或题目所在分类等其 他的查询条件进行查找,找到相应的题目之后就可以添加到当前的试卷之中。为了增 加出题的灵活性,也支持手动录入一些非题库中的题目。 题目还可以和平时的作业以及课件中的练习相结合,平时的作业可以从设置的作 业库中进行选择,而课件中的联系则需要和课件的标准相结合,根据标准,课件中的 练习题目都是附合标准的结构的,其中的题目都是客观题,而且都是有答案的,答案 是通过标准规定的逻辑结构实现的。而且,每个题目是有自己所针对的教学目标的。 1、用户检验: 系统同时只允许教师从一个地点进行登录,禁止一个账号同时二次以上登陆。除 此之外,还可以设定访问者的 IP 限制,例如只有校园网内的 IP 地址才能登陆,其目的 是为了防止非法用户进行登录。这样虽然限制了系统随地性,但为了保证系统的安全, 也是可行的。 2、联机检测: 其功能与学生考试部分的功能基本上是一样的。考虑到教师出题时需要准备的内 容比较多,时钟 Timer 的底线可以适当延长到 30 分钟。 3.2.3 管理员部分的功能设计 管理员作为整个系统的管理者,具有对数据库和系统的管理操作权利。其中包括 对用户和试卷进行管理,增加,删除,修改等。如果管理的方式和其他用户一样,也 采用 B/S 模式的话,一旦账号外泄后果将不堪设想。考虑到管理员一般都是具备相当 计算机能力的人员,因此,管理员要在 Server 端对系统和数据库进行直接操作。 3.3 数据库的设计实现 数据库是系统中最重要的部分之一。基于 B/S 模式的考试系统,考生和教师的大 部分操作都要用到数据库,所以数据库的选择和设计将影响到整个系统的性能和功能。 3.3.1 数据库的选择 考试系统中的数据库特指 B/S 结构中的 Web 数据库。它既可以同 Web 服务器安装 在同一台机器上,也可以安装在专门的数据库服务器上。就目前使用的数据库,一类 是基于文件的数据库,如微软公司的 FoxPro、Access 等;另一类是基于服务器的后台 数据库,如微软公司的 SQL Server、Oracle 公司的 Oracle 系列等。对基于文件的数据 库,当客户端发出数据请求的时候,在网络上传输的是整个数据文件,它不能有选择 地根据用户地需求传送数据。另外,当多个用户同时访问一个数据文件时,由于该数 据库响应执行的顺序特性,必然会成为影响系统性能的瓶颈。而基于服务器的数据库 管理系统,在网络服务器上存在活动的数据库进程,当客户端向服务器发出数据请求 的时候,由服务器上的活动数据库进行对该请示进行处理,并把执行结果返回给客户 端,从而减轻了网络负担,提高了和系统的并发操作性能。根据用户访问网络考试题 库的频发特性以及网络考试的交互特性,本系统选择了基于服务器的 Access 作为后台 数据库。 3.3.2 数据库表的设计 1、学生表(stbuser) 学生表存储的是学生的基本信息,包括姓名,性别,所属班级、年级等等,我们 在这里主要列举一些和考试子系统有关的字段。 属性如表 3-1: 表 3-1 学生表 字段名数据类型长度缺省值NULL说明 userid自动编号非空用户 ID username文本50用户名 tName文本50真实姓名 Pwd文本50密码 email文本50邮箱 nianji文本50年级年级 banji文本50班级班级 isopen长整型是否打开 tim日期/时间时间 sex长整型性别 2、用户级别表(tbadmin) 用来保存用户的级别及权限。 用户级别表属性如表 3-2: 表 3-2 用户级别表 字段名数据类型长度缺省值NULL举例 adminid自动编号非空用户 ID username文本50用户名 pwd 文本 50密码 email 文本 50电子邮箱 tname 文本 50真实姓名 power 文本 100权限 tim日期/时间注册日期 sex长整型性别 3、试卷表(tbtk) 用来保存教师所出试卷的信息,包括试卷题目、选项、答案、是否考试、是否阅 卷等信息。 试卷表属性如表 3-2: 表 3-3 试卷表 字段名数据类型长度缺省值NULL举例 tmid 自动编号非空试卷 ID title 备注题干 a 备注选项 A 内容 b 备注选项 B 内容 c 备注选项 C 内容 d 备注选项 D 内容 e 备注选项 E 内容 f 备注选项 F 内容 ans 备注答案 level 长整型级别 kao 长整型是否考试 photo 长整型上传图片 isread 长整型是否判卷 19 4 用户界面的设计实现 用户界面是系统与用户之间的接口,也是控制和选择信息输入输出的主要途径。 我们对用户界面的设计应坚持友好、简便、实用、易于操作的原则,尽量避免过于繁 琐和花哨。本系统的用户交互界面设计两大部分,一部分是学生登陆系统,进行测验 时的 Internet Explorer 或者其他浏览器的界面;另一部分是教师登陆系统,进行管理、 出题、判卷等的界面。下面我们分别予以介绍他们的设计。 4.1 主界面设计 因本系统属于远程教学平台系统的一部分,主界面没有采用 logo、banner 设计,界 面比较简单,以方便教师、学生操作为出发点,如图 4-1 所示: 图 4-1 主界面 20 4.2 登陆窗口设计 登陆窗口包含考试登陆窗口、 “新用户登陆”超链接、考试新闻、成绩发布、在线 调查、学习心得和其他在线考试系统的友情链接。如图 4-2 所示: 图 4-2 软件登陆界面 在考试登陆栏目中输入管理员(勾选管理员复选框) 、教师、学生的准考证号和密 码后可以登陆不同的考试系统界面,软件根据登陆的用户给予不同的软件操作权限。 1选择科目窗口 学生身份登陆后,便进入选择科目窗口。如图 4-3 所示: 21 图 4-3 选择科目界面 学生输入用户名、密码后可以登陆学生界面,该界面包括学生的基本信息,并可 以随时修改个人选择科目、查询成绩、考试新闻等栏目 选择科目操作介绍: 、考试部分 您要参加考试,必须满足几个前提:a.学员所在的班级有权限参加该试卷的考试。 b.该试卷呈“打开”状态。c.该试卷所在科目呈“打开”状态。d.正好在试卷规定的 时间内参加考试。 学生在考试过程中,应注意保存答案。试卷内每一种题型的后面都有一个保存按 钮,只要学员点击保存按钮,不但可以保存此题型的答案,还可以保存其他题型的答 案。 试卷用倒计时方式扣减时间,如果您在考试过程中不小心关闭窗口,您可以重新 进入考试系统,继续刚才的考试,您以前保存的答案仍旧存在。 在考试结束前一分钟和最后 10 秒种,系统会提示您保存答案,并提交试卷。 、练习部分 您要参加练习,管理员或教师必须首先在后台的“科目管理”“练习控制”中 设置好要练习章节的时间、状态。 22 练习时,以章为单位,按题型类别反复练习。只有在点击“本章已经练习完”之 后,您才可以在“查询成绩”中看到此章练习的标准答案和您的答案。如果您想再练 习一次,请点击“重新练习”。 2、 成绩查询: 、考试部分 在线考试界面如图 4-4 所示: 4-4 在线考试界面 因为试卷中的主观题需要老师批改,可能需要一段时间才能查询到成绩。但如果 试卷是由客观题型组成的,管理员或教师就可以在后台的“参数设置”“允许考完 后浏览客观题成绩”中,选择“是”。这样,考生就可以在考试结束后查询到自己的 成绩了。 、练习部分 只有在点击“本章已经练习完”之后,您才可以在“查询成绩”中看到此章练习 的标准答案和您的答案。 3、 考试新闻 有关学员的考试信息(考试时间,考试科目等)可以在学员登陆本考试系统后在 考试新闻栏目中进行查询 。 4、教师登陆 23 教师登陆窗口如图 4-5 所示: 4-5 教师登陆界面 教师权限:科目管理、题库管理、试卷批改、考试新闻等内容。 、科目管理 、科目管理: 教师只能对管理员对其授权的科目进行管理。当本科目中如果有试卷呈“打开” 状态时,请将此科目“打开”。 、练习控制(章节控制): 用于设定练习的时间和状态,使用时必须为“打开”状态。如果您想把题目录入

温馨提示

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

评论

0/150

提交评论