用ASP与WEB数据库构建网络考试系统 

四川广播电视大学 刘德学 



【摘 要】 本文介绍了用ASP与WEB数据库构建网络考试系统的一个应用方案,它具有结构简单、易于使用和维护,也容易实现的特点。
【关键词】 ASP WEB数据库 网络 考试系统

随着现代远程教育技术的发展,特别是我国人才培养模式改革和开放教育试点的深入进行,传统的教学资源正逐渐经过转化和整合而成为远程教育资源。在远程教育资源中,各种网络考试系统的普遍应用必将促使人才培养模式改革和开放教育试点的完整和成功。因为成熟的网络考试系统可以让学员在方便的时间随时参加考试,从而实现“开放的考试”。网络考试系统可以有多种架构。本文将简要介绍用ASP与数据库构建网络考试系统的方法,这种考试系统实际上是C/S模式下的WEB数据库的应用,它具有结构简单、易于使用和维护,也容易实现的特点。
一、ASP技术 ASP(Active Server Pages)是微软公司推出的一种用以取代CGI(Common Gateway Interface)的技术,它是位于服务器端的脚本运行环境,通过这种环境,用户可创建和运行动态的、交互的WEB应用程序,如交互的动态网页,包括使用HTML表单收集和处理信息、上传和下载文件等。 ASP是一种开放式的非编译应用环境,它自身内含于IIS(Microsoft Information Server)或PWS(Personal Web Server,Windows98/ME环境下专用)之中。ASP支持基于IIS上的服务器端脚本,同时完全支持Open Script接口。接口的语言包括:VBScript和JavaScript等。特别地,ASP还可以利用ADO(Active Data Object)方便地访问数据库,并很好地对数据库进行处理。ASP技术的以上特点为我们构建基于WEB的考试系统奠定了切实可行的基础。
二、WEB数据库 WEB数据库就是网络数据库。使用WEB数据库时,用户利用浏览器作为输入界面,输入必要的数据,浏览器将这些数据传送到网站服务器上,服务器再对输入的数据实施处理,并将其执行的结果返回给浏览器,通过浏览器将最终执行结果提交给用户。简单地,我们可以把WEB数据库理解为:“WEB数据库=Internet+数据库”。 从设计的角度来说,对于具体的WEB数据库,通过编制好的ASP程序,利用ADO(ActiveXData Object)对象,调用ODBC或OLEDB驱动程序,可以很简单地完成对网站上数据库的操作。访问WEB数据库的过程如图1所示。


图1 访问WEB数据库的过程
在设计网络考试系统的时候,WEB数据库可以用来存放与考试相关的各类信息,如考题、学生写入的答案、学生的成绩等等。
三、WEB考试系统的设计 从前面的介绍可知,要构建WEB考试系统,具体的工作主要包括以下两大部分:(1)建立能够进行信息交互的动态网页;(2)建立能够通过浏览器进行操作的数据库。网络考试系统的总结构如图2所示。


图2 网络考试系统的总结构 1考试系统数据库的设计
考试数据库的具体设计可以根据考试系统的规模选择不同的工具,如Access、SQL Server以及Oracle等。无论选择哪种工具,数据库中都应该包含与考试相关的以下基本信息:科目、考题、学生信息、教师信息、考试答案、考试成绩等。这些信息可用下列数据表来实现:question、score、stuinfo、subinfo、stuanswer和teainfo。这些数据表的结构如下列各表所示:
表1:Question表
Question表
字段名 questionID question ABCD answer sub teacherID
类 型 自动编号 文本 文本 文本 文本 文本
其中各字段名的含义分别是:考题编号、题目、选项、正确答案、科目和教师编号。 表2:Score表
Score表
字段名 studentID subs core teacherID
类 型 文本 文本 数值 文本
其中各字段名的含义分别是:学生学号、科目、成绩和教师编号。 表3:Stuinfo表 Stuinfo表
字段名 studentName sub
类 型 自动编号 文本
其中各字段名的含义分别是:学生姓名和科目。 表4:Subinfo表
Subinfo表
字段名 sub teacherID testTime testNum
类 型 文本 文本 数值 数值 其中各字段名的含义分别是:科目、教师编号、考试时间和考题数目。 表5:Stuanswer表
Stuanswer表 字段名 answer studentID questionID
类 型 文本 文本 数值 其中各字段名的含义分别是:学生的答案、学生学号和考题编号。 表6:Question表
Teainfo表
字段名 teacherName teacherID
类 型 文本 文本
其中各字段名的含义分别是:教师姓名和教师编号。 考试系统数据库如图3所示。
图3 网络考试系统的数据库

2访问数据库的操作以及用户界面的设计
要实现网络考试系统的功能,一个重要的技术就是要实现通过浏览器来访问数据库。这个功能可以通过ASP与ADO的结合来完成。ADO是微软提供的使ASP具有访问数据库功能的构件。在设计用户界面的时候,把页面都设计成ASP的,然后用ASP去访问数据库。用ASP访问数据库涉及创建数据源、创建链接、创建数据对象、操作数据对象、关闭并释放数据对象等环节。这其中又涉及DSN(Data Source Name)的配置以及用ASP访问数据库的各种语法格式。其详细情况可参阅有关资料。 在实际的设计中,对数据库的访问操作设计是结合用户界面的设计同时进行的。换句话说,我们要设计的用户界面几乎都是ASP格式的。用户界面的设计包括网页的外观设计和网页的层次结构设计。其中网页的外观设计可借助网页设计工具来进行,其基本原则是:实用、方便和美观。网页的层次结构应能满足考试系统的基本需要。具体来说,一方面学生能够通过网站方便地注册登录进行在线考试,并能查阅本人考试成绩。另一方面教师能够通过网站方便地对考生和题库进行后台管理。根据这些要求,用户界面的层次结构如图4所示。
图4 用户界面层次结构
图4中包含了多个ASP文件,对数据库的操作就是通过这些文件来完成的。各文件的用途如下表所示:
表7:考试系统中的ASP文件

Logon.asp 考试系统登录界面
Back.asp 教师进入题库界面
Screatefrm.asp 提供考试科目、考试信息和试题评分处理的框架界面
Sevalue.asp 提供考题、计算成绩和显示评分的界面 Smessage.asp 提供考试信息的界面 Stestmain.asp 试题评分处理程序,答案先存于数据库表Stuanswer中
Stselectsub.asp 考试科目选择,先搜索数据库表Score,若有成绩则提示已考Taddquestion.asp 向题库增加试题界面 Taddstudent.asp 编辑学生信息界面
Taddsub.asp 新增和更改考试科目界面
Tcreatefrm.asp 教师进入题库框架界面
Teditquestion.asp 修改试题界面
Testtop.asp 显示考试科目界面
Tleft.asp 教师进入题库的子项目选择界面
Tselcourse.asp 查询考试科目和教师信息界面 Tselectub.asp 教师选择添加考题或修改考题界面
Viewscore.asp 查询考试成绩界面
上表所列文件的具体内容可根据具体的考试系统要求在网页设计时完成,其中包含了大量的编写代码的工作。那些代码可用ASP编程脚本语言VBScript来编写,限于篇幅在此不作赘述。网络考试系统的总的结构如图5所示:

图5 网络考试系统结构图 四、小结 用ASP和数据库结合来构建网络考试系统是WEB技术的一个应用实例。由于ASP是一种功能强大的服务器端脚本编程环境,它的源代码可在服务器端运行,运行结果以HTML代码的形式输出到客户端,加上用ASP可以方便地访问数据库,而且程序代码完全保密,更重要的是它不用考虑客户端使用何种浏览器,因此用它们来开发网络考试系统应该是一种可以选择的较好方案。

参考文献:
[1]冯能山等,ASP网络实用编程,清华大学出版社,2002年1月
[2]魏善沛,WEB数据库技术实用教程,清华大学出版社,2002年6月
[3]林风等,动态网站设计捷径——ASP,西安电子科技大学出版社,1999年11月
[4]网星工作室,Dreamweaver4.0完全自学手册,北京希望电了出版社,2001年1月
[5]刘冬宁等,Access2002应用基础教程,冶金工业出版社,2002年6月
[6]王国荣,Active Server Pages&Web数据库,中国铁道出版社,2001年8月

 

 │                                               返回四川电大科研天地

四川电大科研处        四川省成都市一环路西三段三号  邮编:610073
电话:028-87768153               给《现代远程教育研究》杂志投稿