论文部分内容阅读
[摘 要]本文在对C/S和B/S结构分析基础上,提出了一种基于C/S和B/S混合结构的在线考试系统,并进一步论述了该系统的功能结构设计与技术实现方法。该系统实现了员工教育培训考试的系统化、规范化和自动化,并构造公平的考试环境。
[关键词]C/S B/S 在线考试系统
中图分类号:TQ533.2 文献标识码:A 文章编号:1009-914X(2014)19-0292-01
引言
传统考试是一个漫长而复杂的过程,工作量大、效率低下、周期长、容易出错,已经不能适应现代化考试的需要。通过在线考试,可以减轻考务人员的工作负担及提高工作效率,提高考试的质量,避免人为误差,从而使考试更趋于公正、客观。
1.系统结构分析
现有的考试系统大多分为C/S结构和B/S结构,其中C/S结构又分为二层?C/S结构和三层C/S结构。?二层C/S结构把应用分为两个部分:客户和服务器,具有交互性强,存取模式安全、响应速度快、能处理大量数据等特点。存在明显的局限性:软件移植性差,软件升级维护困难。三层C/S结构是由表示层、中间层、数据层三层组成。三层C/S结构与两层C/S结构相比较,有以下优点:适应性较强,易于维护,数据安全性较好。
B/S结构实际上是三层C/S的一种网络实现,它是把三层C/S的表示层用标准的Web Browser取代,中间层用了一个Web服务器,就成了B/S结构。这种三层结构分布性强、维护方便、开发简单、总体成本低,但数据安全性较低。
通过分析不同类型的考试系统可看出:C/S结构的考试系统能较好的实现各种考试功能,安全性、稳定性好,适宜于正规考试和需要考试实际操作技能的专业考试,而对于参考人员地理位置分散、属于普通考察性质的考试,则采用B/S考试系统更易于实现。所以面向不同任务、不同对象的考试,应该利用C/S结构和B/S结构各自的特点,组成混合结构,实现考试系统的各种功能。
2.系统功能结构设计
综合分析C/S结构和B/S结构各自的优缺点,基于单位员工教育培训考试的实际需求,采用一种C/S和B/S混合结构的考试系统,在日常维护、管理、练习时采用B/S结构,仅在正式考试的模块采用三层C/S结构,可同时具有安全性、灵活性、可扩展性和维护简单等诸多优点。
本系统包括两个子系统,分别是面向普通用户的考试系统和面向管理员的管理系统,总体结构图如图1所示。
2.1 考试系统主要模块
2.1.1 参加考试模块
该模块是考试系统的重要模块,用户登陆之后系统根据用户的报名考试信息,随机生成一份试卷。如果用户已经进行过考试但未交卷而意外退出,则显示继续考试选项;如果选择继续考试,则系统恢复保存的试卷和用户填写的答案。用户开始考试后,考试系统开始计时,用户在考试时间内可以作答并交卷,如果在考试时间到时用户还没有交卷,系统将强制交卷。
2.1.2 练习模块
用户可通过该模块进行自主式、反复的练习,利用丰富的题库资源,达到自我测试的目的,系统会在每次测试之后,给出当前的正确率和正确答案,以便用户参考。
2.1.3 查询成绩模块
用户可以查询自己的考试成绩。用户在考试系统首页选择查询成绩链接进入查询成绩页面后,显示用户的所有考试记录,历史个人考试成绩以图形方式直观显示;用户查询成绩时点击相应的试卷,系统将给用户显示曾经作答的主观、客观题的试卷评分和每个题的正确答案,方便用户对照学习。
2.2 管理系统模块
2.2.1 题库管理模块
进入该模块管理员可对不同类型试题进行添加、修改、删除操作,可对每道试题进行分值、难度和题型等参数的设置。具有根据关键字进行试题查询的功能。
可对试题进行批量导入、导出和清空等操作。
2.2.2 试卷管理模块
用来管理所有的试卷的参数设置,管理员可以设定试卷标题、考试范围等试卷基本属性,以及选择、填空、判断、简答题型在考卷中的布局顺序。
2.2.3 阅卷模块
系统把当前待批阅的试卷信息显示出来,并显示主要考试信息。点击相应的试卷进入阅卷状态,管理员可在该界面对主观题进行阅卷,每一题给分之后提交则阅卷完毕并显示当前总分。
3.考试系统关键技术实现
该考试系统采用C/S和B/S相结合的模式,利用ASP、JavaScript、AJAX等技术进行页面设计,C/S部分是用VB设计实现的。下文主要介绍考试页面、考试客户端的设计过程。
3.1 考试页面的设计
3.1.1 考试主页设计
考试页面为上下两部分组成的框架结构,上部显示交卷按钮和倒计时,下部显示试题内容。框架机构设计的主要目的是在考试时上下滚动页面查看试题,可以同时保持考试倒计时和交卷按钮在顶部不动。倒计时是通过JS代码控制,当时间只剩10分钟时,倒计时显示开始闪烁,时间结束时,自动提交试卷。
3.1.2 基于Ajax的试卷自动保存
有些考试系统会遇到考生刷新答题页面使系统运行缓慢、多人同时交卷导致服务器无响应等问题。解决方法是使用Ajax技术,通过其独特的技术特点,实现了在不更新整个页面的情况下进行数据交互,从而达到考卷内容无刷新保存的目的。Ajax的核心是JavaScript对象XmlHttpRequest,是一种支持异步请求的技术,向服务器提出请求并处理响应时,不阻塞用户。
在线考试系统中采用Ajax技术,可以提供给用户带来更流畅的操作界面,在考生在线答题时,会感到考试更流畅,可以实现自动保存答案,避免了在考试结束时多个用户同时提交试卷而给服务器带来的压力。
3.2 CS考试客户端的实现
这里采用一种特殊的三层C/S结构,即利用微软的webbrowser控件,设计一个安全的浏览器作为表示层,以防止作弊为主要目的,屏蔽用户的特殊键盘操作,中间层、数据层和B/S部分一样,达到了三层C/S的瘦客户端、高安全性等目的。主要的程序步骤及内容如下:
首先,在VB工程中创建一个窗体,全屏大小,并在其中加入一个webbrowser控件,并使用SetWindowPos函数将窗体锁定在最顶部窗口。
其次,由于许多按键组合都可实现不同窗口之间的切换,如Alt+Esc、Alt+Tab、win等均可实现不同窗口之间的切换。可通过键盘钩子屏蔽相关的系统热键,防止用户切换出考试系统界面进行其他操作。
最后,根据以上方法编译完成一个考试客户端程序,用户通过该程序参加考试时,界面是一个全屏的、无法最小化、无法利用热键关闭或切换到窗口,只有交卷才能退出考场,达到了较好的效果。
4.结束语
本系统在设计完成以后,达到了最初制定的设计目标,实现了一个数据安全性高、各项功能较完善的考试系统,而且系统运行情况良好,满足了单位员工日常培训考试的需要。
参考文献
[1] 郜继红.基于B/S模式的在线考试系统的设计与实现.南京理工大学,2008.
[2] 田民格.局域网考试系统要处理的关键技术[J].福建电脑,2006(3).
[关键词]C/S B/S 在线考试系统
中图分类号:TQ533.2 文献标识码:A 文章编号:1009-914X(2014)19-0292-01
引言
传统考试是一个漫长而复杂的过程,工作量大、效率低下、周期长、容易出错,已经不能适应现代化考试的需要。通过在线考试,可以减轻考务人员的工作负担及提高工作效率,提高考试的质量,避免人为误差,从而使考试更趋于公正、客观。
1.系统结构分析
现有的考试系统大多分为C/S结构和B/S结构,其中C/S结构又分为二层?C/S结构和三层C/S结构。?二层C/S结构把应用分为两个部分:客户和服务器,具有交互性强,存取模式安全、响应速度快、能处理大量数据等特点。存在明显的局限性:软件移植性差,软件升级维护困难。三层C/S结构是由表示层、中间层、数据层三层组成。三层C/S结构与两层C/S结构相比较,有以下优点:适应性较强,易于维护,数据安全性较好。
B/S结构实际上是三层C/S的一种网络实现,它是把三层C/S的表示层用标准的Web Browser取代,中间层用了一个Web服务器,就成了B/S结构。这种三层结构分布性强、维护方便、开发简单、总体成本低,但数据安全性较低。
通过分析不同类型的考试系统可看出:C/S结构的考试系统能较好的实现各种考试功能,安全性、稳定性好,适宜于正规考试和需要考试实际操作技能的专业考试,而对于参考人员地理位置分散、属于普通考察性质的考试,则采用B/S考试系统更易于实现。所以面向不同任务、不同对象的考试,应该利用C/S结构和B/S结构各自的特点,组成混合结构,实现考试系统的各种功能。
2.系统功能结构设计
综合分析C/S结构和B/S结构各自的优缺点,基于单位员工教育培训考试的实际需求,采用一种C/S和B/S混合结构的考试系统,在日常维护、管理、练习时采用B/S结构,仅在正式考试的模块采用三层C/S结构,可同时具有安全性、灵活性、可扩展性和维护简单等诸多优点。
本系统包括两个子系统,分别是面向普通用户的考试系统和面向管理员的管理系统,总体结构图如图1所示。
2.1 考试系统主要模块
2.1.1 参加考试模块
该模块是考试系统的重要模块,用户登陆之后系统根据用户的报名考试信息,随机生成一份试卷。如果用户已经进行过考试但未交卷而意外退出,则显示继续考试选项;如果选择继续考试,则系统恢复保存的试卷和用户填写的答案。用户开始考试后,考试系统开始计时,用户在考试时间内可以作答并交卷,如果在考试时间到时用户还没有交卷,系统将强制交卷。
2.1.2 练习模块
用户可通过该模块进行自主式、反复的练习,利用丰富的题库资源,达到自我测试的目的,系统会在每次测试之后,给出当前的正确率和正确答案,以便用户参考。
2.1.3 查询成绩模块
用户可以查询自己的考试成绩。用户在考试系统首页选择查询成绩链接进入查询成绩页面后,显示用户的所有考试记录,历史个人考试成绩以图形方式直观显示;用户查询成绩时点击相应的试卷,系统将给用户显示曾经作答的主观、客观题的试卷评分和每个题的正确答案,方便用户对照学习。
2.2 管理系统模块
2.2.1 题库管理模块
进入该模块管理员可对不同类型试题进行添加、修改、删除操作,可对每道试题进行分值、难度和题型等参数的设置。具有根据关键字进行试题查询的功能。
可对试题进行批量导入、导出和清空等操作。
2.2.2 试卷管理模块
用来管理所有的试卷的参数设置,管理员可以设定试卷标题、考试范围等试卷基本属性,以及选择、填空、判断、简答题型在考卷中的布局顺序。
2.2.3 阅卷模块
系统把当前待批阅的试卷信息显示出来,并显示主要考试信息。点击相应的试卷进入阅卷状态,管理员可在该界面对主观题进行阅卷,每一题给分之后提交则阅卷完毕并显示当前总分。
3.考试系统关键技术实现
该考试系统采用C/S和B/S相结合的模式,利用ASP、JavaScript、AJAX等技术进行页面设计,C/S部分是用VB设计实现的。下文主要介绍考试页面、考试客户端的设计过程。
3.1 考试页面的设计
3.1.1 考试主页设计
考试页面为上下两部分组成的框架结构,上部显示交卷按钮和倒计时,下部显示试题内容。框架机构设计的主要目的是在考试时上下滚动页面查看试题,可以同时保持考试倒计时和交卷按钮在顶部不动。倒计时是通过JS代码控制,当时间只剩10分钟时,倒计时显示开始闪烁,时间结束时,自动提交试卷。
3.1.2 基于Ajax的试卷自动保存
有些考试系统会遇到考生刷新答题页面使系统运行缓慢、多人同时交卷导致服务器无响应等问题。解决方法是使用Ajax技术,通过其独特的技术特点,实现了在不更新整个页面的情况下进行数据交互,从而达到考卷内容无刷新保存的目的。Ajax的核心是JavaScript对象XmlHttpRequest,是一种支持异步请求的技术,向服务器提出请求并处理响应时,不阻塞用户。
在线考试系统中采用Ajax技术,可以提供给用户带来更流畅的操作界面,在考生在线答题时,会感到考试更流畅,可以实现自动保存答案,避免了在考试结束时多个用户同时提交试卷而给服务器带来的压力。
3.2 CS考试客户端的实现
这里采用一种特殊的三层C/S结构,即利用微软的webbrowser控件,设计一个安全的浏览器作为表示层,以防止作弊为主要目的,屏蔽用户的特殊键盘操作,中间层、数据层和B/S部分一样,达到了三层C/S的瘦客户端、高安全性等目的。主要的程序步骤及内容如下:
首先,在VB工程中创建一个窗体,全屏大小,并在其中加入一个webbrowser控件,并使用SetWindowPos函数将窗体锁定在最顶部窗口。
其次,由于许多按键组合都可实现不同窗口之间的切换,如Alt+Esc、Alt+Tab、win等均可实现不同窗口之间的切换。可通过键盘钩子屏蔽相关的系统热键,防止用户切换出考试系统界面进行其他操作。
最后,根据以上方法编译完成一个考试客户端程序,用户通过该程序参加考试时,界面是一个全屏的、无法最小化、无法利用热键关闭或切换到窗口,只有交卷才能退出考场,达到了较好的效果。
4.结束语
本系统在设计完成以后,达到了最初制定的设计目标,实现了一个数据安全性高、各项功能较完善的考试系统,而且系统运行情况良好,满足了单位员工日常培训考试的需要。
参考文献
[1] 郜继红.基于B/S模式的在线考试系统的设计与实现.南京理工大学,2008.
[2] 田民格.局域网考试系统要处理的关键技术[J].福建电脑,2006(3).