1、远程教育在线考试系统1前言随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要
2、经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。在线考试是现阶段研究开发
3、的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,远程教育在线考试系统2我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老
4、师从繁重的工作中解脱出来!目前,网络应用软件运行的模式主要有二类:Client/server 模式,Browser/Web 模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随 Internet 迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是 Web Server ,而 Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的 MIS 系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我
5、完善的过程。基于上述考虑,用 Browser/Web 模式来设计考试系统比较合适,服务器端我们采用 Access 数据库系统和 ASP 组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用 Active Server Page 技术,我开发了基于 B/S模式多用户在线考试系统这一程序。它运用方便、操作简单,效率很高(同时,它要求计算机配置也很高,尤其是服务器端) 。现阶段虽只实现了试卷的客观题部分,但已具有用户注册、多用户同时在线考试、动态随机出题、时间控制、自动判卷,试题录
6、入、修改题库、用户管理、科目管理、管理员管理、分数管理等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。第一章 系统设计相关原理该在线考试系统主要采用 ASP、HTML、Access 数据库、VBScript、SQL 等技术和工具,整体设计遵循软件工程的方法,经过需远程教育在线考试系统3求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。下面就对这几种技术和方法做一个概述。1.1 ASP技术介绍Microsoft Active Server Pages 即我们所称的 ASP,其实是一套微软开
7、发的服务器端脚本环境。Active Server Page 是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生 HTML 的程序代码。因此,只要用户浏览 Web 站点并请求一个 ASP 页,Web 服务器就可以处理相应的 ASP 代码,生成 HTML 代码,然后将它传递到用户浏览器并显示出网页。ASP 内含于 IIS3.0 和 4.0 之中,通过ASP 我们可以结合 HTML 网页、ASP 指令和 ActiveX 元件建立动态、交互且高效的 WEB 服务器应用程序。有了 ASP 就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有
8、嵌在普通 HTML 中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以下罗列了 ASP 所独具的一些特点:1.使用 VBScript 、JScript 等简单易懂的脚本语言,结合 HTML 代码,即可快速地完成网站的应用程序。2.无须编译,容易编写,可在服务器端直接执行。3.使用普通的文本编辑器,如 Windows 的记事本,即可进行编辑设计。4.与浏览器无关,用户端只要使用可执行 HTML 码的浏览器,即可浏览 ASP 所设计的网页内容。ASP 所使用的脚本语言(VBScript 、Jscript)均在 WEB 服
9、务器端执行,用户端的浏览器不需要能够执行这些脚本语言。5.ASP 能与任何 ActiveX scripting 语言相容。除了可使用VBScript 或 JScript 语言来设计外,还通过 plug-in 的方式,使用由第三方所提供的其他脚本语言,譬如 REXX、Perl、Tcl 等。脚本引擎是处理脚本程序的 COM(Component Object Model)物件。6.ASP 的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。远程教育在线考试系统47.可使用服务器端的脚本来产生客户端的脚本。8.物件导向(Object-oriented) 。9.Ac
10、tiveX Server Components(ActiveX 服务器元件)具有无限可扩充性。可以使用 Visual Basic 、Java 、Visual C+ 、COBOL 等编程语言来编写你所需要的 ActiveX Server Component。10.另外,ASP 技术的处理速度相当快,并且其安全性也很高。ASP最重要的优点是能够建立对诸如时间、地点、用户标志、以前的选择和活动等因素敏感的页面。换句话说,可针对每个用户的个别需求,用ASP 定制网页,能够满足用户的各种需求。总之,ASP 包含三方面含义:1.Active:ASP 使用了微软的 ActiveX 技术。ActiveX(CO
11、M)技术是现在 Microsoft 软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP 本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的 WEB 应用。2.Server:ASP 运行在服务器端。这样就不必担心浏览器是否支持ASP 所使用的编程语言。ASP 的编程语言可以是 VBSCRIPT 和JSCRIPT。VBSCRIPT 是 VB 的一个简集,会 VB 的人可以很方便的快速上手。然而 Netscape 浏览器不支持客户端的 VBSCRIPT,所以最好不要在客户端
12、使用 VBSCRIPT。而在服务器端,则无需考虑浏览器的支持问题。Netscape 浏览器也可以正常显示 ASP 页面。3.Pages:ASP 返回标准的 HTML 页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是 ASP 生成的 HTML 代码,而不是 ASP 程序代码。这样就可以防止别人抄袭程序。由此可以看出,ASP 是在 IIS 下开发 WEB 应用的一种简单、方便的编程工具。在了解了 VBSCRIPT 的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的 ASP 系统。 运行 ASP 所需的环境如下:Microsoft Internet In
13、formation Server version 3.0/4.0 on 远程教育在线考试系统5Windows NT ServerMicrosoft Peer Web Services Version 3.0 on Windows NT WorkstationMicrosoft Personal Web Server on Windows 95/98与一般的程序不同,ASP 程序无须编译。ASP 程序的控制部份,是使用 VBScript、JScript 等脚本语言来设计的,当执行 ASP 程序时,脚本程序将一整套命令发送给脚本解释器(即脚本引擎),由脚本解释器进行翻译并将其转换成服务器所能执行的
14、命令。当然,同其他编程语言一样,ASP 程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写 ASP 程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装 ASP 时,系统提供了两种脚本语言:VBSrcipt和 JScript,而 VBScript 则被作为系统默认的脚本语言。ASP 程序其实是以扩展名为.asp 的纯文本形式存在于 WEB 服务器上的,可以用任何文本编辑器打开它,ASP 程序中可以包含纯文本、HTML标记以及脚本命令。只需将.asp 程序放在 Web 服务器的虚拟目录下(该目录必须要有可执行权限) ,就可以通过 WWW 的方式访问 ASP 程序了。
15、要学好 ASP 程序的设计,必须掌握脚本的编写,那么究竟什么是脚本呢?其实脚本是由一系列的脚本命令所组成的,如同一般的程序,脚本可以将一个值赋给一个变量,可以命令 Web 服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,你必须要熟悉至少一门脚本语言,如 VBScript。脚本语言是一种介于 HTML 和诸如 JAVA、Visual Basic、C+等编程语言之间的一种特殊的语言,尽管它更接近后者,但它却不具有编程语言复杂、严谨的语法和规则。如前所述 ASP 所提供的脚本运行环境可支持多种脚本语言,譬如:JScript、REXX、PERL 等等,这无疑给 ASP 程序
16、设计者提供了广泛的发挥余地。ASP 的出现使得广大 Web 设计者不必在为客户浏览器是否支持而担心,实际上就算在同一个.asp 文件中使用不同的脚本语言,都无须为此担忧,因为所有的一切都将在服务器端进行,客户浏览器得到的只是一个程序执行的结果,而你也只需在文件中声明使用不同的脚本语言即可。远程教育在线考试系统6ASP 的对象和组件:1.ASP 有 7 个固有对象这 7 个固有对象分别是Request、Response、Server、Application、Session、ASPError 和ObjectContext。Request 对象用来处理用户做出的请求,就是处理用户要求浏览器查看特定的
17、网页或 Web 应用时做出的请求。此请求可以 HTML 的形式输入或仅以 URL 的形式作出。Response 对象用来处理从 Web 服务器向用户发送信息并对此信息进行控制。Serve 对象用来代表服务器自身。因此它提供几个与 Web 服务器可能要完成的任务相关的常用功能,诸如建立新对象和设置脚本的超时特性等。还有通过将不合法字符转化为合法字符,把字符串转换为 URL和 HTML 正确的使用格式的方法。Application 对象用来代表应用,可用它来管理诸如应用目录这一类的东西。Session 对象用来代表用户会话,并存储该会话的信息。可利用Session 对象来管理如 Web 服务器在用
18、户“请求”之间等待的时间等。ObjectContext 对象用来管理事务处理。它目前已经集成到Windows2000 操作系统中了。它包含了所有 ASP 其他对象,可通过ObjectContext 引用 ASP 的每个对象。ASPError 对象包含 ASP 脚本或 asp.dll 本身产生的任何错误的详细内容。2.Microsoft Data Access ComponentMDAC 作为操作系统的组成部分的组件,与 ASP 一起提供。此组件中包含一组称为 ActiveX Data Object(ADO)的对象,他们对于查看不同平台上的各种数据(数据库、表单、文本文件)是必不可少的。ADO主
19、要有 3 个对象,分别是 Connection、Command 和 Recordset。Connection 对象就是使 ADO 与数据库之间建立一个通道,也就是实现与数据库的连接。Command 对象就是对数据库进行发号施令,比如建立新的索引,执远程教育在线考试系统7行查询等,它可以通过标准的 SQL 数据库操作语言得以实现。Recordset 对象是一个数据记录集,它包含了我们检索出来的记录数据,通过它可以直接对数据库进行修改。3.活动服务器组件活动服务器组件是与 ASP 一起免费带来的组件或 DLL,他们有着广泛的用途。主要包括 AD Rotator、Browser Capabiliti
20、es、Content Link、Content Rotator、Counters、logging Utility、MyInfo、Page Counter、permission Checker、tools 等组件。由于本次设计用到的不多,在此就不详细介绍了4.ASP 脚本对象他们分别是 Dictionary、FileSystemObject 和 TextStream.由于本设计用到的也不多,在此就不详细介绍了。1.2 SQL语句介绍SQL 全称是“结构化查询语言(Structured Query Language)”,最早的是 IBM 的圣约瑟研究实验室为其关系数据库管理系统 SYSTEM R
21、开发的一种查询语言,它的前身是 SQUARE 语言。SQL 语言结构简洁,功能强大,简单易学,所以自从 IBM 公司 1981 年推出以来,SQL 语言,得到了广泛的应用。如今无论是像 Oracle ,Sybase,Informix,SQL server 这些大型的数据库管理系统,还是像 Visual Foxporo,PowerBuilder 这些微机上常用的数据库开发系统,都支持 SQL语言作为查询语言。Structured Query Language 包含 4 个部分:数据查询语言 DQL-Data Query Language SELECT据操纵语言 DQL-Data Manipula
22、tion Language INSERT, UPDATE, DELETE 数据定义语言 DQL-Data Definition Language CREATE, ALTER, DROP数据控制语言 DQL-Data Control Language COMMIT WORK, ROLLBACK WORK 1.2.1 SQL的优点远程教育在线考试系统8SQL 广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA 管理员和终端用户受益非浅。1.非过程化语言SQL 是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL 允许用户在高层的数据结构上工作,而不对单个记录进行
23、操作,可操作记录集。所有 SQL 语句接受集合作为输入,返回集合作为输出。SQL 的集合特性允许一条 SQL 语句的结果作为另一条 SQL语句的输入。 SQL 不要求用户指定对数据的存放方法。 这种特性使用户更易集中精力于要得到的结果。所有 SQL 语句使用查询优化器,它是RDBMS 的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。2.统一的语言SQL 可用于所有用户的 DB 活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的 SQL 命令只需很少
24、时间就能学会,最高级的命令在几天内便可掌握。 SQL 为许多任务提供了命令,包括:查询数据在表中插入、修改和删除记录 建立、修改和删除数据对象 控制对数据和数据对象的存取 保证数据库一致性和完整性 以前的数据库管理系统为上述各类操作提供单独的语言,而 SQL 将全部任务统一在一种语言中。3.是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持 SQL 语言,用户可将使用 SQL 的技能从一个 RDBMS 转到另一个。所有用 SQL 编写的程序都是可以移植的。SQL 是 PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植的,并且容易学习使用。但是所有 S
25、QL 语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查远程教育在线考试系统9询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。如果使用了 PL/pgSQL,那么可以把一块运算和一系列查询在数据库服务器 里面 组成一个块,这样就拥有了过程语言的力量并且简化 SQL 的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用PL/pgSQL,应用可以获得可观的性能提升。 1.2.2 SQL的使用1.ASP 与 Access 数据库连
26、接:2.ASP 与 SQL 数据库连接:建立记录集对象:setrs=server.createobject(“adodb.recordset“)rs.openSQL 语句,conn,3,23.SQL 常用命令使用方法:远程教育在线考试系统10(1)数据记录筛选:sql=“select*from 数据表 where 字段名=字段值 orderby 字段名desc“sql=“select*from 数据表 where 字段名 like%字段值%orderby字段名desc“sql=“selecttop10*from 数据表 where 字段名 orderby 字段名desc“sql=“select
27、*from 数据表 where 字段名 in(值 1,值 2,值 3)“sql=“select*from 数据表 where 字段名 between 值 1and 值 2“(2)更新数据记录:sql=“update 数据表 set 字段名=字段值 where 条件表达式“ sql=“update 数据表 set 字段 1=值 1,字段 2=值 2字段 n=值nwhere 条件表达式(3)删除数据记录:sql=“deletefrom 数据表 where 条件表达式“sql=“deletefrom 数据表“(将数据表所有记录删除)(4)添加数据记录:sql=“insertinto 数据表(字段 1,字段 2,字段 3)values(值 1,值2,值 3)“sql=“insertinto 目标数据表 select*from 源数据表“(把源数据表的记录添加到目标数据表)(5)数据记录统计函数:AVG(字段名)得出一个表格栏平均值COUNT(*字段名)对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名)取得一个表格栏最大的值MIN(字段名)取得一个表格栏最小的值SUM(字段名)把数据栏的值相加引用以上函数的方法:
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。