3.2.3各类试题模块 1)选择题模块 paper51.com 初次进入选择题界面时,显示第一个题目的内容。可以用“上题”、“下题” 按钮来选择不同的题目,在选择“上题”或“下题”前,先要记录下本题的答案(在客户端执行)。可以用“保存”按钮来上传答案,即把考生的答案写入回收表reclaim中(在服务器端执行)。 http://www.paper51.com
2)判断题模块、概念填空题模块、程序填空题模块同上。 内容来自www.paper51.com 3)程序调试题模块 内容来自论文无忧网 www.paper51.com
同样可以用“上题”、“下题” 按钮来选择不同的题目。可以用“下载”按钮来建立程序调试题存放的文件夹,并下载题目(是一个压缩文件);通过“上传”按钮把最终结果上传到指定的目录。 paper51.com 4)程序设计题模块同上 http://www.paper51.com copyright paper51.com 图2 身份验证流程图 内容来自www.paper51.com 3.2.4监考管理模块 内容来自www.paper51.com 该模块提供考试用的操作界面,同时提供考试的操作指南,以供考生参考。考生的准考证号、姓名,始终显示在状态栏上,以便监考人员查验。 可查询考生的剩余时间、交卷否和是否正在考试等状态信息,在考试过程中,对考生的合法性和唯一性进行监控。考生如有疑问,可以“帮助”按钮来解决问题。 http://www.paper51.com 3.2.5阅卷模块 内容来自www.paper51.com 对考生的答案进行阅卷评分。目前这块没有实现。 copyright paper51.com
3.2.6缺考统计模块 copyright paper51.com 统计有多少考生没有参加考试。可通过“考生信息表”中的State字段进行统计。通过这个字段还可以统计某一时刻有多少考生正在考试,有多少以已经交卷。 copyright paper51.com
3.3 考试系统的特点 内容来自www.paper51.com 该考试系统采用三层结构,即数据库服务器、Web服务器、客户浏览器。因为它是在Internet网上进行测试,为了确保Web服务器安全,要求把数据库与Web服务器分离,也就是说采用子网内部的一台服务器作为数据库服务器。为了实现可用子网内的任何一台服务器作为数据库服务器的需求,该系统采用Web服务技术,即把Web服务装在Web服务器中,通过访问Web服务来进行数据库的访问。 http://www.paper51.com 该系统的Web服务描述如下: 内容来自www.paper51.com ◆删除文件:deletefile(ByVal path AsString) paper51.com
◆获取文件夹下每个文件的名称:getfiles(ByValfoldname As String) As String() copyright paper51.com ◆解压缩文件:unzipfile(ByValfname As String, ByVal unzipdir As String) 内容来自论文无忧网 www.paper51.com 其中fname为要解压的文件,unzipdir为解压之后的文件所存放的文件夹 copyright paper51.com
◆压缩文件:Zipfile(ByValtestdir As String, ByVal filename As String) http://www.paper51.com
其中testdir为包含压缩内容的文件夹的路径,filename为生成的压缩文件名 paper51.com ◆ 写BLOB字段,即用二进制流写字段:WriteBlob(ByValtable As String, ByVal field As String, ByVal idnumber As String, ByValfilename As String) As String 内容来自www.paper51.com
◆ 建立程序设计文件夹:dochengxsj(ByVal th As String, ByVal xth As String, ByVal testdir AsString, ByVal idnumber As String) 内容来自论文无忧网 www.paper51.com ◆ 建立回收文件夹:dohuishou(ByVal updir As String, ByVal type As String, ByVal countAs String) paper51.com
◆ 验证是否有该准考证号的考生存在:validate(ByVal table As String, ByVal field As String, ByValidnumber As String) As String 内容来自www.paper51.com ◆ 根据准考证号,将字符串写入某一字段:bynumWrfield(ByVal table As String, ByVal field As String, ByValidnumber As String, ByVal content As String) paper51.com ◆ 当考生首次进入时,为他新建一条记录,并抽取各类题号:initestnum(ByVal table As String, ByVal idnumber As String, ByValname As String) As String 内容来自论文无忧网 www.paper51.com ◆将题目序号打乱:randomorder(ByValMaxNumber As Integer) As Integer() copyright paper51.com
◆ 根据某两个字段的值,获取第三个字段的值:getfvalbytwo(ByVal table As String, ByVal field As String, ByValjugfield1 As String, ByVal jugfield2 As String, ByVal jugcont1 As String, ByValjugcont2 As String) As String http://www.paper51.com ◆ 判断某字段是否为空:judgeNull(ByVal table As String, ByVal field As String, ByValidnumber As String) 内容来自www.paper51.com
◆ 根据某一字段的值,获取另一字段的值:getfieldvalue(ByVal table As String, ByVal field As String, ByValjugfield As String, ByVal jugcont As String) 内容来自www.paper51.com ◆ 以二进制流的方式读取ole字段的内容:readblob(ByValtable As String, ByVal field As String, ByVal th As String, ByVal xth AsString, ByVal filename As String) As Byte() copyright paper51.com ◆ 读取某一字段的值(可用于读取考试状态):getteststate(ByVal table As String, ByVal field As String) As String paper51.com
|