摘要:概述了计算机网络考试系统的优势,分析了基于网络的计算机考试系统的B/S体系结构,在此基础上设计了系统的总体方案和主要功能模块,并对其中的关键性技术进行详细介绍。
关键词:在线考试;数据加密;B/S体系结构
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)18-21ppp-0c
Analyze and Design Internet-based Exam System
ZHANG Chun-hui
(South China University of Technology, Computer College, Guangzhou 510641, China)
Abstract: The paper summaries the superiority of Internet-based Exam System, analysis the B/S system structure, designs the main principles and the function, and makes a detailed description of the key technology involved.
Key words: Internet-based Exam System; Database Encryption; B/S system structure
随着计算机的广泛应用及其技术的发展,计算机不仅影响着人们的生活方式,同时还对传统的教育模式提出了新的挑战。我们可充分利用现代化的信息传递手段来拓展教学方式及教学改革,为考试形式向多元化发展提供基础。对于传统的考试过程,一般要经过教师出卷、学生考试、教师阅卷、教师统计成绩四个环节。当考生数量较多时,完成这一过程的工作量非常大,而且很烦琐。我们应该利用现有的设备、技术把教师从烦琐、重复、容易出错的工作中解脱出来。为了实现这一目的,可通过计算机实现无纸化考试。近年来,多媒体、Internet的出现及发展使得考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性特点使得考试突破了时间和空间的限制。基于Internet的计算机考试系统的研究,越来越受到人们的关注。
1 系统的体系结构
目前,网络应用软件运行的模式主要有两类:客户机/服务器(C/S)模式和浏览器/服务器(B/S)模式。C/S模式是将数据库内容放在远程的服务器上,在客户机上安装相应软件。C/S结构在技术上虽然很成熟,但该结构存在灵活性差、升级困难、维护工作量大和系统安全性差等缺陷,已较难适应当前信息技术与网络技术发展的需要。B/S结构是三层结构,它以访问Web数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问Web服务器和与其相连的后台数据库。B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。本系统中就采用了B/S结构,服务器端采用SQL Server2000数据库和ASP.NET 组件来构成应用服务系统,客户端采用浏览器来完成在线考试的全过程。
2 系统的总体设计
2.1 应用结构
原则上来讲,整个考试系统的服务可由考试中心承担,考试系统的用户(考生或考试的组织者)均可通过本地和远程网络系统参加考试和处理考试事务。但由于目前的远程传输媒介的传输可靠性和传输速率的限制,成千上万的考生都通过考试中心的服务器来参考,好比千军万马走独木桥,服务器必然是系统的瓶颈。为了解决这一问题,可在远程考试系统设立考试中心,在各地区设立考点,考生在各考点参加考试,考试中心负责全局事务的处理和控制。考试中心和考点通过Internet相连,而考点的各考试主机则通过局域网相连,无论是考试中心还是考点均应设有Web服务器和数据库服务器,建立其上的考试系统服务器分别为考试的组织者和应试者提供相应的服务。这种运行结构既减轻了考试中心服务器的负担也符合一般考试组织的特点,同时提供服务的资源根据分工(考试中心和考点的分工不同)可相应隔离。通过网络连接的考试系统应用结构如图1所示。
2.2 功能模块划分
根据考试的组织特点和应用结构,一个完整的考试系统主要划分为三个功能模块: 试题管理模块、在线考试模块、学生档案管理模块。系统的功能结构如图2所示。各模块功能如下:
2.2.1 试题管理模块
试题库是试题来源,对试题库的管理非常重要。试题一般采用单选题、多选题、判断题等题型,主要实施试题的录入、查询、修改、删除等功能。录入试题可集中录入或随时录入,试题库中的试题以单个试题存放而不形成成套试卷,并且可按类别难度的不同进行分类管理,试题可长期保存。
图1 基于Internet考试系统的结构图
图2 系统功能结构图
2.2.2 在线考试模块
在线考试模块是系统的核心模块。考试前系统会自动生成试卷的编号,出题者填写试卷名称,选择考试的科目以及试卷的类型。通常试卷的类型可分为固定试卷和动态试卷。固定试卷是预先在试题库随机抽取试题生成固定的试卷,考试时每个考生都使用该试卷;动态试卷是当考生进入考试后,由系统随机生成试卷,每个考生的试卷是不一样的。另外还需设置考试所需的时间、考查的题型、每种题型的分值、题目不同难度的比例、试卷的状态,例如开放状态则前台考试可使用,关闭状态则不能使用。最后还能根据前面的题量和分值自动计算并显示试卷的总分数。
当进入考试时,学生首先登录查看有没有考试,如果有就进行考试,考试时间结束系统自动交卷,交卷之后实时评卷,立即给出分数。从考生登录到考试结束,包括了身份验证、试卷生成、在线考试、试卷评分等过程。
(1)登录和身份验证。在考试前台的界面输入学号和密码,系统会查询数据库,如果输入正确则允许该考生进入下一页面。否则需重新输入,超过三次错误输入则强行退出系统。如果该考生是第一次登录系统或未修改过密码,系统会自动提示考生修改密码。
(2)试卷生成。通过身份验证后,系统会根据登录的信息查询并显示当前对该考生开放的试卷,正式进入考试界面。
其实在进入考试界面前,系统会根据已设定好的试卷参数,从数据库中随机抽取试题。如果使用动态试卷,则每位考生的考题可能不一样,但题型、难度、数量、分值都是一样的。
(3)在线考试。在线考试的试题界面是按单题的方式显示的,这样考生能更好的查看题目。在页面的左边是整个试卷的试题题号,右边是所选试题的具体内容。点击左边的题号,就会在右边显示相对应的试题。同时在考试界面上会显示考试的科目、时间、考生姓名等。
考试开始后,系统会根据考试设定的时间进行倒计时。如果考生中途遇到死机,可重新登录进入,系统会提示上次考试并未结束,并将上次的考题重新调出,不需重新抽题。
(4)交卷评分。当考生完成考题后,可按“交卷”按钮进行试卷提交,或考试时间结束时由系统强行收取。提交后,系统会根据考生选择的答案与试题库中的答案进行比较,并计算出得分。分数会在考试界面显示,并且还会写入学生成绩库中,供以后查询和统计使用。
2.2.3 学生档案管理模块:
该模块主要管理学生的信息档案。包括对学生信息的录入,成绩查询,以及老师对学生成绩进行查询、统计等。
3 关键技术
一个考试系统的设计涉及到许多关键技术,具体来说主要有以下几个方面:
3.1 组卷
组卷是考试系统中的难点。组卷主要根据出题者设定好的使用的题型、涉及的章节、不同难度的比例以及不同题型的分值等参数,随机在试题库中抽取试题组成试卷。这要求试题是随机生成的,而且同一份试卷中不能有重复的考题。按什么规则生成,如何保证生成的试题符合要求,就涉及到随机算法的使用。同时还要考虑如何对试卷的试题进行有效的管理,例如当考生在考试中途因机器故障或其它原因需重新进入考试,系统不必重新抽取试卷,而是直接恢复考生原有试卷即可。
3.2 权限
一般超级管理员具有最高权限,可由他设置用户对某个功能模块的操作权限。当每一个用户用自己的账号登录系统时,系统会根据其登录账号所赋予的权限,让其进行相应的操作。
3.3 数据库的设计
远程考试系统需要处理大量的数据,其功能主要围绕数据库来展开。在系统中,良好的数据库设计将会有效改善系统的性能,同时还能保证数据正确完整的存储。根据考试系统的要求,可设计几个关系模式:
考生表:(考生ID,姓名,口令,性别,系别,班级,权限)
考试科目:(科目1D,科目名称,试卷ID,开考时间)
成绩表(一、二级):(考生ID,姓名,系别,班级,科目,试卷ID,开考时间,结束时间,试题得分)
学生考试表:(试卷ID,科目名称,单选题数,单选题,多选题数,多选题,判断题数,判断题,开考时间,结束时间)
学生考试记录表(二级):(考生ID,试卷ID,姓名,班级,有否考试,试题情况记录,考试时间)
科目选择表:(科目ID,开考科目)
试卷表:(试卷ID,科目ID,试卷试题ID,试题类型,试题内容,参考答案,参考答题时间)
试题库:(试题ID,科目、试题类型,试题内容,选择答案1,选择答案2,选择答案3,选择答案4,选择答案5,选择答案6,参考答案,难度系数)
答卷(二级):(试题ID,题号,科目、试题类型,试题内容,选择答案1,选择答案2,选择答案3,选择答案4,选择答案5选择答案5,参考答案)
其中“考生表”,“考试科目”,“成绩表”,“试题库”,“答卷”等是关系名,括号内容是关系属性。在对关系进行调整时,为减少数据的冗余,提高数据访问效率,将有些关系虽然密切但具有一对多或多对多特性且相对稳定程度不同的数据分开建立关系模式,如考生的基本信息和考生的成绩信息,考点的基本信息与考点的开考科目,试题与试卷信息等等。表中一级表示考试中心的数据库服务器,二级表示考点的数据库服务器存储的数据。
3.4 数据库账号加密
考试系统的数据库安全性不同于其它系统,尽管在系统功能上设计了不同用户的使用权限,也不能保证敏感数据的保密性。例如DBA拥有最高权限,可知晓试卷的内容。为了保证考试的公正性,这就需要有进一步的安全措施——数据加密。在该系统中我们采取了MD5算法加密口令,DES算法加密其它敏感数据。
与传统的考试方式相比,网络考试系统的主要好处是可以动态地管理各种考试信息,只要题库足够大,就可以按照要求自动生成各种试卷;而且,网络考试的时间比较灵活, 可以在规定的时间段内随到随考,不必统一时间开考;另外,计算机化考试的最大特点是阅卷快,系统可以在考试结束时当场给出客观题考试成绩,计算机阅卷给了考生最大的公平感。因此网络考试不仅在高校,同时也已慢慢在各个领域普及应用。
参考文献:
[1]陈湘. ASP.NET与网站开发编程实战[M]. 清华大学出版社,2002:88-90.
[2]李美满. 网络考试系统题库与成绩安全性研究[J]. 计算机应用,2005.12:133-137.
[3]吴军华. 远程考试系统的研究与开发[D]. 硕士学位论文,2000:49-52.
[4]赵燕,曹宇翾,阙胜利. 基于B/S模式的在线考试系统的设计与实现[J]. 电脑知识与技术,2007.3:173-175.
收稿日期:2008-03-24
作者简介:张春晖,女,广东广州人,硕士,华南理工大学计算机学院,主要从事计算机软件方面的研究。