1、 目 录中文摘要I英文摘要II 引言11.1课题的背景和提出11.2研究的目的和意义11.3国内外研究现状11.3.1国内研究现状11.3.2国外研究现状21.4关键问题21.5开发环境及人员分工情况21.5.1开发环境21.5.2人员分工情况32 系统需求分析52.1可行性分析52.1.1经济可行性52.1.2 技术可行性52.1.3时机可行性52.1.4 管理可行性52.1.5 用途可行性52.1.6安全可行性62.2 考试系统功能分析62.2.1考试策略62.2.2系统的数据流图72.2.3用户界面分析72.2.4系统安全性分析73 系统设计83.1设计思想83.2模块的划分与功能84
2、ACCESS数据库的建立104.1构建数据库解决方案104.2 设计考试系统数据库104.2.1数据表的建立104.2.2数据表的关系144.3 Access数据库的安全性155 系统的实现175.1计算机等级考试系统应用程序框架175.1.1服务端管理程序框架175.1.2 客户端考试程序框架175.1.3建立Visual Basic 和数据库的接口185.1.4 引用ADO库文件185.1.5建立数据库的连接185.1.6创建数据源195.2服务端主程序的建立195.2.1统一功能模块与主程序界面195.2.3系统锁定功能215.3实现考试和题库管理235.3.1实现考试管理模块235.3
3、.2实现题库的管理245.3.3生成考卷265.4考试系统客户端的建立265.4.1验证考生准考证号码265.4.3启动考试过程275.4.4题目显示285.4.6记录考生的题目答案和题目状态295.4.7提交试卷295.4.8实现实时计时功能295.4.9答案汇总显示305.4.10试卷的评阅与成绩计算306 结语32致谢33参考文献34致谢33参考文献34II计算机等级考试系统的设计和实现考试管理信息与计算科学专业一班 杨过 指导教师 郭靖摘要:本文以开发一个计算机等级考试系统为背景,介绍了考试方式的历史、现状以及使用Visual Basic6.0设计前台控制程序和用Access2003建
4、立后台数据库的概况。详细介绍了在计算机等级考试系统中,实现机式考试的功能模块的设计,包括本地服务系统中的考试管理和本地考试系统中的激活考试、随机生成试卷、答题系统、自动计时、自动阅卷、考试分析等。该系统通过权限控制,面向普通学生和考试管理员。通过改变传统的考试模式,利用在线式考试系统,可以节约考试成本,提高考试工作的效率。关键词:等级考试;Access数据库;Visual Basic6.0Design and ImplementationOf Computer Rank Examination SystemExamination ManagementMajor:Information and
5、Computing Science Class:1Author:Yang Guo Supervisor:GuoJingAbstract: This thesis introduces briefly the past and present ways of the CRE (Computer Rank Examination) System, the design of the foreground control program with Visual Basic 6.0 and the building of a background database with Access 2003,
6、the purpose of which is to develop a CRE system. Therefore, it describes the design of functional module for operational examination, which includes the examination management in local server system, activating test, random generating paper, answering system, automatic timing and paper-checking, exa
7、mination analysis, and so on. This system is applied to students and examination administrators by limiting the authority. It may help to reduce the cost and improve the efficiency by having the examination on line, not in the traditional way.Keyword: Rank Examination, Access2003, Visual Basic6.0200
8、2级信息与计算科学专业毕业论文 引言1.1课题的背景和提出在当今的信息社会中,学校与社会上的各种考试仍大都采用传统的纸质考试方式。在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。目前,计算机和网络应用在各行各业广泛应用,特别在高校,所以大多数学生也已经具备了利用网络进行交流和学习的能力。可是在教学这个环节上,对于传统的教学模式仍然过分依赖,而对于网络的开发和应用程度还远远不够。
9、注意到这一点,本人决定开发一个基于网络的计算机等级考试系统,希望充分利用现有的计算机和网络资源。1.2研究的目的和意义鉴于社会的客观需求,计算机等级考试系统将针对传统考试的弊端,更省时更省力更准确地测试考生计算机水平,并方便之后的阅卷,查分和试卷分析工作。考生通过登陆界面进行有效的身份验证登录,包括考号的输入。考生按要求在规定的时间内进行答题。当到达规定的时间后,系统将自动予以提交,且其答案和分数将被记入库中以供审核和查阅,并作为成绩评估和试卷分析的历史数据。另外,还可完全由计算机自动抽取试题库中的各类试题组成各种试卷,其内容会随着库中试题的改变而改变,不妨把它称之为实时的互动的试卷。用计算机
10、进行标准化考试,极大地减轻了出题者、应试者和试卷评阅者的劳动,也减轻了由于人为因素造成的错误。同时,计算机标准化考试,也使得考试更加公平、公正。1.3国内外研究现状1.3.1国内研究现状现阶段,学校与社会上的各种考试大都采用传统的纸质考试方式。在此方式下,组织一次考试至少要经过五个步骤,即出卷、考生考试、阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,人们迫切要求利用这些
11、技术来进行在线考试,以减轻教师的工作负担及提高工作效率,从而提高考试的质量,使考试更趋于公证、客观、激发学生的学习兴趣。理论方面,近几年来有较大发展,尤其在在线等级考试系统的建设理论方面有较大进展,技术也日渐成熟,目前国内有很多公司团体研究开发了基于Web的考试系统,基本上是传统教学中的考试向网络方向的迁移。虽然现在有一些基于Web的考试系统,但是计算机等级考试系统的研究却比较少。1.3.2国外研究现状 当今许多国家都十分注重计算机教育事业的发展,特别是在线考试系统的研究。在发达国家,在线考试系统已经趋于成熟,不仅学校运用计算机考试系统来测试评估学生的计算机水平,还有许多国际著名的计算机公司所
12、举办的各种认证考试绝大部分采用这种方式。例如,著名的Sylvan Promentic国际考试中心和VUE(虚拟大学)是实行计算机化考试的考试中心。目前流行的MCP(Microsoft Certified Professional),微软认证专家)系列考试、CCCP系列考试、HP-UX系列考试,以及熟悉的TOFEL、GRE等,都是通过上面提到的两个国际考试中心实行的“机考”。 1.4关键问题 (1)人机界面的设计和考试的管理(2)对数据库数据的操作控制(3)前台VB应用程序与后台Access数据库的关联1.5开发环境及人员分工情况1.5.1开发环境(1)选择Visual Basic6.0作为前台
13、开发工具Visual Basic6.0能够成为当今最流行的软件开发工具之一,是与其卓越的性能是分不开的,它汇集了Microsoft公司的技术精华,不仅全面使用了面向对象的技术,而且在编译技术也作了优化。与其它开发工具相比,Visual Basic6.0具有明显的优势:使用Basic6.0作为基础,开发难度低,开发工作量小。Visual Basic6.0开发环境十分友好,强大的可视化开发方式能够帮助用户轻松地开发出多种类型的应用程序。使用微软发行的编程软件能够提供与Windows操作系统的最大兼容性。微软公司开发的编程环境Visual Basic,不仅能够提供强大的图形支持,而且能够是应用程序与
14、硬件相对独立。WindowsAPI为实现应用程序提供了强大的扩展功能的支持。为用户提供了许多有用的调试和分析工具,能够帮助用户寻找错误和提高应用程序效率。拥有解释方式和编译方式两种运行方式,使得应用程序的调试更加方便、轻松。鉴于以上优点,选择了Visual Basic 6.0作为“计算机等级考试系统”项目的开发工具。(2)选择了Access2003建立后台数据库最新版本的Access2003除了保持原有的Access2002数据库的功能特性之外,在数据库的应用上进行了一定程度的扩张,支持更加灵活和智能的操作,并支持XML文档数据源进行处理。Access虽然是小型捉摸数据库管理系统,但是它提供的
15、数据库功能却非常强大,不仅包括了一般数据库管理系统中的SQL(Structure Query Language,结构化查询语言)语言查询,而且支持数据的完整性和约束(包括:主键约束和实体完整性、外键约束和参照完整性、CHICK约束、UNIQUE等)。虽然Access也并不是十全十美。但是对于小型企业和小型数据库而言,这些功能已经足够了。如果要追求那些复杂的数据库管理机制,还是应该使用大型、基于数据仓库技术的企业级数据库管理系统(如,Microsoft SQL Server和Oracle等)。现在Access2003已经成为了功能强大、操作简单的关系数据库管理软件,而且由于它集成在OfficeX
16、P组件中,更容易获得,只要安装OfficeXP,就可以在安装过程中选择安装Access2003了。1.5.2人员分工情况计算机等级考试系统的功能模块主要为本地服务系统、本地考试系统、远程查询系统三部分,每个主要功能模块下又具体分为若干个小模块,系统整体功能结构如图1.1所示。本人负责的考试系统主要是对本地服务系统中的考试管理和本地考试系统中激活考试、答题系统、自动计时、自动阅卷几个模块的设计。另一同学负责的考务系统主要是对本地服务系统中的考生管理、本地考试系统中的输出成绩单和远程查询系统的设计。考试系统本地考试系统激活考试答题系统自动计时自动阅卷输出成绩单本地服务系统考生管理注册考生禁用考生删
17、除考生修改考生信息考试管理增加科目删除科目禁用科目远程查询系统有效的考试项目考生信息考试成绩考试状态(正在考试的人数等)数)准考生号(管理员)某一天的考试进程修改科目信息增加题目删除科目修改题目禁用题目数据查询某一天的考试进程考生成绩准考证号图 1系统整体功能结构图2 系统需求分析2.1可行性分析可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。2.1
18、.1经济可行性经济可行性主要是对项目的经济效益进行评价。考试系统的设计作为一个毕业设计,无需开发经费,对于学院在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。2.1.2 技术可行性技术可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。考试系统的设计采用了当前较流行的Visual Basic6.0进行开发,而数据库服务器选用微软公司的Access2003数据库,它是功能强大、操作简单的关系数据库管理软件,它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬
19、件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。2.1.3时机可行性目前,大学的校园网路覆盖了教学区和学生区的主要建筑物,从而满足学院内各系,各职能部门,各直属单位上网需求。学校良好的网络设施为开发使用计算机等级考试系统提供了坚实的基础。2.1.4 管理可行性管理可行性主要是教务处管理人员大力支持,系领导认同,现有的管理制度和方法科学,规章制度齐全,原始数据正确等。规章制度和管理方法为系统的建设提供了制度保障。 2.1.5 用途可行性用途可行性主要是此考试系统的应用范围较广,并不局限于计算机等级考试,其它同类型考
20、试也可使用该系统。同时,在考试系统中,大量的工作是输入数据和选择答案,所以考试系统主要是通过键盘和鼠标进行人机交互,并不需要附加的交互方式。所以在用途上是可行的。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少,见效快,因此考试系统的开发是完全可行的。2.1.6安全可行性安全可行性主要是该系统对操作人员进行了权限设置。通过设置权限密码的形式,使拥有权限的人员才能对系统进行相关操作。Access2003对数据库的安全设置较简单,Visual Basic6.0也能实现密码功能的设计。所以该系统在安全性上是可行的。2.2 考试系统功能分析2.2.1考试策略考试系统主要是用Visu
21、al Basic和Access2003实现本地考试系统和本地服务系统中考试管理的设计。一个完整的计算机考试,要经过注册考生、注册考试、考试、取得成绩单等步骤。 考试流程如图2.1所示开始考生拥有准考证号号?号?已注册考试在指定时间开始考试?开始考试输出成绩单考试结束注册考生信息注册考试考试过期NNNYYYN 。图2考试流程图首先,考生要使用考试系统进行考试,就必须要进行考生注册。确认考生身份,考生会获得一个在整个考试系统中唯一的考试证号。接下来,考生要参加某一科目的考试时,必须提前注册。否则,考生不能参加考试。在规定的考试日期中,考生在考试系统上作答。系统会自动记录考生的考试时间,死机并不会影
22、响到考生的考试。当考生完成考试后,系统会自动对考生的试卷进行评阅,并且参照题库中的标准答案,为考生打分。最后,考试系统会向考生出示考试成绩单。从考试流程图2.1中可以看出,参加考试必须要在考试系统中拥有准考证号码,提前注册考试,而且在规定的时间内完成考试。2.2.2系统的数据流图数据流图,即DFD图(Data Flow Diagram),主要描述考生从激活考试到结束考试的数据流向,如图2.2所示。考生登陆抽题错误数据库答题题目考号答案阅卷数据库答案输出成绩数据库库图3数据流图2.2.3用户界面分析标准的Windows应用程序应该包括:标题栏、菜单栏、工具栏、状态栏、工作区域等部分。在考试系统中
23、,由于操作很简单,而且使用菜单和工具并不一定能提高操作的效率,所有在考试系统应用程序中,使用了最简单的基于对话框的窗口,并且使用简单的按钮完成功能的切换,界面虽然简单,但是它涵盖了考试系统的全部功能,操作非常方便。2.2.4系统安全性分析由于本系统采用Access2003进行数据库的制作,在安全性方面不如SQL,Oracle等大型数据库,但在访问时也可对访问权限进行设置,而且设置方便。同时由于本系统将采用 Visual Basic进行管理员密码的设计,所以说安全性方面还是有保障的。3 系统设计3.1设计思想考试系统的设计是以软机周期模型为基础来建立的。众所周知,既然是工业产品,都有其生命周期,
24、即要经过分析要求、设计、制造、测试、运行(此时需要不断的维护)等几个阶段。本系统的设计严格遵守软件周期模型,经历了可行性研究与计划阶段、需求分析阶段、设计阶段、编程阶段、测试阶段、运行阶段。3.2模块的划分与功能经过对计算机等级考试步骤的分析,计算机等级考试系统的模块将进行以下划分。考试系统的模块可以大体分为2个部分:本地服务端管理程序、本地客户端考试程序,其中每一部分都可以细分为多个模块,如图3.1所示。考试系统本地考试系统激活考试答题系统自动计时自动阅卷本地服务系统考试管理增加科目删除科目禁用科目修改科目信息增加题目删除科目修改题目禁用题目图4系统功能结构图(1)考试管理考试管理这个模块中
25、包括了增加、删除、修改考试科目、修改考试科目的状态,增加、删除、修改考试题目,修改考试题目的状态等几种功能。增加、删除、修改考试科目:用于维护考试系统中的考试科目信息,包括科目的名称、题目数量、考试时间、通过分数等。修改考试科目的状态:用于设置科目有效或无效的状态,当科目处于无效状态时,考生将不能注册这个科目的考试。增加、删除、修改考试题目:用于维护考试系统题库的信息。修改考试题目状态信息可以设置题目是否可以被选入考生的考卷。(2)激活考试激活考生实际上是将考生考试的状态设置为“正在考试”,并在开始考试前,向考生提示考试的相关信息。当考试被激活后,该考试的注册信息将不能被修改,更不能删除。(3
26、)答题系统答题系统将引导考生完成整个试卷,并记录考生的答案和题目的状态(是否完成、是否被标记)。在一般的标准化考试中,常见的题目包括:单项选择题、多项选择题、不定项选择题和填空题等。为了简便起见,该系统设计中将题目设置为:单项选择题、多项选择题和填空题三个类型。标记题目状态和传统考生中的“打标记”一样。如果考生对于某题目不确定,或者暂时不想回答这道题目,就可以为题目“作标记”。做过标记的题目会在答案汇总页面上突出显示出来。(4)自动计时自动计时将在考试开始后自动启动,用于在整个考试过程中提示考生考试时间,并在考试时间结束后自动中止考生的考试。在考试中途出现死机的情况时不会影响考生的考试。考试的
27、所有答案都会被实时地记录进时间库,同时,考生剩余的考试时间也会被记录进去。当考试的剩余时间小于15分钟时,屏幕上的计时钟会变为红色,以提示考生剩余的考试时间不多了。(5)自动阅卷自动阅卷功能将把考生的试卷与题库中的标准答案进行对比,并记录考生的考试成绩。4 Access数据库的建立4.1构建数据库解决方案数据库是依照某种数据模型组织起来并存放在存储器中的数据集合。这些数据为了多个应用程序服务,独立于具体的应用程序,数据库由数据库管理系统(DBMS,Data Base Manager system)统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统是一种系统软件,它的这样
28、功能是维护数据库并有效地访问数据库中的数据,对数据库的维护包括保持数据的完整性、一致性和安全性等几项内容。数据管理员负责创建、监控和维护整个数据库,是数据可以被任何有权使用数据库的人访问。4.2 设计考试系统数据库本考试系统使用一个Access数据库文件,文件名称为:考试.mdb。在使用Visual Basic时,需要建立数据库连接。在考试数据库系统中,所包含的数据应该包括考生的基本信息、所以考试科目的基本信息、全部题目的信息、考试注册考试的信息和考试状态、考试成绩以及考生的试卷。这样根据数据库存储的内容,建立多个数据库表。4.2.1数据表的建立(1)考生信息表(StudentInfo)考生信
29、息表用于存放考生的基本注册信息。它唯一确定了一名考生的身份,因此应该包括考生的准考证号码、姓名、性别、身份证号码等证明考生身份的信息。按照考试系统项目的需求分析。 在考生信息表中,包括了可以确定考试身份的全部信息(包括准考证号码、姓名、性别、身份证号码、联系电话、电子邮件),以及考生的当前状态(是否允许考生注册考试)。另外,还需要建立一个字段(SNum),这个字段用于记录考生已经注册,但是还没有完成考试的考试数目。设置这个字段是为了维护表的完整性。比如,如果考生已经注册了一个科目的考试,但是还没有进行考试。假如这时删除了用户就会在考生考试的过程中和成绩单输出的工程中出现无法找到考生姓名的错误。
30、设置这个字段,就可以避免这个问题,当此字段的值不为0,说明考生还有没有完成的考试,这时删除考生的操作就不好进行。在考生信息表中,同一个准考证号码只能对应一个考生,也就是,准考证号码时唯一的,把它标记为主键。考生信息结构图如图4.1所示。图5考生信息结构图(2)考试科目表(ExamInfo)考试科目表记录了考试系统中可以进行的所以科目信息。一个考试科目应该包括考试的名称、时间、题目的数量等信息,为了增加考试系统的兼容性,还设计了总分数和通过分数两个字段。初次之外,在考试科目表中,可以使用一个7位长的考试科目号用于唯一确定一个科目的考试,所以把考试科目号码作为主键。在考试科目表中的ENum字段也是
31、为了维护数据库的完整性而设置的。在删除表中的数据时,只有此字段为0时才能进行。另外,在这个表结构中,虽然从下表看都是数字型,但是实际上是长整型,单精度,整型。考试科目表结构图如图4.2所示。图6考试科目表结构图(3)考生注册信息表(RegInfo)按照考试系统的分析,一个考生在参加考试前必须进行注册。注册的作用是生成考生的试卷并确定考试的日期。考试注册信息表中,包括考生的准考证号码、注册日期、考试日期、考试科目号、考卷编号等信息。这里把考生准考证号码作为主键。特别地,为了避免同一个考试试卷号码在多个考试终端上参加考试,还增加了考试状态字段,该字段描述了考生当前的考试状态。当考生成功地注册了一个
32、考试后,此值会自动设置0;而当考生完成考试时(不论是否通过考试),此值会置1;此值为2时说明考生进行这个科目的考试;如果考试没有在考试日期指定的时间内考试,此值为4;在考试注册信息表中,由于在进行注册信息查询时,很少会根据试卷编号(试卷编号唯一确定时)查询,所以它没有设置主键。这个表无主键。使用试卷编号可以确定考试的注册信息,它的生成规则是:Exam_准考证号码_科目编号_考试日期上面的斜体字的部分将在程序运行时,以实际的编号代替。考试注册信息表结构如图4.3所示。图7考试注册信息表结构图(4)系统信息表(SysInfo)系统信息表用于存放一些维持系统正常运行的所必须的数据,比如管理员密码、当
33、前考试的人数等,系统信息表结构如图4.4所示。 图8系统信息表结构图系统信息表只有在管理操作时才会访问,所以的数据的查找速度没有要求。在设计这个表时,没有设置主键。(5)题库表(Quention)题库表,顾名思义是存放全部考试题目的地方。在题库表中,应该包括考试的题目编号、题目、标准答案、类型等信息,题库表结构如图4.5所示。 图9题库结构图表中的QNum字段和前面一样,都是为了维护数据库完整性而设置的。在生成考生试卷时,如果该考生使用了这道题目,这个字段的值就会加1。也就是说,它存放了这道题目的人数,只有当此值为0时,才能删除这道考试题目。另外,题库表通过QID字段唯一确定考试题目,所以这个
34、字段将作为题库表的主键。考试题目编号的前7位表示这个题目归属哪个考试题目,剩下的10位记录题目的标号,通过这17字符长度的字段就可以判断这道题目是哪个科目的哪道题目。(6)考卷表(Paper)考卷表是在考生完成考试注册后,记录考生的考卷题目的表。在这个表中,通过试卷编号可以确定一个考试注册项目,题目的ID号用于记录考生应该回答的问题,考生的答案用于考生的答案,考卷表结构如图4.6所示。图10考卷表结构图这个表没有一个字段可以唯一确定一条记录,所以也不需要设置主键。为了方便考生作答,在考试界面中增加了“标记”按钮,考生可以对某一道题目进行标记(仅仅是为了醒目),系统也会自动判断考生的答案是否完整
35、。这两个记录标记就使用QMarked和QFinished表示。创建过程是:首先启动AccessXP,选择“开始”“程序”“Microsoft Access”选项,这时就进入了Access XP 的工作界面。在Access工作界面右侧的任务窗格中直接单击“空数据库”项目,这时Access XP中会出现“文件新建数据库”对话框,输入数据库文件的名称,然后单击“创建”按钮。这时,AccessXP工作界面中就会出现数据库工作窗口,这样,数据库文件就创建完成了,接下来创建各个数据库表。这里只以创建考生信息表为例。在鼠标双击数据库窗口中的“使用设计器创建表”项目,Access XP会出现新建表的窗口,依次
36、输入考生信息表的结构:在字段名称列的第一行输入“SID”;用鼠标单击第一行的数据类型,这时,数据类型中出现“文本”字样。单击“文本”右侧的下拉按钮,Access XP 弹出数据类型列表,可以从这个列表中选择相应的数据类型,对于这个字段也可以不选择。在字段属性部分单击“字段大小”右侧的输入框,清除原来的50,输入新的长度10。按同样的方法,依次输入所有的字段,并设置相关属性。需要说明的是:数字类型按字段长度还分为:整型,长整型和单精度数据类型。设置主键是用鼠标右键单击字段列表中的SID行,在出现的菜单中选择“主键”选项。这样,在字段列表中的SID行面前会出现一个钥匙的图标,表示这个地段是主键。单
37、击保存按钮,在出现的“另存为”对话框中,输入表的名称“StudentInfo”,然后单击“确定”。按同样的方法,就可以建立其它表。6个表创建完的界面如图4.7所示。图11数据表图4.2.2数据表的关系关系(Relationship)描述了数据库中各个表之间的连带关系和一一对应关系。在上面设计的数据库的各个表中,每一个表都记录了一个特定的内容范围,但是这些内容之间也是有关联的。比如注册信息表(RegInfo)中记录的考生信息,要通过SID字段道相应的考生信息表(StudentInfo)中查找;而科目信息又要通过EID到考试科目信息表(ExamInfo)中查找,这些相互依赖的关联就叫做关系。在设计
38、的考试系统数据库中,除了系统信息表(SysInfo)外,其它的各个表之间都是有联系的,这些表之间就是靠关系来描述它们的联系的,如4.8所示。图中用线画出了这些关系,用线连接在一起的两个字段就是相互关联的字段。创建关系的过程为:单击工具栏上的关系按钮,这时Access XP会出现编辑关系对话框。同时Access XP还会显示“显示表”窗口,用于向关系视图中添加要创建关系的表。图12数据关系表选择“表”选项卡,在其列表中选择第一个表,然后单击“添加”按钮,重复执行这个过程,直到所有的表都添加到“关系”窗口中。再单击“显示表”窗口中的“关闭”按钮。这时会在“关系”窗口中看到所有已经添加的表。接下来,
39、将这些表稍加布局,可以看到关系的窗口。Access XP会自动根据主键创建一些默认关系,这时可以用鼠标单击每一条关系线,然后按键盘上的“Delete”键,Access XP会询问用法是否确定删除,单击是即可。接下来就要创建的是需要的关系了,首先用鼠标左键按住StudentInfo表中的SID字段,拖动到RegInfo表中的SID字段上面,释放鼠标按键。这时Access XP中会出现“编辑关系”窗口。单击“编辑关系”窗口中的“创建”按钮即可创建一个关系。按照同样的方法创建其它关系。4.3 Access数据库的安全性 添加需要字段:首先在数据窗口中双击“SysInfo”表,这时Access XP会
40、弹出标题为“SysInfo”的窗口。在这个表中,创建的3个字段就列在表的第一行中,依次输入需要的数据,如图4.9所示。图13系统信息表结构在输入的这些数据中,可以看出,每一行就是一条Access记录,其中Password是保存的管理员密码,ENum就是当前参加考试的人数。然后关闭这个窗口,Access XP会自动保存输入的数据。对数据库安全的考虑:本系统使用了Access自身的加密功能对数据库的存取进行限制.具体方法如下:选择“工具”“安全”“设置数据库密码”。在出现的“设置数据库密码”窗口中输入密码,然后在“验证”文本框中重复输入一遍密码,最有单击“确定”。其实,Access也支持多用户管理
41、,选择“工具”“安全”“用户与组帐户”可以设置用户和组的信息。在“用户与组帐户”对话框中,可以建立、删除、管理用户和组,并且可以更改用户和登陆密码。而使用“工具”“安全”“用户与组权限”选项,就可以设置用户和组权限了。在“用户与组权限”对话框中,读者可以为已经建立的用户和组设置权限了,这些权限包括:是否允许插入、删除、修改、更新、读取数据,是否允许管理数据库等。通过这些权限的设置,可以显示出使用数据库和访问数据库的一部分人。5 系统的实现5.1计算机等级考试系统应用程序框架5.1.1服务端管理程序框架(1)创建工程首先选择了“开始”“程序”“Microsoft Visual Basic 6.0
42、中文版”选项,进入Visual Basic 的集成开发环境。Visual Basic 会自动弹出一个“新建工程”对话框。这个对话框用于简化新建和打开工程的操作。选择了对话框下方的“不再显示这个对话框”复选框。开发环境中是空的,没有任何内容。选择“文件”“新建工程”,这时Visual Basic就会弹出“新建工程”对话框。在这个对话框中选择“标准EXE”选项,然后点击“确定”按钮,就创建了一个新的Visual Basic 工程。(2)命名工程 选择开发环境右侧工程管理窗口,选择其中的“工程1(工程1)”选项,然后在下面“属性”窗口中输入“vbpExamServer”。 比较好的命名方法,是使用一
43、套标准、在整个开发过程中都遵循的命名方案。所以本系统中使用“类型名对象名称“的方式命名文件和控件。举例来说,对于VisualBasic开发应用程序时,采用vbpExamServer,其中vbp表示这是一个Visual Basic 工程(Visual Basic Project),ExamServer表示是考试系统服务端程序。(3)命名主窗体在新的工程中,Visual Basic会自动建立一个窗体,并命名为Form1。在Visual Basic 开发环境右侧“属性”口中单击“(名称)”目,然后输入“frmMain”。这样,一个基本的工程就创建完成了。这个工作实际上是创建了两个文件:一个Visua
44、l Basic工程文件,另一个是窗体文件。5.1.2 客户端考试程序框架(1)创建客户端工程在刚才建立工程基础上,在选择“文件”“新建工程”选项,在“新建工程”中选择“标准EXE”选项,最后单击“确定”按钮。 这时Visual Basic会在工程管理窗口中添加一个名为“工程1”的工程,这个新工程会与之前建立的服务端工程并列在工程管理器窗口中。(2)命名工程和窗体与之前的操作方式相同,将刚刚添加的工程命名为“vbpExmaClient”,将窗口文件命名为“frmMain”。这样,客户端的程序框架也就创建完成了。5.1.3建立Visual Basic 和数据库的接口为了方便用户大量地访问数据库,本
45、人使用了ADO(Active Data Object,Active数据对象)数据访问技术。在Visual Basic中,可以通过很多方式连接数据库,比较常用的包括:DAO(Data Access Object,数据访问对象) 、ADO、数据控件和ODBC API。本人使用ADO,因为它使Microsoft公司开发的新的数据库访问方式,具有很多新的特性,并且程序的编写也比较简单。5.1.4 引用ADO库文件ADO库在默认情况下,是不加载到 Visual Basic工程中的,所以手动增加了这个库。选择“工程”“引用”选用,这时Visual Basic会弹出“引用”对话框,选中“Microsoft
46、Active Data Object2.1Library”选项前面的复选框,然后单击“确定”按钮。由于库文件只会加载到当前的工程中,所以另外一个工程中也增加这个库文件。5.1.5建立数据库的连接用鼠标右键单击工程管理器窗口中的“vbpExamServer”项目,然后选择“添加”“添加模块”选项,在出现的“添加模块”窗口中选择“模块”选项,并单击“打开”按钮。在工程管理器窗口中选择这个模块,参照前面的方法,在属性窗口中,将它的“名称”属性修改为“DeclarVir:”。在模块的代码窗口中,输入下面代码:Global onExam As New ADODB.ConnectionDim IsLocked As Boolean用同样的方法再建立一个模块,命名为“GlobalFunction”。在这个模块的代码编辑窗体中,输入下面的代码:Sub InitProgrm() 初始化系统 打开数据库连接,设置初始变量
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922