基于VB的在线考试系统

基于VB的在线考试系统
基于VB的在线考试系统

芜湖职业技术学院毕业论文

题目:基于Visual Basic 的

在线考试系统

院系名称:信息工程系

专业班级:09级计算机应用2班学生姓名:张勇

学号:90401234

指导教师:陈万顺

2011年11月15日

摘要

随着网络的普及和对教育的重视,各院校各学科的网上考试都具有了必要的使用环境。但是,目前国内的一些网络教学系统的主要功能是教学,不能单独作为考试平台,通用性差,而且系统中对主观题的评阅多是采用人工评阅方式,没有实现真正意义上的自动评分。另一方面,我们所在院校的计算机基础课已开设了多年,但尚在沿用传统的考试形式或使用单机版的考试系统。网上考试系统的设计与实现就是基于上述目的开发设计的。

本系统采用C/S架构作为系统的总体结构,以数据库技术为依托,利用微软的ADO技术,实现了对数据库的访问和查询。该设计实现了随机抽题组卷、在线考试、题库管理。能够对客观题在线评分。学生用学号登录成功后,进入考试页面,完成考试后,自动给出考试成绩。

网上考试系统本身是一个很大的系统,尤其试题库部分需要许多人的参与以及大量的投入才能建成。该系统虽然仅仅是完成《计算机文化基础》和《操作系统》课程的考试,但却具有良好的实用性与通用性,提供友好的人机界面,具有较好的可扩充性和开放性。

关键词:在线考试,ADODC,Winscok

目次

第一章引言 (4)

1.1 开发背景 (4)

1.2 开发意义 (6)

第2章系统开发工具及开发平台 (7)

2.1 开发工具及平台 (7)

2.2 开发工具的简单介绍 (7)

第3章系统分析 (11)

3.1 系统及需求分析 (11)

3.2 系统功能简介 (13)

第4章系统总体设计 (16)

4.1 系统架构设计 (16)

4.2 系统功能模块划分 (17)

第5章数据库设计 (18)

5.1 总体设计 (18)

5.2 表设计 (19)

第6章系统功能详细设计及实现 (21)

6.1 数据库驱动连接部分 (21)

6.2试题抽取 (25)

6.3 网络通信 (27)

6.4 评分模块 (29)

第七章系统界面总览 (31)

7.1 服务器端 (31)

7.2 客户端部分 (34)

总结 (36)

致谢 (37)

第一章引言

1.1 开发背景

网络技术的发展使得考试的技术手段和载体发生了革命性的变化,网络的开放性、分布性的特点和基于计算机网络的巨大的计算能力使得考试突破了时间和空间的限制。与传统考试模式相比,在线考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,减小了人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度增加考试成绩的客观性和公正性。

传统的考试方式一般要经过人工出卷、考生考试、人工阅卷等过程。对于一些课程来说,随着考生数量的增加,教师出卷阅卷的工作量将会越来越大,并且其工作十分烦琐和非常容易出错。在线考试系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的建设,目的是充分利用学校现有的计算机软、硬件和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过网络来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化管理,可以有效

利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观性、公证性,自动化组卷、阅卷可以减轻教师的工作强度。传统考试要求老师出试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。在线考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。

本文以局域网网络为平台,研究了基于C/S架构考试系统的设计与开发,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了用户登录模块、在线考试模块、试卷管理模块、用户管理模块、成绩管理模块的设计。

1.2 开发意义

在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。基于C/S 技术的网络考试系统可以借助于遍布全球的网络平台进行,大大丰富了考试的灵活性。试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机阅卷,大大提高阅卷效率;还可以直接把成绩送到数据库中。所以现在较好的考试方法为网络考试,试题内容放在服务器上,考生通过姓名、准考证号码进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,采用网络考试方式将是以后考试发展的趋势。

近几年来,借鉴发达国家的成功经验,结合我国的实际情况,伴随着网络应用的不断扩大,远程教育和虚拟大学的出现,网络应用正不断深入人心。人们迫切要求利用网络技术进行在线考试,来提高了考试的质量,突出公正和客观性,减轻组织及保障工作的负担,提高工作效率。于是许多教育教学类的课程在线考试软件应运而生,高等学校,企事业单位也都纷纷组织研究此类应用的解决方案,并研制开发了大量的不同类型计算机在线考试软件,也推出了一批优秀的在线考试软件产品,比如全国计算机等级考试软件、职称计算机能力考试等等。有力的推动了我国网络化在线考试的发展水平,并积累了大量有价值的经验。

第2章系统开发工具及开发平台

2.1 开发工具及平台

本系统采用 VB 语言开发制作,用Visual Studio6.0和SQL SERVER 2000作为开发工具,用软件数据库理论设计数据库,SQL 语言进行数据库查询、插入、删除等操作,设计出能实现各个功能模块的应用程序(C/S)模式。

2.2 开发工具的简单介绍

2.2.1 Visual Basic 6.0

Visual Basic6.0 是由Microsoft公司推出的开发工具Visual Studio 6.0 套件中的一员、是近年来在国内外得到迅速推广应用的可视化程序设计语言,具有简单易学,功能强大,软件费用支出低,见效快等特点.它提供了开发Windows应用程序最迅速,最简捷的方法, 尤其适合Windows平台下的小型软件的开发与编写。

VB6.0所提供的开发环境与Windows 9x,Windows NT4.0

或Windows XP具有完全一致的界面,使用更方便,其代码效率已达到Visual C++的水平.在面向对象程序设计方面,6.0版的VB全面支持面向对象的程序设计,包括数据抽象,封装,对象与属性,类与成员,继承和多态等.

2.2.2 SQL Server2000

Microsoft SQL Server 2000是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS,Relational Database

Management System)。SQL Server 2000是为了支持高容量的事务处理以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在Microsoft Windows NT4或Microsoft Windows 2000 Server上--基于intel处理器的网络。可以把SQL Server 2000作为一种个人桌面数据库系统安装在运行Window NT Workstation 4、Windows 2000 Professional、Windows98和Windows Millennium Edition(Me)的机器上。可以使用相同的CD来安装任何一个SQL Server 2000的服务器版本或个人版本。

2.2.3 访问数据库:ADO

在数据库程序设计方面,使用ADO作为数据库存取的接口。ADO采用新颖的对象观念,专为https://www.360docs.net/doc/018941783.html,平台量身打造,采用离线存取模式,可供多人同时存取,特别适合在Internet环境中使用。https://www.360docs.net/doc/018941783.html,是微软新一代.NET数据库的存取结构,https://www.360docs.net/doc/018941783.html, 是数据库和数据源间沟通的桥梁,主要提供一个面向对象的数据存取架构,用来开发数据库应用程序。https://www.360docs.net/doc/018941783.html,具有下列优越性:

●https://www.360docs.net/doc/018941783.html, 是在.NET Framework上存取数据库的一组类库,它包含了.NET Data Provider(数据提供者)以进行数据库的连接与存取,通过https://www.360docs.net/doc/018941783.html,,数据库程序设计人员能够很轻松地使用各种对象,来存取符合自己需求的数据库内容。换句话说,https://www.360docs.net/doc/018941783.html, 定义了一个数据库存取的标准接口,让提供数据库管理系统的各个厂商可以根据此标准,开发相应的.NET Data Provider,如此编写数据库应用程序人员不必了解各类数据库底层运作的细节,只要学会https://www.360docs.net/doc/018941783.html,提供对象的架构,便可轻易地存取所有支持. NET Data Provider的数据库。

●https://www.360docs.net/doc/018941783.html,是应用程序和数据源之间沟通的桥梁。通过

https://www.360docs.net/doc/018941783.html,提供的对象,再配合SQL语法就可以存取数据库内的数据,而且凡是通过ODBC或OLEDB接口所能存取的数据库(如:Dbase、FoxPro、Excel、Access、SQL Server、Oracle等),也可通过https://www.360docs.net/doc/018941783.html, 对象来存取。

https://www.360docs.net/doc/018941783.html,可提高数据库的延展性。https://www.360docs.net/doc/018941783.html,可以将数据库内的数据以XML格式传送到客户端(Client)的Dataset对象中,此时客户端可以和数据库服务器联机,当客户端程序对数据进行新增、修改、删除等动作后,再和数据库服务器联机,将数据送回数据库服务器端完成更新的动作。如此一来就可以避免客户端和数据库服务器联机时,当客户端不对数据库服务器作任何动作时,却一直占用数据库服务器的资源。此种结构使得数据处理有相互连接的双层结构,朝多层结构发展,因而提高了数据库的延展性。

2.2.4 网络通信 Winsock

Winsock是Windows下网络变成的规范,是由Microsoft公司在BSD UNIX中流行的Socket接口为范例定义了一套Microsoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。使用Winsock的软件研发人员不需要了解网络知识,也不需要关心数据在网络上传送过程。需要的仅仅是初始化网络的通信方式和协议,通过Winsock提供的一系列属性方法即可完成高效率的网络数据传输。方便了软件开发的周期和难度。

本系统选用了SQL 数据库,它具有简单易学,操作方便的特性。如果需要,还可以稍加修改,将数据库与应用程序分离,采用客户端/服务器方式,将数据库放置到服务器端,此软件作为客户端应用程序,可对数据库进行联机存取。

第3章系统分析

3.1 系统及需求分析

3.1.1 系统需求通过调查,要求系统需要有以下功能:

(1)考试模块:考试在登录界面内选择不同的准考证号实现考生信息的识别,从服务器上获取试卷信息,完成

答卷并提交试卷.

(2)管理模块:可以维护学生的个人信息。可以增加,删除,修改试题及查看学生的成绩信息.能够抽取试题并

发送试卷到客户端,对客户端发送的试卷答案评分并

记录

3.1.2可行性分析

可行性分析是在系统调查的基础上,针对新系统的开发是否具有必要性和可

行性,对新系统的开发从技术、经济、社会的方面进行可行性分析和研究,以避免投资失误,保证新系统的开发成功。可行性分析的目的就是用最小的代价在尽可能短的时间内确定问题是否能解决。该系统的可行性分析包括如下几个内容:

(1)技术方面的可行性:它主要分析技术条件是否顺利完成开发工作,软硬件是否满足开发者的需要等。其中,软件方面在线考试需要的软件环境都已具备,数据库服务器方面则有SQL Server 2000,够处理大量数据,同时保持数据的完整性并提供许多高级管理功能,其灵活性、安全性、易用性为数据库编程提供

了良好的条件。

(2)经济方面的可行性:主要是对这项经济效益进行评价,本系统作为一个实验性的项目,无需开发经费并且这系统实施后可以显著提高考试效率,有助于学院实行网络管理化。

(3) 操作方面的可行性:目前,大学校园网络覆盖了教学区和学生区的主要建筑物,从而满足各学院、各职能部门、各直属单位上网要求,学校良好的网络设施为开发使用无纸化考试网络系统提供了坚实基础。

综上所述,此系统开发目标已经明确,在经济和技术等方面可行,并且投入少见效快。

3.2 系统功能简介

服务器端部

3.2.1 考号管理模块

考号理模块包括查看信息、更改信息、删除信息等操作。如图3-1所示。

考号管理

查询信息修改/删除查看成绩

图3-1 考号管理

3.22 题库管理部分

题库管理包括选择题管理,判断题管理。通过题库管理对各种类型的试题进行添加、删除、修改以及查询.各种类型试题的管理功能均类似,主要的操作有:添加试题、删除试题、修改试题和查看试题。如图3.2所示。

题库管理

选择题管理判断题管理

添加删

图3-2 题库管理

3.2.3 服务管理

服务管理主要是提供考试环境,包括:试题抽取,试卷发放,客户端监测以及对提交的试卷答案评分操作等。是整个考试系统的核心。

客户端部分

3.2.4 系统登录部分

考生输入自己的准考证号,发送给服务器。服务器端检查是否存在该考号及考试状态。然后决定是否进入考试界面.

3.2.5 考试界面模块

主要由题目显示部分。答题部分和答案显示部分。主要接收并显示从服务器上发送过来的题目。填入答案。提交给服务器评分。

第4章系统总体设计

4.1 系统架构设计

本系统采用VB应用程序的典型系统架构模式:数据库——数据访问接口——业务逻辑层。数据库是应用系统的基础,它保存系统中所有数据。数据接口层封装对数据库的操作,如创建数据库连接、打开数据库连接、执行存储过程和关闭数据库连接等。在本系统中,各个窗口(Form)通过数据接口层对数据库进行操作。整个系统架构如图4-1所示

窗口用户层

数据接口层

数据驱动层

数据库

图4-1系统架构

4.2 系统功能模块划分

从前面章节可以看出,本系统实现了完整的在线考试功能,可以根据这些功能设计出系统中的功能、模块。系统中的各个模块划分如图4.2所示:

图4-2 系统总体模块设计

在线考试系统

服务器部分 客户端部分

理 题库管理 考试管理 评分系统 登录系统 考试系统 答案记录

第5章数据库设计

5.1 总体设计

考虑到在线考试系统的实际需要,本系统需要的数据至少包括不同学生考号数据以及选择题数据、判断题数据等。

不同考生的用户数据主要包括考生准考证号,考生名名,成绩,是否考试等数据;试题数据主要包括试题号、试题题目、试题选项、参考答案等数据.

5.2 表设计

5.2.1 准考证号表KS_USER_NUMBER

KS_USER_NUMBER表包括学生信息数据,如准考证号、姓名、考试情况、考试成绩。表的字段说明如表5.1所示。

5-1 准考证号表

5.2.2 选择题数据表KS_XZT

KS_XZT包括选择题的信息,如题号、题目、选项、答案等,表的字段说明如表5-2所示

表5-2 选择题数据表

5.2.3 判断题数据表KS_PDT

KS_PDT包括判断题的信息,同KS_XZT表一样,包含了题号、选项、答案等.表的字段说明如表5-3所示

表5-3 判断题数据表

相关主题
相关文档
最新文档