基于BS的网上考试系统的设计与实现_第1页
基于BS的网上考试系统的设计与实现_第2页
基于BS的网上考试系统的设计与实现_第3页
基于BS的网上考试系统的设计与实现_第4页
基于BS的网上考试系统的设计与实现_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于B/S的网上考试系统的设计与实现论文关键词:b/s网络考试系统数据库论文摘要:随着网络的普及和对教育的重视,各院校各学科的网上考试都具有了必要的使用环境。但是,目前国内的一些网络教学系统的主要功能是教学,不能单独作为考试平台,通用性差,而且系统中对主观题的评阅多是采用人工评阅方式,没有实现真正意义上的自动评分。另一方面,我们所在院校的计算机根底课已开设了多年,但尚在沿用传统的考试形式或使用单机版的考试系统。基于eb的网上考试系统的设计与实现就是基于上述目的开发设计的。本系统采用b/s架构作为系统的总体构造,以eb数据库技术为依托,利用微软的技术,结合ad,实现了对eb数据库的访问和查询。该

2、设计实现了按题型随机抽题组卷、在线考试、题库管理、系统管理的功能,可以对客观题在线评分。学生用学号登录成功后,阅读考试须知,之后选择考试科目进入考试页面,完成相应科目考试,自动给出考试成绩。系统管理,实现了对题库、考生信息、考试成绩、考试科目的管理。题库管理,实现了对试题的添加、编辑、删除功能;考生信息管理可以添加、修改、删除、查询考生信息,成绩管理可以删除成绩信息,科目管理主要是修改考试科目信息。基于eb的网上考试系统本身是一个很大的系统,尤其试题库局部需要许多人的参与以及大量的投入才能建成。该系统虽然仅仅是完成?计算机文化基捶和?操作系统?课程的考试,但却具有良好的实用性与通用性,提供友好

3、的人机界面,具有较好的可扩大性和开放性。1绪论1.1网上考试系统的现状分析在信息技术迅速开展的今天,网络对于大多数人已不再生疏,并且其应用在人们的工作、学习和生活中越来越多地发挥着不可替代的作用。近年来随着软件工程技术、信息通信技术的快速开展以及计算机网络技术的日趋成熟,网络教育在人们的教育活动中逐步得到普及。网上考试是网络教育不可缺少的组成局部,是网络教育的一个重要环节。网上考试在国外一些国家已经得到了蓬勃开展,人们选学课程和考试都是通过网上进展的。例如国外一些著名的考试,如irsft公司的se(irsft系统工程师认证考试)、gat(工商管理硕士入学考试)、托福考试、gre(美国研究生入学

4、考试)等,都是采用网上考试的形式进展的。在国内,目前绝大多数考试还停留在传统考试方式上,对互联网的真正应用仅限于一些考试的网上报名工作和网上成绩查询,还没有真正形成网上考试规模。网上考试系统作为现代教育的一个子系统,是保证教育教学质量的重要手段。在传统的考试方式下,组织一次考试要经过出题、考试、评卷、试卷分析等步骤,随着考试类型的增加及考试要求的进步,老师的工作量将会越来越大,并且其工作非常容易出错,在一定程度上说,传统的考试方式已经存在着改革的必要了。internet技术的开展使得考试的技术手段和载体发生了划时代的变化,考试从传统的纸笔考试到计算机辅助考试再开展到基于eb的网上考试成为现实。

5、现阶段,网上考试系统的主流开发技术已经相当成熟,且很好地适应了动态站点设计和基于eb的数据库访问的要求,是当前网上考试软件实现的主流技术之一。在对大量关于网上考试系统资料的研究和学习后,根据工作的需要,针对本校实际情况特别是教学的需求,利用学校校园网已有的根底条件,研究开发合适本校使用的基于eb的网上考试系统。1.2选题的背景及研究意义随着计算机科学、网络技术的迅猛开展,在教育领域里,实现网上考试可以充分利用学校现有的计算机软、硬件资源和网络资源实现考试;对于客观题由计算机来完成阅卷,可以将减少人工阅卷的工作量。目前常用的网上考试系统主要有两种根本形式:传统的/s客户机/效劳器形式和新型的b/

6、s阅读器/效劳器形式,所谓/s形式,即数据库比方,试题库内容放在远程的效劳器上,在客户机上安装相应软件;/s构造在技术上虽然很成熟,但该构造的程序往往只局限在小型的局域网内部,不利于扩展。并且,该构造的每台客户机都需要安装相应的客户端程序。当拥有用户量比拟多时,假如采用该构造,系统的安装与维护工作比拟繁重。同时,由于应用程序直接安装在客户机,客户机直接和数据库效劳器交换数据,系统的平安性也受到一定影响。与传统的基于/s形式的网上考试系统相比,b/s体系将应用逻辑与用户界面和数据访问相别离,使系统的维护变得简单只需要改变网页,即可实现所有用户的同步更新,同时简化了客户端的功能,用户只需阅读器即可

7、使用此考试系统,更适宜于互联网上的考试。在信息网络化的现实面前,我们提出一种基于eb的网上考试系统,并用sqlsever2000数据库与技术结合进展了该系统的开发。1.3系统根本简介我们课题组所做的工作不仅仅是参与开发一个完好的在线考试系统,也是一个引导性的根底研究,是对.net平台下基于b/s构造的软件体系构造、关键技术、实现技术、框架解决方案进展的探究。本系统采用、htl、javasript、vbsript、图形编辑与数据库等工具,通过基于eb效劳器访问eb页面,可以不受地点,时间限制,通过宽带上网或其它上网方式,借助internet这一强大、方便的工具,考生可以在互联网上通过阅读器来选择

8、科目、参加考试,管理员可以在互联网上通过阅读器来添加、修改学生信息,添加、修改、删除试题,修改考试科目信息,管理学生成绩;同时还实现有学生信息查询功能:按班级、学号、姓名等关键字查询,实现对整个系统的管理功能。系统的主界面主要有考生、管理员入口,根据用户类型,分别进入考试和管理两个不同的页面。其最大的特点是开放性、方便性和灵敏性。2系统的关键技术及介绍在?基于eb的网上考试系统?的设计过程中,主要考虑了以下几方面的问题:(1)技术;(2)建立数据库,使用sqlsever2000来建立;(3)选择系统的开发形式,b/s形式;(4)对象模型;(5)系统数据库设计。技术概况是微软公司推出的一种int

9、ernet编程技术,它采用效率较高的、面向对象的方法来创立动态eb应用程序。在原来的asp技术中,效劳器端代码和客户端htl混合在一起,常常导致页面的代码冗长而复杂,程序的逻辑难以理解。是一种独立于阅读器的编程模型,可以在最新版本的ie、netsapenavigatr以及诸如pera等被广泛使用的阅读器上运行。是一种建立在通用语言上的程序构架。一个已编译的、基于.net的环境,把基于通用语言的程序在效劳器上运行。将程序在效劳器端首次运行时进展编译,比asp即时解释程序速度上要快很多。微软公司发布了包括、#.net、visual+.net等与.net兼容的语言来创作应用程序。的优势是在效劳器上运

10、行的编译好的公共语言运行库代码,它可利用早期绑定、实时编译、本机优化和盒外缓存效劳。这相当于在编写代码行之前便显著进步了性能。1)世界级的工具支持框架补充了visualstudi集成开发环境中的大量工具箱和设计器。ysiyg编辑、拖放效劳器控件和自动部署只是这个强大的工具所提供功能中的少数几种。2)威力和灵敏性由于基于公共语言运行库,因此eb应用程序开发人员可以利用整个平台的威力和灵敏性。框架类库、消息处理和数据访问解决方案都可从eb无缝访问。也与语言无关,所以可以选择最合适应用程序的语言,或跨多种语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到时保存基于的开发中的现有投资。3)简易

11、性使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。例如,页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似visualbasi的简单窗体处理模型中处理事件并不一样。另外,公共语言运行库利用托管代码效劳如自动引用计数和垃圾回收简化了开发。4)可管理性采用基于文本的分层配置系统,简化了将设置应用于效劳器环境和eb应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。此“零本地管理哲学也扩展到了框架应用程序的部署。只需将必要的文件复制到效劳器,即可将框架应用程序部署到效劳器。不需要重新启动效劳器,即使是在部署或交换

12、运行的编译代码时。5)可缩放性和可用性在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中进步性能的功能。另外,进程受到运行库的亲密监视和管理,以便当进程行为不正常泄漏、死锁时,可就地创立新进程,以帮助保持应用程序始终可用于处理恳求。6)自定义性和扩展性随附了一个设计周到的构造,它使开发人员可以在适当的级别“插入代码。实际上,可以用自己编写的自定义组件扩展或交换吉林大学硕士学位论文运行库的任何子组件。7)平安性借助内置的inds身份验证和基于每个应用程序的配置,可以保证应用程序是平安的。2.1.2常用到的内置对象appliatin对象:对整个执行环境而言,一个虚拟目录下的所有程序构

13、成了一个eb应用程序。在多任务执行的情况下,来自四面八方的众多用户可能执行同一个eb应用程序,这便依赖appliatin对象。常用到的场合:聊天室、网页计数器等。request对象:获取从客户阅读器传给效劳器端的数据,如接收来自表单的数据。respnse对象:request对象与respnse对象就像一般程序语言里的input及utput命令,假设要让效劳器端的程序可以接收来自客户端的信息,须用request对象;假设想将效劳器端的信息传递给客户端,须用respnse对象。sessin对象:sessin对象和appliatin对象极为类似,但sessin对象的信息只适用于同一位用户,换句话说,

14、一个sessin对象只属于一位用户。常用到的场合:虚拟购物车、用户登陆网站时用户名的临时存储等。2.2利用sqlsever2000来建立数据库irsftsqlserver2000是一种关系型数据库。此种数据库采数据分类表格化的架构,将相关的数据组成表格,表格和表格之间可以有关联性,因此称为关系型数据库。系统管理员可透过应用程序进入效劳器,更改数据型态,管理及处理效劳器资源。sqlserver也是一种具备延展性的数据库salabledatabase,亦即sqlserver可以支持多位使用者同时进入数据库中处理大量的数据。如图2-1所示:图2-1sqlserver2000工作方式2.3brser/

15、server形式本系统的开发形式2.3.1brser/server形式简介随着网络规模的日益扩大,应用程序的复杂程度不断进步,传统的数据库应用架构已经不能胜任。为了充分利用网络资源,越来越多的信息需要在(ridideeb)上发布,实现信息最大程度的共享。brser/serve构造伴随着inteet的开展而很快地开展起来。brser/serve体系构造是一种三层构造,其三级构造组成如图2-2所示:图2-2b/s构造示意图第一层,阅读器是表示层,完成用户接口功能。在客户端向url(unifrresurelatr)指定的eb效劳器提出效劳器恳求,eb效劳器用 协议把所需文件资料传给用户,客户端承受并

16、显示在阅读器上。第二层,eb效劳器是功能层,完成客户的应用功能。即eb效劳器承受客户恳求,以gi或asp与数据库连接,进展申请处理,而后数据库结果返回eb效劳器,再传至客户端。第三层,数据库效劳器是数据层。数据库效劳器应客户恳求独立地进展各种处理。brser/server系统中的brser作为一种通用的阅读器,一般没有任何应用程序;brser/server系统中的中间层是b/s构造中相当关键的局部,中间层在brser/serve:系统中充当着双重身份:从brser的角度看,它是ebserver,而从dbserve的角度看,它是一个功能丰富的lient。2.3.2brser/server形式的特

17、点b/s系统的这三层体系构造的特点:友好、统一的图形用户界面在brser/server系统中,由于遵循了统一的标准协议,而且使用阅读器作为统一的客户软件,用户无须再花费大量的时间与精力去学习和熟悉不同的系统的使用方法,用户可以把大局部的精力集中在系统的内容上,而不是去记住系统的使用说明书。减少网络中的数据流量在brser/server系统中,由于数据的处理工作是由效劳器来执行的,因此在读取数据和保存数据时,这些数据只在几台效劳器之间传输,不需要通过阅读器与效劳器之间的网络。一般来说,阅读器与效劳器之间的网络大都是间隔 较长而且速度较低的,而效劳器与效劳器之间的网络那么是间隔 较短而且速度较高的

18、,因此采用brser/server后,可以充分地利用效劳器之间的高速连接通路,而减少在阅读器与效劳器之间的长间隔 低速网络中的数据流量。更好的开放性开放性是发挥分布式系统优势的根本保障,它为不同厂商消费的产品协同工作创造了条件,但是这些产品还应当遵循统一的标准。在brser/server系统中,采用了一致的 协议以及其他一些共同的规那么,不同系统之间的冲突将会大大减少。平台无关性在brser/server系统中,程序的主体分布在id-server上,客户机上只有一个标准的阅读器,它与效劳器之间采用标准的tp/ip及 等协议进展通信,因此客户端的平台是相对独立的,它不依赖于效劳器方所采用的软硬平

19、台。用户可以自由地选择自己熟悉的平台进展工作。有效地解决异种数据库结合使用的问题在brser/serve系统中,由于采用了brser/id-server/server的三层体系构造,只需在中间层效劳器上安装数据库的驱动程序,或者使用专门的效劳器用作与数据库连接的桥梁。因为程序的主体是运行在中间效劳器上的,客户端只是一个阅读器,防止了在客户端重复安装数据库驱动程序的问题,从而可以有效地解决异种数据库结合使用的问题。客户端的维护工作简单brer/serve系统中,由于采用了通用的客户软件,维护工作主要集中在效劳器端,而效劳器是由专门的管理人员集中管理的,对系统的维护相对简单得多。基于b/s构造的e

20、b应用体系有如此多的优势,因此本网上考试系统的主体就采用这种b/s体系构造。对象模型对象模型中有五个主要的组件,分别是nnetin对象、and对象、dataadapter、dataset以及datareader。这些组件中负责建立联机和数据操作的局部我们称为数据操作组件anagedprviders分别由nnetin对象、and对象、dataadapter对象以及datareader对象所组成。数据操作组件最主要是当作dataset对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入dataset对象中,以及将数据存回数据源的工作。对象模型如下图:图2-对象模型nnetin组件nnetin对

21、象主要是开启程序和数据库之间的连结。没有利用连结对象将数据库翻开,是无法从数据库中获得数据的。这个物件在的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。and组件and对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在nnetin对象上,也就是and对象是透过连结到数据源的nnetin对象来下命令的。所以nnetin连结到哪个数据库,and对象的命令就下到哪里。dataadapter组件dataadapter对象主要是在数据源以及dataset之间执行数据传输的工作,它可以透过and对象下

22、达命令后,并将获得的数据放入dataset对象中。这个对象是架构在and对象上,并提供了许多配合dataset使用的功能。dataset组件dataset这个对象可以视为一个暂存区ahe,可以把从数据库中所查询到的数据保存起来,甚至可以将整个数据库显示出来。dataset的才能不只是可以储存多个table而已,还可以透过dataadapter对象获得一些例如主键等的数据表构造,并可以记录数据表间的关联。dataset对象可以说是中重量级的对象,这个对象架构在dataadapter对象上,本身不具备和数据源沟通的才能,也就是说我们是将dataadapter对象当做dataset对象以及数据源间传

23、输数据的桥梁。datareader组件当我们只需要循序的读取数据而不需要其它操作时,可以使用datareader对象。datareader对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。因为datareade在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好。使用datareader对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。2.5系统数据库设计2.5.1数据库构造及说明数据库构造是网上考试系统设计方案中的一个重要组成局部,目的在于满足考生、管理员用户实现其操作功能。数据库中表的设计:1管理

24、员信息表(adin),如图2-3:图2-3管理员信息表2学生信息表构造(student),如图2-4:图2-4学生信息表构造3)试题信息表构造(questin),如图2-5:图2-5试题信息表4)考试科目信息表构造(subjet),如图2-6:图2-6考试科目信息5)考生成绩表构造(sre),如图2-7所示:图2-7考生成绩表2.5.2用户权限简介1.管理员在此系统中系统管理员具有管理用户、管理试题和试卷的权利。他不需注册,在数据库有一个表来存放相关信息。2.一般用户主要是指考生,参加在线考试。3系统的整体分析与设计3.1需求分析3.1.1系统需要解决的主要问题考生进入系统应该进展身份验证。考

25、生进入考试系统后,需要选择考试科目,所以系统还应有考试科目选择的功能。鉴于考试环境一般为机房,考试者之间的间隔 很近,为了防止考试做弊,试卷的试题和题量都应是一样的,但试题并不一样。在线考试基于网络环境,试卷应该从效劳器的数据库随机抽取试题后动态生成的。另外,系统还应该对考试时间进展控制,时间到了会要求考试者交卷。考试者选择提交答卷后,应该自动判卷,给出考生分数。本系统是为了满足在线考试的需求而设计开发的,可在internet上进展实时考试。所以本考试系统应具备的考试系统功能,包括:题库设计和管理,试卷的随机组卷才能,用户在线考试及记录,系统自动评卷,系统数据库管理维护,系统管理和维护。3.1

26、.2系统功能模块划分本在线考试系统可分为两个主要功能模块进展设计,这两个功能模块分别为:1考生功能模块:考生功能模块可以实现考生登录、选择考试科目、在线考试、完成考试给出分数,假如已经考过,那么不能登录考试。2管理员功能模块:管理员功能模块可以实现管理员登录、考生信息管理、考试科目管理、题库管理、考试成绩管理。系统统由一个登陆界面登陆,在登陆时是假如是学生,那么用户名为考生学号,假如是管理员登陆,用户名为管理员名,分别从各自己的数据库中查询帐户,并核对登陆密码,然后根据不同的角色进入不同的界面。系统功能模块划分如图3-1所示:图3-1系统功能模块划分图3.2总体设计本局部介绍了?基于eb的网上

27、考试系统?的总体设计,主要包括公用登陆模块的设计,学生功能模块的设计,管理员功能模块的设计。程序总体流程图如图3-2所示:图3-2程序总体流程图3.2.1公共登陆模块设计所有用户都从本模块登陆,登陆界面(lgin/)上包括一个文本框用于输入用户名,一个文本框用于输入密码;包括两个按钮,用来区分考生登录,还是管理员登陆。点击登陆后,根据不同按钮的单击事件,连接到不同的数据库,从相应的数据库表中查询用户名和密码,如查询到,那么进入相应的页面,如未查询到,那么弹出出错信息,用户点击确定重新输入用户名和密码登陆,图3-3示:图3-3用户登录界面3.2.2在线考试模块设计考生登录后,进入考试须知页面(k

28、n1/),选择考试科目后,假设未参加该科目的考试,那么进入相应科目考试页面;否那么,不能进入考试页面。该页面主要提供了一个考生选择考试科目的功能,以简单的超链接进入不同的科目考试页面。考试须知页面如图3-4示:图3-4考试须知页面3.2.3管理员功能模块设计管理员登录后进入后台管理主页面(lassintr/),由该页面可以登录到学生信息管理、科目管理、试题管理、成绩管理页面。如图3-6所示:图3-6后台管理主页面4局部页面实现详解4.1考试页面的实现考试页面(exapage/)可以进展单癣多癣填空题这些客观题的考试。每一类型题都以一个eb用户控件来实现题目显示,试题是随机生成的,每次考试都不同

29、的试卷,如图3-5所示:图3-5考试页面系统以随机抽题来生成试卷,使用了一个随机函数。先在题库questin表中得到每种题型在每次抽题供抽取的总题数unt=subjetinf(subjet),随机选题时应在1-unt之间选取,tep=fix(unt*rnd(10)。由于试卷是考前随机抽题而得,考生在第一时间开启试卷,减少了接触试题的人员间环节,也在一定程度上防止了考生将试题传出考场,增强了试题的保密性其次,为了防止由于得到的随机数一样,而在一份试卷中抽到一样的考题,在设计题库构造时设置了haveselet标记字段,标记字段取值为0时,该题未被抽取,haveselet标记字段取值为1,表示该题已

30、被抽取,不能再用。这统在抽题时,首先判断haveselet标记字段是否为0,假如该题已被抽过,那么必取新的随机数重新抽龋下面以单项选择题为例来说明。/将haveselet置为1,标记该题为已选publifuntinsetreaded(byvalquestinidasstring)strsql=updatequestinsethaveselet=1hereid=int(questinid)exesql(strsql)endfuntin/将haveselet置为0,该课程所有的考题初始化publisubsetread()strsql=updatequestinsethaveselet=0heres

31、ubjetnae=subjetexesql(strsql)endsub/用随机函数rnd()来生成试题号publisubdatabingtrep()strsql=selettp1*frquestinheresubjetnae=subjetandtype=单项选择题andhaveselet=0randize()unt=subjetinf(subjet)tep=fix(unt*rnd(100)ifqds.tables(0).rs.unt0thengetrinf(qds.tables(0).rs(tep)elselblqesnae.text=暂时没有subjet的单项选择题!endifendsub/

32、统计课程考题的数量,获得unt值funtinsubjetinf(byvalnaeasstring)asintegerstrsql=selet*frquestinheresubjetnae=naeandtype=单项选择题andhaveselet=0didasnesqldataadapter(strsql,appnn)d.fill(qds,inf)returnqds.tables(inf).rs.untendfuntin4.2管理主页面的实现管理主页面是管理员进入后台管理后所看到的第一个页面,在该页面上有label控件显示了管理员名,登录时间信息,一组超链接实现各个页面之间的跳转,以一个表格中参

33、加超链接图片也可以在不同页面之间跳转,该页面主要是管理员欢送界面,没有什么关键代码,只是超链接的使用。4.3学生信息管理页面(anstudentinf/)的实现该页面用datagrid控件显示了学生信息,并实现了分页显示,同时以下拉列表事件来实现按班级查询学生信息,其中班级是从数据库里查询出来的不重复的班级,还以下拉列表提供了按序号、学号、姓名进展的关键字查询,以超链接实现了跳转到添加、修改学生信息页面。如图4-1所示:图4-1学生信息管理页面关键代码解释:/定义数据库连接字符串,dinnasnesqlnnetin(nfiguratinsettings.appsettings(nnetinstring)/使用distint关键字搜索出数据库中的不同班级,lass_nae为下拉列表控件dstr2=seletdistintlassfrstudentlass_nae.datasure=studs.tables(student1)lass_nae.databind()lass_na

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论