基于FTP的多媒体考试系统设计
2009-09-05陈乐
陈 乐
摘要:本文介绍了一种基于FTP的多媒体考试系统的开发。该系统实现了在答卷中上传大文件,且传输速度快的功能,弥补了传统的在线考试系统在这方面的不足。该系统设计简单,性能稳定,经笔者三年多的实践检验证明这一方案切实可行。
关键词:在线考试系统;多媒体;FTP;
中图分类号: TP311文献标识码:A 文章编号:1673-8454(2009)14-0070-03
引言
目前的在线考试系统都需要后台服务器和数据库的支持,其优点是可靠性高、通用性强、试卷定制灵活自由,[1] 缺点是对含有多媒体素材的题型支持不够完美,只能在试题中呈现图片和声音,但无法让考生上传含有多媒体素材的答卷。主要原因有两点:(1)真正意义上的多媒体数据库原理复杂,在技术上仍有一些难题需要解决,所以在实际应用中多数考试系统采用一种变通的做法,即在普通的关系数据库的某个字段中存放指向多媒体块的指针,[2] 如指向服务器上某个多媒体文件的地址。(2)有些考试系统可以让用户上传多媒体数据,但由于Web方式上传速度慢,会在考生同时交卷时因网络拥堵而导致上传失败。
鉴于此,笔者认为在需要提交多媒体作品的考试系统中,采用FTP的方式交卷更为理想,不但传输速度快,且支持断点续传,对文件大小没有限制。按照这一思路,笔者设计了一个基于FTP的多媒体考试系统,并将其用于我院《VB多媒体程序设计》、《多媒体技术》、《多媒体编著工具》等课程的期末考试,在实践中取得了不错的效果,现将经验和方法总结如下。
一、考试系统设计思路
1.考试流程
如图1所示,教师在考试前将试卷上传至FTP1,考生在开考后从FTP1下载试卷并进行答题,答题完毕按程序中的“交卷”按钮,由程序将答卷发送至FTP2,该账号对学生绝对保密。考试结束,教师从FTP2下载答卷,并用阅卷程序进行批阅,该程序可以对客观题自动评分和自动累分。
2.系统设计
本考试系统由机考试卷和阅卷程序组成。其中机考试卷由五个部分组成,如图2所示:
(1)登录页由考生输入学号,并核对姓名是否正确,为了确保考试能同时开始,由监考教师统一公布考试密码。
(2)考试须知页让考生阅读相关的考试说明,并在后台检查网络是否畅通,试卷文件是否完整。
(3)客观题部分包含多个页面,由于填空题答案常不唯一,且容易因为全半角或多余空格等问题在机器阅卷时造成误判,所以在实践中,笔者一般尽量采用选择题。
(4)主观题部分包含多个页面,题型一般为操作题,每题除了包含文字说明外,还提供两个按钮,分别用于打开素材文件夹和查看最终效果。
(5)交卷页将客观题和主观题答案打包后发送到FTP2上,供教师批阅。
此外,阅卷程序的功能主要是对客观题自动批阅,对主观题提供评分标准,自动累分,并将成绩自动汇总到Excel表格中。
3.安全性问题
任何一个完备的考试系统都必须考虑安全性问题,即不给作弊者提供可乘之机。在线考试由于需要使用网络,因此还必须考虑到考生利用网络进行作弊的各种途径,从源头上堵住所有可能的漏洞。结合本系统,笔者的做法主要有以下几点:(1)FTP1账号只有下载权限,考生无法上传任何文件。(2)在考试须知中明确告之考生:禁止打开除FTP1之外的任何网络通信手段,如网上邻居、QQ等,一经发现取消考试资格。(3)如果第二步管理起来有困难,亦可以在开考后10分钟将网络断开,并在考试结束前30分钟再开通网络供学生交卷。(4)在程序标题栏中显示考生登录时的姓名和学号,便于监考老师核对是否存在代考。(5)考试程序无法运行多个副本,或提交后再次运行,防止考生替他人代考。(6)将生成的答卷进行加密,考生即便复制了他人的答卷也看不到答案。(7)客观题采用AB卷,使相邻考生的试题序号不同。
二、系统实现的关键性技术
本系统采用VB6.0开发,辅以Photoshop对图像进行处理,用Excel对成绩进行分析汇总。
1.选择题的制作
具体方法是将选择题中的文字和图像在Photoshop中排版,并另存为一张宽度固定、长度不限的JPEG图像,用VB中的PictureBox控件读取,并用vScrollBar控件来卷滚。考生在ComboBox控件数组中选择答案,答案将自动保存至用户文件中,并进行加密。
'从ComboBox控件数组A1中得到答案
For i = 0 To UBound(A1)
If A1(i) = "" Then A1(i) = " "
Next i
'加密选择题答案
Answer = Encode(Join(A1, ""))
'将加密后的答案写入文件
Open filePath & ID & "" & ID & ".dat" For Output As #1
Print #1, Answer
Close #1
2.答卷的提交
答卷提交模块是本系统最核心的部分,其流程如图3所示,考生点按交卷按钮,由程序在后台自动完成提交。在过去的十多场考试中,提交时出错偶尔也会发生,其原因不外乎两点:一是因为学生未按照要求操作,如提交前没有关闭已打开的文档;二是因为该电脑的网络连接出现故障。因为只是个别情况,所以均在监考教师的帮助下得到解决。
其中打包压缩的VB代码为:
Target = ID & ".rar"
Source = ID & "*.*"
RetVal = Shell(filePath & "winrar.exe" & " a " & Target & " " & Source, 1)
While IsRunning(RetVal)
DoEvents
Wend
上传至FTP的代码为:
lngINetConn = InternetConnect(lngINet, ftpIP, 0, ftpUserName, ftpPassword, 1, 0, 0)
If lngINetConn Then
blnRC = FtpPutFile(lngINetConn, filePath & ID & ".rar", ID & ".rar", 2, 0)
ErrorCode = IIf(blnRC, 0, 3)
End If
InternetCloseHandle lngINetConn
3.阅卷程序的制作
阅卷程序作为本考试系统的重要组成部分,能最大程度地减轻教师阅卷的工作量,功能主要包括对客观题机器批阅,对主观题提供评分标准,自动累分,并将成绩自动汇总到Excel表格中。
教师的批阅流程如图4所示:(1)单击某一学号文件夹后,程序自动显示姓名学号和已批阅部分的成绩 。(2)程序自动批阅选择题。(3)单击此按钮可打开考生的主观题答卷 。(4)教师对照评分标准,在下拉列表中给出每一项的得分。(5)批阅完毕,单击此按钮可打开Excel成绩汇总表,该表已自动记录下了已批阅的成绩。其中VB访问Excel的方法是:
Set Db = DAO.OpenDatabase(App.Path & "《多媒体技术》机考成绩.xls", False, False, "Excel 8.0;")
Set Rs = Db.OpenRecordset("sheet1$")
Rs.Edit
Rs!第一题 = Val(txtScore(0))
Rs!第二题 = Val(txtScore(1))
Rs!第三题 = Val(txtScore(2))
Rs!第四题 = Val(txtScore(3))
For i = 0 To 3
tmp = tmp + Val(txtScore(i))
Next i
TotalScore = CStr(tmp)
Rs!总分 = Val(TotalScore)
Rs.Update
三、结束语
经过近三年的实践检验,事实证明本系统是一套成功有效的考试系统。该系统优势和特色在于:(1)在答卷中能够上传大文件,上传速度快,弥补了传统的在线考试系统在这方面的不足。(2)考试系统结构简单,开发速度快、效率高、成本低。(3)对软硬件环境要求低,无需Web环境支持,只需FTP账号即可。
当然,本系统由于结构简单,还存在着一些不足:比如选择题需要先在Photoshop制作成图片,不能在题库中自动生成。另外,本系统仅在以班级为单位的期末考试中通过测试,能否适用于更大规模、更大范围的考试仍有待于实践的检验。
参考文献:
[1] 李旭彦, 董宏伟, 孙淑艳. 网上多媒体考试系统的开发[J]. 中国电力教育, 2007(S2).
[2] 应敏. 多媒体数据库与在线考试系统的整合[J]. 计算机应用,2007(S1).
(编辑:刘轩)