2024年6月20日发(作者:)
第31卷第1期
2011年1月
湖北广播电视大学学报
Journal of HuBei TV University
Vo1.31,No.1
January.2011.155~156
基于ASP.NET Ajax技术的网络考试系统的设计
李咏琪
(湖北广播电视大学,湖北武汉43007 3)
[内容提要] Ajax技术使客户端不需要刷新浏览器,就可以得到更新过的数据,实现页面的局部刷新。Ajax
技术应用于网络考试系统,可以带给考生更好的用户体验。本文对Ajax技术进行了分析,对《计算机应用基础》
网络考试系统的设计进行了论述。
[关键词] 网络考试系统;Ajax;局部更新
[中图分类号]TP311 [文献标识码]A
1.前言
[文章编号] 1008—7427(2011)Ol一0155.02
随着Internet的快速发展,网络技术逐渐渗入到社会生
活的各个层面。传统的教育方式也面临着变革,教学手段不
断发展变化。考试是教学的重要环节。考试方式也正在随着
Internet技术的进步在不断的更新发展。
传统的考试以笔试为主,网络考试是传统考试的延伸,
它大大简化了传统考试的过程。网络考试与传统的考试形式
相比,减少了出卷,批改试卷等工作所需的精力和时间,具
有组织考试简单方便的优点。与传统考试相比,网络考试系
统具有很大的优势:一方面,只要准备好足够大的题库,便
可以动态地管理各种考试信息;另一方面,考试时间灵活,
可以在规定时间段内的任意时间参加考试。第三,网络考试
的最大特点是阅卷速度快,计算机阅卷给了考生最大的公平
感。
《计算机应用基础课》是我校全校性的公共基础课,由
于修读该课程的学生人数多,组织考试的工作量很大,计算
机应用基础网络考试系统的使用,在一定程度上减轻了教师
的负担,使试卷的生成、批改、成绩的统计都实现了自动化,
使考核更加公平、准确,有良好的实用价值和应用前景。
网络考试系统的实现技术有多种。在传统的使用动态
HTML技术开发的网络考试系统中,有时页面只有很小一部
分的更改,都需要服务器向客户端返回一个完整的HTML
页面。当参加考试人员较多,要传送的数据量大或网络速度
较慢时,容易出现白屏现象,考生需要等待较长时间,页面
回送后才能做下~道题。随着Ajax技术的出现与应用,为
上述问题的解决提供了很好的解决方案。
2.Ajax技术
Ajax是Asynchronous JavaScript And XML(异步
JavaScript和XML)的缩写,是多种技术的集合。Ajax使
用通信技术(通常为SOAP和xML)向服务器发送异步请
求和接收服务器的异步响应,然后利用显示技术
(JavaScript、DOM、HTML和CSS)处理响应。A1ax使开
发人员能够通过JavaScript调用执行服务器端方法。此时,
客户端不需要刷新浏览器,就可以得到更新过的数据,实现
页面的局部刷新。Ajax技术应用于网络考试系统,可以带
给考生更好的用户体验,学生在进入下一题时,不会有画面
的闪烁换页,答题页面是局部更新,在不换页的情况下,读
取Server端的数据来局部更新页面。通过应用Ajax技术,
减少了服务器与浏览器交换的数据量,提高了交互效率,使
网络在线考试系统更加完善和成熟。
通常,典型的Ajax应用程序都会或多或少地使用下列
几种技术。
(1)描述页面的HTML/XHTML
(2)表示文档结构的DOM
(3)定义元素样式的CSS
[收稿日期]2010—10 14
(4)表示服务器和客户端通信内容的XML或JSON
(5)服务器端处理浏览器请求的CGI
(6)实现与服务器异步通信XMLHttpRequest对象
作为Ajx的最核心部分——XMLHtatpRequest对象是当
今所有AJAX和Web2.0应用程序的技术基础,是一套可以
在JavaScript、VBScript等脚本语言中,通过HTTP协议传
送或接收XML及其他数据的API。
XMLHtqc・Request对象的强大之处在于,它允许开发者
在JavaScript中以异步的方式向服务器发出HrrP请求并得
到响应。这就让客户端可以在任何时候与服务器进行通信,
而并不仅限于在整个页面提交的时候。同时,它的异步调用
模型也并不会阻塞用户的当前操作,用户在等待时仍可以进
行其他操作。
在Ajx中,XMLHtatpRequest与服务器通信的步骤如图
1所示。
使用A x的Web客户端 服务器麟
图1 XMLHttpRequest与服务器通倍的步骤
①在Ajax交互中,首先由一个客户端触发一个Ajax事
件。
②创建XMLHttpRequest对象的一个实例。使用open
()方法设置服务器URL以及所希望的HTIP方法(通常是
GET或POST)。请求实际上通过send()方法调用触发。
③向服务器做出请求,可以调用Servlet、CGI脚本等任
何服务器端技术。
④在服务器端根据请求做出相应的处理,包括访问数据
库,甚至访问另一个系统。
⑤请求返回到浏览器。
 ̄)XMLHttpRequest对象在接收到响应后,根据配置调
用callback()函数处理返回结果。这个函数会检查
XMLHttpRequest对象的readyState属性,然后查看服务器
返回的状态码。如果一切正常,callback()函数就会在客
户端做相应的处理。
(7)协调上述各种技术的JavaScript。
156 湖北广播电视大学学报 第1期
3.《计算机应用基础》网络考试系统的主要实现技术
网络考试系统实现的主要技术是ASENET Ajax技
术。开发模式选用Ajax框架。gjax框架现在已有很多,通
过使用Ajax框架进行Web开发可以提高效率,并且代码稳
定性好。其中ASP.NETAjaX是由微软公司Arias演化而来
的,是Microsoft在.NET环境中应用Ajax开发框架的简称。
它是一套相当完整的Ajax解决方案。
ASENET的开发环境采用的是Visual Studio 2005。
Visual Studio 2oo5是随着.NET Framework 2.0一同发布的
集成开发环境。本系统采用的开发语言是c掸。系统后台数
据库采用的是SQL Server2000。ASRNET与数据源的连接
是通过ADO.NET进行的。与ADO相比,ADO是基于连接
的,而ADO.NET是依赖于简短的、基于XML的消息与数
据源进行交互。对于基于Internet的应用程序而言,
ADO.Nl玎的效率要高得多。
ASP.NET 2.0应用程序的运行宿主是微软的ⅡS,该软
件整合在Windows Server 2003中。在Windows XP环境下,
自带了一个ⅡS的5.1版本,可在开发时作本地调试。
4.《计算机应用基础》网络考试系统的设计
系统设计的基础是系统架构。计算机网络考试的基本体
系结构,主要可以分为两类:C/S和B,S。与C/S相比,B,S
结构的产品体现着更为方便的特性。B/S结构的软件只需要
题库管理
管理服务器,所有的客户端只是浏览器,不需要做维护,对
软件功能的扩展仅需要对服务器端软件进行修改就能使所
有用户同时升级至新功能。B/S系统有三种架构方式:单层
设计架构、二层设计架构、三层设计架构。本系统采用的是
较为简单的二层架构。从代码复杂度来看,层次越多代码越
考试管理
复杂,函数的层层调用会影响程序的执行速度。分层架构影
响应用程序的执行速度,但在很多企业级应用中使用三层架
构,因为其有较好的扩展性。其速度上的劣势,可以通过将
应用分布在不同服务器上加以解决。综合考虑网络考试的要
求,我采用了二层设计架构。
对于网络考试系统,最终目的是生成试卷,进行考试。
成孽{萋一
围绕这个核心功能,还有一些辅助功能,考试信息的设置,
题库的生成等。
网络考试系统的用户可分为三类:管理员,教师和学生。
(一)管理员可以输入试题,生成题库;输入考试班级信息
和任课教师信息;开启考试和关闭考试,这个功能可以控制
考试时间,在考试时间才可以进行考试。管理员是对整个考
试信息进行管理。(二)教师对学生进行管理。教师可以输
入考生信息;查询班级成绩;查询某个考生的成绩;查询考
生试卷;修改考生的考试状态,这个功能可以设置一些停考
的考生,考试状态设为关闭后,就不能参加考试了。教师只
能对本班的学生进行查询操作。(三)学生登录后,如果是
考试时间,即考试开启了,并且学生可以参加考试,就进入
考试,随机生成试题,学生开始考试;如果在考试过程中,
出现死机,退出考试,系统记录考试当前状态,学生可以通
过二次登录再次进入考试,继续退出时的状态进行考试。考
试完毕学生可以点击交卷结束考试,到了考试结束时间,系
统也会自动结束考试。学生只能考试一次,学生一旦进入交
卷,学生的考试状态就设为关闭了,考试完毕就不能再考试
了。如果要补考,则必须把原来的试卷删除,系统会把学生
的考试状态重新开启,才能补考。
网络考试的几个关键问题,①实现动态随机的抽题,每
位考生的试卷不同。②考试过程中出现异常情况退出考试,
可以实现二次登录,继续考试。③考试页面的局部刷新。④
采用各种方法,尽量提高系统性能,减轻服务器负担,达到
在线考试的满意效果。
试卷试题的生成使用动态随机抽题。实现方法如下:数
据库的试题表中有试题编号字段和所属章节字段,根据不同
的章节,建立了六个章节试题的视图。随机抽题的时候,从
视图中随机生成题号,抽取指定数量的试题。在考试时如果
出现异常情况退出考试,可以二次登录,继续考试。实现方
法为:在考生点击下一题时,把考生做的这一题的答案放入
一
个暂存表。考生登录时,系统会根据是第一次登录还是再
次登录,决定是否从暂存表加载答案。如果是再次登录,系
统就会从暂存表加载答案。为了减轻服务器的负担,系统把
考试的计时放到客户端,而且页面的更新为局部更新,减少
传输的数据量。
系统总体划分为三个模块,即管理员模块、教师模块和
学生模块。管理员的功能模块如图2所示。
管理员登录
用
户
萋
图2管理员模块
教师的功能模块包括录入学生,查询班级成绩,查询学
生成绩,查询学生试卷,更改学生考试状态,查询学生信息,
查询班级信息和删除学生试卷模块。
学生考试流程如图3所示。
图3学生考试流程
5.总结与下一步研究
基于ASENET Ajax技术的《计算机应用基础》网络
考试系统现已投入使用,基本运行正常。但还有可以继续深
入研究的内容。现将内容简要列出,以作为将来继续研究的
参考。(1)考试题型的多样化。客观题可以进行计算机阅卷。
主观题可以让教师在计算机上阅卷。试卷如果既有主观题,
又有客观题,可以采用计算机阅卷与人工阅卷相结合的方
式。(2)考试信息的加密。系统在数据库中存储的信息都是
明文的形式,为提高系统的安全性,可以对考试信息进行加
密。(3)成绩的统计分析。在线考试的成绩信息还只是基本
的呈现功能,可以增加统计分析功能,对考试结果进行自动
统计分析并实现图形化显示。
[参考文献]
【1】陈黎夫.ASENET AJAX程序设计【M】.人民邮电出版社.
【2】黄桂金,宋强,王占中.ASENETAJAX网站开发从入门到精通
[M】.清华大学出版社.
发布者:admin,转转请注明出处:http://www.yc00.com/news/1718882192a2753246.html
评论列表(0条)