网上考试系统的设计思路
2009-09-26王天平
王天平
[摘要]详细讨论运用现在比较流行的ASP技术和ACCESS数据库实现网上考试系统的方法。本应用程序是基于B-S模式的全新的网络考试系统。与传统的基于C-S模式的网络考场相比,它更加稳定,更适宜于互联网上的考试。同时,网络考场是基于题库操作的,所以能实现智能自动组卷、自动阅卷和自动分析,大大缩短考试时间。
[关键词]考试 Internet 网络技术 ASPB-S
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0920046-03
一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到提高。在线考试系统中题目的生成,试卷的提交,成绩的批阅,可以在网络上自动完成,只要形成一套成熟的题库就可以实现考试的自动化,这样一来教师所要做的只是精心设计题目,维护题库,而不是组织考试,减轻了教师的负担,这表明其经济性、实用性是相当可观的。为了适应新形势的发展,本文进行了一些初步设计工作,也可以说做一个初步的探索,希望它能够在各类考试中发挥作用。
一、方案论证与总体设计
(一)设计思想与开发工具的选择
目前比较流行两种网络开发模式,分别是C/S和B/S。C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内目前的大部分ERP(财务)软件产品即属于此类结构。
B/S(浏览器/服务器模式)是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。对于本系统,其功能目标是实现将现有纸张答题式考试向基于因特网的无纸张考试系统转变,它的客户端应该简单,本系统采用B/S模式是合理的。
ASP网页设计技术简单易学,是现在最流行的动态网页开发技术,由于技术成熟,相应的参考资料也更多,对于初次学习网页设计,所以我选择用ASP来实现网上考试系统。
IIS+ASP的解决方案作为一种典型的服务器端网页设计技术,被广泛应用在网上银行、BBS、搜索引擎等各种互联网应用中。与此同时,Access数据库作为微软推出的以标准JET为引擎的桌面型数据库系统,由于具有操作简单、界面友好等特点,具有较大的用户群体。ACCESS数据库和能解释ASP程序的WEB服务器都是微软的产品,它们是我们平时所用操作系统自带的软件,所以很自然在本系统中笔者使用IIS+ASP+Access
来开发整个程序。
(二)需求分析
本系统是专门用于用户注册、登录、参加考试及管理员进行试题录入、修改、删除、查询、管理用户的ASP应用程序。它应该具有开放性、有效性、灵活性。管理员不仅可以轻松添加修改和查询试题,还可以自动新增类型并建力相应数据,考生进行身份验证登录后,既可进行考试,并要求在规定的时间内答题,达到规定的时间后,系统将自动提示,考生做完交卷后便能看到自己的成绩,并且分数将记入数据库中供审核和查阅。计算机自动灵活随机的抽取试题中各类试题组成试卷,不同考生将生成不同试卷,也就是实现了真正的无纸化考试,满足任何授权考生随时随地考试,并迅速获得成绩,同时减轻老师出题、监考等繁重的工作量。
(三)目标设计
网上考试系统功能如下:
1.在线注册
2.登录系统
3.在线考试
(1)考生选择试卷
可能有多门课程的考试,学生选择自己对应课程。
(2)用户选择断线考试记录情况
如果用户在考试中意外断线,中断考试,再次登陆后就会有断线记录,可以选择上次做过的试卷继续考试,也可以重新开始考试,注意:继续考试时间是从上次剩余时间开始的,而重新考试则是重新计时,但试卷将会和上次不同。
(3)系统出题
从试题库中随机出题给用户,系统应该能根据先前设计好的试卷模型从试题库中选择试题,模型应该设定试题类型、数量、分数、排版格式。
(4)暂时存储试卷
在考试中应该将试卷和用户答案暂时保存起来以防意外事件,考试结束后保存整个试卷以备查阅。
(5)查询成绩
考试结束后学生可以查看自己的考试分数和答题情况。
4.在线管理功能要求
(1)更改用户属性
(2)浏览用户信息
(3)添加删除用户
(4)密码修改
5.在线阅卷
(1)浏览用户答卷
(2)删除答卷或系统试卷
(3)人工阅卷
(四)系统功能
根据要求考试系统分在线考试,帐户管理,在线阅卷三个模块,其流程为下:
登录→选择考试→选择试卷→断线记录选择→开始答题→交卷→查询考试情况
登录→选择帐号管理功能→二次验证→帐号管理
登录→选择试卷管理功能→二次验证→试卷管理
(五)数据库的设计与实现
根据系统功能设计的要求以及功能模块的划分,对于在线考试系统试题库可以列出以下数据项和数据结构。
0 试卷信息表:主要包括试卷名称、总分、答题时间、以及试卷内各类题型数目等。
0 试题信息表:试题ID、专业、试题题型、难易程度、试题内容、试题分数、试题答案、附加内容。
0 暂时信息表:主要包括试题ID、专业、试题题型、难易程度、试题内容、试题分数、试题答案。
0 成绩登记表:主要包括用户名、成绩、当前状态等。
二、主要网络页面的实现
(一)试卷选择
页面示例如图1选择自己所需要的考试。
(二)试卷断线记录页面
1.页面示例
用户在选择试卷类型后,就会进入到此页面,示例效果如图2:
用户只需点超链接就可进入正式考试页面中了,如果有断线记录,可选择继考,也可重新开始。
2.页面所用数据库
系统使用了成绩登记表,用它进行试卷鉴别,如有记录,显示断线记录,否则直接出题考试。
3.部分功能ASP代码实现分析
在OS中引入Bj,记录断线情况
Bj=0
SQL="Select*from成绩登记表whwrw试卷名|"
"&session(“user”)papername&””and当前状态="正在考试"
Set base2=conn.exacut(SQL)
IF base2.eof then
Bj=1
Else bj=0
End if
如果有记录bj=0用户选择继考或重考,否则直接进入考试页面。
(三)正常考试页面
1.页面示例
包括试卷名,试题类型,以及确认按钮,包括交卷和保存。
2.数据库
考试页面使用了试题表,在考试页面时需要引用这个表的试题题型、分数、试题答案。系统还使用了表系统中的成绩登记表,引用用户名、密码、成绩、试卷名、试卷、当前状态,目的是为了对用户状态进行控制。
3.页面ASP代码
主要功能有提取试卷,标记用户状态,处理暂时用户试卷,设置试卷范围。
if an=daaa then
df=fs
score=score+fs
m=m+1
sql="update "& session("user") & session("tab") &" set 用户得分='"& df &"'
where 试题ID='"& ID &"'"
rs=conn.execute(sql)
on error resume next
else
df=0
end if
n=n+1
base.movenext
df=0
loop
从试题组向量中读取试题,显示在页面上,同时保存在数据库中。
(四)判分页面
判分页面使用了暂时表中的试卷,将用户答案与试题答案对比,判定用户答案正确与否。同时使用成绩登记表,将成绩写入列表中,同时也更改用户状态到交卷。
ASP代码:首先获取用户名,表名两个session对象值,同时定义一个名为Scorer的变量来表示成绩。
Name=session(“use”)
Jk=session(“tab”)
Dim score
连接数据库,设定返回数据集。
建立一个名为“用户名+表名”的表,保存用户答案,这个表有用户得分字段,对用户答案进行处理,信息保存在刚建的表中,将答案与标准答案对比,得出总分,保存在“用户+表名”中。
if an=daaa then
df=fs
score=score+fs
m=m+1
sql="update "& session("user") & session("tab") &" set 用户得分='"& df &"'
where 试题ID='"& ID &"'"
rs=conn.execute(sql)
on error resume next
else
df=0
end if
n=n+1
base.movenext
df=0
loop
修改成绩记录:
sql="update 成绩登记表 set 成绩='"& score &"' where 用户名='"& name &"'"
conn.execute(sql)
(五)试卷管理页面
用户通过验证后进入试卷维护页面,可以对试卷重新评分,删除试卷等,如果是学生用户只能看到自己分数和试卷,无权修改。
每个试卷使用三个超连接处理三种操作,删除各种暂时和随机生成的试卷。
ASP代码如下:
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("../试题库.mdb")
deletename1=request.querystring("delete1")
sql="DELETE FROM 试卷名称表 where 试卷名称='"& deletename1 &"'"
Set rs =conn.Execute(sql)
sql="DROP TABLE "& deletename1 &""
on error resume next
Set rs =conn.Execute(sql)
on error resume next
%>
系统还可以让老师人工阅卷,作为机器阅卷的补充。系统会列出学生考过的试卷,有标准答案和考生答案,老师可以手动判分。效果如图3:
登陆页面、管理页面等常规HTML页面的设计制作在此不作赘述。
三、系统测试,结果分析
(一)IIS设置
进入“开始→设置→控制面板→管理工具→Internet服务管理器
(Internet信息服务)”。
先在“默认Web站点”上单击右键,选“属性”,以进入名为“默认Web站点属性”设置界面。
1.修改绑定的IP地址:转到“Web站点”窗口,再在“IP地址”后的下拉菜单中选择所需用到的本机IP地址。
2.修改主目录:转到“主目录”窗口,再在“本地路径”输入(或用“浏览”按钮选择)好自己网页所在的目录。
3.添加首页文件名:转到“文档”窗口,再按“添加”按钮,根据提示在“默认文档名”后输入网页的首页文件名。
4.效果的测试:打开IE浏览器,在地址栏输入“192.168.0.1”之后再按回车键,此时就能够调出自己网页的首页,则说明设置成功!
同时也可以设定虚拟目录来运行程序。
(二)数据库设置与测试
进入“开始→设置→控制面板→管理工具→数据源”,选择文件DSN设置数据库所在的文件目录。在IIS中选择主页GLOBAL.ASP,右键选择游览打开主页,可以开始按使用者的操作自动运行整个系统程序。测试中管理员和老师需要两次登陆,所用的帐户和密码不一样,作为系统安全的一个手段。
测试试卷录入功能由于没有好的数据库支持不能很好的实现。时间有限,部分试卷和课程没有数据库,打开会显示空白,程序中以计算机基础作为例子进行测试。大部分功能能正常运行。
四、总结
系统基本实现了各个主要功能,但由于知识和经验的不足,本系统的页面比较单一,不够美观。数据库不是很完整,由于直接访问数据库,可能存在安全问题,对各个帐号和数据库没有做出有效的保护和修复功能。本系统只是一个作为学习交流的例子,要设计出真正实用的应用程序还有很多工作要做,需要以后进一步学习和探索。