最新在线考试系统2

发布时间:

仅供学习与交流
河北北方学院
名:院系(部)业:级:号:指导教师:提交时间:
毕业论文

在线考试系统的设计与实现


信息工程电子信息工程2007

河北北方学院教务处制
收集于网络,如有侵权请联系管理员删除



仅供学习与交流
摘要
在信息技术迅速发展的今天,网络对于大对数人已经不再陌生,并且其应用在人们的工作、学习和生活中越来越多地发挥着不可替代的作用。很多学校纷纷根据自身的需要,采用了先进的信息技术来加强教学管理、提高教学质量。网上考试作为网络教育不可缺少的组成部分,它与传统的考试方式相比较而言,减少了教师出题,组织考试、批改试卷等工作量,提高了教师的工作效率,并且使考试更客观公正。但是目前很多考试系统都是由软件开发公司来开发并销售的,多数考试系统力求功能全面,从而存在着设置参数过多、操作较难、成本较高等问题。所以开发一个实用够用、操作简单、使用方便、成本较低的考试系统是很必要的。
本系统基于.NetFramework运行环境,采用了现在流行的VisualStudio开发平台,利用C#SQL数据库系统,基于C/S结构的模式编写。本系统界面简洁明了,操作简单方便,实现了多个用户同时在线考试,动态随机出题,自动判卷等功能,减轻了教师手动出题的工作量,避免了作弊行为,实现了无纸化考试。
本系统界面友好、可操作性强、性能稳定、扩展性良好。系统的使用改进了学生考核手段,消除了以往考试时间和地点的限制要求,为学校节约了大量的人力、物力和财力。

关键词:在线考试、SQLClient/ServerC#

收集于网络,如有侵权请联系管理员删除

仅供学习与交流
Abstract
Today,withtherapiddevelopmentofinformationtechnology,networkisnolongerstrangetomostpeople.Itsapplicationinpeopleswork,studyandlifemoreandmoreplayanirreplaceablerole.Manyschoolshaveadoptedtheadvancedinformationtechnologytostrengthenschoolmanagementandimprovethequalityofinstructionontheirownneeds.On-linetestasanindispensablepartofthenetworkseducation,comparingwithtraditionalexaminationpapersmarking,etc,improvestheteachersefficiency,andmakesthetestbemoreobjective.Butthereisalotoftheexaminationsystemsaredevelopedandsalebysoftwaredevelopmentcompany.Mostoftheexaminationsystemswantafullfunctionthattheyhavemanyproblems,suchassettingtoomuchparameter,hardoperationandhigh-cost.Soitisnecessarytodevelopanexaminationsystemwhichareusefulandenough,operationeasy,usingconvenientandfitsformiddlevocationalschool.
Thissystembasedonthe.netFrameworkrunningenvironment,usingapopularnowVisualStudiodevelopmentplatform,usingC#andSQLdatabasesystembasedonC/Sstructureandmodeofwriting,thissysteminterfaceshortandconcise,easytooperate,realizedthemultipleusersonlineatthesametimetest,dynamicrandom,automaticjudgmentcribbedfunctionsandreducethevolumeofteachermanualcribbed,avoidtheworkloadofcheating,realizedthepaperlessexamination.
Itsinterfaceisfriendly,operabilityisstrong,performanceisstable,andscalabilityisgood.Theusingofthesystemimprovethestudentsassessmenttools.Itcancelsrestrictedrequirementstothetimeandaddressoftheoldexamination.Itsavesalotofmanpower,materialandfinancialresources.

Keywords:onlineexamination;SQL;Client/Server;C#
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
目录
摘要........................................................................IAbstract...................................................................II第一章绪论.................................................................1
1.1国内外现状分析..............................................................11.2选题的目的及意义...........................................................11.3课题研究的主要内容.........................................................21.4系统开发背景................................................................2
1.4.1系统开发环境..........................................................21.4.2系统开发的模式.......................................................41.4.3系统开发的主要技术...................................................4
第二章系统需求分析.........................................................9
2.1可行性分析..................................................................9
2.1.1技术可行性............................................................92.1.2经济可行性............................................................92.1.3操作可行性............................................................92.2需求分析...................................................................10
2.2.1功能需求分析.........................................................102.2.2性能需求分析.........................................................10
第三章系统设计与实现......................................................11
3.1系统功能模块图.............................................................113.2系统的实现.................................................................12
3.2.1实现过程概述.........................................................123.2.2主要功能模块设计....................................................12
第四章数据库的设计与实现..................................................21
4.1数据库需求分析.............................................................214.2数据库表的设计.............................................................21第五章系统测试............................................................25
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
5.1系统测试目标...............................................................255.2系统测试的基本原则........................................................255.2系统测试的方法.............................................................265.3系统测试结果与分析........................................................26结论.......................................................................27致谢.......................................................................28参考文献...................................................................29
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
第一章绪论
1.1国内外现状分析
在线考试系统是远程教育中一个非常重要的环节,关于如何开展基于在线考试、测评,很多业者有深入的探讨,不过其结果多是由于技术等原因所限,始终未能找到完善的解决方案。
在国外,已经投入使用的在线考试系统有著名的美国的TOEFL,GRE网上考试系统,还有微软、思科等大公司的国际认证考试等,这些考试系统在全球范围内有众多的使用者。
在国内,试题库系统理论和技术研究在近年取得了很大的进步。我国许多企业和高校都投入了大量的人力物力到各门课程的试题库研究工作中去了,并取得了一定的成就。

1.2选题的目的及意义
近年来,远程教育对大多数人来说已不再陌生。作为一种新的教学模式,远程教育借助网络实现了异地授课、学籍管理、网上考试等教学活动,极大地提高了教学的灵活性,使许多学子隔千山万水也能受到系统的教育。并且从考试方法的发展变化中,我们会发现在大力推进素质教育,培养学生创新精神和实践能力的进程中,研究信息技术课程的评价体系,改革考试方法,已成为一个非常重要的课题。
远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的的环节。在我国,虽然远程教育已经蓬勃的发展起来,但是目前学校与社会上的各种考试大多采用传统方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育与虚拟大学的出现等等,且这些应用正在逐步深入千家万户。人们迫切要求利用这些技术进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣!
收集于网络,如有侵权请联系管理员删除

仅供学习与交流

1.3课题研究的主要内容
在线考试是未来网络时代考试发展的趋势,是建立在Internet上的应用系统。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成,只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,本考试系统增加了新的考试题型:简答题和视频题,这使得考试内容更加的丰富,更加的生动有趣。不仅如此,本系统还增加了对考生的监控功能,确保考试的公正性,减少监考人员的工作量,方便监考人员进行考试控制和管理。在线考试系统包括五个功能模块:登陆模块、考试管理模块、成绩管理模块、用户管理模块、考试控制模块。
1.4系统开发背景
1.4.1系统开发环境
.NETFramework是微软的几个开发团队一起努力发展的成果,最主要用来产生一个可
以用来快速开发、部署网站服务及应用程序的开发平台。这个架构是两个项目的结果:第一个项目的目的是用来改善Windows作业平台上的程序开发,特别是改善COMComponentObjectModel,组件对象模块。一种微软所制定的软件技术;让对象的功能可以被其它软件所叫用,可以让组件重复使用、容易更新及维护);第二个项目则是制作一个以发展服务(Service)软件为目标的开发平台。这两个项目团队三年多前就已经在一起工作,他们希望可以发展出一种可以快速开发出以因特网为基础,而且易学易用的开发平台。为了要达到这些目标,所以.NetFramework在设计时加入了下列特色:
(1透过因特网的标准做整合
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
XMLeXtenxibleMarkupLanguage延伸标注语言)SOAPSimpleObjectAccessProtocol,简单对象存取协议)等标准通讯协议,将各种由不同环境所组成的应用程序及组件整合在一起工作。
(2松散的整合组件
大多数具延展能力(可扩充功能)的系统,现阶段是以「异步讯息」为架构而建立的。要建立这种多层的架构非常复杂,而且工具很少。.NETFramework不需要很严谨的定义每个组件的结构即可很轻松的整合,这样可提高程序的延展性。
(3支持多种程序语言
许多程序设计师会使用多种语言来开发他们的解决方案,这是因为每种语言都有它的长处。例如某些语言对于数值计算效率较好,某些语言对于数据库的操作较为方便,而某些语言又有大量的链接库可供使用;所以没有办法强迫别人只学一种程序语言。.NETFramework把这些语言整合起来,可以让开发人员使用不同的程序语言来开发解决方案,让程序设计师可以选择他们专长的程序语言,企业则可省去重新训练员工的成本。
(4提高程序设计师的生产力
现今程序设计师人才非常缺乏,程序设计师在人力不足的情形之下就必需提高生产力,因为每个项目的时程很可能很急促;况且公司也希望赶快结案好再进行下一个项目。正因如此,.NETFramework的开发团队希望尽可能减少写程序会发生的问题,让程序设计师专心于撰写企业法则(企业处理数据的规则)。所以.NETFramework有些节省时间的特色,例如容易使用的自动交易机制、自动内存管理,以及丰富的控件。
(5完善的数据保全
目前因特网最受大家注目的,就是它的安全性。要设计一个安全性完善的因特网应用程序,在设计时就必须考虑所有组件的保全设计,而不能仅做一部分而已。.NETFramework在设计安全模型时时即考虑到这点,将所有的数据与程序代码做完善的安全防护。
(6可用操作系统的服务
Windows提供了比其它作业平台更丰富的服务及资源,例如众多的数据存取服务、使用系统所提供的整合安全模式来做身分验证及保全的工作、交互式的使用者接口、成熟
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
的对象模块、交易程序监视以及讯息队列服务。.NETFramework当然也将这些操作系统所提供出来的功能包装起来,以更简单的方式提供程序设计师使用。1.4.2系统开发的模式
C/SClient/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系
结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,WebClient/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。
C/S模式较之B/S模式而言,有其突出的优点:
1)能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务
器。对应的优点就是客户端响应速度快。
2)操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。3C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。
1.4.3系统开发的主要技术
1.C#技术
C#是一种先进的,面向对象的开发语言,它能够方便快捷地在MS网络平台建立各种应用和建立能够在网络间相互调用的Web服务。从开发语言的角度来讲,C#可以更好帮助开发人员避免错误,提高工作效率,而且同时具有C/C++/JAVA的强大功能。
目前的各种传统的商业应用软件开发受到了挑战,开发者被组织起来开发具有更短开发周期的各种应用,并且需要能够提供更好的可修正性。C#的设计正是充分考虑了这些因素。C#会帮助开发者通过更少的代码完成相同的功能,并且能够更好的避免错误发生。
开发者利用C#开发的应用,以后可以很方便扩展自己的应用。C#可以将任何组件转变Web服务,也可以被运行于Internet上的任何平台的任何应用调用,重要的是C#对这一特性提供了内置的支持。更重要的一点,Web服务框架可以让任何Web服务都看起来类似于C#的内置对象,所以可以让程序员在开发过程中继续使用他们已经具备的面向对象的
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
开发方法和技巧。此外C#还拥有许多其他特性使其成为最出色的Internet开发工具。
.NETFramework现主要由以下几部分组成:
(1.包括五种正式的语言编译器(C#,VisualBasic,托管C++,J#Jscript本语言等.
(2.框架类库(FrameworkClassLibrary,FCL由很多相关互联的类库组成,支持Windows应用程序.Web应用程度.Web服务和数据访问等的开发.
(3.(CommonLanguageRuntime,CLR,NETFramework的面向对象的引擎,其将各种语言编译器生成的中间代码编译为执行应用程序所需要的原生码(nativecode.
为使程序员能快速地为新一代Microsoft.Net平台开发出应用程序。具体来说,微软C#具有如下特点:
1)优秀的面向对象的设计
C#具有一切OOP语言的特性,除面向对象必备的封装、继承、多态性等特性,还吸收VB的快速开发经验,另外还有只允许单继承、没有了全局函数和全局变量、取消了全局常数、所有方法都必须封装在类中以及名称空间的使用,强类型的使用等特点。
2)简洁的语法
C#使用的语法是当今最流行的语法结构,它所带来的最大特色是没有了指针通过对名称空间的使用使代码结构更加合理。再通过名称空间后加符号“.,就可以使用这个名称空间下的类及类中的方法,程序结构使程序开发人员一目了然。C#在托管代码中去掉了指针这个危险而又难以控制的功能,使程序越来越安全,也使开发程序越来越容易。
3)精心地面向对象设计
C#具有面向对象的语言所应有的一切特性:封装、继承与多态性。C#的类型系统中,每种类型都可以看作一个对象。
4)良好的安全性与错误处理
安全性与错误处理是衡量一种开发语言是否优秀的重要依据。C#在这方面的处理非常出色,强类型的检查提高了代码的安全性。C#具有优秀的错误处理能力,可以轻松地捕获各种异常,不但减轻了编程人员的工作量,同时更有效地避免了错误的发生,是程序更加稳健。
5)灵活性和兼容性
在简化语法的同时,C#并没有失去灵活性。C#允许将某些类或者类的某些方法声明为
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
非安全的。

2.数据库技术
MicrosoftSQLServer是一代大型关系数据库管理系统,支持高容量的事务处理以及数据仓库和决策支持系统而设计的,是一个后台数据库管理系统。它在企业数据处理、数据仓库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供了强大的支持,数据库中的数据提供有效地管理,并采用有效地管理措施,实现数据的完整性及数据的安全性。它的特性包括:
1)易于安装和使用
MicrosoftSQLServer中包括一连串的开发与管理工具,这些工具可改进在多个站点上安装与部署、管理与使用SQLServer的过程。MicrosoftSQLServer同时也支持基于标准的、与WindowsDNA一体化的优化程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能让你迅速交付SQLServer应用程序,让客户仅有很小的安装和管理开销执行这些应用。
2)完全的Web支持
MicrosoftSQLServer提供了以Web标准为基础的扩展数据库编程功能。丰富的XMLInternet标准支持允许您使用内置的存储过程以XML格式轻松存储和检索数据。您还可以使用XML更新程序容易地插入、更新和删除数据。SQLServer分析服务功能被扩展到Internet,可以通过Web浏览器来访问和控制多维数据。
3)可伸缩性和可用性
使用MicrosoftSQLServer可以获得非凡的可伸缩性和可靠性。通过向上伸缩和向下扩展的光能力,SQLServer满足了苛刻的电子商务和企业应用程序要求。SQLServer包括一系统管理和开发工具,这些工具可改进同时在多个站点上安装、部署和使用SQLServer的过程。

3.WindowsAPI技术
WindowsAPI是一套用来控制Windows的各个部件的外观和行为的一套预先定义的
Windows函数.用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么.这在某种程度上很象Windows的天然代码.其他的语言只是提供一种能自动而且更容易的访问API的方法.VB在这方面作了很多工作.它完全隐藏了API并且提供了在Windows环境
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
下编程的一种完全不同的方法.这也就是说,你用VB写出的每行代码都会被VB转换为API函数传递给Windows.同样,当你点击窗体上的一个按钮时,Windows会发送一个消息给窗,VB获取这个调用并经过分析后生成一个特定事件.
API函数包含在Windows系统目录下的动态连接库文件中.
更易理解地说,Windows这个多作业系统除了协调应用程式的执行、分配内存、管理
系统资源……之外,它同时也是一个很大的服务中心,调用这个服务中心的各种服务(一种服务就是一个函数,可以帮应用程式达到开启视窗、描绘图形、使用周边设备…等目的,由于这些函数服务的对象是应用程式,所以便称之为ApplicationProgrammingInterface,简称API函数。WIN32API也就是MicrosoftWindows32位平台的应用程序编程接口。
凡是在Windows工作环境底下执行的应用程式,都可以调用WindowsAPIC#调用WindowsAPI的表达式为:
[DllImport(libname,NamedParameters]
[public|private|internal][Type]FunctionName(Typeparameter1,Type
parameter2;

4.Socket技术
Socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
C#编程中,Socket类为网络通信提供了一套丰富的方法和属性。Socket类允许我们使用ProtocolType枚举中所列出的任何一种协议执行异步和同步数据传输。Socket类遵循异步方法的.NETFramework命名模式;例如,同步Receive方法对应于异步BeginReceiveEndReceive方法。
如果应用程序在执行期间只需要一个线程,使用下面的方法,这些方法适用于同步操作模式。
如果当前使用的是面向连接的协议(如TCP则服务器可以使用Listen方法侦听连接。Accept方法处理任何传入的连接请求,并返回可用于与远程主机进行数据通信的Socket。可以使用此返回的Socket来调用SendReceive方法。如果要指定本地IP地址和端口号,在调用Listen方法之前先调用Bind方法。如果希望基础服务提供程序为自己分配可用端口,使用端口号0。如果希望连接到侦听主机,调用Connect方法。
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
若要进行数据通信,调用SendReceive方法。
如果当前使用的是无连接协议(如UDP,则根本不需要侦听连接。调用ReceiveFrom方法可接受任何传入的数据报。使用SendTo方法可将数据报发送到远程主机。
若要在执行过程中使用单独的线程处理通信,使用下面的方法,这些方法适用于异步操作模式。
如果当前使用的是面向连接的协议(如TCP,则可使用SocketBeginConnectEndConnect方法来连接侦听主机。通过使用BeginSendEndSend方法,或者使用BeginReceiveEndReceive方法,可以进行异步数据通信。可以使用BeginAcceptEndAccept处理传入的连接请求。
如果使用的是UDP等无连接协议,则可以使用BeginSendToEndSendTo来发送数据报,而使用BeginReceiveFromEndReceiveFrom来接收数据报。
如果对一个套接字执行多个异步操作,它们不一定按启动时的顺序完成。
当数据发送和数据接收完成之后,可使用Shutdown方法来禁用Socket。在调用Shutdown之后,可调用Close方法来释放与Socket关联的所有资源。
Socket使SetSocketOptionSocket使GetSocketOption方法来检索这些设置。
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
第二章系统需求分析
2.1可行性分析

近些年,随着我国信息产业的飞速发展,计算机的开发应用已经渗透到各个领域,而
且趋于普及。在现代的测试与考试中计算机也得到了广泛的应用。在线考试系统的开发对教务工作的效率有很大的提高。2.1.1技术可行性
整个系统属于一个数据库应用类的系统。其基本操作还是对已存在的数据库进行查询、
添加、修改、删除、编辑等操作。所以就单纯的数据库应用来看,暂时不存在太大的技术方面的问题。
开发工具为MicrosoftVisualStudio2005,使用MicrosoftSQLServer2005数据
库平台,灵活、功能强。通过面对对象的分析设计和规范化的软件工程过程进行分析,从性能、安全、可靠、扩展等多方面保证软件的先进性。2.1.2经济可行性
由于系统只需要一个支持.Net(Microsoft.NETFrameworkSDKv2.0,而给用户带来
的是方便和通用以及减少大量的人力物力。因此,该系统在经济方面也是可行的。2.1.3操作可行性
系统从一开始就按照用户提出的要求及充分考虑到用户对计算机的操作熟练度等方面
出发的,所以界面的操作都力求简洁,使用户在操作的时候能够自如的进行操作,很轻松地完成各项工作。因此,该系统在操作方面也是可行的。
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
2.2需求分析
2.2.1功能需求分析
通过与用户的面谈,并结合我校的实际情况,可以确定本系统中共有三个实体对象:管理员、教师、学生。学生只可以参加在线考试,查询自己的成绩,修改登录密码。教师一般是对考试相关信息进行管理,例如添加、修改、删除题目,主观题的评分等。管理员可以修改、删除、添加教师信息等。此外,所有用户必须能“登录”到系统。系统的功能需求如下:
1)在线考试功能:主要实现生成试卷、控制考试、考生在线答题、提交答案等功能。2)考生信息功能:主要是实现显示考生的个人信息,以及考生信息的添加、删除和修改密码的功能。
3)成绩统计功能:主要是实现显示考试成绩、导出考试成绩等功能。4)题目管理功能:主要是实现添加、删除、修改题目的功能。
5)考试监控功能:主要是实现对考生实时监控,确认考生信息等功能。6)系统管理功能:主要是实现对所有实体对象信息的添加、删除和修改等功能。2.2.2性能需求分析
性能需求指定系统必须满足的定时约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的要求。为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足如下的性能需求:
1)系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息处理的需求。在系统开发过程中,必须采用一定的方法保证系统的准确性。
2)系统的开放性和可扩充性
系统在开发过程中,应该充分考虑以后的可扩充性。例如题型和科目等。3)系统的易用性
本系统的主要对象是考生和老师,界面应该简洁,操作应该简单,用户利用鼠标和键
盘进行基本的输入就可完成,不需任何专业人员进行指导介绍。
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
第三章系统设计与实现
3.1系统功能模块图
根据需求分析阶段对在线考试系统的功能分析,本系统由五个子模块组成:登陆模块、考试管理模块、成绩管理模块、用户管理模块,考试控制模块。系统功能模块图如图3-1所示:
登录模块
时间控制模块
考试控制模块
监视模块考试资格管理模块
试卷生成模块
线
考试管理模块试题管理模块阅卷管理模块

成绩查询模块
成绩管理模块
成绩排序模块成绩打印学生信息管理模块
用户管理模块
教师信息管理模块管理员信息管理模块

3-1
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
3.2系统的实现
3.2.1实现过程概述
采用C/S结构,即大家熟知的客户端和服务器结构,客户端:界面表示逻辑,用户接口管理数据输入,提交请求,服务器端处理结果,部分的事务处理。服务器端:响应并处理请求,共享数据库访问控制,共享外设的访问、系统接口管理,部分或全部的事务处理。
采用C#编程,通过在SQLServer中建立存储过程来实现系统中数据的相关处理。C#拥有C/C++的强大功能以及VisualBasic简易使用的特性,SQLServer数据库能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。

3.2.2主要功能模块设计
1.登陆界面以及主界面
管理人员要进行管理,首先需要登录管理系统,通过对用户信息的判断,确定用户的身份,然后给予用户相应的权限。用户登陆界面如图3-2所示:

3-2
用户登录成功之后,将进入如图3-3所示的主界面:
收集于网络,如有侵权请联系管理员删除

仅供学习与交流

3-3
2.考试控制模块
考试控制模块是考试系统中的重要模块之一,它主要是用来控制考试的进程,管理考试的时间。当考生登录考试系统后,教师通过考试控制模块开始计时。考试过程中,教师随时查看学生的电脑屏幕,以及控制学生电脑摄像头对学生进行监视。考试控制模块如图3-4所示:
考试控制模块
时间控制模块监视模块考试资格管理模块







3-4
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
1时间控制模块
时间控制模块主要是对考生考试时间的查看和控制。服务器端实时了解客户端考生的考试时间,通过考试时间对考试是否出现异常做出一定的判断。对于考试过程中出现特殊情况,监考人员可以对考生的考试时间进行缩减或延长。它主要由以下功能:
1)考试计时
当考生登录客户端进行考试时,客户端开始计时,并把用户用户当前所用时间每隔一分钟存入数据库。监考教师进入时间控制界面时,界面上的列表将显示所有用户考试所使用的时间。
考试开始后计时开始,在考试结前5分钟提醒考生要注意提交试卷,考试时间结时,禁止考生继续答题,把考试数据储存到服务器中,进行后续操作。当考生无法正常完成考试,重新登录,重新计时。
2)异常管理
用户考试过程中难免会出现一些突发情况,这将会耽误学生考试的时间,通过异常管理功能就能更改考生的考试时间,让考试更加的合理、公正。通过选择“查找类型”“考生选择”选项将出现相应类型的学生信息(考生姓名或者考生准考证号)选项,点击“更改时间”选项,如果选择的是正数,当点击“修改”时,将延长考生相应的考试时间;如果“更改时间”选项如果选择的是负数,当点击“修改”时,将缩短考生相应的考试时间。
时间控制模块界面如图3-5所示:

3-5
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
2监视模块
监视模块主要是核对考生信息,对考生的行为进行监视,防止考生替考、作弊,影响考试的公平性。通过对考生的一系列监控和对考生信息的审核,确定考生的考试资格和是否需要取消考生的考试资格。此模块功能如下:
1)屏幕查看:
在考试过程中,监考人员经常性的走动会使一些考生紧张,影响考生的情绪,影响考试的发挥,无形中影响了考试的公平性。监考人员需要负责考试的纪律,防止考生作弊、考生相互帮忙,影响正常的考场秩序,但是要想在不影响考生的情况下做好这些工作并不是那么容易,屏幕察看功能解决了这个问题。通过屏幕察看功能,及时了解考生的考试情况,即不影响考生考试,又能对考生行为进行监管,方便实用。
2)头像获取
核对考生信息是监考人员必须做的,也是考试一道很重要的程序。一般的考试都是监考人员挨个核对,工作繁重,而且工作效率不高。头像获取功能就是帮助监考人员核查考生信息,核对考生身份。通过调用考生摄像头,抓取考生头像,确定该考生是不是报考考生本人。在考试过程中还能通过截取考生图像进行监控,完善了监控功能。
监控模块界面如图3-6所示:

3-6
调用摄像头主要代码如下:publicclassCaptureV{
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
privateconstintWM_USER=0x400;privateconstintWS_CHILD=0x40000000;privateconstintWS_VISIBLE=0x10000000;privateconstintWM_CAP_START=WM_USER;
privateconstintWM_CAP_STOP=WM_CAP_START+68;
privateconstintWM_CAP_DRIVER_CONNECT=WM_CAP_START+10;privateconstintWM_CAP_DRIVER_DISCONNECT=WM_CAP_START+11;privateconstintWM_CAP_SAVEDIB=WM_CAP_START+25;privateconstintWM_CAP_GRAB_FRAME=WM_CAP_START+60;privateconstintWM_CAP_SEQUENCE=WM_CAP_START+62;
privateconstintWM_CAP_FILE_SET_CAPTURE_FILEA=WM_CAP_START+20;privateconstintWM_CAP_SEQUENCE_NOFILE=WM_CAP_START+63;privateconstintWM_CAP_SET_OVERLAY=WM_CAP_START+51;privateconstintWM_CAP_SET_PREVIEW=WM_CAP_START+50;
privateconstintWM_CAP_SET_CALLBACK_VIDEOSTREAM=WM_CAP_START+6;privateconstintWM_CAP_SET_CALLBACK_ERROR=WM_CAP_START+2;privateconstintWM_CAP_SET_CALLBACK_STATUSA=WM_CAP_START+3;privateconstintWM_CAP_SET_CALLBACK_FRAME=WM_CAP_START+5;privateconstintWM_CAP_SET_SCALE=WM_CAP_START+53;privateconstintWM_CAP_SET_PREVIEWRATE=WM_CAP_START+52;publicstaticintWM_CAP_DLG_VIDEOSOURCE=(WM_CAP_START+42;privateIntPtrhWndC;privateboolbStat=false;privateIntPtrmControlPtr;privateintmWidth;privateintmHeight;privateintmLeft;privateintmTop;//初始化摄像头
publicvoidPick(IntPtrhandle,intleft,inttop,intwidth,intheight{
mControlPtr=handle;mWidth=width;mHeight=height;mLeft=left;mTop=top;
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
}

[DllImport("avicap32.dll"]
privatestaticexternIntPtrcapCreateCaptureWindowA(byte[]lpszWindowName,intdwStyle,intx,inty,intnWidth,intnHeight,IntPtrhWndParent,intnID;
[DllImport("avicap32.dll"]
privatestaticexternintcapGetVideoFormat(IntPtrhWnd,IntPtrpsVideoFormat,intwSize;
[DllImport("User32.dll"]
privatestaticexternboolSendMessage(IntPtrhWnd,intwMsg,intwParam,intlParam;
publicboolCaptureStat({
returnbStat;}
//开始显示图像publicvoidStart({
if(bStatreturn;bStat=true;
byte[]lpszName=newbyte[100];
hWndC=capCreateCaptureWindowA(lpszName,WS_CHILD|WS_VISIBLE,mLeft,mTop,mWidth,mHeight,mControlPtr,0;if(hWndC.ToInt32(!=0{
SendMessage(hWndC,WM_CAP_SET_CALLBACK_VIDEOSTREAM,0,0;SendMessage(hWndC,WM_CAP_SET_CALLBACK_ERROR,0,0;SendMessage(hWndC,WM_CAP_SET_CALLBACK_STATUSA,0,0;SendMessage(hWndC,WM_CAP_DRIVER_CONNECT,0,0;SendMessage(hWndC,WM_CAP_SET_SCALE,1,0;
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
SendMessage(hWndC,WM_CAP_SET_PREVIEWRATE,66,0;SendMessage(hWndC,WM_CAP_SET_OVERLAY,1,0;SendMessage(hWndC,WM_CAP_SET_PREVIEW,1,0;}return;}
//停止显示publicvoidStop({
SendMessage(hWndC,WM_CAP_DRIVER_DISCONNECT,0,0;bStat=false;}
//抓图
publicvoidGrabImage(stringpath{
IntPtrhBmp=Marshal.StringToHGlobalAnsi(path;SendMessage(hWndC,WM_CAP_SAVEDIB,0,hBmp.ToInt32(;}
//录像
publicvoidKinescope(stringpath{
IntPtrhBmp=Marshal.StringToHGlobalAnsi(path;SendMessage(hWndC,WM_CAP_FILE_SET_CAPTURE_FILEA,0,hBmp.ToInt32(;
SendMessage(hWndC,WM_CAP_SEQUENCE,0,0;}
//停止录像
publicvoidStopKinescope({
SendMessage(hWndC,WM_CAP_STOP,0,0;}
收集于网络,如有侵权请联系管理员删除

仅供学习与交流

//显示设置摄像头窗口publicvoidSetShow({
SendMessage(hWndC,WM_CAP_DLG_VIDEOSOURCE,0,0;}}

抓取屏幕主要代码:try{

//抓取屏幕图像
Imageimg=newBitmap(Screen.AllScreens[0].Bounds.Width,Screen.AllScreens[0].Bounds.Height;
Graphicsg=Graphics.FromImage(img;
g.CopyFromScreen(newPoint(0,0,newPoint(0,0,Screen.AllScreens[0].Bounds.Size;
System.Drawing.Image.GetThumbnailImageAbortcallb=newImage.GetThumbnailImageAbort(ThumbnailCallback;
ImageiScreen=img.GetThumbnailImage(480,360,ThumbnailCallback,IntPtr.Zero;

//创建图片文件
FileStreamfs=File.Create(Environment.CurrentDirectory+"\\capture.jpg";fs.Close(;
Imageiimg=newBitmap(img,newSize(420,280;

//保存图片文件
img.Save(Environment.CurrentDirectory+
"\\capture.jpg",System.Drawing.Imaging.ImageFormat.Jpeg;}
catch(Exceptionee{
MessageBox.Show(ee.ToString(;}
3考试资格管理模块
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
考试资格管理模块主要是查看考生是否有资格进行考试,同时也是对考生考试资格的管理。例如考生因为某些原因不能正常完成考试,在教师的允许下可以进行再次考试,这是就需要对该考生进行资格设定,然后才能登录考试系统进行考试。具体功能如下:
1)资格查询
当监考员进入“资格管理”功能模块,上面将显示各个考生的考生资格。如果考试资格列数值为0,则具备考试资格,可以登陆考试。否则,该考生不具备考试资格,将不能登录考试系统进行考试,或者说明该考生正在考试。
2)资格设定
考生考试如果出现异常,则需要新登录考试系统进行考试。这时,需要对考生考试资格进行重新设定,考生才能进行在此登录。通过选择“查找类型”“考生选择”选项将出现相应类型的学生信息(考生姓名或者考生准考证号)选项,点击“考试资格”选项对考生考试资格进行选择。也可以通过点击“考生姓名”或者“准考证号”两列的对应行,“考生选择”和“考试资格”两个选项将自动显示当前考生的考试资格,然后选择“考试资格”选项对考生资格进行选择。当点击“修改”时,向数据库更新考生考试资格。
考试资格管理模块界面如图3-7所示:

3-7
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
第四章数据库的设计与实现
4.1数据库需求分析

数据库是所有基于“数据”的应用程序的核心,现在系统中非常重要的资源都是保存
在数据库中,它基本上是用户通过应用程序访问或存储的数据集合。为了获得有效的数据库设计,我们应遵循从一定的规则,规则如下:
1)使数据冗余尽可能少。2)使数据重构或重建模最少。3)通过减少事务处理大小使I/O最少。4)使数据结构稳定性较好。
4.2数据库表的设计
本系统采用SQLServer2005数据库作为后台数据库,数据库名为db_Exam开发本系统中涉及到的表有:学生成绩表、考试设置表、主观题暂存表、考试题目表、用户表。下面详细介绍所有数据表的功能及结构。

1学生成绩表
tb_ExamResult表的表结构:字段IDUserIDUserCHselectexamjudgeexamfileexamsimpleexam
类型intvarcharvarcharvarcharvarcharvarcharvarchar
长度4505050505050
说明系统编号考生考号考生姓名选择题分数判断题分数填空题分数简答题分数
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
vedioexamexampoint
varcharvarchar
5050
视频题分数总分
tb_ExamResult表用于存储考生的考试结果,其中包括不同类型试题的考试分数以及考试总分。
2考试设置表
tb_ExamSet表的表结构:字段IDxzxzscalepdpdscaletktkscalejdjdscalespspscaleexamtime
类型intvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarcharvarchar
长度45050505050505050505050
说明系统编号选择题所占比例选择题每题分数判断题所占比例判断题每题分数填空题所占比例填空题每题分数简答题所占比例简答题每题分数视频题所占比例视频题每题分数考试时间
tb_ExamSet表用于存储考试设置信息,其中包括选择题比例和分值、判断题比例和分值、填空题比例和分值、简答题比例和分值、视频题比例和分值及考试时间。
3主观题暂存表
tb_Paper表的表结构字段IDUserIDTypeID
类型intvarcharint
长度4504
收集于网络,如有侵权请联系管理员删除
说明系统编号考生考号题目类型

仅供学习与交流
SubjectRightkey
varcharvarchar
5002000
题目考生答案
tb_Paper表主要用来存储考生试卷的主观题及答案,教师以此可以对考生的主观题进行批阅评分。

4考试题目表
tb_Test表的表结构:字段IDTypeIDsubjectrightkeyABCD
类型intintvarcharvarcharvarcharvarcharvarcharvarchar
长度44100010001000100010001000
说明系统编号考试类型题目正确答案答案A答案B答案C答案D
tb_Test表用于存储所有类型的考题,其中包括试题类型、题目、备选答案以及正确答案等信息。

5用户表
tb_User表的表结构字段IDUserFlagUserCHUserSexUserIdUserPicUserName
类型intintvarcharvarcharvarcharvarcharvarchar
长度445050505050
说明系统编号用户类型用户姓名用户性别考生考号考生头像用户名
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
UserPwdIsTestUserIPTestTime
varcharintvarcharint
504506
密码
是否参加考试IP地址考试已用时间
tb_User表用于存储考生和管理员信息,其中包括登录用户类型、用户姓名、用户性
别、考生考号、考生头像、用户名、密码、是否参加过考试、IP地址以及考试已用时间。
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
第五章系统测试

软件测试,可以理解为在受控条件下执行软件系统或应用程序,并评估其执行结果的过
程。软件测试必须包括所有可能的受控条件,以便检查每种情况下应用程序的行为。此外,软件测试基于用户需求的应用程序设计的正确性也很重要。测试一直持续到最后软件交付给最终用户,随后,用户还有可能会要求对系统进行变更。对于任何软件,测试都是不可缺少的。
5.1系统测试目标

测试的基本目的是检查系统是否满足用户指定的所有需求和规范。测试是通过人工或
是计算机来执行某些程序来检测系统,并将这些测试的结果记入文档。如果软件的功能不符合要求,应对软件及时进行相应的修改。
5.2系统测试的基本原则

1)测试的标准是用户的需求
提供软件的设计是为了帮助用户完成预定的任务,满足用户的需求。软件测试其中一
个最重要的目标是发现问题,因此,测试员因在不同的测试阶段站在用户的角度测试,按照用户的要求设计和实现软件。
(2穷尽测试是不可能的
穷尽测试是不可能做到的,测试应该在满足一定的测试条件时就停止。如果要考虑到输
入值的全部可能或是输入值的所有组合,以及结合所有不同的测试预置条件,这些就是天文数字,我们就不会结束测试。在实际测试过程中,测试人员是根本不可能执行“无尽”数字的测试用例,每个测试都只能是抽样测试。因此,必须按照测试的风险和优先级,控制测试工作量,在测试成本、收益和风险之间寻求平衡。
3)测试贯穿于整个生命周期
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
由于软件的抽象性和复杂性,在软件生命周期的任何一个阶段都极有可能产生错误,
所以测试必须注重每一个细节。在测试的各个阶段应该选择适宜的白盒测试或者黑盒测试方法,有软件开发人员和一个独立的测试小组共同完成测试的任务。软件测试必须在软件项目启动时就开始,而不是等着软件开发完成才进行,每个开发阶段,测试都应该对本阶段的输出进行检查和验证。
5.2系统测试的方法

测试可以从不同的角度查看需要测试的每个系统,一般的软件测试方法有两种类型:
白盒测试方法和黑盒测试方法。
白盒测试是基于对系统内部结构的了解。测试人员了解系统编码所有的内在逻辑并且
了解应用程序编码所用的编程语言。它测试程序、单元或模块的内部工作,而不考虑它是如何调用的。白盒测试主要由编程人员来完成,主要检测程序的内部结构,以此查看系统是否达到预期开发的目的。
黑盒测试和白盒测试不同,它完全基于用户的需求和按照需求编写的代码功能。这种
测试测试员对系统或者是编程代码的内部一无所知,但是这种测试通常可以很好的了解到用户的所有需求是否都达到满足。
5.3系统测试结果与分析

系统测试顺利完成各个目标,本系统顺利地通过了各种测试。不同版本的系统均可以
正常使用考试系统。多人测试过程中,由于硬件和网络原因,部分计算机无法进行监控,重新登录后继续考试成功,所有测试员提交结果后全部得到成绩。考试可以通过“查询成绩”查询到自己的考试成绩。
从以上测试结果可以说明,本系统基本能够完成预设目标,各个功能模块预设目标均
达到要求。但是由于现有条件和软件开发进度各方面的原因,本系统还存在两个方面的问题:一是在进行视频监控时还是会出现卡死,接收到乱码等问题;二是本系统暂时不能通过互联网进行考试测试。在今后我还将继续改进和完善本系统。
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
结论

本文所开发的在线考试系统,采用.NET结合SQLServer2005,并使用了C#完全面向
对象的开发语言,采用C/S结构来进行设计。本考试系统实现了考试自动组卷、自动阅卷、题库管理、考试监控等功能,增加了传统考试没有的题型,做到了考题的多样性,为学生提供了一个全新的在线考试系统。
本系统经过了可行性分析、需求分析等几个阶段的论证,以用户的实际需求为出发点,
经历了需求分析、总体设计、详细设计和编码四个阶段来实现了本考试系统,后来又经过系统测试和运行两个阶段发现了本系统的不足之处,并及时、努力地改正。在这过程中,我们走了很多弯路,经过不断的分析,不断的讨论,老师的细心指导,大家的不懈努力,最终形成了本系统,基本实现了预期要求。本系统操作简单、界面友好、易于使用、运行稳定。初步使用,效果良好。

但由于诸多原因,本系统还存在一些需要改进的地方:1、本系统实现了试题的管理、
成绩查询、成绩打印,但只是笼统的统计显示,暂时还不具备科目管理和班级管理等功能。2、此系统基本实现了对考生考试过程的监控,由于知识和时间的限制,在设计过程中遇到不少难题,始终无法全面的实现这个功能。3、对于考试控制中异常管理这一块,我们还没研究出来比较好的解决方案。例如考试出现断电或者电脑死机等情况,目前只能让考生重新登录,重新考试。


收集于网络,如有侵权请联系管理员删除

仅供学习与交流
致谢

四年的大学生活转瞬即逝。经过这么多日日夜夜的努力,我终于完成了我的毕业论文,
借此机会,向许许多多给予我指导、帮助、关心和支持的师长、同学和朋友以及亲人表示我最诚挚的谢意!
首先,我要感谢我们的指导老师杜建卫老师。他渊博和学识,对问题实质的洞察入微
和高屋建瓴,以及严谨求实的治学精神和宽厚坦荡的为人令我一生难忘。从课题的选择到最终的完成,杜老师都给予我们细心的指导和帮助,带领着我们解决了不少难题,让我们顺利的完成了我们的毕业设计。在此谨向杜老师致以诚挚的谢意和崇高的敬意。
其次,我要感谢我的另外两位队友周志山和李贺喜。在平时的学习和生活中,他们给
予了我许多关心和帮助。在这次毕业设计中,他们和我共同讨论、共同努力、共渡难关,给予我很多的思路和启发。
再次,我要感谢我的家人,在我漫长的求学涯中给了我最大的关心、理解、支持和鼓
励。我还要感谢所有关心我、支持我和帮助过我的同学、朋友、老师和亲人。


收集于网络,如有侵权请联系管理员删除
最后,向参加论文审稿的各位老师一并致以诚挚的谢意!

仅供学习与交流
参考文献
[1]李春葆、谭成予、金晶、曾平.C#程序设计教程.北京:清华大学出版社,2010
[2]耿肇英.C#应用程序设计教程.北京:人民邮电出版社,2010
[3]董淑娟.VisualC#2008应用开发教程.北京:高等教育出版社,2010[4]杨建军.VisualC#程序设计实用教程.北京:清华大学出版社,2009[5]徐少波.C#程序设计实例教程.北京:人民邮电出版社,2010
[6]郝安林、许勇.SQLServer2005基础教程与实验指导.北京:清华大学出版社,
2008
[7]奥佩尔.SQL实用教程.北京:清华大学出版社,2009
[8]杨俊红.SQLServer数据库应用教程.北京:水利水电出版社,2008
[9]庞娅娟、房大伟、张跃廷.SQLServer应用与开发范例宝典.北京:人民邮电出
版社,2009

[10]周存杰.VisualC#.NET网络核心编程.北京:清华大学出版社,2002
心理健康培训心得体会
带着一份憧憬,带着一份喜悦,带着一份期待与责任,我有幸参加了心理健康的培训,不仅有理论的学习,充实我们的大脑,同时还深入教育教学第一线参观学习和调研,使我在思想理念和工作能力等方面都有了较大程度的提升,真是感受颇深,受益匪浅。感受一:认识心理健康重要,促发展。
通过本次的学习,我认识到了教师心理健康的重要性。我认为,教师是学校心理健康教育的推行者、具体实施者,一个成功的教师,除了要有渊博的学识和优良的教学技能,还要有健全的人格和高尚的品德。教师的言行对学生有很大影响。教师的衣着举止,言谈风度,以及待人接物等,都会使学生受到深刻的影响。人格健全的教
收集于网络,如有侵权请联系管理员删除

仅供学习与交流
师,能在课堂中创造一种和谐与温馨的气氛,使学生如沐春风,轻松愉快,而人格不健全的教师,只能在课堂上造成一种紧张或恐怖的气氛,使学生如坐针毡,惶惑不安。所以新的教育实践要求每一位教师都应该从自身的心理健康的角度,完善自己的人格,提升自己的人格魅力。
感受二:提高自身素质,助成长
通过培训,自身有了提高。我对心理调适的技能,提供维护心理健康和提高心理素质的方法有了一定的了解;通过对个别典型的案例的分析学习,对认识与识别心理异常现象

收集于网络,如有侵权请联系管理员删除

最新在线考试系统2

相关推荐