毕业设计(论文)VB计算机等级考试模拟软件(二级VB).doc

上传人:文库蛋蛋多 文档编号:3977198 上传时间:2023-03-30 格式:DOC 页数:26 大小:113.50KB
返回 下载 相关 举报
毕业设计(论文)VB计算机等级考试模拟软件(二级VB).doc_第1页
第1页 / 共26页
毕业设计(论文)VB计算机等级考试模拟软件(二级VB).doc_第2页
第2页 / 共26页
毕业设计(论文)VB计算机等级考试模拟软件(二级VB).doc_第3页
第3页 / 共26页
毕业设计(论文)VB计算机等级考试模拟软件(二级VB).doc_第4页
第4页 / 共26页
毕业设计(论文)VB计算机等级考试模拟软件(二级VB).doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《毕业设计(论文)VB计算机等级考试模拟软件(二级VB).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)VB计算机等级考试模拟软件(二级VB).doc(26页珍藏版)》请在三一办公上搜索。

1、计算机等级考试模拟软件(二级)摘要:针对全国计算机等级考试特点,结合计算机语言教学,为帮助学生备考和适应新的考试环境,协助教师教学,开发了此软件。本软件主要是根据全国(二级)C语言考试的要求,结合各个考点的实际情况,成功将笔试和机试整合在一个系统,实现考试的统一考试和智能化改卷,方便考生练习。本软件以VB为设计工具,并结合ACCESS语言。关键词:考试模拟软件;VB; ACCESS;考试考试目 录第一章引 言2第二章 开发工具的选择和介绍32.1 可视化编程42.2 面向对象的程序设计42.3结构化程序设计语言52.4事件驱动编程机制52.5访问数据库52.6对象的链接与嵌入(OLE)62.7

2、动态链接库(DLL)6第三章 可行性分析63.1 技术可行性分析73.2 经济可行性分析73.3 操作的可行性83.4 成本-效益分析83.5 数据库技术83.5.1 数据库模型93.5.2 数据库体系结构123.5.3 数据的独立性123.5.4 范式133.6 access 简介14第四章 系统功能分析154.1系统概述154.2系统功能分析164.3系统功能设计164.4系统数据库设计164.5软件环境17第五章 主要模块功能及程序设计185.1登陆模块设计185.2笔试部分模块设计185.2.1随机抽题的设计185.2.2固定抽题设计195.2.3选择题模块设计205.2.4续空题模决

3、设计205.2.5显示评分界面设计215.3机试部分设计22结束语23参考文献24致 谢25第一章 引 言随着计算机技术的不断发展,全国计算机等级考试随着计算机技术的发展与时俱进,从2005年开始,计算机等级考试平台全部升级改为Window 2000操作系统,取消DOS部分。针对全国计算机等级考试特点,结合计算机语言课程教学,为帮助学生备考和适应上机考试环境,协助教师教学,基于以上情况的需要,开发了C语言考试系统。本软件主要是根据全国二级C语言考试的要求,结合各个考点的实际情况,实现考试的统一考试,智能化而进行编写的,并成功将笔试和机试整合在一个系统,方便考生练习。本软件利用了VB为设计平台,

4、结合ACESS语言,根据实际的考试需要将系统分为笔试和机试两个大的部分。笔试部分又分为选择题和填空题两部分,为考生提供了方便的操作界面;机试部分将所有的操作功能整合在一个界面中,打破传统的DOS操作界面,更利于考生的答题。第二章 开发工具的选择和介绍针对目前世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合排课系统的需要和目前的硬件环境,我们选用微软WINDOWS平台下的Visual Basic 6.0(简写为VB6.0)作为软件开发工具和Microsoft Office Access 2002数据库进行连接。作为数据库系统的开发,Visual Basic是一个非常理想选择。Visua

5、l Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,Visual Bas

6、ic具有以下特点:2.1 可视化编程用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实

7、现程序功能的那部分代码,从而可以大大提高程序设计的效率。2.2 面向对象的程序设计4.0版 以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。

8、2.3结构化程序设计语言Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下

9、运行。2.4事件驱动编程机制Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。2.5访问数据库Visual Basic具有强大的

10、数据库考试功能,利用数据控件和数据库考试窗口,可以直接建立或处理SQL Server 2000数据库,并提供了强大的数据存储功能。Visual Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库。2.6对象的链接与嵌入(OLE)对象的链接与嵌入(OLE)将每个应用程序都看作是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的

11、集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。2.7动态链接库(DLL)Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C+或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调

12、用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。第三章 可行性分析可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。3.1 技术可行性分析数据库是指自描述的完整记录的集合。数据库技术在20世纪60年代中期产生,它的出现使信息系统的研制从以加工数据的程序为中心转变为以共享数据库为中心来进行。数据库开始是在大公

13、司或机构中进行大规模数据处理后来随着计算机的逐渐普及,数据库才应用到计算机上。数据库发展的到今天,已经是相当成熟的阶段,它对大量数据处理能力的不断提高,发展和完善。本系统在技术上是通过基于本地机的数据库,在技术上是可行的。利用VB技术开发本应用程序,可以降低对机器的需求。VB可以封装大部分逻辑代码,可以做到最大代码重用。数据库使用ACCESS,该数据库可以在Windows下运行,支持SQL 语句,同时是具有本地体系结构的关系型数据库考试系统。3.2 经济可行性分析近几年,计算机技术的发展和计算机办公自动化的普及和应用,学校计算机的应用也有了较大的提高。计算机也都成为考试考试工作中的重要设备,每

14、个单位、每个部门都有不同程度的计算机应用。在硬件方面,无需单独购买计算机,只需利用目前已有的奔腾、奔腾的计算机即可,并附有打印机等附件。所以从硬件方面上完全可行。根据用户的要求,分析其特点,在经济上本项目是可行的,采集,编辑,发布,人员不需要专业的编程知识就可以快速高效地发布题库信息。这样加快了信息发布速度,减少了人力的开销,缩短了从采集到发布的时间周期,从而提高了服务的质量,而且由于考试周期缩短和人力开销的减少,可以在学校信息化中获得更多的好处。在软件上,由于考试工作不同于其它行业的考试工作,考试软件在市场上没有专业的考试软件;找软件开发公司单独开发软件所需费用又太高,至少需要几千元,并且实

15、用性不强,日后的维护升级等问题也不易解决。而由我们自己研究开发一套适合学校实际需要的考试软件,即可节约资金,也便于日常维护、备份和系统升级。考试系统并不需要特别高的配置,编写考试信息系统的软件在市面上也十分便宜。因此,我们认为它的制作在经济上是可行的。我国加入WTO后,面对高度信息化、全球化和考试现代化的国际竞争,中国如何应用信息技术促进考试创新,以考试创新促进实施信息现代化的战略,深化改革和实现考试水平跨越式发展,提高服务水平和服务质量,增强的竞争力,已成为一个不容回避、亟待研究解决的重大课题。3.3 操作的可行性现代计算机软硬件的发展使得本系统具有良好的操作界面,简单直接的操作界面,具有较

16、强的人机对话能力,支持多种汉字输入方式,其适应性强,显示内容简单明了,使操作者不必具有较高高的计算机专业知识,也不必进行专门培训,稍一接触就可以上手进行所有操作。3.4 成本-效益分析成本效益分析的目的是从经济角度评价开发一个新的软件项目是否可行。成本-效益分析首先是估算将要开发的系统开发成本,然后与可能取得效益进行对比和权衡。显然本系统开发代价不大,而且大大的提高了工作的效率。成本绝对的能在最短的时间内收回。3.5 数据库技术从文件系统发展到数据库系统是信息处理领域的一个重大变化。在文件系统阶段,人们关注的中心问题是系统功能的设计,因而程序设计处于主导地位,数据只起着服从程序需要的作用。在数

17、据库方式下,信息处理观念已为新体系所取代,数据占据了中心位置。数据结构的设计成为信息系统首先关心的问题,而利用这些数据的应用程序设计则退居到以既定的数据结构为基础的外围地位。目前世界上已有数百万个数据库系统在运行,其应用已经深入到人类社会生活的各个领域,从企业管理、银行业务、资源分配、经济预测一直到信息检索、档案管理、普查统计等。并在通信网络基础上,建立了许多国际性的联机检索系统。我国20世纪90年代初在全国范围内装备了12个以数据库技术为基础的大型计算机系统,这些系分布在邮电、计委、银行、电力、铁路、气象、民航、情报、公安、军事、航天和财税等行业。数据库技术还在不断的发展,并且不断地与其它计

18、算机技术相互渗透。数据库技术与网络通信技术相结合,产生了分布式数据库系统。数据库技术与面向对象技术相结合,产生了面向对象数据库系统。在数据库技术中有四个名词,其概念应该分清。(1)数据库(database,db):db是统一管理的相关数据的集合。db能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。(2)数据库管理系统(database management system,dbms):dbms是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问db的方法,包括db的建立、查询、更新及各种数据控制。dbms总是基于某种数据模型,可以分为层次型、网状型、关系

19、型和面向对象型dbms。(3)数据库系统(database system,dbs):dbs是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。(4)数据库技术:这是一门研究数据库的结构、存储、管理和使用的软件学科。数据库技术是操作系统的文件系统基础上发展起来的。而dbms本身要在操作系统的支持下才能工作。数据库不仅用到数据结构的知识,而且丰富了数据结构的内容。在关系数据库中要用到集合论、数理逻辑的理论。因此,数据库技术是一门综合性较强的学科。3.5.1 数据库模型从20世纪50年代中期开始,计算机的应用由科学研究部门逐步

20、扩展到企业、行政部门。至60年代,数据处理成为计算机的主要应用。数据库技术作为数据管理技术,是计算机软件领域的一个重要分支,产生于60年代末。现已形成相当规模的理论体系和实用技术。模型是对现实世界的抽象。在数据库技术中,我们用模型的概念描述数据库的结构与语义,对现实世界进行抽象,表示实体类型及实体间联系的模型称为“数据模型” 。目前广泛作用的数据模型可分为两种类型。一种是独立于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构,这类模型称为“概念数据模型” 。要领模型用于建立信息世界的数据模型,强调其语义表达功能,应该概念简单、清晰,易于用户理解,它是现实

21、世界的第一层抽象,是用户和数据库设计人员之间进行交流的工具。这一其中著名的模型是“实体联系模型” 。另一种数据模型是直接面向数据库的逻辑结构,它是现实世界的第二层抽象。 这类模型涉及到计算机系统和数据库管理系统,又称为“结构数据模型” 。例如,层次、网状、关系、面向对象等模型。这类模型有严格的形式化定义,以便于在计算机系统中实现。(1)层次模型。用树型结构表示实体类型及实体间联系的数据模型。树的结点是记录类型,每个非根结点有且只有一个父结点。上一层记录类型和下一层记录类型间联系是1n联系。层次模型的特点是记录之间的联系通过指针实现,查询效率较高。但层次模型有两个缺点:一是只能表示1n联系,虽然

22、有多种辅助手段实现了mn联系,但都较复杂,用户不易掌握,二是由于树型结构层次顺序的严格和复杂,引起数据的查询和更新操作也很复杂,因此,编写应用程序也很复杂。(2)网状模型。用有向图结构表示实体类型及实体间联系的数据模型。1969年dbtg报告提出的数据模型是网状模型的主要代表。有向图中的结点是记录类型,有向边表示从箭尾一端的记录类型到箭头一端的记录类型间联系是1n联系。网状模型的特点:记录之间联系通过指针实现,mn联系也容易实现(每个mn联系可拆成两个1n联系),查询效率较高。网状模型的缺点是编写应用程序比较复杂,程序员必须熟悉数据库的逻辑结构。 由于层次系统和网状系统的应用程序编制比较复杂,

23、因此,从20世纪80年代中期起,其市场已被关系系统所取代。但是使用这两种模型建立起的许多数据库仍然在正常运转,只是在外层加了个关系数据库语言的接口。网状模型有许多成功的产品,20世纪70年代的产品大部分网状系统,例如,honeywell公司的ids/、hp公司的image/3000、burroughs公司的dms、umivac公司的dms1100、cullinet公司的idms、cimcom公司的total等(3)关系模型。关系模型的主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一

24、张二维表格。关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。关系模型是数学化模型。sql语言是关系数据库的标准化语言,已得到了广泛的应用。20世纪70年代对关系数据库的研究主要集中在理论和实验系统的开发方面。80年代初才形成产品,但很快得到广泛的应用和普及,并最终取代了层次、网状数据库产品。现在市场上典型的关系dbms产品有db2、oracle、sybase、informix和微机型产品foxpro、access等。关系模型和网状、层次模型的最大区别是:关系模型用表格数据而不是通过指针链来表示和实现实体间联系。关系模型

25、的数据结构简单、易懂。只需用简单的查询语句就可对数据库进行操作。关系模型是数学化的模型,可把表格看成一个集合,因此集合论、数理逻辑等知识可引入到关系模型中来。关系模型已是一个成熟的有前途的模型,已得到广泛应用。(4)面向对象模型。目前,关系数据库的使用已相当普遍,但是,现实世界中仍然存在着许多含有复杂数据结构的应用领域,例如,cad数据、图形数据等,而关系模型在这方面的处理能力就显得力不从心。 因此,人们需要更高级的数据库技术来表达这类信息。面向对象的概念最早出现在程序设计语言中,随后迅速渗透到计算机领域的每一个分支。面向对象数据库是面向对象概念与数据库技术相结合的产物。面向对象模型能完整地描

26、述现实世界的数据结构,具有丰富的表达能力,但模型相对较复杂,涉及的知识面也广,因此面向对象数据库尚未达到关系数据库那样的普及程度。3.5.2 数据库体系结构数据库的体系结构分三级:内部级(internal),概念级(conceptual)和外部级(external)。这个三级结构有时也称为“三级模式结构”,或“数据抽象的三个级别”,最早是在1971年通过的dbtg报告中提出,后来收入在1975年的美国ansi/sparc报告中。虽然现在dbms的产品多种多样,在不同的操作系统支持下工作,但是大多数系统在总的体系结构上都具有三级模式的结构特征。从某个角度看到的数据特性称为“数据视图”(data

27、view)。外部级最接近用户,是单个用户所能看到的数据特性。单个用户使用的数据视图的描述称为“外模式”。概念级涉及到所有用户的数据定义,是全局的数据视图。全局数据视图的描述称为“概念模式”。内部级最接近于物理存储设备,涉及到实际数据存储的结构。物理存储数据视图的描述称为“内模式”。数据库的三级模式结构是数据的三个抽象级别。它把数据的具体组织留给dbms去做,用户只要抽象地处理数据,而不必关心数据在计算机中的表示和存储,这样就减轻了用户使用系统的负担。三级结构之间往往差别很大,为了实现这三个抽象级别的联系和转换,dbms在三级结构之间提供两个层次的映象(mappings):外模式/模式映象,模式

28、/内模式映象。此处模式是概念模式的简称。3.5.3 数据的独立性由于数据库系统采用三级模式结构,因此系统具有数据独立性的特点。在数据库技术中,数据独立性是指应用程序和数据之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两级。(1)物理数据独立性如果数据库的内模式要进行修改,即数据库的存储设备和存储方法有所变化,那么模式/内模式映象也要进行相当的修改,使概念模式尽可能保持不变。也就是对内模式的修改尽量不影响概念模式,当然,对于外模式和应用程序的影响更小,这样,我们称数据库达到了物理数据独立性。(2)逻辑数据独立性如果数据库的概念模式要进行修改,譬如增加记录类型或增加数据项,那

29、么外模式/模式映象也要进行相应的修改,使外模式尽可能保持不变。也就是对概念模式的修改尽量不影响外模式和应用程序,这样,我们称数据库达到了逻辑数据独立性。现有关系系统产品均提供了较高的物理独立性,而对逻辑独立性的支持尚有欠缺,例如,对外模式的数据更新受到限制等。3.5.4 范式建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立db的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的

30、结构在建库前还必须进行规范化的重新组织。在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字 (key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:在表中的任意一列上,数据项应属于同一个属性(如图中每一列都存放着不同合同记录的同一属性数据)。 表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都

31、是一个不同的合同记录)。在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。 在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重复或同名)。 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,依此类推。第一范式(first normal form,简称1st nf)就是指在同一表中没有重复项出现,如果有则

32、应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st nf实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足1st nf。 第二范式(second normal form,简称 2nd nf)是指每个表必须有一个(而且仅一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一对应。例如,在图l9.7中如果我们将合同号定义为主关键字(其它数据元素中的记录数据都有可能重名,故不能作为主关键字),故只要知道了一个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。通常我们称这种关系为函数

33、依赖(functional dependence)关系。即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。第三范式(third normal form,简称 3rd nf)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足了 2nd nf的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。3.6 access 简介建立一个数据库我们有多种选择

34、,现在市场上有各种各样的数据库,而且每一种数据库都有其自身的特点,不能说哪一种更好,只能在其中寻找一种能更好地适应系统需求、更好地满足用户的要求以及适应开发人员的习惯。在本系统中,做为图书仓库管理系统是一个比较小的应用系统,它所产生和处理的数据量也比较小。因此,没有必要使用像sql server和oracle这样的大型数据库。我首先想到的数据库是borland公司的paradox数据库。另外,microsoft office中的access数据库在计算机上的应用比较普及,是开发小型数据库系统的比较理想的选择,所以,在本系统中我选择了access数据库。access做为一个数据库管理系统,它被集

35、成在microsoft office中。access数据库处理的基本结构,采取关系型数据库模式。与其他的数据库系统相比,access更加简单易学,一个普通的计算机用户可以很快地掌握它。access 2000的功能十分强大,利用它可以方便地实现对信息保存、维护、查询、统计、打印、交流、发布,而且它可以十分方便地与office其他组件交流数据,这些功能对一个一般用户而言已经足够了。第四章 系统功能分析4.1系统概述C语言考试系统是全国计算机等级考试模拟软件,模拟等级考试环境,考生输人合法的身份信息后,选择考试题号,再进人考试窗体,考试时间到,系统强制考生退出,并自动评卷计分、存档。考生可在考后查看

36、标准答案和本人答题情况。4.2系统功能分析考试系统是根据考试过程中的各项工作流程设计的软件系统,本系统由以下几个主要功能组成:1)考生登陆考试;2)笔试部分:(1)抽题考试、(2)选择和填空题考试、(3)自动评分考试;3)机试部分:(1)自动随机抽题考试、(2)改错题和编程题考试;4.3系统功能设计4.4系统数据库设计系统采用Access2000作为关系数据库,根据考试系统的特点,所有模块集中到一个数据库,建立数据库,数据项和数据结构如下:(1)选择题表(5个):包括题号,题目,选项A,B,C,D,答案等七个字段(2)填空题表(5个):包括题号,题目,答案等三个字段(3)固定题表,包括题库号(

37、4)随机题表,包括题库号(5)考生答案表(含选择和填空题两个表) 1)选择题:包括答案,题号1一50等51个字段 2)填空题:包括题号,答案两个字段(6)填空题答案对照表,包括题号,标准答案,答题答案等三个字段(7)考生资料表:包括考生姓名和考号两个字段数据库加密码,防止考生直接察看和破坏数据库。4.5软件环境 操作系统:中文版Windows 2000/XP; 数据库:Access数据库; 应用软件:TC2.0语言、OFFICE2000。 系统开发环境:VB6.0中文企业版、Access数据库 Visual Basic 6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对

38、象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。所以,实现本系统VB6.0是一个相对较好的选择。第五章 主要模块功能及程序设计5.1登陆模块设计 模拟考试环境,本模块要求考生使用合法姓名同考号登录。窗口所实现的功能是输入正确的考生名和考号后进入抽题窗口,如有其中一项不正确都会弹出提示信息要求重新输人。判断考生姓名和考号正确性通过查找考生资料表中是否有相对应的记录来确定,通过语句:s= select*from yz where姓名=”&Trim ( Textl

39、。 Text )&“And考号二”&Trim (text2。 Text )&来实现。选择笔试时利用输入的考生姓名和考号来建立考生目录:fs。 createfolder(App。 Path+“笔试”+Textl 。Text+“&”+text2。 TexO;选择机试时也是利用输人的考生姓名和考号来建立考生目录:fs。 createfolder ( App。 Path+“机试”+Textl 。Text+“_”+text2。 Text )Call copyti。 getstr( App。 Path+“机试”+Text 1。Text+“一”+text2。 Text )。通过随机函数来产生一个随机数to二

40、( Rnd*4)+1),然后将随机数指定的题目复制到考生目录,为后面的机试窗口调用。判断考生是否登陆过系统,可通过查找系统目录下的“笔试”或“机试”目录下是否有该考生的考生目录。如已存在,则重新登陆后删除该目录后重新建立一个新目录。为了使所输人的考生姓名和考号能在其它窗口中调用,建立一个模块resu,定义了两个全局变量n和num,按确定键后分别将其初始化为考生姓名和学号。5.2笔试部分模块设计5.2.1随机抽题的设计 考生选择由计算机随机抽题。首先清空选择题和填空题表的记录,通过调用Call sj)函数分别抽固定题库中的题目添加到随机题表中去,为main窗体的data对象“mydate Rec

41、ordset传数据源,为tkmain窗体的Recordset对象rs传数据源。 代码如下所示:For i=1 To 5 Call sj“sj,strings ( i一1),10,50,50,6)选择题随机抽题Next iFor i=1 To 5Call sj(sjl”,tkstrings( i一1),3,15,15,2)填空题随机抽题Next i5.2.2固定抽题设计 考生选择指定题目。点击选题的代号,Recordset传数据源所输人的固定选择题库,为tkmain窗体的Recordset对象rs传固定填空题库,显示mystatus窗体,为brrows。 cfl传值(重复抽题的题库),通过获取i

42、nputbox的值,运用secect case语句来获取题库。 代码如下所示:id = Val ( InputBox“请输人抽题的套号(1-5 )”,“抽题”) Select Case id为mian的data选择表连接,选择题的套号 Case 1 Set rs=db。 OpenRecordset( vbl l”) Set main, mydate。 Recordset二为选择题表单添加数据源 Brrows. cfl=2 Set tkmain。 rs二db。 OpenRecordset ( vb12)为填空题添加数据源 Call tkda( vb12, tkresult) Case 5 Set

43、.=db.OpenRecordset( vb51”) showmain。 Show Set main, mydate。 Recordset=rs Set tkmain。 rs=db。 OpenRecordset ( vb52) Call tkda ( vb52 ,“tkresult)初始化答案 brrows。 cfl=5,给brrows传值 mystatus。 Show Unload Me Case 0 msg=MsgBox“还未抽题”,0,“提示”) Case Else 叮怡g=MsgBox“请选择1一5,0+48,“提示,) End Select5.2.3选择题模块设计选择题考试,采取在四

44、个选项选一个合适的答案。考生可按顺序作答,也可以点击题号,先选做自己有把握的题目。首先建立database和Recordset对象Dim db As Database;Dim rs As Recordset,再将db连接到数据库,rs连接到表result Set rs = db。OpenRecordset( result)”。 显示选择的题目,通过双击获取“11”控件数组的index,从而使mydate。 recordset跳到对应的记录,获得index值比较index为1一50中某数i,然后my-date, recordset。 movefirst(先移到首记录),再移到目标记录:mydat

45、e。 recordset。 move i。考生作答完毕,按“提交”按钮,返回考试主窗口,同时系统将考生的答案与标准答案对比,评分。在答题过程中,可借助“计算器”进行数据计算。“计算器”按钮用shell直接调用系统文件talc。exe,具体代码如下:startdoc=App。 Path+“ talc。exeexe;scrl=shellexecute(scr,“open”,startdoc,”,“c:”,1)5.2.4续空题模决设计填空题考试,每题需作答的考点不定,有的题只有一处要作答,有的题则是需多处作答。所以填空题考试模块的设计较为复杂。首先通过调用模块表gettimu的getstr()来获取

46、题目文字,getstr)的参数是一个Recordset类型,该函数返回的是字符串,将返回的字符串赋给“text3 。 getstr ( records)通过参数传人填空题库记录,获取记录的第二个字段,即题目字符串,查找标记号“”,每查到一个使getstr = get-str+提取到“”为止的字符串+换行符(vbcrlf ),新的字串为后面的字串,重复以上操作直至最后一个“”为止。每次移动题目都要判断该题共有几个空,从而在“答案”后面显示几个下划线以供考生填写答案,通过调用getda)来设置所显示的下划线个数,在getda)中下划数个数是由答案表初始化时“$”个数决定,显示个数为“$”个数加一即

47、可。当焦点离开下划线时,下划线上的答案将写人到表“庆result”中同时在窗口下面答案表中相应题相应空中显示出来,(每个答案以$分开),其原理是当焦点离开时通过获取results组的index(即获取当前在哪个横线上写答案),来决定将答案写在第几个$前面。考生作答完毕,按“提交”按钮,返回考试主窗口,同时系统将考生的答案与标准答案对比,评分。设计算法:if results ( i)不为空,对tkresult表记录答案字段进行判断,不含有$,直接添加;含有$,调用setda)。setda)有三个参数,分别为resuits组的index ind,写人的答案字段strl,表记录str2。首先取得表记录含有$的个数i,如果i=index,直接在最后一个$加上strl,否则在第ind个$加上strl,再加上后面的字串。5.2.5显示评分界面设计实现考试系统的标准答案和考生答案的对比,评分,可返回抽题模块,重新进行抽题。在选择题答案中,标准答案I一5

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号