第28卷第2期 江 西 科 学 Vo1.28 No.2 Apr.2010 2010年4月 JIANGX1 SCIENCE 文章编号:1001—3679(2010)02—0256—03 基于Web的考试系统设计与实现 盛 虹 (渭南师范学院物理与电子工程系,陕西渭南714000) 摘要:针对原先Web 3层体系结构的不足,根据考试系统自身的特点,利用ASP的先进技术,综合C/S结构与 B/S结构的优势,提出了新的4层体系结构,实现了瘦客户端的要求,降低了代码设计的难度,提高了Web服 务器与数据库交互的能力。 关键词:ASP;C/S结构;B/S结构;4层体系结构 中圈分类号:TP393.O92 文献标识码:A Implementing and Design of Examination System Is Based on Web SHENG Hong (Department of Physics&Electronic Engineefing,Weinan Teachers University,Shanxi Weinan 714000 PRC) Abstract:Aiming at the shoaage of three-layer architecture of the former Web,according to charac— teristie of examination system by use of ASP advanced technology,the system combines advantages of C/S and B/S structure,adopts the new four—layer architecture,implementing requirements of thin client,reducing dificulty of code design,improving interactive capability of Web and database. Key words:ASP,C/S structure,B/S structure,Four—layer architecture 0 引言 入、密码修改和成绩查询等任务;随机出题模块是 随机从试题库中抽取试题,以保证相邻的同学不 网络的快速发展,对教育产生了深刻的影响。 会有相同的试卷,防止出现照抄,提高考试质 如何利用现有的网络资源为教育服务,已是每一 量 。 个教育者必须关注的课题。网络考试系统就是将 传统的考试形式与网络结合,从而利用网络技术 1 系统设计目标 实现无纸化考试,省略了阅卷过程,节约了教师的 1.1先进性 宝贵时间,而且学生也能立刻得到自己的成绩。 系统应体现现代计算机及网络技术最新应用 本文讨论基于ASP技术下的、改进的4层体系结 技术。应具有高可靠的安全性、开放性、高速及时 构下的考试系统的实现。前台是网页,后台用 性、远距离数据传输性和支持分布性应用等。 ACCESS作为数据库服务器,网页通过ASP动态 1.2安全性 网页技术和后台数据库相连。整个系统由考生登 在试题传输的过程中,可能涉及到试题泄密 录、系统管理、随机出题、考试时间倒计时和自动 以及传输错误。因此系统应从硬件和软件等多个 阅卷等模块组成。系统管理模块完成对考生的录 方面考虑其安全性及可靠性。区分教师与学生的 收稿日期:2010—01—19;修订151期:2010—02一l1 作者简介:盛虹(1971一),女,陕西渭南人,硕士,主要从事物理教学论及物理实验教学工作。 基金项目:陕西省教育厅资助项目(09JK430);渭南师范学院资助项目(09YKZ019)。 第2期 盛虹:基于Web的考试系统设计与实现 ・257・ 权限,防止学生越权使用数据信息。 1.3通用性 考虑通过数据库通用接口,通过更改数据源 的方法,一方面可以把试题存放在SQL Server、 ACCESS、ORACLE、EXCEL和Visual FoxPro等数 据库中,一般用户都能使用;另一方面根据不同的 班级和不同类型的考试,选取不同的试题。 1.4实用性 在系统能达到一定要求的情况下,尽量减少 投资及系统的复杂性。用户界面友好,即使计算 机知识非常少的人亦能很快掌握。 2 系统的主要功能 2.1试题维护 主要包括录人试题、修改试题、增加试题和删 除试题等几个方面。同时应建立试题库维护档案 及相关的资料库,以保证试题正确可靠,试题库维 护必须是具有专业知识的教师担任,应建立试题 库审查制度。 2.2选题 根据试题库中的试题,以及预置的指标、参数 和一定的约束条件(如试题分数、难度系数)采用 一定的数学方法(如约束矩阵等),对试题随机选 取,以达到相邻的考生绝不出现相同的试题,防止 照抄,保证考试的公证性。 2.3成绩处理 考试结束后,成绩当场通知学生,同时也将该 考生的成绩记录在成绩数据库,然后对成绩按照 考试测量学原理进行综合分析,参照一定的体系, 指出问题并提出改进意见;还要根据需要是否打 印成绩册。 2.4考生管理 该模块是教师专用的,主要是对考生的密码 和权限进行管理,用以实现考生身份的确认。 3 系统结构设计 3.1传统Web 3层体系结构及其不足 B/S是Brower/Server的缩写,客户机上只要 安装一个浏览器(Browser),如Netscape Navigator 或Intemet Explorer,服务器安装Oracle、Sybase、 Informix或SQL Server等数据库。在这种结构 下,用户界面完全通过www浏览器实现,一部 分事务逻辑在前端实现,但是主要事务逻辑在服 务器端实现。浏览器通过Web Server同数据库 进行数据交互。而传统的Web应用模式的典型 表现为一种B/W/D(Browser/WebServer/Data. Base)3层结构。即Web浏览器中链接一个Web 服务器用来专门收集用户输入的信息的HTML 页面,通过.ASP程序在服务器端进行处理,再把 处理的结果传送给用户。这种典型的结构经过应 用后发现许多缺点或不足之处,主要表现在这几 个方面:一是HTTP协议采用了请求/响应模型, 文件传输量大时会影响传输的效率,且HTML是 ASCII格式文件,源代码能被直接看到,因此安全 性不高;二是考试时客户端每次要求获得数据都 必须通过网络,当参加考试的人数达到一定的数 量时,网络速度急速下降,这样就对网络的带宽要 求比较高;三是与数据库服务器相连的Web服务 器是其唯一的客户端,而Web服务器要同时处理 客户请求,当数据量较大时Server就会负载过重, 速度快速下降。 3.2改进的4层体系结构 在数据库服务器上采用C/S(Client/Server) 结构,即大家熟知的客户机和服务器结构。它是 软件系统体系结构,通过它可以充分利用两端硬 件环境的优势,将任务合理分配到Client端和 Server端来实现,降低了系统的通讯开销。以前, 大多数应用软件系统都是Client/Server形式的结 构,由于现在的软件应用系统正在向分布式的 Web应用发展,Web和Client/Server应用都可以 进行同样的业务处理,应用不同的模块共享逻辑 组件;因此,内部的和外部的用户都可以访问新的 和现有的应用系统,通过现有应用系统中的逻辑 可以扩展出新的应用系统。B/S(Browser/Server) 最大的优点就是可以在任何地方进行操作而不用 安装任何专门的软件,只要有一台能上网的电脑 就能使用,客户端零维护。系统的扩展非常容易。 为了克服3层体系结构的不足,让客户机与数据 库服务器直接相连,当客户机提出访问请求,数据 库服务器就会立即响应去访问数据库并把结果返 回给客户端。C/S结构在局域网环境下具有较强 的数据操纵能力,安全性亦较高,但其缺点是客户 端的负载过重。改进的4层结构综合了B/S结 构和C/S结构的优点。如图1所示。 图1 改进的4层体系结构 ・258・ 江西科学 2010年第28卷 第1层是客户Brower,它是面向考生,为考生 ’stridl=stridl&rs(”ID”)&”,” 提供登录及答题等多个界面。第2层是Web 其中haveselect标志某题是否已经被选过,count Server,用来处理考生对象对Web Server提出的请 变量用来存放所有未被选过的单选题的总数, 求。决定是否与数据库服务器相连进行信息交 换。这样Web Server就又成了数据库服务器的 客户机。第3层是数据库服务器,用来对采集的 temp变量用来存放0~count之间的随机整数值, rs.movetemp是将当前记录移到第temp条记录,rs (”haveselect”)=1是将当前选出的记录的标志 位设为1,然后用rs.update把数据库中的相应标 志位改为1。stridl=stridl&rs(”ID”)&”,”是将 数据进行处理。第4层是教师Client,主要供教师 数据库中的试题数据进行修改等操作,与数据库 服务器之间仍然采用的是传统的C/S结构。 采用4层结构,考生采用的是B/S结构,实 现了瘦客户端和远程数据共享的要求。教师采用 的是C/S结构,客户端少,不存在完全采用C/S 结构带来的客户端数据传输量大等缺点,从而减 轻了网络负担。学生采用的是B/S结。 4 系统的实现 利用Microsoft公司的ASP(Active Server Page)服务器编程,使用VB Script、Java Script等 技术。ASP是一种基于IIS(Internet Information Server)的服务器端编程技术,包含Application、 ASPError1 ObjectContext、Request Response Serv- er、Session 7个内置对象和一些服务器组件,它编 程简单,具有较好的可扩充性以及与浏览器的无 关性等优点。数据库端采用ASP的ADO(Ac. tiveX Data Object)技术,能很好的访问和操作 web数据库。应用的主要方法和程序是:(1)首 先客户端以表单的形式获得考生登录的信息; (2)随机产生试题,考生答题,并将考试成绩记录 在数据库中。下面的代码实现了从数据库中随机 不重复的选题: serfs=sever.createobject(”adodb.recordset”) sql=”select女form tbtkwheresubjectname=” &session(”selectsubjectname”) ,and type=单选 题’and haveseleet=0” rs.opensql,conn,3,2 count=It'S.recordcount temp=fix(count md(10)) rs.movetemp rs(”haveselect”)=1 rs.update 所有选出的试题的id号用逗号分割后存储在 stridl一个变量中,以方便的把所有选出的试题的 相关内容及答案号传到userdate表中,这也是本 设计的一个独特的地方。 5 结束语 利用Web考试将是一种新的趋势,它不受时 空,减少了教师的工作量,学生也可以迅速地 得到考试成绩'同时也减少了考试花费。目前该 技术已经成熟,但在学校的考试中还未使用,其最 主要的原因就是主观题的答法十分灵活,没有统 一的模式,计算机还不能进行准确的阅卷。笔者 认为可以根据一些课程的特点,如计算机文化基 础、程序设计语言类课程先试着利用Web考试, 然后再逐步推广。 参考文献: f 1] 陈俊晟.专业课试题库系统的设计与实现[J].电脑 开发与应用,2002,(12):58—60. [2]魏善沛.Web数据库技术实用教程[M].北京:清华 大学出版社,2002. [3] 刘瑞新.ASP网页数据库短训教程[M].北京:机械 工业出版社,2004. [4]李俊,彭听彦,丁胜,等.基于ASP的在线考试 系统的设计与实现[J].电脑与信息技术,2005,13 (2):60—62. [5]杨秀梅,陈洪亮,董得义,等.基于ASP.NET的网上 考试系统的设计与实现[J].实验室研究与探索, 2007,26(2):67—69. [6] 韩立毛.网络课程教学系统的设计与实现[J].实验 科学与技术,2007,5(2):47—49. [7]成维莉,毛烨.基于WEB的智能组卷系统的设计 与实现[J].硅谷,2009,(22):59—61.