2024年5月30日发(作者:)

无纸化考试系统的设计与实现

摘要:在当今社会,网络教育作为构建开放的终身教育体系的一种十分重要

和行之有效的途径,越来越收到各方面的关注,并得到了极大的应用和发展。

网上考试系统,作为网络教育支持平台中十分重要的组成部分,为网络教育

教学反馈和质量评估的有效手段,同时也对传统考试提出了巨大的挑战。

本系统利用网络技术和数据库技术,开发了基于C/S结构的多用户在线

考试系统。该系统使用方便、操作简单,现阶段能实现多用户同时在线考试、

时间控制,试题录入及修改、试题共享、用户管理、成绩查询、辅助阅卷等

重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随

地考试并获得成绩。软件采用简洁的客户端服务器模式,脱离对外网的依赖,

在局域网内即可完成考试。以C语言和C++ 课程为例构建了两份试卷并实

现了网上考试系统的设计,该考试系统具有通用性,可以方便地推广到其他

课程。

关键字:网上考试系统;软件工程;组卷;C/S模式

I

目 录

1 绪论 ........................................................................................................................... 1

1.1课题研究背景 ................................................................................................. 1

1.2课题研究的意义 ............................................................................................. 2

2系统的理论基础及相关技术 ................................................................................. 3

2.1可行性分析 ..................................................................................................... 3

及MFC简介 ............................................................................... 4

3 系统的需求分析...................................................................................................... 7

3.1系统需求分析 ................................................................................................. 7

3.2系统开发环境 ................................................................................................. 9

4系统设计方案 ......................................................................................................... 10

4.1系统的体系结构 ........................................................................................... 10

4.2功能模块设计 ............................................................................................... 11

4.3系统数据库设计 ........................................................................................... 13

5 系统主要模块的设计与实现 .............................................................................. 15

5.1题库管理的实现 ........................................................................................... 15

5.2试卷生成功能的实现................................................................................... 16

5.3在线考试的实现 ........................................................................................... 17

5.4用户管理的实现 ........................................................................................... 23

5.5成绩查询功能实现 ....................................................................................... 24

5.6答卷的存储与读取 ....................................................................................... 27

5.7文件传输的实现 ........................................................................................... 28

II

6 系统界面设计 ........................................................................................................ 29

6.1服务端............................................................................................................ 29

6.2 客户端........................................................................................................... 31

7 总结 ......................................................................................................................... 31

参考文献..................................................................................................................... 33

III

1 绪论

1.1课题研究背景

随着Internet和计算机技术的高速发展,计算机和网络的应用已经普及到各行各业。尤其

在大,中专院校,校园网的建设已经逐步完善,大多数学生已经具备了利用网络工具进行信息

交流和辅助学习的能力。发展以互联网为主要手段的现代远程教育已经成为当今教育发展的趋

势。在国内,教育部提出实施“现代远程教育工程”,形成开放式教育网络,构建终身学习体系。

在我国,考试一直是学校教学活动中最重要的环节之一。然而,长期以来学校的各种考试

都是以纸,笔为介质的传统考试方式,就是到目前为止,许多学校包括我们所在的高校,都还

在广泛的使用这种考试方式。在传统考试方式下,组织一次考试要经过多个环节:教师出题,

印制试卷,学生考试,教师阅卷,统计成绩与评估和试卷分析等,消耗了大量的人力物力,并

且在阅卷,统分的工作中也非常容易出现人为的差错。而且,随着考试题型和考生数量的不断

增加以及考试要求的不断提高,组织考试的工作量越来越大,而且也越来越烦琐。可以说,在

计算机技术和网络技术日益发展成熟的今天,传统的考试方式已经很不适应现代考试的需要

了。将先进的计算机技术和网络技术应用于考试已经成为考试方式发展的必然趋势了。老师们

都非常盼望用一种新的方式来取代传统考试方式,以减轻教师的工作负担、提高工作效率,提

高考试质量,使考试更趋于客观、合理和公证,更有利于教与学。正是在这种背景下,设计并

开发一个功能完善的网络考试系统也就成为了我们迫切需要解决的问题。基于此,近几年来在

线考试系统一直是高校软件开发的热点。基于B/S模式和C/S模式的考试系统是一种新兴的考

试模式,它改变了传统的考试方式,可以客观、准确地评估人在某个知识领域的能力和水平,

极大的提高考试效率,将考试这样一项浩大的工程简单化、模式化、透明化。同传统意义上的

考试相比,无纸化考试系统是传统考试和考场的延伸,它可以利用网络的无限广阔空间,随时

- 1 -

随地的让学生进行练习、测试和考试,加上数据库技术的利用,大大简化了传统考试的过程,

提高了考试和评价质量。本系统基于C/S,实现的目标是轻量级,简单,可靠,以下是相关流

程:

(1)首先教师和管理员的界面是不一样的,管理员除了具有教师的权限外,还具有管理权限,

考试前,教师需要准备好试卷,一种是以前自己出的或其它教师出的题或将以前的试卷修改成

新的试卷,一种是利用向导制作试卷,由于直接在服务器上操作,不需要管理员的干涉。

(2)考试中,考生通过计算机连接到考试服务器上,教师在服务器端发放试卷,试卷以独立

文件的形式传回学生机,考试过程中所有考生的答案以独立文件的形式暂存在本地机,等提交

试卷后再传回服务器,在网络断开时拷贝至服务。

(3)考试结束后,由计算机自动阅卷结合教师在服务器阅卷,由教师查询。

1.2课题研究的意义

在计算机技术和网络技术日益发展成熟,并逐步渗^到社会生活各个领域的今天,各行各

业都发生了深刻的变革,计算机技术和网络技术已经被广泛地用于各行各业,学校也不例外,

传统的考试方式也面临着重大的变革,而利用网络考试系统进行考试则是一种先进的考试方

式,它有很多传统的考试方式所不具有的优越性。传统的考试方式下,多数学校的考试的工作

流程是教师出题、印制试卷,学生考试,教师圆卷、统计成绩与评估、试卷分析等,其中制卷、

阅卷、统计成绩的工作量非常大,而且也特别容易出错。尤其是随着高校学生的扩招,考生数

量大幅度增加,阅卷和成绩统计的工作将变得更加的烦琐。利用网络考试系统进行考试则不再

需要印刷试卷,可以节省大量的人力、物力和财力;课程考试题目在考前输入计算机,建成试

题库,利用网络考试系统对试题库进行科学的管理,为教师题目的保存、分类和检索提供了便

利,也为编制试卷提供了高效率和低成本的手段:考试试卷由试题库中的信息按照教师制定的

组卷策略自动生成,提高了出卷的效率,并避免了考试前试题信息的泄露;考试系统可以对历

2

次考试的结果进行统计分析,教师可以依据分析结果,根据实际情况,调整、更新试题,增强

试题库的生命力。使试题库能够更加准确的反映要考核的内容,增强出题的科学性和合理性:

采用标准化的客观型试题进行考试,网络考试系统可以直接对试卷进行评分,就不需要人工阅

卷,从而不但可以大量减轻任课教师烦琐的阅卷工作,还提高了阅卷的效率和准确度,避免了

人工判卷时经常出现的错判、漏判和分数计算错误等情况,使考试过程更加规范化;考试后每

个题目的分数存储在数据库中,利用数据库能方便地对数据进行统计、汇总、排序等操作,就

不再需要教师做毫无意义的统分工作了,教师也能从中了解考试的情况;考试试卷及考试成绩

保存在数据库中,为考生查询成绩提供了方便,也增加了考试的公开性与透明度。由此可见,

设计并开发一个功能完善的网络考试系统是非常有意义的。

2系统的理论基础及相关技术

2.1可行性分析

2.1.1技术可行性

(1)考试系统多年来主要的困扰是对试题多样性的处理,但随着软件技术的发展,这个问题

已经得到了彻底解决。本系统中能够处理的题型有:单选题、多选题、判断题、填空题、简答

题和论述题等,在本系统中简答题和论述题将统一为主观题,其它为客观题,客观题采用计算

机自动评分,这也是该系统与传统考试相比,所具有的一个优越性。这些题型涵盖了大部分科

目的考试题型,能满足考试的科学性和合理性要求。

(2)随着硬件技术的发展,试题库存贮数据量大和处理速度慢等因素已不再是主要考虑的问

题。本系统采用Microsoft SQL Server2000数据库,能提供超大型系统所需的数据库服务。

2.1.2经济可行性

传统考试组织起来比较复杂,其工作流程包括:教师出题、制卷、分配考场、考试、阅卷、

成绩统计、发成绩通知单等多个环节,这些环节需要耗费大量的人力、物力和财力。而利用网

3

络考试和管理系统组织考试,无需制卷、成绩统计和发成绩通知单等过程,可以节约大量的人

力、物力和财力。因此,使用网络考试和管理系统有显著的经济和社会效益。

2.1.3社会可行性

随着教学体制的改革,考试制度也将随之变革,采用无纸化的网上考试是今后考试的发展

趋势。现在,许多高校对于开发和应用网络考试系统给予了极大的重视,许多学校都有相应的

科研立项。因此,网络考试系统有着十分广阔的市场前景。

及MFC简介

2.3.1VC++.net简介

VC++是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用C++的一个开发平

台,VC++是Windows平台上的C++编程环境,VC作为一个主流的开发平台一直深受编程爱

好者的喜爱,VC++应用程序的开发主要有两种模式,一种是WIN API方式,另一种则是MFC

方式,传统的WIN API开发方式比较繁琐,而MFC则是对WIN API再次封装,所以MFC相

对于WIN API开发更具备效率优势,VC基于C,C++语言,主要由是MFC组成,是与系统联

系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,

几乎可说VC在 Windows平台无所不能。 最大缺点是开发效率不高。

2.3.2MFC简介

MFC,微软基础类(Microsoft Foundation Classes),实际上是微软提供的,用于在C++环境

下编写应用程序的一个框架和引擎,VC++是Windows下开发人员使用的专业C++ SDK(SDK,

Standard Software Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发

包,MFC作为与VC++血肉相连的部分(注意C++和VC++的区别:C++是一种程序设计语言,

是一种大家都承认的软件编制的通用规范,而VC++只是一个编译器,或者说是一种编译器+

源程序编辑器的IDE,WS,Platform,这跟Pascal和Delphi的关系一个道理,Pascal是Delphi

4

的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译,却不同于Basic语

言和VB的关系,Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB

新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个

IDE,又成长成一个新的程序设计语言),MFC同BC++集成的VCL一样是一个非外挂式的软

件包,类库,只不过MFC类是微软为VC++专配的本系统。

本系统采用Visual Studio 开发环境进行开发。

2.3.3MFC的特点与功能

MFC的本质就是一个包含了许多微软公司已经定义好的对象的类库,我们知道,虽然我

们要编写的程序在功能上是千差万别的,但从本质上来讲,都可以化归为用户界面的设计,对

文件的操作,多媒体的使用,数据库的访问等等一些最主要的方面。这一点正是微软提供MFC

类库最重要的原因,在这个类库中包含了一百多个程序开发过程中最常用到的对象。在进行程

序设计的时候,如果类库中的某个对象能完成所需要的功能,这时我们只要简单地调用已有对

象的方法就可以了。我们还可以利用面向对象技术中很重要的“继承”方法从类库中的已有对象

派生出我们自己的对象,这时派生出来的对象除了具有类库中的对象的特性和功能之外,还可

以由我们自己根据需要加上所需的特性和方法,产生一个更专门的,功能更为强大的对象。然,

你也可以在程序中创建全新的对象,并根据需要不断完善对象的功能。

正是由于MFC编程方法充分利用了面向对象技术的优点,它使得我们编程时极少需要关

心对象方法的实现细节,同时类库中的各种对象的强大功能足以完成我们程序中的绝大部分所

需功能,这使得应用程序中程序员所需要编写的代码大为减少,有力地保证了程序的良好的可

调试性。

最后要指出的是MFC类库在提供的对象的各种属性和方法都是经过谨慎的编写和严格的

测试,可靠性很高,这就保证了使用MFC类库不会影响程序的可靠性和正确性。

5

2.3.4VC数据库访问技术

VC提供了以下多种方法访问数据库:

(1)使用ODBC技术;

(2)使用OLEDB技术;

(3)使用数据绑定控件技术;

(4)使用DAO技术。

由于目前需要和数据量对数据处理的能力要求并不高,因此选择最常用的ODBC方式这种

方式主要用到两个类Cdatabase类,它继承自类Cobject类,Cdatabase对象表示到数据源的连

接,通过它可以操作数据源,数据源是位于一些数据库管理系统的的数据指定实例,第二类是

Crecordset类,它也派生自Cobject类,一个Crecordset类对象代表一个从数据源检索到的记录

集,被典型应用为两种方式:动态记录集或者快照集。

2.3.5 Socket套接字及文件传输

本系统用到的是VC的CAsyncSocket类, 该类在非常低的级别上封装 Windows Sockets

API,它的使用方法如下:

(1)创建套接字

创建一个 CAsyncSocket 对象并使用该对象创建基础 SOCKET 句柄。

CAsyncSocket sock;sock。Create( ); // Use the default parameters 或 CAsyncSocket* pSocket

= new CAsyncSocket;

int nPort = 27;

pSocket-> Create( nPort, SOCK_DGRAM );

(2)侦听与接受连接

如果套接字是客户端,则使用 CAsyncSocket::Connect 将此套接字对象连接到服务器套

6

接字。如果套接字是服务器,则将套接字设置为开始侦听(使用 CAsyncSocket::Listen)来自客

户端的连接尝试。接收到连接请求时,用 CAsyncSocket::Accept 接受该请求。

(3)发送和接收数据

使用Send(const void* lpBuf,int nBufLen,int nFlags = 0 )或int SendTo(const void* lpBuf,

int nBufLen,UINT nHostPort,LPCTSTR lpszHostAddress = NULL,int nFlags = 0发送数据,

使用int Receive(void* lpBuf,int nBufLen,int nFlags = 0 )或int ReceiveFrom(void* lpBuf,int

nBufLen,CString& rSocketAddress,UINT& rSocketPort,int nFlags = 0)接收数据

(4)关闭套接字

void Close( );

3 系统的需求分析

3.1系统需求分析

采用软件工程的思想对考试系统进行需求分析,分析系统综合要求和系统数据要求。在系

统综合要求中分析功能、性能、运行三个方面的要求;在系统数据要求中对考试系统主要功能

进行分析。在需求分析的基础上进行系统总体设计。

3.1.1系统功能需求

无纸化考试系统的基本功能是利用计算机和网络来组织考试。考试前,教师建立相关考试

科目的题库;考试时,教师从题库中选择试卷发放给学生用的客户端,学生在线答题;考试后,

学生可以通过查询成绩,系统能对考试情况进行统计与分析,对试卷的难度和信度进行评估。

为了实现这一目标,使本系统能够充分实现考试功能,顺利地完成每一次考试的流程,本系统

至少应该具有以下功能:

(1)系统能够对学生、教师、管理员的基本信息进行管理,以便在登录网络考试系统时,验

证用户的身份和为考生形成完整的考试信息档案;

7

(2)试题库中应包含多种类型的题型,如单选题、多选题、判断题、填空题、简答题和论述

题等。试卷能够共享,也能私有,能修改,删除;

(3)考生答题没有顺序限制,可以随便做任意一个题,交卷之前可对答案进行修改;

(4)考试完后,系统能够自动对考生的客观题部分进行评分,主观题部分则由阅卷教师阅卷

后将其成绩手工输入,最后计算机生成每个考生的成绩,并将结果入考生成绩数据库。

(5)系统能够实现对考生的考试成绩进行统计、对成绩和试卷进行查询的功能。

3.1.2系统性能需求

对于网上考试系统来说,可扩展性、安全性、可管理性是几个关键因素:

(1)可管理性。软件的可管理性是指可以方便地对系统进行管理,确保系统的正常运行管理

和运作,这是作为一个软件最基本的特征,主要涉及以下几个因素:维护系统服务及其服务正

常工作所需的基础结构、工具以及管理员和技术人员。无纸化考试系统要求所有操作除身份验

证发送试卷发送答卷外是独立的,不受网络影响

(2)安全性。安全性是指系统能够保护数据或基础结构避免受恶意攻击或者盗用。安全性是

通过为信息的机密性、完整性和可靠性提供充分的保护来预防风险。保障系统安全是任何系统

成功的基本要素。对于网上考试系统来说,题库、试卷、成绩三者的安全性是必需要加以考虑

的。

(3)可扩展性。可扩展性是指系统能保证可持续增长以满足用户的需求和业务复杂性要求。

系统为动态变化的模型,它们通常开始很小,但是随着需求的增长而呈指数级增长。这种增长

非常迅速,不仅表现在支持的用户数量上,而且表现在提供的用户服务的复杂性和集成性方面。

对于考试系统而言,这种扩展性就显得尤为重要,因为考试系统功能的完善是一个渐进的过程,

要根据学生的要求和技术的发展而不断改进。

3.1.3系统运行需求

8

无纸化考试系统应用环境的整体结构,基于C/S结构构建,在局域网内通过客户端器就能

登录考试。目前,整个考试系统服务器将在机房单的管理机上安装而每台学生用机上安装客户

端,客户端可以登录更改服务器地址,从而实现局域网等同外网。

3.2系统开发环境

3.2.1操作系统平台

本系统选用微软的Microsoft Windows2000 Server(Windows2000服务器版)作为网络服务器

操作系统平台,它具有稳定性、可靠性、安全性和可扩充性等优点,是一种同时具有改进性和

创新性的产品。操作系统的安全是Web最基本的,也是最重要的安全保证。系统要从安装、

配置和管理三个方面入手,对Windows2000 Server进行安全设计.

3.2.2开发工具

本系统采用+SQLserver 2000。

VS是window平台下软件开发的利器,几乎可开发各种应用程序,VS2005是微软在VS6

之后的又一版本,增加了.net框架和c#和更多集成功能,当然我们将用到的只是VS2005。SQL

Server 是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共

同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase

在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上,

专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操

作系统上的应用。SQL Server 2000,是Microsoft 公司推出的SQL Server 数据库管理系统的新

版本。该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能,具有

使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的

膝上型电脑,到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。

9

4 系统设计方案

4.1系统的体系结构

4.1.1常见的体系结构

(1)终端/主机体系结构

这是一种早期处理数据采用的模式,这种结构使得终端用户尽可能地共享资源,终端所需

做的是输入命令,显示结果。有关的一切数据处理都交给了主机去完成,这要求主机具有十分

高的性能,并且随着信息量的增加而不断更新。这种模式中,服务器存储所有数据。进行所有

运算,优点是资源得到充分的共享,缺点是用户界面单一,主机负载过大。

(2)客户机/服务器(C/S)体系结构

这种结构的出现最初是为了缓解前种模式中主机繁重的工作负担,将原来功能很强大的主

机退化成数据库服务器,同时转移原来主机的一部分工作到客户机上,显然这就增加了客户机

的要求。为了运用C/S这样的模式,就需要为客户端和服务器端分别安装相应的运用程序,即

所谓的两层结构。为了适应一些大型的结构复杂的系统应用,出现了三层结构的C/S结构模式,

它把两层结构中服务器部分和客户端部分的应用单独划出来,从而满足大型应用系统的要求。

此模式中,客户端应用程序常以图形用户界面(GUI)表现,易于生成和修改,界面友好,应用

服务器和数据库服务器位于不同的主机上,可扩充性好,能够适应客户机数目的增加和应用处

理负荷的变动,缺点在于每台机上需要安装客户端,但这样一种模式同样可满足移植性,即在

任何小型网络中都可进行无纸化考试,服务器客户端随时可以重新建立。

(3)浏览器/服务器(B/S)体系结构

在此种模式中,客户端的标准配置是浏览器,如IE、Netscape等;Web服务器成为应用处

理的标准配置,数据处理仍然由数据库服务器(DB Serve)完成。即为三层分布结构,有利于共

享,但对网络依赖性强。充分利用现有的浏览器软件,无需开发数据库前端。通过Web浏览

10

器访问数据库,不需要开发客户端程序,所有应用都是通过浏览器来实现的。界面统一,易用,

不用培训。所有的Web服务器与浏览器都遵循同样的标准,基于浏览器共享成为可能。用B/S

方式时,集中开发人员在服务器端进行开发、调试、维护,开发人员只需要面对服务器端的应

用程序,无需开发客户端程序,减少了工作量。又因为客户与服务器两部分功能划分比较清楚,

简化了程序设计的逻辑。服务器上所有的应用程序均可通过web浏览器在客户机上执行,可以

充分发挥开发人员的群体优势,应用软件的维护也相对简单。最大优点是跨平台支持,几乎在

各种操作系统上都有Web浏览器可供使用。为一个Web服务器书写的HTML文档,可以被所

有平台上的浏览器打开,实现了应用软件的跨平台操作,而且不需修改任何程序,缺点在于完

全依赖网络,没有网络就无法工作,无法对考试时行实时监控,可控性差,使用也很显然容易

造成试题泄漏,对重要考试显然是不可取的。

4.1.2本系统采用的体系结构

根据以上分析,本系统采用C/S结构模式,目标是实现一个轻量级的系统,大部分功能将

在服务器端实现,客户端惟一的功能是接收试卷,答题,交卷,其它一切工作由服务器完成地

简化了用户端的工作。服务器由应用程序服务器和数据库服务器组成,应用程序服务器与数据

库进行交互。

客户只与服务器进行网络通信,而服务既与客户端通信又与数据库进行访问。

4.2功能模块设计

按照需求分析和功能要求,把整个系统分为六个子系统:题库管理,试卷生成,在线考试,

成绩查询,用户管理,阅卷。

4.2.1题库管理功能

该子系统是对试题库资源进行维护、管理和修改的应用平台,它主要包括:

(1)以列表的形式简要地显示所有试卷信息;

11

(2)修改试卷,包括对每个题目内容答案和分值等的修改;

(3)使用他人创建的试卷。

4.2.2试卷生成功能

该子系统实现对考试相关新闻信息的总体管理,主要包括:

(1)选择题型和题目数及初步确定分值 ;

(2)具体设置每个题的分值,题目,答案;

(3)设置试卷类型和密码及考试时间,保存。

4.2.3在线考试功能

该子系统实现考生的网上考试过程,主要包括:

(1)考生登录:该子系统接受考生输入的个人身份信息,进行验证,允许合法考生进入考试

系统,进行考试;

(2)计时答卷:服务器发送开始指令后,客户端系统计时开始,考生进行答卷;

(3)试卷提交:包括考生在规定时间内主动提交试卷和考试时间己到,系统强迫提交试卷。

4.2.4成绩查询功能

该子系统实现考生的管理工作,主要包括:

(1)以学号查询考生成绩 ;

(2)以班级为单位查询成绩,可打印成绩 。

4.2.5用户管理功能

该子系统实现用户的总体管理,主要包括:

(1)教师信息管理:教师的增加,删除,修改。

(2)考生信息管理:考生的信息增加,删除,修改。

4.2.6阅卷功能

12

(1)选择答卷,自动批改客观题。

(2)由老师修改主观题,最后统计算总分,存入数据库。

4.3系统数据库设计

数据库系统的设计对于整个系统的优化实现是十分重要的,尤其对于网络考试系统,在出

题、提交时都必须考虑系统的响应时间,以最快的速度同数据库链接,并读取符合条件的记录

反馈到用户的相关界面中。

本系统采用Microsoft SQL Server2000数据库。SQL Serwr2000关系数据库引擎支持当今苛

刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发使用

修改数据库的用户的开销减到最小。SQLServer2000分布式查询使您得以引用来自不同数据源

的数据,就好像这些数据是SQL Server2000数据库的一部分,同时分布式事务支持充分保护任

何分布式数据更新的完整性。复制同样使得可以维护多个数据复本,同时确保单独的数据复本

保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所

做的修改合并回发给服务器。Microsoft SQL Server2000能提供超大型系统所需的数据库服务。

大型服务器可能有成千上万的用户同时连接到SQLServer2000实例。SQLServer2000为这些环

境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新

相同的数据。SQLServer2000还在多个用户之间有效地分配可用资源,比如内存、网络带宽和

磁盘I/O。超大型Internet站点可将其数据分开存放在多台服务器上,从而使处理负荷分散到多

台计算机上,使站点能为成千上万的并发用户提供服务。可以在一台计算机上运行多个SQL

Server2000实例。例如。一个为其它许多组织提供数据库服务的组织可为每个客户组织单独运

行一个SQL Server2000实例,而全部实例可集中在一台计算机上。这样,既隔开了每个客户组

织的数据,同时又使服务组织只需管理一台服务器计算机从而减少了费用。

4.3.1数据库概念结构设计

13

根据对数据的分析,可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为

后面的逻辑结构设计打下基础。根据系统功能,所需要的实体主要有:教师、考试题目、学生。

各实体之间最主要的E.R关系如图所示。

学生

图4(a)

试卷

命题

使

图4(b)

试卷编

选择题

成绩信

判断

创建日

填空

图4(c)

14

4.3.2数据库逻辑结构设计

数据库的逻辑结构设计是将数据的概念结构转化为SQL Server2000数据库系

统的实际模型,得到数据库的逻辑结构后,就可以在SQLServer2000数据库系统中

建立表结构。

5 系统主要模块的设计与实现

5.1题库管理的实现

5.1.1功能描述

题库管理的主要功能,列出当前所有试卷,供老师选择使用,程序内部由一个

链表来维护,这样的方便之处在于当用户使用他的建立的试卷时,只要输入密码就

能使用,此时,将很方便地将试卷信息添加到链表中随时可进行读写操作。

5.1.2程序流程图

程序流程图如6所示

图6 题库管理流程图

初始化:在数据库中搜索所有试卷及由当前用户命题的试卷,存储为链表。

15