基于C/S模型的多课程在线考试系统设计

时间:2022-09-17 10:02:50

基于C/S模型的多课程在线考试系统设计

摘 要:阐述一个多课程在线考试系统的设计与实现。该系统基于C/S模型进行设计,用Visual Basic 语言和Access数据库实现,可完成多门课程多种题型统一测试,分课程在线评分和学生答题情况的统计分析等功能。系统软件安装简单,对计算机硬件环境要求低,便于推广应用,是一个良好的教学考试平台。

关键词:C/S模型;Visual Basic;Access;考试系统

中图分类号:TP391文献标识码:B

文章编号:1004-373X(2008)08-094-03オ

Design of Multicourse Online Examination System Based on Client/ Server Mode

CAI Yifeng1,GUO Jierong2

(1.School of Computer,National University of Defense Technology,Changsha,410073,China;

[JZ]2.Institute of Information Technology,Hunan University of Arts and Science,Changde,415000,China)オ

Abstract:This paper describes a multicourse online examination system design and implementation.The system is designed based on C/S model,and achieved by Access database and Visual Basic language.It can complete more types of testing questions of a variety of courses,courses online score,statistical analysis and so on.The simple installation of system software,low demand for computer hardware environment,and easy promotion to application makes the system a good teaching and examination platform.

Keywords:C/S mode;Visual Basic;Access;examination system

1 引 言

在线考试是在计算机上进行的考试,由计算机从(已建设好的题库中调题组卷,考生人机卷。由于其具有公正客观、组考方便、阅卷迅速等特点,越来越引起人们的重视[1],已应用于驾驶员、电信职业等的技能考试,在学校更是有着广泛的应用空间。

在线考试系统的设计首先要考虑数据的安全性和程序的可用性。基于客户端/服务器(Client/Server,C/S)的计算机模型能够很好的适应这一需求。C/S模型将应用程序和数据库分开,分别由客户端和服务器来执行,两者之间体现为“服务请求/服务的响应”关系。这样,既合理地利用了客户端和服务器的资源,又大大减少了网络的通信负担。C/S模型具有很高的运行效率,很好的数据安全性和一致性,良好的系统扩充能力[23]。

应用于学校的考试系统要充分考虑学校的特点。在学校,学生学习的课程有多门。为每门课程的考试设计一个考试系统显然是不合适的。因此需要一个可用于多课程统一测试的系统。而且,一般来说,用于在线考试的各机房会有不同的硬件配置。即便在同一个机房,由于升级换代的原因,也可能出现各台微机硬件配置的差异。这就要求在线考试的设计充分考虑程序的简单易用性[45]。

2 系统设计

在线考试系统由题库生成子系统、教师管理子系统和学生考试子系统组成,基于C/S模型进行设计,可实现多门课程统一考试,分课程在线评分和学生答题情况的统计分析等功能。

2.1 库生成子系统

题库建设是在线考试系统的基础工作,将多门课程有机地集中到一个题库中,才能实现多门课程的统一测试。题库生成子系统的任务就是设计好每个考题的主要项目,将考题录入到Access数据库中。因为题库建设需要专业教师参与完成,因此需要提供录入、修改和打印等功能,方便操作。

题库中每个考题的主要项目如下:

考题编号;题目;答案;科目(即哪一个课程);章节编号;知识点编号;知识分级(回忆、理解和分析应用等级别);所属题型;相近题题号;相关题题号。

其中,相近题是内容十分接近的题目,相关题是指甲题的题目有乙题的答案,计算机在组卷时应避免同一试卷上出现相近题或相关题。

2.2 教师管理子系统

教师管理子系统设定学生考试的时间,完成试卷生成,学生考试成绩回收与分析,考试过程监测等功能。

教师管理子系统在考试机房指定的一台机器上运行。主考教师通过该系统“告诉”计算机考试的科目、章节、题型、题目数量、各级知识所占的比例、考试时间、评分标准等。计算机根据主考提出的要求自动产生出任意张试卷。试卷的生成应该考虑如下2个方面:考题离散程度,即考题是否按照要求均匀分布;试卷间的重复率,即任意两份试卷间相同题目所占的比例。一般要求任意两卷间相同试题的量小于50%。

教师管理子系统收集学生的答卷,进行阅卷评分及试题分析:

(1) 系统提供多种形式的评分。按人、按总成绩、分科目、分章节统计出成绩。与学生基本库中保存的原有成绩进行比较计算,求出加权平均成绩等。

(2) 试卷分析。根据测试结果和题目的知识归类,提供每个学生对理解性、操作性、新颖性知识的掌握程度。通过对被抽调的题目进行分章节排队,统计出各题的答对比例,有利于教师分析教学效果。

2.3 学生考试子系统

学生考试子系统在学生考试的机器上运行。子系统启动时考生机(即客户机)的IP地址是否与服务器IP地址(例如: 192.168.0.253) 为同一网段,并且检查服务器上是否存在考试数据库,然后验证考生的准考证编号。在考试过程中,做过的题目有记忆功能,回头再做时能看到已选的答案,以便于检查。学生考试子系统依据教师管理子系统设定的考试时间作为最迟的交卷时间。

学生考试结束提交答卷是整个在线考试系统的一个关键部分,要求有高的可靠性,不然会造成学生参加了考试,却没有考试分数的严重后果。这里使用winSocket控件来确保考生答案能被提交到教师管理子系统。

Visual Basic给提供很好的C/S模型的编程方式。Visual Basic提供了WinSock控件,用于在TCP/IP的基础上进行网络通信。当两个应用程序使用Socket进行网络通信时,其中一个必须创建Socket服务器侦听,而另一个必须创建Socket客户去连接服务器。这样2个程序就可以进行通信。下面给出具体实现的例子。

(1) 创建服务器端。

首先创建一个服务端口号。并开始侦听是否有客户请求连接。建立一窗体,并向其增加1个Winsock控件,添加2个文本框,分别命名为Text1和Text2,添加1个命令按钮,命名为Command1。服务器侦听客户的请求,当客户向服务器发送数据到达后,产生DataArrival事件,在事件中接收数据,GetData方法接收数据。当需要向客户发送数据时,只需调用SendData方法。

Private Sub Form_Load()

SockServer.LocalPort = 2000′服务器端口号

SockServer.Listen ′侦听

End Sub

Private Sub Form_Unload(Cancel As Integer)

SockServer.Close

End Sub

Private Sub SockServer_Close()

SockServer.Close

End Sub

Private Sub SockServer_Connection Request (ByVal requestID As Long)

SockServer.Close

SockServer.Accept requestID ′客户请求连接

End Sub

Private Sub SockServer_Data

Arrival(ByVal bytesTotal As Long)

Dim s As String

SockServer.GetData s

Text1.Text = s

End Sub

Private Sub Command1_Click()

SockServer.SendData Text2.Text

End Sub

(2) 创建客户端。

要创建客户连接服务器,首先设置服务器主机名,如IP地址、域名或计算机名,然后设置服务器端口,最后连接服务器。建立一窗体,并向其增加1个Winsock控件,取名为:SockC1。添加2个文本框,分别命名为Text1和Text2,添加1个命令按钮,命名为Command1。

Private Sub Form_Load()

SockCl.RemoteHost =′192.168.0.253″′教师管理子系统

所在计算机的IP地址

SockCl.RemotePort = 2000′端口名

SockCl.Connect′连接服务器

End Sub

Private Sub Form_Unload(Cancel As Integer)

SockCl.Close

End Sub

Private Sub SockCl_Close()

SockCl.Close

End Sub

Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)

Dim s As String

SockCl.GetData s′接收数据到文本框中

Text1.Text = s

End Sub

Private Sub Command1_Click()

SockCl.SendData Text2.Text ′向服务器发送数据

End Sub

3 系统解决的几个关键问题

在设计基于C/S模型的多课程在线考试系统的过程中,需要解决考生重复登录和同考号多次登录、考试时间设定、数据库接口、题库和学生答卷的加密、死机和停电等意外事件的处理以及网络连接等问题[6]。

(1) 考生重复登录和同考号多次登录的问题

在考试的过程中,有可能出现考生因成绩不理想而擅自再次登录考试系统、再次做答的情况。为了防止这种情况的出现,当某一考生考试完毕,交卷成功后,教师管理子系统以该考生的考号为标记生成一个表示考试顺延结束的文件。考生通过考试子系统登录时,教师管理子系统首先查看是否存在以此考生的考号为标记的文件,若用,则表明该考生已完成考试,禁止其重复登录。

在考试的过程中,也可能出现某些考生因情绪紧张等原因而出现考号输入错误,或误输入其他考生的考号的情况。为了防止这种情况的出现,采取2种应对措施:一种是当考生输入考号时,系统依据报名表自动返回姓名,供该考生较对。该考生看到不是自己的姓名,则自然知道考号输入有误。另一种是当考生登录成功后,教师管理子系统以该考生的考号为标记生成一个表示登录成功的文件,当另一考生用相同的考号登录时,系统查到已有以此考号为文件名的标记文件,则表明至少其中一个考生录入有误,返回错误信息,通知考试管理人员。

(2) 考试时间设定问题

考试时间可以由教师设定,服务器将从学生登录考试系统成功开始倒计时,将剩余时间显示到考生计算机屏幕的右上角,每秒钟时间显示刷新一次。设有最低交卷时间,从而保证不能提前离开考场,同时也设有交卷时间,交卷时间到,则自动交卷并退出考试系统。

(3) 后台数据库接口问题

对Access数据库的访问是通过来完成的,主要的操作有对数据库的查询、插入、更新、删除等。采用ADO数据集的处理方式,使后台数据库在客户端生成了数据副本,只有当进行数据更新时才访问并更新后台数据库,从而大大减轻了服务器的负担。

(4) 题库和学生答卷的加密问题

题库和学生答卷的加密是保证考试公平性和权威性的关键问题。在本考试系统中,题库存放在Access数据库中。Access数据库可以设定密码进行加密,但此加密动作针对的是库文件的固定位置的字符,加密强度低,不适合在线考试系统采用。这里采用的方法是题库中的某些字段采用开放的形式,而对某些关键字段,例如答正确答案等进行加密。这样加密的好处是一方面可以满足学生[LL]想看题库的好奇心,另一方面又保密关键的正确答案。

学生考试完毕生成答卷,并阅卷生成成绩。答卷和成绩由考试子系统加密,教师管理子系统只对学生的答卷和成绩进行汇总。学生的答卷和成绩在该生参考试的机器上备份,以便可能出现的成绩复查。

(5) 死机、停电的问题

当考生考试时可能出现死机和停电等意外情况,这种情况的出现不应该影响学生已完成的试卷部分。解决方案是学生每做一道题,即写一次答题文件,当出现死机和停电的情况需要重新考试时,考试子系统先读入此答题文件,考生只需要完成未做的试卷即可。

(6) 网络连接问题

为了保证网络的通畅,应该使各台计算机的IP地址的网络号相同。例如,服务器的IP地址为192.168.0.254,则其他计算机的IP地址为可高为192.168.0.1~253。

4 结 语

本文介绍了一个基于C/S模型的多课程在线考试系统。该系统采用Visual Basic语言和Access数据库编程,在10/100 M的局域网上运行,操作简单方便,具有提高教学质量、提供教学新手段和积累教学资源等作用。该系统对计算机硬件环境要求低,适合推广应用。

参 考 文 献

[1]何丰如,喻萍.智能化网络教学平台的研究与实现\[J\].计算机工程与设计,2005,26(6):1 6261 629.

[2]袁科萍.计算机辅助绘图远程考核系统\[J\].计算机工程,2005,31(2):209210,213.

[3]黄琴,杨贯中,孔婷.网络学习系统的开放性体系结构\[J\].计算机工程,2005,31(5):221223.

[4]秦勇,李腊元.基于JMS的消息EJB在远程教育系统中的应用研究\[J\].武汉理工大学学报:交通科学与工程版,2005,29(6):958961.

[5]朱贵良,宋庆涛,许强.基丁Web模式的网络号试系统安伞性研究\[J\].计算机工程与应用,2002(13):173l75.

[6]付细楚,邹北骥,马锦波,等.考试系统中成绩安全性多级管理模式研究\[J\].科学技术与工程,2005,5(6):368370,374.

[7]董勇,翁代云.基于ASP技术的Web考试系统的安全机制设计\[J\].现代电子技术,2007,30(5):7576,79.

作者简介 蔡毅峰 男,1986年出生。主要研究方向计算机应用系统开发。

郭杰荣 男,1973年出生,副教授。主要研究方向为分布式计算与计算机网络、嵌入式系统。

上一篇:DS扩频系统的蒙特卡罗仿真及其音调干扰下的误... 下一篇:基于单片机技术的室内报警器的设计