“白云教育”在线考试系统的设计与实现

时间:2022-10-16 05:13:00

“白云教育”在线考试系统的设计与实现

摘要:该文论述了基于.net 、Ajax、水晶报表技术和三层架构设计开发的“白云教育”在线考试系统的设计与实现。该系统性能好,能大大减轻教师出题考试的工作量。

关键词:.Net;Ajax;水晶报表;三层架构

中图分类号:TP312文献标识码:A文章编号:1009-3044(2010)21-6007-02

The Design and Implementation of "Baiyun Education" Online Testing System

LI Chun

(Guangzhou Baiyun Industrial&Commercial Senior Technical School, Guangzhou 510410, China)

Abstract: The paper describes The Design and Implementation of "Baiyun Education" Online Testing System based on .net, Ajax, crystal report technologies and three-tier architecture. The system performance is good, can greatly reduce the workload of teachers' Sets a topic to exam.

Key words: .Net; Ajax; crystal report; three-tier architecture

在学校里,每到期中期末,老师们都忙于出题考试改卷的工作,这项工作不但耗费老师大量的时间,也耗费大量的纸张资源。随着计算机网络技术的发展,使用在线考试系统代替传统人工的考试方式,已经成为一种发展趋势,相比传统的考试方式,基于WEB的在线考试系统的好处是一方面可以动态地管理试题库,只要题库中的试题内容足够多,就可以按照要求自动生成结构相同,题目不同的试卷;另一方面,考试时间灵活, 只要在规定的时间段内,任意时间登录服务器就可以参加考试;另外计算机化考试的最大特点是可以使用系统自动阅卷评分,没有人为因素干扰,给予考生最大的公平感。

1 构建在线考试系统的关键问题与解决方法

1.1 系统随机出卷

在线考试系统的每份试卷都应该是按照事先设定的试卷结构、难易度比例从试题库中随机抽取题目生成,这样才能有效防止同一机房考试的学生作弊,同时保证考试的公平、公正、客观性。解决系统随机出卷的方法是使用SQL Server中的newid()函数,此函数可以动态创建uniqueidentifier 数据类型的值,即随机数据,如果要从数据表中随机抽取出n条随机记录数据,可以使用如下的代码实现

select top n * from table_name order by newid()

在系统实现中将试卷预设的题目数赋值给n,就可以为每份试卷随机抽取相同结构的题目。

1.2 系统异常中断恢复

考试系统异常中断一般是指考生考试到中途,客户机因为各种原因死机,只能让考生重新登录再考的情况。如果考试系统不能即时将考生每一步操作结果记录下来,一但出了故障就会将该考生所有的考试记录丢掉,考生重新登录只能为他再生成一份全新的试卷让他重新重头再考,这种情况不能保证系统的实用性、有效性,所以在线考试系统必须解决计算机出现故障中断考试而不会丢失考试数据的问题,这样考生重新登录后才能接着前面的考试记录继续往下考。只有具有这种功能的在线考试系统客户才愿意投入使用。

解决这个问题的方法很多,我们选用的是Ajax技术来解决这个问题,也就是当用户进入考试界面系统生成试卷时,就将试卷中的所有内容保存到后台数据库的“考试题目结果表”,当用户进行答题操作时,再通过Ajax程序即时将用户的答题结果更新到“考试题目结果表”中,这样如果考试中途出现异常中断,用户重新登录,就可以从“考试题目结果表”中提取考生已考了一半的考试记录,重新生成和中断前一样的界面的考试界面让考生继续完成剩余的考试

1.3 系统自动评卷

人工改卷、计算分数、记录分数是一项耗时很大的工作,在线考试系统应能够对考生的考试结果进行自动评卷、统计分数,才能大大减轻教师的工作量。

本系统全部使用客观题进行考试,一般为单项选择题、多项选择题、判断题等,都有标准答案,并且每道题的分数都是事先设定的,要判断单个题目结果的对错得分,只要将用户选择提交的答案和系统中保存的标准答案相比较,如果正确则该题得到预设的分数,如果错则该题为0分。当考生考完点击“交卷”按钮,通过计算总分程序统一计算该份试卷的总得分,将相关结果保存到“考试结果总分表”中。

1.4 考试结果查询下载

考试得到的结果应该能够很方便的按要求查询得到,并能够将数据在线导出,进行其他相关处理。

本系统考试结果教师可以按班级进行查询显示。为了保障能快速查询到有效的结果,所有的查询条件应使用下拉列表选择,并可以导出为EXCEL数据表格进行下一步处理。对于考生个人可以在提交试卷之后马上点击相关链接进入个人分数显示界面,在该界面能根据考生的考号从数据库中将其成绩表提取并显示出来。

1.5 考试结果汇总统计分析

考试结果如果使用图表来查看统计分析,能快速有效帮助教师掌握学生的学习分布情况,及时调整教学方法与内容,对课程改革有很大的帮助作用。

使用的水晶报表技术,能够快速进行报表开发,能够导出成为复杂的交互性图表,可以与其它控件一起在WEB程序中使用,能够动态地将报表导出成为pdf,doc,xls,html,rtf等多种格式文档。

2 “白云教育”在线考试系统的主要结构、功能及其实现方法

2.1 “白云教育”在线考试系统的主要结构、各模块功能

图1为 “白云教育”在线考试系统。

1) 在线考试模块

该模块提供在线考试功能。操作流程图如图2所示。

考生登录后按如上流程图进行操作,首先选择试室,点击“开始考试”,系统判断考生是初次参加该试室的考试还是因为异常中断需要“恢复考试”,如果是初次参加该试室的考试,则系统会根据预先设置的试卷结构随机抽取试题生成一份新的试卷提供给考生进行考试,如果是“恢复考试”则系统会读取该考生已保存在“考试题目结果表”中的数据,生成和中断前一样的试卷让考生继续完成全部的考试。

考生完成所有考试内容点击“交卷”按钮或考试时间到,系统会执行计算总分程序,将该考生本次考试总成绩计算出来,并显示“查看成绩”的链接,考生可以单击此链接查看本人的考试成绩。

2) 题库管理模块

题库管理模块由教师操作,即教师登录才可以在线进行题库的维护,按科目、试卷名、试卷大题名称、试卷小题内容(包括题目内容、答案、难度系数等),依次录入编辑题库数据;设置每个试室的试卷结构(包括试卷的大题组成、每道大题下有多少小题,每个小题的分数是多少,考试时间等),这个试卷结构是自动生成试卷的依据。

3) 考试结果管理模块

考试结果管理模块为教师提供按班级查询学生考试成绩功能和在线汇总分析功能,教师可以在线通过柱形图、饼图等图表对学生的考试成绩进行“班级考试科目汇总分析”、“科目考试题型汇总分析”、“学生个人成绩分析”等,这样教师可以一目了然的了解本次考试各种类型的考试分布情况。

4) 用户信息管理模块

用户信息管理模块是为系统管理员提供在线管理用户信息功能。本系统不允许匿名登录,考生使用学号、密码实名登录,教师使用教工号、密码登录,系统管理员使用管理员帐号、密码登录。系统用户信息管理模块只有系统管理员登录才能进入,在线添加、编辑用户信息,包括用户的用户类型、登录账号、密码等。

2.2 “白云教育”在线考试系统的主要实现方法

“白云教育”在线考试系统基于B/S模式开发,使用的开发平台是Microsoft Visual Studio 2008,后台数据库为Microsoft SQL Server 2000,主要开发语言是、C#、Ajax、JavaScript、XML、XSLT语言。

本系统采用三层架构进行设计开发,系统分层模型结构图见图3所示。使用分层模型有利于团队合作开发与各层逻辑的复用。

本系统的在线考试模块中应用Ajax页面无刷新技术创建互动式考试界面,考生每点一个控件、按钮,就向服务器发出一个异步请求,当请求返回时,就可以使用JavaScript和DOM来相应地更新,而不是刷新整个页面,一方面大大减少了WEB服务器处理等待时间,提高了系统的性能与速度,另一方面解决了假如考试中途系统或计算机出现故障中断考试而不会丢失考试数据的问题。

在成绩汇总分析中,使用下拉列表来选择系、专业、班级、学生名作为数据的筛选条件,将符合条件的数据放到dataset中,作为水晶报表的数据源,创建相应的图表。

3 结束语

“白云教育”在线考试系统是校园信息化项目之一,通过应用在线考试系统来进行《职业指导》、《实训安全》、《劳动法》等科目的考试,一方面节约了纸张资源,另一方面节省了教师出卷、评卷、记分、汇总分析的时间,将有效的时间投入到教研教改方面中,对提高教学质量有很大的帮助。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:供应链信息主动集成技术的研究 下一篇:基于VBA的WORD操作自动评分系统