高等数学在线考试系统的设计与实现

时间:2022-07-08 12:02:02

高等数学在线考试系统的设计与实现

摘要:在线考试系统作为一种新的考试方式已越来越多地被应用到各个领域和专业。然而高等数学因其众多的公式,实现在线考试还存在着技术困难。该文论述了一种高等数学在线考试系统的设计和实现过程。它采用S2SH框架,并且使用了Apache+Tomcat的集群技术增加负载量。填空题使用图片的形式作答,运用BLOB格式存储答案并应用识图功能对填空题进行自动阅卷。

关键词:高等数学;在线考试;集群技术;填空题;BLOB;自动阅卷

中图分类号:TP311 文献标识码: A 文章编号:1009-3044(2013)13-3028-04

1 概述

近年来,计算机和信息技术迅猛发展,传统的教学技术越来越多地融入了计算机的环节。考试作为教育的检测手段,也在发生着巨大的变革。和传统意义的考试相比,在线考试有着节省资源、时间和人力的优势。如今,越来越多的专业和领域应用了在线考试系统。然而,数学因为其自身科目的独特性,其在线考试系统与其他在线考试系统有着明显的区别。数学需要用到许多的公式,而普通的文本格式显然不能满足其要求。该文设计了一个高等数学的在线考试系统。我们运用集群技术增加了系统负载量,并用图片格式和BLOB格式存储题目和答案的公式,解决了高等数学在线考试系统实现的困难。

2 系统结构

2.1 B/S模式

本系统采用了流行的B/S模式。B/S模式采用三层结构,第一层浏览器端发出HTTP请求,第二层应用服务器响应请求并处理。如果请求是存取数据的,则第二层与第三层的数据库服务器完成交互。完成请求后应用服务器生成一串HTML代码返回给浏览器端,浏览器解析HTML代码后生成图文并茂的网页。考生只要在客户端使用浏览器便可以进行在线考试。这样,客户端无须再安装相应的应用程序,只要有浏览器即可。这达成了瘦客户端的目的,有利于开放式的信息管理和设计,也降低了系统的开发和维护开销,并且有效地提高了考试数据的安全性。

2.2 S2SH框架

本系统采用S2SH的构架,即Struts2,Spring,Hibernate的构架。它简化了各个分层的调用设计,提高了开发的效率。并且,使用了memcached作为hibernate的二级缓存以及其它静态数据的缓存,在各个环节对静态数据进行缓存,减少了对数据库的访问,提高了性能。在业务分层上,对性能要求高的业务环节进行了优化,有些地方直接采用了Model 1的模式,采用JSP和servlet直接处理业务,进一步减少s2sh在框架上消耗,再次提高了性能。

2.3 集群技术

3 功能实现

3.1 主要模块

本系统由三个模块组成:管理员模块,教师模块,学生模块。

管理员模块主要有管学生管理、教师管理和系统管理。这个模块负责管理学生账号和信息、教师账号和信息,并且管理整个系统的运行参数设置,包括访问地址、连接端口的设置等。

3.2 试卷管理

在线考试系统的核心是试卷。试卷的管理主要包括四个流程:录入试卷、组卷、答卷和阅卷。这个流程贯穿了整个考试的过程。而高等数学因其众多的公式,使得这个流程与其他的科目有所不同。

录入试卷:试题的录入主要由教师进行,一个试题的内容包括题目、答案、题目类型、难度系数和出现次数,如果是选择题还有选项。题目、答案和选项中都有可能存在公式,在这里本系统采取图片格式存储公式,和题目中的文本一并存储于数据库中。

组卷:教师设定好选择题、填空题的数量、考试范围和考试的整体难度,试题会根据设定随机生成试卷。

答卷:试卷包括选择题和填空题。选择题的回答方式通过选择选项来选择正确答案。因为需要输入公式,填空题不能用文本格式回答,因此本系统采用画图方式回答填空题。我们设计了一个支持画图的object组件,并提供js封装了参数交互。每个填空题有一个画板的区域,允许学生在画板上用画笔、文字或直线进行作答,这便于学生用公式回答。

阅卷:阅卷分为选择题的阅卷和填空题的阅卷 ,选择题完全由系统自动批改。而填空题由系统批改和教师批改相结合,这样提高了准确率,也相对于纸质阅卷提高效率。

4 填空题的设计

4.1 填空题的存储

学生在每个的填空题答案将以BLOB格式存储在数据库中。BLOB即二进制大对象,在数据库中,系统单独开辟新的存储页面存放这些数据,表中BLOB类型字段存储的只是16字节的指针,这个指针指向存放该条记录BLOB数据的页面。这个方法使得答案以图片的形式存储在数据库中。这样的存储形式易于对数据进行管理。这确保了数据的一致性和数据的安全性。

4.2 填空题的阅卷

高等数学的填空题存在着两个特性。确定性:如果一个答案是正确的,则必须是完全符合正确答案,不能依靠关键词判断答案是否正确。因为即使答案完全包含了关键词,如果多出了其他东西,也有可能是错的。多样性:答案可能存在多个形式,因此可能有多个正确答案。

自动阅卷的基础是判断学生答案和正确答案是否匹配。填空题是以画图的形式做答,因此要运用到图像识别技术。运用该技术的可行性是数学公式的构成实际上是数字和数学符号,易于识别。本系统运用BP神经网络技术进行图像识别,此技术在识别数字上较为成熟。它是一种多层前馈神经网络,目前运用较为普遍的是三层BP神经网络,包括输入层、输出层和中间层。通过多次训练,它可以有效地识别图中的不同数字和数学符号。具体设计如下:

1)提取训练样图中的图像特征:欧拉数、图像矩阵每行和每列的黑色像素点之和。以此作为BP神经网络的输入矩阵。并规定每个数字和数学符号的输出结果。

2)通过神经网络计算得到实际输出结果,然后计算实际结果和期望结果的误差,看是否满足要求,满足则训练结束,否则进行第三步

3)计算每层神经元的局部梯度,并根据局部梯度修正各个矩阵的权值,然后重新进入步骤2。

因为数学答案的多样性,教师很难将答案的所有情况都考虑下来。因此,事先固定标准答案然后一次批改学生答案这种做法是不安全的。鉴于这个情况,本系统的自动阅卷功能采用二次阅卷的方法。该方法的具体实现过程如下:

5 结束语

本系统已进入测试阶段,一个学期内对高等数学考生实行在线考试三次。测试结果比较理想,基本完成了高等数学在线考试系统的目标。

系统仍需要改进的地方是考试系统的承载力的问题。我们的测试是每组200多人同时进行在线考试,期间还是出现了无法登陆考试系统和考试系统运行缓慢等原因。因此,本系统的承载能力需要继续提高。为此,我们可以引入带均衡策略的服务器集群技术,带负载均衡的网络设计结构中,每台服务器可以单独对外提供服务而无须其他服务器的辅助。通过负载均衡器将外部发送来的请求按照预先制定的均衡策略转发到最佳服务器,从而使用户请求得到最快的响应,从而提高系统的负载能力。

随着计算机技术的普及和网络的发展,在线考试系统取代传统的纸质考试将会成为一种趋势,高等数学虽然因其本身的特点使得实现在线考试系统存在困难,但随着技术的提高和发展,这些困难终究会被解决。

参考文献:

[1] 王祥金.一个智能在线考试系统设计与实现[D].济南:山东大学,2009.

[2] 张燕丽.集群技术在基于Internet考试系统中的研究与实现[D].广州:华南理工大学,2005.

[3] 陈文超.浅谈Tomcat Web 服务器基于Apache的集群与负载均衡[J].科技资讯,2012(6): 29-30.

[4] 李绍平,彭志平.S2SH:一种Web应用框架及其实现[J].计算机技术与发展,2009,19(8): 117-119.

[5] 赵佰青.探索SQL Server中存储BLOB数据[J].电脑知识与技术,2009,5(16): 4105-4106.

[6] 杨素锦,刘辛.在线考试系统中填空题测试模块的设计与实现[J].科学技术,2010,24:70,79.

[7] 魏应彬,周星,等.网页设计与web数据库技术[M].北京:清华大学出版社,2002.

[8] 王强,张小溪,等.基于神经网络的图像识别[J].电子设计工程,2012,20(9):187-189.

上一篇:网络环境下多媒体技术课程的教学改革与创新 下一篇:峰谷分时电能调节器