论文部分内容阅读
摘要:目前的在线考试系统仍然以C/S和B/S架构为主,前者需要在客户机安装客户端程序,调试和维护困难,不适合大范围应用,后者受限于浏览器的功能,所有业务逻辑都集中由服务器处理,容易出现系统反应缓慢、网络堵塞的情况。本文针对现有系统的上述问题,提出用Flex开发客户端模块,并通过对几个典型模块的分析与设计,总结了在线考试系统中应用Flex技术的利弊。
关键字:RIA;Flex;在线考试系统
随着信息技术和现代教育技术的飞速发展,各类先进的网络技术和信息处理技术在教育领域得到了越来越普遍的应用,其中依托计算机网络实现的在线考试系统,凭借其高效、便捷、公正的特点,受到了越来越多高等院校和培训机构的重视。目前流行的在线考试系统虽然各有特色,但在功能结构、生成试卷、阅卷等方面一直没有形成统一、有效的解决方案。所采用的系统结构主要有 C/S和B/S结构两类。
基于C/S结构的在线考试系统需要在考试机上安装客户端程序,一般只能在局域网范围内展开,软件的安装调试比较繁琐,考试后需要人工将考试资料集中上交评分,很难大规模应用。B/S结构即“基于页面的架构”,这种模式中易于升级和维护,是目前考试系统的主流设计架构,但随着对网络应用要求的不断提高,它也暴露出通用性差,服务器、网络负担繁重和用户体验不佳等很多局限。
一、RIA与Flex技术简介
RIA的概念最初是由Macromedia提出,RIA是Rich Internet Application的简称,它将传统桌面应用程序用户界面的丰富功能与Web应用程序的普遍采纳、方便低成本部署以及互动多媒体通信的长处集于一体,形成了一种可以提供更方便、更好用户体验的应用程序。与传统的B/S架构相比,RIA技术具有很多优势。
1.RIA技术提供了丰富生动的互动界面,用户体验较好。
2.RIA技术将一部分运算放在客户端完成,可以对数据进行计算、搜索、格式化等预处理操作。不仅减轻了服务器端的压力,还可以给用户更快的反馈。
3.RIA技术不需要像B/S结构那样反复刷新页面,只需要在后台进行异步访问,有效降低了数据流量,减少了不必要的网络资源消耗。
作为RIA技术的典型代表,Flex具有表现力丰富、数据处理能力强大、跨平台、易于维护等特点,非常适合用来建立在线考试系统。Flex技术以MXML标记语言来描述界面,运用ActionScript脚本语言实现逻辑,两种语言相辅相成,构成了Flex的基础。Flex在编译应用程序时,首先将MXML标记语言转换为ActionScript脚本,然后将ActionScript生成SWF文件,生成的SWF文件运行于浏览器插件Flash Player上,借助Flash Player良好的安装和升级率,Flex实现了其跨平台的目标。
二、Flex在考试系统中的应用
Flex主要应用在考试系统中的客户端模块上。虽然客户端模块的改变看起来对系统性能提升不大,但却是现有系统应用中的一个瓶颈。目前应用的稳定的考试系统如全国计算机等级考试等都是C/S架构而不是B/S架构,其原因就在于客户端模块的差距,虽然存在软件分发维护的问题,但客户端程序的功能要明显强于浏览器。在考试系统中应用Flex,可以将浏览器开发为富客户端,从而显著提高系统的功能与性能。下面从考试系统涉及的两个主要功能模块进行讨论。
1.试卷生成
在线考试系统一般都要求每份试卷的考题随机抽取;以保证考试的公平性和有效性。,试卷生成的好坏直接决定了试卷的知识面覆盖、难易、试卷的信度和区分度,是系统中的重中之重。利用计算机实现自动组卷功能,最常用的方式是动态生成随机数,然后根据随机数从题库中选择对应试题组成试卷。在这种方法中应保证一份试卷中的试题不重复出现,因此要求生成的随机数不能重复。由于在考试开始时会同时产生大量的组卷请求,必须采用一种高效的算法来生成试卷,否则可能会导致系统反映迟钝甚至崩溃。
为满足以上要求,作者提出将生成随机数的操作放在前台的Flex客户端。在考试开始后,每个客户端各自独立地完成随机数的生成,然后将生成的试题编号传递给服务器,服务器根据题目编号将试题发送回客户端。将随机数生成操作分散到客户端能够有效减少服务器运算压力,同时大大降低訪问数据库的代价,有效提高了算法效率。
2.自动阅卷
在B/S结构的在线考试系统中,阅卷工作通常是集中在服务器完成,与试卷的生成类似,考试结束时会产生大量的阅卷请求,服务器运算和访问数据库的压力非常大,很容易造成系统、网络堵塞。
为了解决这个问题,本系统的自动阅卷功能也是由前端Flex客户端完成的,试题答案早在试卷生成的过程中,已经随试题一起传递到前台客户端(当然,不会显示给学生),当学生提交试卷或考试时间结束系统自动提交试卷后,Flex客户端会将学生答案与试题的正确答案进行比较,计算学生的考试成绩并上传到服务器集中存储。如果有必要,还可以在生成试卷时将答案解析一并发送给客户端,在考试结束后让学生查阅学习。
三、分析与总结
从以上两个功能模块的设计思路可以看出,将Flex应用于在线考试系统,可以把传统B/S架构中大量由服务器集中完成的运算分散到了客户端完成,有效地减轻了服务器的运算压力;客户端和服务器间只需要传递必要的数据,而不是传递整个页面,大大减少了网络传输中的重复内容,缓解了带宽压力;充分利用了客户端的运算能力,提高了用户体验。
【参考文献】
[1]齐兵辉.基于Flex构建RIA系统的研究与应用.硕士学位论文.上海:东华大学计算机科学与技术学院,2010.
关键字:RIA;Flex;在线考试系统
随着信息技术和现代教育技术的飞速发展,各类先进的网络技术和信息处理技术在教育领域得到了越来越普遍的应用,其中依托计算机网络实现的在线考试系统,凭借其高效、便捷、公正的特点,受到了越来越多高等院校和培训机构的重视。目前流行的在线考试系统虽然各有特色,但在功能结构、生成试卷、阅卷等方面一直没有形成统一、有效的解决方案。所采用的系统结构主要有 C/S和B/S结构两类。
基于C/S结构的在线考试系统需要在考试机上安装客户端程序,一般只能在局域网范围内展开,软件的安装调试比较繁琐,考试后需要人工将考试资料集中上交评分,很难大规模应用。B/S结构即“基于页面的架构”,这种模式中易于升级和维护,是目前考试系统的主流设计架构,但随着对网络应用要求的不断提高,它也暴露出通用性差,服务器、网络负担繁重和用户体验不佳等很多局限。
一、RIA与Flex技术简介
RIA的概念最初是由Macromedia提出,RIA是Rich Internet Application的简称,它将传统桌面应用程序用户界面的丰富功能与Web应用程序的普遍采纳、方便低成本部署以及互动多媒体通信的长处集于一体,形成了一种可以提供更方便、更好用户体验的应用程序。与传统的B/S架构相比,RIA技术具有很多优势。
1.RIA技术提供了丰富生动的互动界面,用户体验较好。
2.RIA技术将一部分运算放在客户端完成,可以对数据进行计算、搜索、格式化等预处理操作。不仅减轻了服务器端的压力,还可以给用户更快的反馈。
3.RIA技术不需要像B/S结构那样反复刷新页面,只需要在后台进行异步访问,有效降低了数据流量,减少了不必要的网络资源消耗。
作为RIA技术的典型代表,Flex具有表现力丰富、数据处理能力强大、跨平台、易于维护等特点,非常适合用来建立在线考试系统。Flex技术以MXML标记语言来描述界面,运用ActionScript脚本语言实现逻辑,两种语言相辅相成,构成了Flex的基础。Flex在编译应用程序时,首先将MXML标记语言转换为ActionScript脚本,然后将ActionScript生成SWF文件,生成的SWF文件运行于浏览器插件Flash Player上,借助Flash Player良好的安装和升级率,Flex实现了其跨平台的目标。
二、Flex在考试系统中的应用
Flex主要应用在考试系统中的客户端模块上。虽然客户端模块的改变看起来对系统性能提升不大,但却是现有系统应用中的一个瓶颈。目前应用的稳定的考试系统如全国计算机等级考试等都是C/S架构而不是B/S架构,其原因就在于客户端模块的差距,虽然存在软件分发维护的问题,但客户端程序的功能要明显强于浏览器。在考试系统中应用Flex,可以将浏览器开发为富客户端,从而显著提高系统的功能与性能。下面从考试系统涉及的两个主要功能模块进行讨论。
1.试卷生成
在线考试系统一般都要求每份试卷的考题随机抽取;以保证考试的公平性和有效性。,试卷生成的好坏直接决定了试卷的知识面覆盖、难易、试卷的信度和区分度,是系统中的重中之重。利用计算机实现自动组卷功能,最常用的方式是动态生成随机数,然后根据随机数从题库中选择对应试题组成试卷。在这种方法中应保证一份试卷中的试题不重复出现,因此要求生成的随机数不能重复。由于在考试开始时会同时产生大量的组卷请求,必须采用一种高效的算法来生成试卷,否则可能会导致系统反映迟钝甚至崩溃。
为满足以上要求,作者提出将生成随机数的操作放在前台的Flex客户端。在考试开始后,每个客户端各自独立地完成随机数的生成,然后将生成的试题编号传递给服务器,服务器根据题目编号将试题发送回客户端。将随机数生成操作分散到客户端能够有效减少服务器运算压力,同时大大降低訪问数据库的代价,有效提高了算法效率。
2.自动阅卷
在B/S结构的在线考试系统中,阅卷工作通常是集中在服务器完成,与试卷的生成类似,考试结束时会产生大量的阅卷请求,服务器运算和访问数据库的压力非常大,很容易造成系统、网络堵塞。
为了解决这个问题,本系统的自动阅卷功能也是由前端Flex客户端完成的,试题答案早在试卷生成的过程中,已经随试题一起传递到前台客户端(当然,不会显示给学生),当学生提交试卷或考试时间结束系统自动提交试卷后,Flex客户端会将学生答案与试题的正确答案进行比较,计算学生的考试成绩并上传到服务器集中存储。如果有必要,还可以在生成试卷时将答案解析一并发送给客户端,在考试结束后让学生查阅学习。
三、分析与总结
从以上两个功能模块的设计思路可以看出,将Flex应用于在线考试系统,可以把传统B/S架构中大量由服务器集中完成的运算分散到了客户端完成,有效地减轻了服务器的运算压力;客户端和服务器间只需要传递必要的数据,而不是传递整个页面,大大减少了网络传输中的重复内容,缓解了带宽压力;充分利用了客户端的运算能力,提高了用户体验。
【参考文献】
[1]齐兵辉.基于Flex构建RIA系统的研究与应用.硕士学位论文.上海:东华大学计算机科学与技术学院,2010.