1在线考试系统TheSystemofOnlineExamination姚艳红YanhongYao(浙江大学软件工程学院,浙江杭州310027)(SchoolofSoftwareEngineering,ZhejiangUniversity,Hangzhou310027,China)摘要Abstract在线考试系统采用多层结构,基于Web平台开发适用于多种操作系统及主流数据库。JAVA语言为在线考试系统提供了高效稳定的运行环境,使在线考试系统无论在运行速度、易用性还是在数据吞吐能力方面都表现卓越,尤其是在系统并发性、稳定性方面,遥遥领先于基于其它环境的其它同类考试系统。在线考试系统的前端应用系统和后端管理系统均采用B/S模式,系统前端使用了ASP技术、数据库技术、SQL语言等来代替传统的XML解析方式,有效解决XML解析速度慢的瓶颈,既提高了系统的安全性,又提高了用户体验可以通过浏览器进行访问和管理,具有高度的可扩展性,稳定性与可靠性。Onlineexaminationsystemusingmulti-layerstructure,basedonWebplatformsuitableforavarietyofoperatingsystemsandmainstreamdatabase.JAVAlanguageprovideshighlyefficientandstableoperatingenvironmenttoenableonlineexaminationsystemintermsofspeed,easeofuse,orinthedatathroughputcapabilitiesareoutstanding,especiallyinthesystemconcurrency,stability,faraheadoftheotherbasedonothersimilartestsystemenvironment.Onlineexaminationsystemback-endfront-endapplicationsandmanagementsystemsareusedB/S-Model,Front-endsystemusingASP,database,SQLlanguagetoreplacethetraditionalwayofXMLparsingandeffectivelysolvethebottleneckofslowXMLparsing,notonlyimprovesthesecurityofthesystem,andalsoenhancetheuserexperiencecanaccessandbrowsermanagement,withahighdegreeofscalability,stabilityandreliability.【关键词】ASP技术数据库SQL语言B/S模式【Keywords】ASPtechnologyDatabaseSQLlanguageB/S-Model21.引言:近几年来,随着Internet的崛起,远程教育开始发展,普及网络教育的呼声日益高涨,其势头不亚于电子商务。联合国教科文组织1998年在其一项调查报告中指出:无论是发达国家还是发展中国家,都不同程度存在教育滞后于现实需要的问题,特别是第三世界国家。而普及远程教育,尤其是网络教育,不仅是解决这一问题的有效途径,而且将成为革新传统教育模式的重要动力。中国的网络教育也随Internet的发展而同步增长,同时,网络教育也为中国的教育事业开辟了新的天地。随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的在线考试系统也得到了当今远程教育研究者的关注,考试是考察学生对所学习知识的接受和理解程度的重要手段,无纸化的考卷,考试的随时性,随地性,这些特点都是研究并开发网络考试系统主要的原因,网络考试系统远远超越了传统考试固定时间,固定地点的考试模式的限制,将给学生和老师带来极大的便利。随着Internet的相关技术的发展,特别是Web技术的出现,人们开始致力于研究和开发基于Internet考试系统,这也大大推动了远程教育的发展[1]。如今世界上对于基于Internet的远程考试系统所进行的研究开发工作不是很长,但是基于web技术构建的在线考试系统已然成为发展的主流。数据库安全、共享、数据传输过程的安全性、访问控制技术、身份识别技术都是构建考试系统要考虑的问题。目前,一些远程教育机构已经开发出了在线考试系统,基本实现了基于Internet的B/S结构在线考试。通过Server端的后台试题库动态生成考卷和对于标准化的试题即时评定成绩。但是与传统的纸面考试相比,目前的在线测试都是基于标准化考试的,而且一般只能用于非正规的考试,因为对于很多方面考虑的还不是很完善,因而使得在线考试在近段时间很难完全替代传统的考试。2系统功能设计该在线考试与自动评分系统主要采用ASP、HTML、Access数据库、VBScript、SQL等技术和工具,整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、和系统实现几个阶段。2.1数据库技术由于本系统涉及到许多数据的处理,这就需要有一个强大的后台数据库管理系统支3持。目前主要的数据库有:Access、FoxPro、Excel、Sybase、Oracle、Informix、SQLServer等,其中网络型的SQLServer、Oracle产品安全性远远高于桌面型的Access、FoxPro等数据库。本系统采用的是微软公司的SQLServer2000。原因如下:第一,SQLServer与Windows2000Server服务器紧密集成,而Windows2000Server服务器具有良好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQLServer2000服务器的安全性,符合系统对安全性的要求;第二,用户可以使用Web浏览器查询存储在SQLServer2000数据库中的数据,符合系统远程访问数据库的要求[3];第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制,符合系统的考题数目较多的要求。2.1.1数据库系统设计信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。数据库设计的步骤是:(1)数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库[4]。针对选择的DBMS,进行数据库结构定义。(2)数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。(3)存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。(4)数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。(5)数据字典设计:用数据字典描述数据库的设计,便于维护和修改。2.1.2SQL语言介绍SQL(StructuredQueryLanguage,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。SQL语言有着非常突出的优点,主要是:(1)非过程化语言SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL语句接受集合作为输入,返回集合作为输出[5]。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。4SQL不要求用户指定对数据的存放方法,这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。(2)统一的语言SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。(3)是所有关系数据库的公共语言由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。3在线考试系统需求分析3.1网络考试系统优点(1)可以创立电子题库,方便地实现试题的数字化管理。所谓题库就是试题的仓库,是把许多题目集合到一起,供试卷编制者随时查询和使用的集合。为题目的保存、分类和检索提供了便利,为编制试卷提供了高效率和低成本的手段。电子题库是网络考试系统的重要组成部分,也是考试系统中最具有特色和实用价值的模块之一。(2)可以按照科学的策略智能组卷,从而提高出卷效率。网络考试系统以电子题库为依托,可以按照教师制定的组卷策略自动的抽题成卷,极大的提高了出卷效率。为一些面向社会开放的常年考场,提供了海量试卷资源的有力支持。也可以被广大教师用来辅助教学和测验。(3)可以具有操作性和交互性。计算机考试系统与传统纸上考试相比,有一个显著的优点和特点就是具有操作性和交互性。可以更好的“设置一定的情景让学生表现,以此衡量学生的心理品质”。如计算机应用技能的考试等,实用计算机模拟就具有纸面考试无法比拟的效果。计算机考试系统可以根据学生的反映,对试题进行调整和反馈,使一些非经典的测量评论能够在实践中得以实现,发挥出他们的优点和长处,而网络化考试很好地集成了这