网上考试机制

时间:2022-05-04 11:43:00

网上考试机制

【摘要】随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件双方面把学校建设成一流的信息管理、教育教学的平台。本文设计开发的网上考试系统也是其中重要的一个方面。该系统本着减轻教师工作负担、提高工作效率、优化学生考试的流程,节约考试成本,增强参加考试学生的身份识别,比传统的考试模式节省人力财力和时间。

系统分为三大模块:用户注册模块、考试模块和系统管理模块。面向三类人员使用:普通学生、老师、管理员,使用时他们拥有不同的权限。其中系统管理模块是进行题目的添加、查询和删除,是系统运行的基础;考试模块是客户端学生或教师通过自己的用户名以及密码登陆系统,进入界面时由系统按照出题教师预先设置好的试卷结构从题库中随机抽取适合的题目,形成试卷。

系统选用的开发软件是ASP、Dreamweaver,后台数据库为ACCESS2000

【关键词】考试试卷自动系统ASP

【正文】

第一章选题背景

随着技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了网络教学,通过计算机实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,教学软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到教学当中去,这就给软件设计人员提出了更高的设计要求。

网络教学包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是网上考试系统,同时它也是最难实现的环节。在我国,虽然教学已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,应用不断扩大,如网络教学和虚拟网校的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行网上考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。

网上考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的网上考试系统可以使用户在网上学习过后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。网上考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!

服务器端我们采用Access数据库系统和ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。利用Access数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用ActiveServerPage技术,我开发了在线考试系统这一程序。它运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有用户注册、在线考试、动态随机出题、时间控制、自动判卷、试题录入、修改题库、管理员管理、分数管理等重要功能,本系统还可进行主观题的考试,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、判卷等繁重的工作量。

第二章方案论证

该网上考试系统主要采用ASP、HTML、Access数据库、VBScript等技术和工具,整体设计遵循软件工程的方法,经过可行性分析、需求分析、总体设计、代码的编制、模块测试和系统实现几个阶段。下面就对这几种技术和方法做一个概述。

一、ASP技术介绍

MicrosoftActiveServerPages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。ActiveServerPage是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令建立动态、交互且高效的WEB服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。

以下罗列了ASP所独具的一些特点:

(1)ASP所使用的脚本语言VBScript直接来源于VB语言,秉承了VB简单易学的特点,学习起来非常容易。

(2)把脚本语言直接嵌入HTML文档中,不需要编译和连接直接运行。

(3)存取数据库非常容易。

二、VBScript技术介绍

VBScript是程序开发语言VB家族的成员。它与VB语言有密切的关系,如果熟悉VB,VBScript很容易学习和使用。VBScript通过变量、操作符、循环、分支和函数扩展了HTML。通过在HTML网页中加入VBScript脚本,可以使静态的HTML网页成为动态网页。

它具有以下几个特点:

(1)易掌握。如果你熟悉VB,VBScript很容易学习和使用。

(2)多用性。VBScript可以在运行Unix、Windows操作系统上,需要注意的是,该操作系统必须装有最新的MicrosoftInternetExplorer。

第三章系统分析设计

一、可行性分析

可行性分析,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。

(1)经济可行性:主要是对项目的经济效益进行评价,本系统作为一个毕业设计,无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。

(2)技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前新兴的B/S模式进行开发,结合了Internet技术。数据库服务器选用Access数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

(3)时机可行性:目前,大学的校园网络覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院,各职能部门,各直属单位上网需求。学校良好的网络设施为开发使用网络考试系统提供了坚实的基础。

(4)管理上的可行性:主要是教务处管理人员大力支持,系领导认同,现有的管理制度和方法科学,规章制度齐全,原始数据正确等。规章制度和管理方法为系统的建设提供了制度保障。

综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。

二、系统分析

详细调查之后,结合现行考试模式,为开发本系统而绘制出的网络考试的管理业务流程图如图所示。

系统分析的主要成果是系统的逻辑模型。本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。即在网络考试系统管理方式和业务流程进行认真分析和研究的基础上,排除现有组织机构和业务分工所造成的信息障碍。完全从业务管理功能和管理对象出发,按照信息系统中应有的数据流和数据结构来勾画系统的概貌。

数据流图是组织中信息运动的抽象。是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。

首先,分析网上考试系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;然后划分出几个主要的信息管理功能,并明确各功能之间的联系,绘制出数据流程图,如下图所示

三、数据库设计

用access建立一个数据库文件,用来存储试题及用户的验证信息。当管理员登陆时,首先提示要输入验证信息,当输入用户信息后,通过sql语言查询administrator表,判断此管理员是否合法,如果不合法,则显示提示信息,否则,进入考试系统。管理员进入后可通过程序对test表内容进行添加,查询和删除。学生登录,则需要学生的姓名和学号通过查询employee表,如果用户合法,由服务器抽取试题并显示到考生屏幕上,否则学生无法登录考试。试题的抽取又需要通过subject表,抽取题库中的某一科所对应的题,当考生做完题并递交后,由系统自动评分,显示成绩并将学生姓名和成绩存入user表。

在本系统中,数据库的建立是用ACCESS实现的。其中包括四个表:administrator、employee、test、user和subject。administrator表存储管理员信息,employee表存储用户信息,test表存储单科考试内容,这里的test表用来存储客观题,还可建立test1表用来存储主观题,user表存储用户成绩,subject表存储课程名,这样的话,本系统可以实现对任何科目的考试,先通过subject表选择科目,通过字段filename确定对应的test表,再通过test表提取对应科目的题库。在这里test表包含多个表,它们的字段相同,具体题目不同,每一门课程的试题对应一张表。

administrator表结构如下:

字段名称类型说明

编号自动编号编号

Username文本管理员名

Password文本密码

employee表结构如下:

字段名称类型说明

number文本学号

Name文本姓名

address文本地址

mobile文本手机号

Phone文本联系电话

Qq文本QQ号

Email文本EMAIL地址

test表结构如下:

字段名称类型说明

Id自动编号编号

question文本存储考试题目

A文本存储选项A的答案

B文本存储选项B的答案

C文本存储选项C的答案

D文本存储选项D的答案

Ans文本存储正确答案

Count数字随机抽取

search文本查询

user表结构如下:

字段名称类型说明

User文本用户名

password文本密码

Score数字存储用户成绩

subject表结构如下:

字段名称类型说明

Id自动编号课程编号

subject文本课程名称

filename文本题库表名

在提取用户端信息以及反馈信息时用到了ASP的内置对象。现说明如下:

Request对象:可以使用Request对象访问任何用HTTP请求传递的信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。本系统通过REQUEST获取用户输入的用户名和密码。代码为:

REQUEST.FORM(“username”)和REQUEST.FORM(“password”)。

Response对象:可以使用Response对象控制发送给用户的信息。包括直接发送信息给浏览器、重定向浏览器到另一个URL或设置Cookie的值。本系统通过RESPONSE将成绩反馈给用户。

RESPONSE.WRITE“你的成绩是”&score

用于数据库访问可以进行查找、插入、删除等操作。对数据库的查找是用SQL的select命令,插入是用SQL的insert命令,删除是用SQL的delete命令。

存取数据库的具体步骤是:首先确定数据源,然后打开或连接数据库,并执行响应的操作,执行完毕关闭数据库。connection对象负责打开或连接数据库,recordset对象负责存取数据表,execute负责执行SQL命令。

设定数据来源的方法是:在服务器上打开“我的电脑”中的“控制面板”,双击“ODBC”;在“系统DSN”下选“添加”,选出预先设好的数据库种类、名称和位置。这里要用到的是access数据库,数据源名称为stry_exercise,主数据库名称stry_exercise.mdb。打开或连接数据库的方法是:先用Server.CreatObject取得对象“ADODB.Connection”的一个实例,然后用“Open”打开待访问的数据库:

SetConn=Server.CreatObject(“ADODB.Connection”)

Conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath("stry_exercise.mdb")

然后执行SQL命令,即对数据库进行操作,这里要使用Execute命令

setrs=server.createobject(“adodb.recordset")

sql=“select*fromtest"

setrs=conn.execute(sql)

四、系统实现

1、管理员登录

系统管理员必须通过管理员名和密码进行身份验证,数据库查询后有此记录方可进入。具体查询语句为:

setrs=conn.execute("select*fromadministratorwhereusername=''''"&username&"''''")

具体界面如下图所示:

2、试题管理

(1)、添加试题

管理员有权对数据库进行试题的添加,具体添加语句为:

sql="insertintotest(question,a,b,c,d,ans)values(''''"&question&"'''',''''"&a&"'''',''''"&b&"'''',''''"&c&"'''',''''"&d&"'''',''''"&ans&"'''')"

rs1.Opensql,conn,1,1

具体界面如下图所示:

(2)、删除试题

管理员有权对数据库进行试题的删除,具体删除语句为:

id1=request("id")

sql="DELETEFROMtestWHEREid="+id1

rs.Opensql,conn,1,1

具体界面如下图所示:

(3)、查询试题

管理员有权对数据库进行试题的查询,具体查询语句为:

sql="select1*fromtestwhereidlike''''"&id&"''''"

具体界面设计如下:

3、学生答题

学生通过登录界面,如果数据库中有相应的学生信息,通过自己的姓名和学号即可进入题库进行考试,在规定时间内完成答题,结束后提交。登录时与数据库的操作如下:

setrs=conn.execute("select*fromemployeewherename=''''"&uname&"''''andnumber=''''"&num&"''''")

学生进入答题界面后计时器自动开始计时,进行时间控制,当时间到达指定值时系统会弹出提示框,提示时间已到。

具体学生登录界面和答题界面如下:

4、批阅试卷并给出成绩

学生提交后,系统打开数据库,对比正确答案,自动给出成绩。具体语句为:

<%

sql="select*fromtest"

rs.opensql,conn,3,3

dimscore

rsCount=0

ycorrect=0

Response.Write"正确答案:"

Dowhilenotrs.eof

Response.Writers("ans")

rsCount=rsCount+1

ifRequest.Form(rsCount)=rs("ans")then

ycorrect=ycorrect+1

endif

rs.movenext

loop

Response.Write"<br>你的答案:"

score=int(ycorrect/rscount*100)

fori=1toRequest.Form.Count-1

Response.WriteRequest.Form(i)

next

Response.Write"<br>"

Response.Write"你的成绩:"&score

ifscore<=60thenResponse.Write"你不及格!"&"<br>"

ifscore>=60andscore<=80thenResponse.Write"及格"&"<br>"

ifscore>=80andscore<=100thenResponse.Write"优秀!"

%>

具体界面设计如下:

第四章设计总结

现阶段本系统在功能上已经实现了管理员注册、在线考试、时间控制、自动判卷、试题录入、修改题库、用户登录等重要功能,我只实现了对单一科目试卷的客观题部分,今后需要继续完善,实现系统对任一科目的选择和主观题的考试、试题的动态随机抽取,并且当系统评分后,自动将学生姓名和成绩存入user表实现分数管理。

【参考文献】

1、尚俊杰《网络程序设计—ASP》(第2版)清华大学出版社

2、刘瑞新等《网页设计与制作教程》(第2版)机械工程出版社

3、田博文《Dreamweaver中文版基础培训教程》人民邮电出版社

4、田博文《Dreamweaver中文版网站建设实战训练》人民邮电出版社

5、杨国才等,基于WEB的远程自学型教学系统得设计与实现,《计算机应用》,2000,第4版,61页

6、周星等,基于ASP的网上组卷与自考系统的开发,《计算机应用》,2001,第2期,69页

7、李瑞旭《ASP实例教程》北京:中国电力出版社,2000

8、萨师煊等《数据库系统概论》(第三版)北京:高等教育出版社,2000

9、黄明等《ASP信息系统设计与开发实例》北京:机械工程出版社,2004

10、丁广贵《ASP编程基础与实例》北京:机械工程出版社,2003、4

11、王宁《ACCESS2000范例入门》北京:人民邮电出版社,2004、5

12、范国平《ACCESS2000数据库系统开发实例》北京:人民邮电出版社,2002、12

13、袁启昌《ASP动态网页设计教程》北京:科学出版社,2005、3

14、郭宝红等基于ASP网上考试系统的设计与实现《天津师范大学学报》(自然科学版)2002

15、周纳《ASP动态网站编程语应用》北京:北京交通大学出版社2005、8

16、汪晓平等《ASP网络开发技术》北京:人民邮电出版社,2003、12