1、目 录摘 要 .3第 1章 前言 .411 设计的目的: .412 设计意义: .4第 2章 编程环境基础知识 .421 HTML .42.1.1 DreamweaverMX的概述 .52.1.2 ASP的概述 .52.2 VBScript .62.2.1 VBScript代码的基本格式 .72.2.2 VBScript数据类型 .72.2.3 VBScript常量 .82.2.4 VBScript变量 .82.3 ASP内置对象 .92.3.1 Request.102.3.2 Response.102.3.3 Session.112.3.4 Application.122.3.5 Serve
2、r.132.4 ADO组件 .142.4.1 Connection.142.4.2 Command.152.4.3 Recordset.172.5 数据库 .192.5.1 数据库的管理系统 .192.5.2 建立 Access数据库 .19第 3章 需求分析 .213.1 功能需求 .213.2 性能需求 .21第 4章 总体设计 .214.1 系统模块结构设计 .214.2 数据库设计 .234.3 概念结构设计 .244.4 逻辑结构设计 .25第 5章 详细设计 .285.1 系统流程分析 .285.2 模块详细设计 .285.2.1 模块功能 .285.2.2 界面设计 .285.2
3、.3 关键代码分析 .57第 6章 系统的发布与维护 .60结束语 .62致 谢 .63参考文献 .64摘 要放飞理想的网上考试系统采用开放式的设计思想,可以承载各种课程的题库,计算机自动组卷,实施课程的考试;也可以通过网络传输一套或几套试卷,在保证试卷的安全保密性的前提下,实施课程的考试,解决课程考试中规模小、笔试考试管理环节多、工作量大等问题。在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。基于网络的考试系统是传统考场的延伸,加上数据库技术的利用,大大简化了传统考试的过程。因此网络考试系统是电子化教学不可缺少的一个重要环节。所以现在较好
4、的考试方法为网络考试,考生通过用户名、口令进行登录,试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。因此,采用网络考试方式将是以后考试发展的趋势。网络考试系统的实现技术有多种,我们开发制作的网络考试系统是采用典型的客户机/服务器型的 MIS型架构,系统按照功能的分类划分为相对独立但又相关的四大部分,其开发主要包括考生信息和试题的数据库建立和维护、客户机考试应用程序的开发、服务器考试管理系统应用程序的开发以及考试备份系统应用程序的开发。本考试系统以 WindowsXP操作系
5、统、Microsoft Office 的 Access为数据库平台。Microsoft Visual Basic 6.0 是非常流行的基于 Basic语言的可视化编程工具,Access 是微软公司面向小型用户的桌面关系数据库管理系统。首先建立考试系统应用程序框架,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成满意的可行系统。在开发过程中遵循了软件工程原理,经历了需求分析、概要设计、详细设计、测试与配置几个阶段,直至后期的系统维护,从而保证了软件的质量。ASP是面向对象的开发工具,具有很多的控件,可以方便地进行界面设计和数据库连接等各种操作,所以我们选用 ASP作为本次开发的语言。关
6、键词:考试系统、数据库、ASP、表、Access 等。第 1章 前言11 设计的目的:以前,学校的各种考试大都采用传统的考试方式,每次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。但在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。随着计算机网络应用的迅猛发展,网络已经接入千家万户,特别是现在很多的高校和社会性的教育已经建立了多媒体计算机网络教室,基于 Web 技术的网络考试系统可以借助于遍布全球的 Internet 进行,考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性,从而利用现有的设备和技术等
7、进行在线考试,不仅可以减轻教师和考生负担,提高效率,同时也提高了考试的质量,从而使考试更趋于公证、客观,更能激发学生的学习兴趣。试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机阅卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。所以现在较好的考试方法为网络考试,试题内容放在服务器上,考生通过用户名、和口令进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。本系统分为两个部分,一是前台的网上考试模块,二是后台网上考试管理模块。我是山西工商职业学院
8、计算机网络技术专业的一名学生,由于专业性所以学习了许多的计算机知识,其中就包括计算机语言的学习,比如:ASP、VB、C语言等,还有和开发网站必不可少的数据库 Access等。因为有了这些知识,所以我开发了网上考试系统。12 设计意义:可以方便广大考生及时、有利的进行不同地点的考试,同时也减轻了老师的负担,也提高考试的真正的目的,使之公平、合理的进行,让每个考生都能有一个良好的心态来对待所考的课程。第 2章 编程环境基础知识21 HTMLHTML(HyperTextMarkupLanguage)超文本标记语言,是用来描述超文本文档的标记语言。现在多用于编写 Internet主页。HTML组织的文
9、件是带有嵌入代码(由标记表示)的 ASCII文本,它用来表示格式化和超文本链接。HTML 文件的内容通过一个页面展示出来,不同页面通过超链接关联起来。2.1.1 DreamweaverMX的概述DreamweaverMX是 Macromedia公司最新推出的网爷制作“三剑客”(DreamweaverMX、FlashMX、FireworksMX)之一,是设计并且管理网络站点和网页的专业的 HTML编辑器。DreamweaverMX是一个所见即所得的网页编辑器,集功能强劲的可视化设计、应用开发环境以及代码编辑一身的工具,支持最新的 DHTML和 CSS标准。它采用了多种先进技术,能够快速高效地创建
10、极具表现力和动感效果的网页,使网页创作过程变得十分简单。它用于对 Web站点、Web 应用程序进行设计、编码和开发,使开发人员和网页设计师能够快捷地创建代码规范的应用程序,开发环境精简而高效。开发人员能够运用它与他们的服务器技术构建功能强大的网络应用程序衔接到用户的数据、网络服务体系上。DreamweaverMX提供基于强大的规范管理来确保高质量的设计,设计环境提供 CSS能迅速高效地开发代码简洁、专业规范的站点。通过手工编码和使用可视化对象和行为来快速生成动态的、数据库驱动的 WEB应用程序。DreamweaverMX用于 ColdFusion、ASP、ASP.NET、JSP 和 PHP的服
11、务器代码库能够使用所有前沿的服务器端技术,以可视方式创建动态 WEB站点,使用一种开发工具即可与多种站点和后端技术集成。DreamweaverMX包含并扩展了 Macromedia UltraDev中的所有功能,以帮助使用 ASP、ASP.NET、ColdFusion 标记语言(CFML) 、JSP 和 PHP等服务器语言来生成由动态数据库支持的 WEB应用程序。DreamweaverMX也是开放式和可扩展的,赋予使用者最大的自由度和灵活性来选择今天或将来最适合自己工作的技术。2.1.2 ASP的概述在 ASP 页面中添加服务器端脚本,服务器器端脚本是一系列指令,用于向Web 服务器连续发出命
12、令。若要在 ASP 页面中插入服务器端脚本,首先要设置所使用的脚本语言,有以下三种设置方法。1. 使用 LANGUAGE 指令其中 ScriptingLanguage 参数是一个字符串,指定用于解释脚本命令的脚本引擎,取值可以是“VBScript”或“JavaScript”,默认值为 VBScript。2. 使用标记的相关属性若要在文档中包含服务器端脚本,也可以使用 SCRIPT 标记的 LANGUAGE属性来设置所用的脚本语言,并使用 RUNAT 属性指明脚本是在服务器端运行的。例如:. 使用 Internet信息服务管理单元3. 在 Windows 2000中,可以使用 Internet信
13、息服务管理单元来为安装在 Web服务器上的所有 ASP动态网页设置默认的脚本语言。操作步骤如下:(1) 选择“开始程序管理工具Internet 服务管理器”命令。(2) 在 Internet信息服务管理单元窗口中,选择 Web站点或应用程序的 起始点目录。(3) 从“操作”菜单中选择“属性”命令,以打开目录的“ASP 属性”对话框。(4) 单击“主目录”、“虚拟目录”或“目录”选项卡。(5) 单击“配置”按钮,单击“应用程序选项”选项卡,然后在“默认ASP语言” 框中输入要用的主要脚本语言。2.2 VBScript脚本(Script)就是插入在 HTML文件中的短程序,通常有两个脚本语言:Ja
14、vaScript和 VBScript(Microsoft Visual Basic Scripting Edition)。JavaScript基于 SUN公司的 JAVA,而 VBScript是基于 Microsoft公司的Visual Basic,是以 Visual Basic语言为基础提供编程功能,是 Visual Basic语言的一个子集,是 IIS的缺省源程序语言。VBScript可以在 HTML网页上操作、控制、处理对象。在最初的设计中,VBScript是通过编写事件驱动的脚本来扩大客户端 HTML功能,编写客户端脚本最大的优点就是由浏览器解析执行,不需要增大服务器的负担。例如,我们
15、可以在客户端进行输入数据有效性验证,防止浏览器将无效数据发送给服务器,这样,一方面可以减轻服务器的负担,防止服务器陷入处理大量无意义数据的工作中,同样,也可以减轻网络的阻塞;另一方面,也能够使客户减少等待时间,在验证的时候,浏览器能够立即作出响应,而如果在服务器上进行验证,那用户则不得不在浏览器前等待,服务器的处理和网络的传输都需要耗费一定的时间。随着 ASP技术的出现,VBScript 将它的功能扩展到服务器上,VBScript 开发的脚本可以在服务器上解析执行。在服务器端脚本开发的过程中,使用VBScript则没有客户端脚本开发时的局限性,当客户请求页面时,页面将在服务器上执行,然后再反馈
16、给浏览器,浏览器所获得的只是标准的 HTML文件,这样就可以不受浏览器功能的限制。VBScript和 HTML 页面完美地结合在一起,运用 VBScript可以控制 HTML页面,并对页面中某些事件作出响应,例如,前面所述的可以在页面的表单提交时进行数据有效性验证。VBScript 还提供了许多对象,运用这些对象,可以方便地进行脚本的编写,实现一些其他语言所无法实现的功能。2.2.1 VBScript代码的基本格式一般的 ASP程序都是将 VBScript代码放在服务器端执行的,此时有两种方法:方法一:方法二:VBScript 代码有时为了需要,可能也会将 VBScript代码放在客户端执行,
17、此时的语法如下:VBScript 代码这样用和 ASP就没有什么关系了。2.2.2 VBScript数据类型在 VB、C+等高级语言中,有整数、字符、浮点数等不同的数据类型,但在 Script 中只有一中数据类型,称为 Variant,也叫做变体类型。Variant 是一种特殊数据类型,根据不同的使用方式,它可以包含不同的数据类别信息,如字符串、整数、日期等。这些不同的数据类别称为数据子类型,如 2-2-1表所示:子类型 说明String 其值是变长字符串类型,最大长度可为 20亿个字符Byte 其值是 0到 255之间的无符号整数Integer 其值是-32768 到 32768之间的带符号
18、的整数Long 取值范围是-2147483648 到 2147483647之间的长整型整数Single 其值是单精度浮点数,负数范围从-3.402823E308 到-1.401298E-324,正数范围从 1.401298E-45到 30402823E38Double 其值是双精度浮点数,负数范围从-1.79769313486232E308 到-4.94065645841247E-324,正数范围从 4.94065645841247E-32到 1.79769313486232E308Date 其值是代表某个日期和时间的数字,日期范围从公元 100年 1月 1日到公元 9999年 12月 31日
19、Boolean 其值是 TRUE 和 FLASE的布尔型Currency 其值范围是-922337203685477.5808 到 922337203685477.5807Empty 变量未初始化时,如果代码中将其作为数字,其值就是 0;如果代码中将其作为字符串,其值就是一个零长度字符串(“”)Null 不包含任何有效数据的变量Object 包含一个对象一般情况下,Variant 会将其代表的数据子类型作自动转化,但有时,也会遇到一些数据类型不匹配造成的错误,这时可以使用 VBScript的转换函数来强制转换数据的子类型。2.2.3 VBScript常量常量就是拥有固定的数值,它可以代表字符串
20、、数字和日期等的常数,常量一经声明,其值将不能再更改。声明常量的意义就在于可以在程序的任何部分使用该常量来代表特定的数值,从而方便了编程。声明常量可以使用 Const语句,例如:一旦声明过 PI这个常量后,在程序的其他地方就可以用 PI来表示3.1415926了,比如:常量的命名规则和一般的程序设计语言一样,可以使用字母、数字、下划线等字符,但第一个字母必须是英文字母,中间不能有标点符号和运算符号,长度不能超过 255个字符。2.2.4 VBScript变量所谓变量,从专业的角度说,就是存储在内存中用来包含数据的地址的名字。它与常量的最大区别就是,常量一经声明(定义)其值就不能改变了,而变量在
21、声明后仍可随时对其值进行修改。声明变,量可以使用 Dim语句,例如:在 VBScript中,使用变量之前也可以不预先声名它,赋值后将自动声明。这样看来方便,其实带来麻烦了,如果不小心输错了,就会出现一个新的变量,当然会引起程序错误了,这种错误还很难查找。所以建议大家在今后的编程使用变量时,要养成先声明后使用的习惯。如果希望强行要求所用的变量都预先声明,则可以在 ASP文件中所用的ASP语句之前添加 Option Explicit语句,这条语句的意思就是要求所有的变量必须先声明才能使用。例如:变量的命名规则和作用域同常量。2.3 ASP内置对象ASP 内含于 PWS和 IIS 之中 , 我们通过
22、 ASP可以结合 HTML 网页、 ASP 指令和 ActiveX 组件建立动态、交互高效的 Web服务器应用程序。有了 ASP 就不必担心客户端浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通 HTML 中的脚本程序,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样就减轻了客户端浏览器的负担。与一般程序不同,ASP 程序无须编译, 程序控制部分使用 VBScript 、JavaScript 等脚本语言来设计的,当执行 ASP 程序时,脚本程序将一整套命令发送给脚本解释器 ( 即脚本引擎 ) ,由脚本解释器进行翻译并将其转换成服务器所能执行的命令。
23、当然,同其他编程语言一样, ASP 程序的编写也遵循一定的规则,如果你想使用你所喜爱的脚本语言编写 ASP 程序,那么你的服务器上必须要有能解释这种脚本语言的脚本解释器。当你安装 ASP 时,系统提供了两种脚本语言: VBSrcipt 和 JavaScript ,而 VBscript 则被作为系统默认的脚本语言。ASP之所以简单实用,主要是因为它提供了功能强大的内部对象和内部组件。其中常用的五大内部对象包括Request、Response、Session、Application、Server, 2.3.1 RequestRequest 对象用于接收客户端在请求一个页面或传送一个表单时提供的所有
24、信息,包括能够标识浏览器和用户的 HTTP 变量、Cookie 信息以及附在 URL后面的值(查询字符串或表单数据)Request的功能是:从客户端获得数据信息。Request对象共有五种获取方法,分别是 QueryString、 Form、 Cookies、 ServerVariables 、ClientCertificate。语法:Request.数据集合属性.方法 (变量或字符串)例如:下面先将 Request的数据集合(获取方法)、属性、方法的功能分别列于表2-3-1、表 2-3-2、表 2-3-3中,然后将对常用的功能进行逐一介绍。表 2-3-1 Request对象的获取方法获取方法 功能QueryString 从查询字符串中读取用户提交的数据Form 取得客户端在 FORM表单中所输入的信息Cookies 取得客户端浏览器的 Cookies的信息ServerVariables 取得服务器端环境变量信息ClientCertificate 取得客户端浏览器的身份验证信息表 2-3-2 Request对象的属性属性 功能