基于VB的网络考试系统.docx
- 文档编号:26691980
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:29
- 大小:492.85KB
基于VB的网络考试系统.docx
《基于VB的网络考试系统.docx》由会员分享,可在线阅读,更多相关《基于VB的网络考试系统.docx(29页珍藏版)》请在冰豆网上搜索。
基于VB的网络考试系统
基于VB的网络考试系统
摘要:
在网络技术逐渐渗入社会生活各个层面的今天,电子考试的发展使得传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。
基于网络的考试系统是传统考场的延伸,加上数据库技术的利用,大大简化了传统考试的过程。
因此网络考试系统是电子化教学不可缺少的一个重要环节。
所以现在较好的考试方法为网络考试,考生通过姓名、准考证号码或口令进行登录,试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。
因此,采用网络考试方式将是以后考试发展的趋势。
本考试系统是利用非常流行的基于Basic语言的可视化编程工具MicrosoftVisualBasic6.0,并用SQLServer2000数据库编写的应用程序。
它有应用简单、升级和部署方便、扩展性强等特点。
满足任何授权的考生随时随地考试并迅速获得成绩。
关键词:
网络考试系统;VB;SQLServer2000数据库.
一、概述
(一)系统简介
我们知道,在现在信息飞速发展的时代,速度和效率已经变成非常重要了,在学校也如此,举行一次考试也可以不要集中学生在一起进行,可以在学校的网内进行,这可以提高考试的效率,网上考试系统已变的非常重要。
以前的人工监考既费时又费力,现在有了网上考试系统只要一个管理员,一切就轻松解决了,对考试的公平性和保密性也得到了很好的保证。
对试卷的管理也很方便,对学生的情况管理也特别管用,这些优点极大的提高了传统考试的效率,使得网络考试系统变的相当重要。
由此可见,开发一套网络考试系统是很有必要的。
传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。
这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。
在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。
基于网络的考试系统是传统考场的延伸,加上数据库技术的利用,大大简化了传统考试的过程。
因此网络考试系统是电子化教学不可缺少的一个重要环节。
所以现在较好的考试方法为网络考试,考生通过姓名、准考证号码或口令进行登录,试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。
因此,采用网络考试方式将是以后考试发展的趋势。
在下面的各章中我将以开发一套基于局域网的网络考试系统为例,谈谈在开发过程中所涉及的问题及解决的方法。
软件采用VisualBasic6.0作为系统的开发工具,采用SQLServer2000中文版作为后台数据库来维护和管理数据库。
本软件主要针对各大高校和中小学校设计,实现基于局域网的网络考试系统。
它主要完成了模拟一般考试的各个功能,如考试的分发试卷,交卷,学生异常的处理等功能。
本系统界面友好,操作简单,即使对不太熟悉电脑的老师来说也是很容易操作的。
随着网络的逐渐普及,本系统已变得越来越重要。
(二)开发用到的工具和语言
1.MicrosoftVisualBasic6.0
MicrosoftVisualBasic6.0是非常流行的基于Basic语言的可视化编程工具,其开发界面如图1.1所示。
图1.1VisualBasic集成开发环境
MicrosoftVisualBasic6.0能够成为当今最流行的软件开发工具之一,是与其卓越
的性能分不开的,它汇集了微软(Microsoft)公司的技术精华,不仅全面使用了面向对象的技术,而且在编译技术上也作了优化。
与其他开发工具相比,VisualBasic6.0具有明显的优势:
1.使用Basic语言作为基础,开发难度低、开发工作量小。
2.VisualBasic6.0开发环境十分友好,强大的可视化开发方式能够帮助用户
轻松地开发出多种类型的应用程序。
3.由于微软公司在PC操作系统市场上的垄断地位,使用微软发行的编程软
件能够提供与Windows操作系统的最大兼容性。
4.微软公司开发的编程环境VisualBasic,不仅能够提供强大的图形支持,
而且能够使应用程序与硬件相对独立。
5.WindowsAPI为实现应用程序提供了强大的扩展功能支持。
6.为用户提供了许多有用的调试和分析工具,能够帮助用户寻找错误和提高
应用程序效率。
7.拥有解释方式和编译方式两种运行方式,使得应用程序的调试更加方便、
轻松。
鉴于以上的优点,我们选择VisualBasic6.0作为此次网络考试系统的开发工具。
2.SQLServer2000
图1.2
SQLServer2000(如图1.2)是Microsoft公司推出的SQLServer数据库管理系统的一个版本。
该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
SQLServer2000的特性包括:
1.Internet集成。
SQLServer2000数据库引擎提供完整的XML支持。
它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。
SQLServer2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQLServer2000支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。
2.可伸缩性和可用性。
同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindows98的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。
SQLServer2000企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。
3.企业级数据库功能。
SQLServer2000关系数据库引擎支持当今苛刻的数据处理环境所需的功能。
数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。
SQLServer2000分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是SQLServer2000数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。
复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。
可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。
4.易于安装、部署和使用。
SQLServer2000中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用SQLServer的过程。
SQLServer2000还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。
这些功能使您得以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
其主要特点如下:
(1)高性能设计,可充分利用WindowsNT的优势。
(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
(3)强壮的事务处理功能,采用各种方法保证数据的完整性。
(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。
SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
所以SQLServer2000也是一个很好的选择。
3.visualbasic语言特点
visualbasic(以下简称vb)是运行于windows平台下的一种可视化的高级编程语言。
自1991年问世以来,vb适应了windows3.x到windows95/98及windowsnt等各版本的操作系统的发展,广泛应用于普通窗口类、数据库管理类、网络数据通信类等应用程序的开发。
vb作为一种可视化的计算机的高级程序设计语言,有以下显著的特点:
(1)vb继承了basic语言简单易学的特点
microsoft在发展vb过程中从来没有忘记其根源,编程的入门者即使是一个对计算机工作原理一窍不通的人,也可以在相当短的时间内编写一个可行的windows程序。
(2)与基于dos环境下的编程语言相比,vb编程思想上发生了根本的改变
与基于dos环境下的编程语言相比,vb编程思想上发生了根本的改变,vb中引入了面向对象的程序设计方法,使程序设计人员从烦琐的程序设计细节中解脱出来,程序设计人员在进行程序开发时,选择适当的对象构造自己需要的界面。
然后安排好某对象接收到何消息做什么就可以了。
而不需要具体地考虑对象如何做、哪个先做、哪个后做的问题。
(3)vb具有强大的数据库管理功能
vb支持sql数据库查询,利用vb中嵌入的数据库管理功能几乎可以操纵各种格式的数据库。
(4)程序开发环境高度集成化
vb是一个包括编辑、程序调试、程序运行、程序编译等各种功能的集成程序开发环境。
(5)vb适应于开发视窗类应用程序
vb中包含大量的函数、命令及关键字,其中大部分与windows图形用户界面相关,专业人员可以很方便地使用它们开发出功能强大的windows应用程序。
二、系统分析
要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。
下面就对考试系统的设计进行需求分析。
(一)需求分析
1.系统需要解决的主要问题
首先,因为考试是面向特定的某些对象的,所以考试者进入系统应该进行身份验证。
考试者进入考试系统后,应该能根据自己的需要选择考试科目,所以该系统还应具有考试科目选择的功能。
考试于一般的单机考试是不同的。
鉴于考试环境一般为机房,考试者之间的距离很近,为了考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。
试卷应该从服务器的数据库随机抽取试题后动态生成。
另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。
考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。
考试完毕后,可以返回登录界面或继续考试。
此外,应该能够方便、快捷的对考试系统进行管理,此外,用户还应能进行注册。
2.系统应该具备的基本功能
用户登陆:
用户通过用户名和密码进行登录。
用户信息的管理:
管理员可以增删用户。
试题库管理:
可以增加、修改、删除试题。
试卷生成:
从试题库里随机抽取试题生成一份原始试卷。
在线考试:
系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。
计算机自动阅卷:
要求计算机能自动阅卷,然后马上显示出考生分数。
成绩查阅:
考生考完以后,管理员应该能对所有纪录进行查询,并应该可以删除指定纪录。
网络考试系统具有多用户同时在线考试、考试时间控制、自动判卷、题库维护,以及用户管理等功能。
本系统主要针对高等院校的网络考试,能帮助学校、企业、机关单位提高工作效率,实现考试信息管理以及考试流程的系统化、规范化和自动化。
本系统采用集中式的信息数据库,考生随机抽取考试题目,对高等学校作弊成风的坏习惯起到一定的遏制作用,同时能减轻了监考、判卷人员的工作任务,减少了人员配置,降低了管理成本,方便教师统计考试结果,并能提供试卷分析等功能。
同时,网络考试系统简化了传统考试过程,其自动评阅、计分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少工作人员,提高效率。
(二)系统达到的目标
一个完善的网络考试系统的任务主要包括以下几项:
(1)考试设置:
负责管理考试信息设置和考生分配。
(2)系统资料:
负责对考试题库、考生信息、教师信息进行维护。
(3)系统管理:
负责管理人员信息、重新登录、密码维护。
(4)考生考试管理:
负责管理考生考试和考生成绩查询。
(5)教师阅卷管理:
负责管理教师阅卷、成绩查询、成绩统计等。
三、系统概要设计
该系统用于用户注册、登录、参加考试以及管理员进行试题录入、修改、删除、成绩查询、管理用户的应用程序。
它应该具有开放性、方便性和灵活性。
考生进行有效的身份验证登录后,要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。
一旦考生做完交卷后便能立即看到自己的考试成绩;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题形成试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。
(一)系统模块图
根据以上的系统需求分析,一个标准的网络考试系统应该包括考试设置、系统资料、系统管理、考生考试管理和教师阅卷管理等功能,如图3.1所示:
图3.1系统模块图
(二)系统流程图
1.考生考试管理数据流程图
考生考试管理模块主要用来管理考生的考试情况,包括客观题和主观题的考生考试的相关内容和考生成绩查询。
考生考试功能主要负责考生的客观题和主观题两部分考题的考试。
考生的考题都是随机在试题库中抽取。
考生成绩查询功能主要提供考生考试成绩查询、打印功能。
成绩信息包括客观题得分、主观题得分、总分。
其主要数据流程图如图3.2所示:
图3.2系统流程图
2.教师阅卷管理管理数据流程图
教师阅卷管理主要负责管理教师阅卷、成绩查询、成绩统计,能对考卷的主观题部分进行改卷评分,实现考试成绩的查询、排序和打印功能以及成绩分布情况,数据流程图如图3.3所示:
图3.3教师阅卷管理管理数据流程图
(三)数据库设计
根据需求分析可知,系统需要建立9张表,分别是考试信息表、客观题信息表、主观题信息表、管理人员信息表、考生信息表、客观题临时表、考生主观题作答表、成绩信息表、教师信息表。
通过SQLServer企业管理器可以得到数据库表的关联图,如图3.4所示:
图3.4数据库表的关联图
(四)关键技术
网络考试系统的关键技术包括如何实现考生随机抽题,如何实现考试定时功能和如何使用MSChart控件绘制图表,下面分别进行阐述。
1.考生随机抽题的实现
在网络考试系统中,要求考生能够随机抽题。
为了实现考生随机抽题,需要分别对客观题和主观题进行遍历。
(1)获得随机抽取客观题,代码如下:
PrivateSubGetKGT()
'随机抽取客观题
DimrstAsADODB.Recordset
DimflagAsBoolean
Dimindex1AsInteger
Dimindex2AsInteger
DimtempidAsInteger
DimtempAsInteger
DimsumAsInteger'保存题库中的题目总数量
DimRandNo(1To10)AsString'保存考生的10道客观题的随机序列号
'初始化数组
Forindex1=1To10
RandNo(index1)="-1"
Nextindex1
'查询客观题题号信息
SQL="SelectsubjectID,answerfrom客观题信息表orderbysubjectID"
Setrst=SelectSQL(SQL,msg)
sum=rst.RecordCount'得到题库中题目总数量
'取10道客观题的随机序列号
Forindex1=1To10
'保证所有的序号不能重复存在
DoWhileTrue
Randomize'随机数种子
tempid=Int(Rnd()*(sum-1))+1
flag=True
Forindex2=1Toindex1
Iftempid=RandNo(index2)Then'如果取得序列号和前面的相同
flag=False
ExitFor
EndIf
Nextindex2
Ifflag=TrueThenExitDo
Loop
RandNo(index1)=tempid
Nextindex1
'对随机得到的序号进行排序
Forindex1=1To9
tempid=index1
Forindex2=index1+1To10
IfCInt(Trim(RandNo(index2))) tempid=index2 EndIf Nextindex2 temp=RandNo(index1) RandNo(index1)=RandNo(tempid) RandNo(tempid)=temp Nextindex1 …… ……(省略部分代码) Ifindex2>5ThenExitDo'插入过程完成 rst.MoveNext index1=index1+1 Loop rst.Close EndSub 2.考试定时功能的实现 考试是有一定时间限制的。 考生考试时,系统要能够随时提供所剩时间的信息,而VisualBasic中的Timer(时间)控制器就是专门解决这方便问题的控件。 在“考生考试”窗体上绘制一个Timer1控件。 Timer1_Timer事件的代码如下所示: PrivateSubTimer1_Timer() '计算时间 time=time+1 Iftime=60Then Label4.Caption=Val(Trim(Label4.Caption))-1 time=0 EndIf EndSub 3.MSChart控件的使用 MSChart控件,给图形统计和报表图形显示提供了很好的解决办法,同时支持Web和WinForm两种方式,包含英文版,中文版。 MSChart控件与一个数据网格(DataGrid对象)关联,该数据网格存放了要显示的数据,数据网格也可以包含用于图表中标识系列或类别的标签。 图表应用程序设计者在数据网格中插入数据或从报表或矩阵中输入数据. 在【成绩统计】窗体上绘制一个MSChart1控件,使用默认设置。 通过设置MSChart1控件的行值和列值可以实现成绩统计,其代码如下所示: PrivateSubCboQuery_Click() '成绩统计操作 DimrecordAsDouble Dimindex1AsInteger DimSS(1To4,1To2) DimNumber(1To4)AsInteger'保存各个等级分数的人数 Dimchart(1To4)AsString'保存图表的列名 DimsumAsDouble'保存所有参加考试的人总分数 DimstuAsInteger'保存参加考试的人数 '初始化数组 ForIndex=1To4 Number(Index)=0 NextIndex '为图表列值赋值 chart (1)="60分以下人数" chart (2)="60~75分人数" chart(3)="75~90分人数" chart(4)="90分以上人数" '为变量赋初值 sum=0 stu=0 '查询成绩信息 SQL="Select*from成绩信息表whereexamID='"&Trim(CboQuery.Text)&"'" Setrs=SelectSQL(SQL,msg) Ifrs.EOF=TrueThen MsgBox"信息出错",vbOKOnly+vbExclamation,"警告" ExitSub Else …… ……(省略部分代码) '绘制图表 ForIndex=1To4 SS(Index,1)=chart(Index) Forindex1=2To2 SS(Index,index1)=Number(Index) Nextindex1 NextIndex MSChart1.ChartData=SS EndSub 四、系统的设计实现 在进行了整体设计以后,就开始进行详细的设计及编码工作。 也就是设计文件和把他们有机地组织在一起实现所有功能。 根据系统概要设计,首先系统要有一个登录界面,用户可以从该界面登录参加考试。 管理员也应该有一个进入管理登录界面的通道。 进入开始考试界面,由计算机随机提取试题,显示出来组成试卷,并开始进行计时。 考生再次进行考试,答完试题后交卷,进入下一个界面。 考生提交答卷后,由计算机进行处理--判卷,得出考试分数,显示出来,并把该生考试记录存入数据库。 (一)主要窗口的设计及功能实现 1.用户登录窗口 登录时将检查用户类型,其用户类型包括考生、教师、管理人员。 如图4.1所示: 图4.1用户登录窗口 2.工作人员管理界面窗口,如图4.2所示: 图4.2工作人员管理界面窗口 3.考生考试管理界面窗口,如图4.3所示: 图4.3考生考试管理界面窗口 4.教师阅卷管理界面窗口,如图4.4所示: 图4.4教师阅卷管理界面窗口 5.公共模块 为了能够对数据库访问进行集中处理,需要创建一个专门访问数据库的公共模块Module,保存为funmain.bas。 其代码如下: PublicLoginSucceededAsBoolean'用户登录标志 PublicUserIDAsString'用户ID PublicUserStyleAsString'保存用户类型 PublicConnectionStringAsString'数据库连接字符串 PublicFunctionGetConnStr()AsString '得到数据库连接字符串,用户可以在此处设置连接字符串 ConnectionString="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=网络考试系统" GetConnStr=ConnectionString'设置数据库连接字符串 EndFunction PublicFunctionOpenConn(ByRefConnAsADODB.Connection)AsBoolean '打开数据库连接,连接成功返回true,出错时返回false SetConn=NewADODB.Connection '出错处理 OnErrorGoToErrorHandle Co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VB 网络 考试 系统