基于网络的通用考试系统的设计与实现

时间:2022-07-26 02:46:07

基于网络的通用考试系统的设计与实现

摘要: 随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件两方面把学校建设成一流的信息管理、教育教学的平台。该文主要介绍如何利用ASP网络编程技术和SQL SERVER 2000数据库技术实现B/S模式下的网上考试,描述了网络考试系统应具备的功能和模式、试卷的自动生成以及考试模块和评分模块的编制。

关键词:ASP;VBScript;B/S模式;SQL

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)20-4892-02

Web-based Universal Test System Design and Implementation

ZHOU Xue-li

(Shandong College of Electronic Technology, Ji'nan 250014, China)

Abstract: Along with the fast development in computer technology,school education and management meet the needs of balance development in every link to bulid the school into a first class infomation management&education platform from software&hardware two aspects. This article mainly expounds a specific implementation of online examination in B/S mode,in accordance with ASP web programming technology and SQL SERVER 2000 database,a detailed description of the exam system's function and pattern,automatic testpaper generation and the scoring module.

Key words: ASP; VBScript;B/S mode; SQL

1 VBScript

VBScript使用ActiveX Script与宿主应用程序对话。使用ActiveX Script,浏览器和其他宿主应用程序不再需要每个Script部件的特殊集成代码。ActiveX Script使宿主可以编译Script、获取和调用入口点及管理开发者可用的命名空间。通过ActiveX Script,语言厂商可以建立标准Script语言。Microsoft正在与多个Internet工作组一起定义ActiveX Script标准以使Script引擎可以互换。ActiveX Script可用在Microsoft Internet Explorer和Microsoft Internet Information Server中。

VBScript只有一种数据类型,称为Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为Variant是VBScript中唯一的数据类型,所以它也是VBScript 中所有函数的返回值的数据类型。最简单的Variant可以包含数字或字符串信息。大多数情况下,可将所需的数据放进Variant中,而Variant也会按照最适用于其包含的数据的方式进行操作。声明变量的一种方式是使用Dim语句、Public语句和Private语句在Script中显式声明变量。

另一种方式是通过直接在Script中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行Script时出现意外的结果。因此,最好使用Option Explicit语句显式声明所有变量 。

2 过程

在VBScript中,过程被分为两类:Sub过程和Function过程。

1) Sub过程。

Sub过程是包含在Sub和End Sub语句之间的一组VBScript语句,执行操作但不返回值。Sub过程可以使用参数(由调用过程传递的常数、变量或表达式)。

2) Function过程。

Function过程是包含在Function和End Function语句之间的一组VBScript语句。Function过程与Sub过程类似,但是Function过程可以返回值。Function过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果Function过程无任何参数,则Function语句必须包含空括号()。Function过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是Variant。

VBScript中可使用下列循环语句:

Do...Loop:当(或直到)条件为True时循环。

For...Next:指定循环次数,使用计数器重复运行语句。

For Each...Next:对于集合中的每项或数组中的每个元素,重复执行一组语句。

在VBScript中可使用以下条件语句:

If...Then...Else 语句

Select Case 语句……

3 系统设计

3.1 功能模块

用户登陆:用户根据自己的学号进行用户名和密码的登陆。

试卷生成:可以指定试卷的科目,从试题库里随机抽取试题生成一份原始试卷。

在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。

计算机自动阅卷:本系统只涉及计算机能进行客观题的自动阅卷,然后马上显示出考生分数。

成绩查阅:考生考完以后,管理员应该能对所有纪录进行查询。

3.2 试卷的生成方法

试卷页面是采用ASP技术动态生成的。数据库中有一个字段,标记试卷代号,可以根据考生输入的试卷题目从数据库中选取相应记录,并把它按照一定的布局显示在页面上。选择题有一个表,先从选择题表中取出相应记录,同时动态生成表单域。本例以生成选择题为例说明试卷页面的生成。

A:

B:

C:

D:

这段代码只是为了说明试卷的生成方法,并不代表本系统的代码内容。

3.3 数据库中表的设计

1) 用户记录表(用户的信息-用户名、密码、考试后的分数)

表1为用户记录表

user:存储用户名passwd:存储用户密码 score:存储总分数

2) test表结构(用于存储试卷题目)

表2为test表。

各字段说明:

1) question字段代表考试题目。

2) a字段存储选项A。

3) b字段存储选项B。

4) c字段存储选项C。

5) d字段存储选项D。

6) as字段代表正确答案。

4 系统实现

考试模块是网络考试系统的核心部分,它的工作流程如图1所示,采用Web技术实现,首先进入考试网站,进入登陆主界面,考生在这个页面输入自己的信息,如用户名、密码(本系统全为其学号),并选择要考试的题目。单击"提交"后进入信息处理程序(在服务器端执行),如信息不正确,系统给出提示信息,并重新定位到登录页面;如信息正确,则显示试卷页面,试卷页面上的试题内容根据考生输入的试卷题目从数据库中取出符合条件的记录动态地生成。同时在页面上动态地显示考试所剩时间,当考试时间到或考生点击"交卷"按钮时,则系统把考生答案传送至服务器的数据库中保存起来,并把数据库中标记考生是否参加过某门课程考试的标记置"1"(它的初始值为"0")。

5 结论

在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。基于Web技术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而可以使用计算机阅卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。因此,采用网络考试方式将是以后考试发展的趋势。

参考文献:

[1] 唐青松.ASP开发全攻略宝典[M].北京:中国水利水电出版社,2005.

[2] 赵立东.T-SQL程序设计[M].北京:电子工业出版社,2007.

[3] 石志国.ASP动态网站编程[M].北京:清华大学出版社,2006.

[4] 李劲.ASP数据库程序设计[M].北京:科学出版社,2006.

[5] 李肇仁.计算机网络考试系统的模块分析与设计方案选择[J].成功:教育,2007.

[6] 陈益材.网站建设经典范例[M].北京:清华大学出版社,2006.

[7] 刘福太.ASP3.0专业Web技术[M]..北京:机械工来出版社,2006.

[8] Perry B W.Ajax hacks[M].南京:东南大学出版社,2006.

[9] 杨滨.网络考试系统中安全保障技术的研究与实现[J].电脑知识与技术:学术交流,2007(17).

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:基于分类的分布式压缩感知算法 下一篇:实时操作系统综述