毕业设计(论文)VB考试管理系统的分析与设计_第1页
毕业设计(论文)VB考试管理系统的分析与设计_第2页
毕业设计(论文)VB考试管理系统的分析与设计_第3页
毕业设计(论文)VB考试管理系统的分析与设计_第4页
毕业设计(论文)VB考试管理系统的分析与设计_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、考试管理系统的分析与设计考试管理系统的分析与设计【摘要】一般情况教师想出一份试卷进行学生成绩的摸底考试,要么到庞大的题库里一道道的把试题找出来,或是从几本相关的书里把试题一道道挑出来。这样即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。而考试系统是专门为教学、培训单位开发的,非常适用于大、中、小学校的学生进行考试管理的系统,尤其是对客观 题的出题考试,其成绩的自动登记、统计、汇总可以极大的减轻教师批卷的劳动强度,减少批卷时间,提高批卷的准确型,对教师的减负有极大的帮助以便教师空出更多的时间从事创造性的教学活动.本系统使用 visual basic 编程语言,采用 access 作为数

2、据库,实现了老师对试卷的生成,试卷的管理,查询修改、判卷以及学生的考试等,经过实际的测试证明,本文所设计的考试管理系统可以用于实际的教学考试管理,本文重点描述了设计的过程,重难点技术及解决方案.【关键词】:管理信息系统、考试管理系统、系统开发 数据库目目 录录【摘要摘要】.1第一章第一章 引言引言.42.12.1 研究背景研究背景.52.22.2 研究意义研究意义.5第三章第三章 系统的开发环境系统的开发环境.73.13.1 开发平台的选择开发平台的选择.73.23.2 开发工具的选择开发工具的选择.73.2.13.2.1 开发语言介绍开发语言介绍.7第四章第四章 系统需求分析系统需求分析.1

3、24.14.1 经济可行性分析经济可行性分析.124.24.2 操作可行性分析操作可行性分析.134.34.3 技术可行性分析技术可行性分析.134.44.4 系统逻辑模型的提出系统逻辑模型的提出.144.54.5 数据词典数据词典.15第五章第五章 系统的详细设计系统的详细设计.175.15.1 系统设计的依据系统设计的依据.175.25.2 系统总体结构设计系统总体结构设计.175.35.3 系统的详细设计系统的详细设计.185.3.15.3.1 数据库设计数据库设计.185.3.25.3.2 用户界面设计用户界面设计.235.45.4 各模块的主要设计各模块的主要设计.265.4.15.

4、4.1 学生考试模块的设计学生考试模块的设计.265.4.25.4.2 学生考试成绩查询模块的设计学生考试成绩查询模块的设计.285.4.35.4.3 教师管理模块的设计教师管理模块的设计.295.4.3.15.4.3.1 教师命题的设计教师命题的设计: :.305.4.3.25.4.3.2 试题管理的设计试题管理的设计.345.4.3.35.4.3.3 评判试卷的设计评判试卷的设计.37第六章第六章 菜单的设计及系统的编译实现菜单的设计及系统的编译实现.396.16.1 主菜单的设计主菜单的设计.396.26.2 系统的编译系统的编译.40第七章第七章 开发总结与对管理信息系统的展望开发总结

5、与对管理信息系统的展望.407.17.1 开发总结开发总结.407.27.2 对管理信息系统的展望对管理信息系统的展望.41参考文献参考文献.42致致 谢谢.43第一章 引言目前,许多专业认证考试和其他各种考试已经由笔试转变为采用计算机考试系统进行考试。计算机考试系统与传统的笔试相比,有多方面的优势。首先,可以省去试卷印刷的费用,减轻教师阅卷的负担,加快考试进程;其二,可以充分发挥计算机在信息处理方面的优势,例如:建立海量的题库供将来使用,对考试结果作分析统计,提供有价值的信息等。这都有赖于计算机网络的高速发展带来的功能强大的信息处理平台,使创建一套集信息采集、信息加工、信息传输与信息存储高度

6、自动化、共享化的信息管理系统成为可能。但是,随着无纸化考试的兴起,传统的考试报名方法却未得到本质上的转变,各种大量重复单调的工作,仍需耗费巨大的人力、物力资源。随着科学技术的迅猛发展和管理水平的不断提高,计算机已经被广泛应用于日常管理之中,那么作为一个教育单位来说,教育资源中的新的考试方式的管理和利用是教育单位发展的保证,因此开发一套完整的考试管理系统已是大势所趋.第二章 考试管理系统研究的背景及意义 考试管理系统主要研究如何借助计算机进行无纸化的考试,提高考生考试,试题的批卷速度、精度,保证批卷的客观、公正、一致,节省批卷时间、减轻教师负担,提高工作效率。2.1 研究背景随着时代的发展和文化

7、的进步,各种各样的考试多如牛毛,试卷中包括大量的客观题,这无疑增加了阅卷老师的批卷难度和工作量。如何才能更客观、准确、高效地去评估、检测一个学生的知识和能力水平。一些教育发达的国家由此设立了不少规模巨大的标准化考试,参加考试的考生数目庞大,次数频繁,还要求每次考试所得的分数具有可比性,这样才能用于鉴别和选拔人才。学校投入大量的人力、物力到试题的准备、试题的抽去、试卷组织、试卷排版、印刷过程等过程。就在这样的大背景下,为适应这类考试事业的大规模发展,一个高质量的、高效率的考试管理系统就应运而生。随着国内外计算机网络的不断的普及,虽然出现了很多的网络考试,对传统的考试产生了巨大的挑战,但是目前国内

8、还是以传统的考试为主,同时,通过努力研究,考试管理系统应该也可以运用到计算机网络考试中,进一步扩大计算机考试系统的应用领域。2.2 研究意义为了提高考试管理系统的批卷速度和准确率,我们研究如何借助计算机和数据库技术来实现考试管理的计算机自动化。考试管理系统可以有效的降低阅卷老师的阅卷难度,提高统计,排序效率,提高阅卷准确率。目前,国内传统的考试方式一般还都是人工批阅,人工管理,不但工作量大,而且难度高,考试管理系统能很好解决上述难点。对于高速发展的未来时代,自动化的计算机考试管理系统将会是大势所趋,着力研究无纸化的考试管理系统将有重大而深远的意义。考试管理系统的应用范围十分广泛,适用于大、中、

9、小学校的学生考试及试卷的批改、成绩的登记、统计、汇总等。对计算机、外语等学科的考试尤其实用。使用考试管理系统可以减轻教师出题考试,批卷的劳动强度,减少批卷时间,提高批卷的准确型,对教师的减负有极大的帮助(一般可提高工作效率 5 倍以上)。考试管理系统可以由非任课教师、外专业教师或其他非教学人员进行管理,对教考分离和批卷的公正性、一致性有特殊意义。考试管理系统还可以将主观题的得分与客观题一并进行分类、统计、排序。考试管理系统能处理的考题包括:判断题、单选题、双选题、多选题、等等。第三章 系统的开发环境3.1 开发平台的选择考虑到本系统的性能要求,和现有的条件,我们选择了windows2000 中

10、文版作为开发、测试和运行的平台。因为windows 操作系统是目前应用最广的操作系统,它以全新的图形界面,简单快捷的操作方式,支持多媒体功能等特点而成为软件发展的流行趋势,选用它作为开发平台,易于功能的扩展和软件升级。3.2 开发工具的选择针对目前世界上流行的大量软件和开发工具,经过认真分析其优缺点,结合计量器具管理系统的需要和目前的硬件环境,我们选用微软 windows 平台下的 visual basic 6.0(简写为vb6.0)作为软件开发工具。3.2.1 开发语言介绍现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发

11、工具的产品有:microsoft 公司的 visual basicmicrosoft 公司的 visual cborland 公司的 delphi powersoft 公司的 powerbuliderjava 等等在目前市场上这些众多的程序开发工具中,有些强调编程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调编程语言的弹性,却没有

12、便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。作为数据库系统的开发,visual basic 是一个非常理想选择。数据库是 mis 中的重要支持技术,在 mis 开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言visual basic 语言,该开发工具具有很多长处:visual basic 是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发 windows 环境下的种类应用程序。它简单易学、效

13、率高,且功能强大,可以与 windows 的专业开发工具 sdk 相媲美,而且程序开发人员不必具有 c/c+编程基础。在 visual basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用 windows 内部的应用程序接口(api)函数,以及动态链接库(dll)、动态数据交换(dde)、对象的链接与嵌入(ole)、开放式数据访问(odbc)等技术,可以高效、快速地开发出 windows 环境下功能强大、图形界面丰富的应用软件系统。总的来说,visual basic 具有以下特点:可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看

14、不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。visual basic 提供了可视化设计工具,把 windows 界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。visual basic 自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。面向对象的程序设计4.0 版以后的 visual b

15、asic 支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(c+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而 visual basic 则是应用面向对象的程序设计方法(oop),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,visual basic 自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。结构化程序设计语言visual basic 是在 basic 语言的基础上发展起来的,具有高级程序设计语言

16、的语句结构,接近于自然语言和人类的逻辑思维方式。visual basic 语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。visual basic 是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计 visual basic 程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.exe),脱离 visual basic 环境,直接在 windows 环境下运行。事件驱动编程机制visual basic 通过事件来执行对象的操作。一个对象可能会产

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

18、ss 格式的数据库,并提供了强大的数据存储和检索功能。同时,visual basic 还能直接编辑和访问其他外部数据库,如dbase,foxpro,paradox 等,这些数据库格式都可以用 visual basic 编辑和处理。visual basic 提供开放式数据连接,即 odbc 功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如sql server,oracle 等。在应用程序中,可以使用结构化查询语言 sql 数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的 sql 的编程技术,为单机上运行的数据库提

19、供了 sql 网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。动态数据交换(dde)利用动态数据交换(dynamic data exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。visual basic 提供了动态数据交换的编程技术,可以在应用程序中与其他 windows 应用程序建立动态数据交换,在不同的应用程序之间进行通信。对象的链接与嵌入(ole)对象的链接与嵌入(ole)将每个应用程序都看作是一个对象(object),将不同

20、的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。ole 技术是 microsoft 公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看作是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用ole 技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。动态链接库(dll)visual basic 是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的

21、操作不太容易实现。但它可以通过动态链接库技术将 c/c+或汇编语言编写的程序加入到 visual basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用 windows 应用程序接口(api)函数,实现 sdk 所具有的功能第四章 系统需求分析从目前 it 业界比较流行的数据库开发、管理软件来看,对于比较简单的中小型数据库,vb 和 windows 2000 server 以及microsoft access 2000 的结合无疑是在实际应用中较为成功的一种解决方案。为用户提供了业界软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操

22、作功能和简洁明了的数据库接口。所以技术实行起来相对会容易。4.1 经济可行性分析本系统开发简单但要耗去一定的时间,所用的开发工具和软件都差不多是免费的。而且,由于系统能够在未来较长的一段时期内稳定地发挥作用,这对于企业的办公自动化管理,节省企业的人力、物力资源等都有很大的帮助。由此可见在,开发此系统在经济上是完全可行的。4.2 操作可行性分析如今的计算机已经走进千家万户,硬件成本的下降,导致计算机购买成本的降低.我的这套系统是利用自己的计算机加微软的集成开发环境 microsoft visual basic6.0 作为软件的开发平台,使开发出来的系统有友好的用户界面、有良好的安全性设置、有详细

23、的操作说明书,这样更使各类用户很快地掌握系统的使用方法,操作友好因此在操作上是可行的.4.3 技术可行性分析 可行性分析是系统分析阶段的第二项活动,可行性分析能使新系统达到以最小的开发成本取得最佳的经济效益。可行性分析的目的,是根据开发管理信息系统的请求,通过初步调查,对要开发的管理信息系统从技术上、经济上、资源上和管理上进行是否可行的研究分析。这是一项保证资源合理使用、避免失误和浪费的重要工作。1、经济上的可行性。2、技术上的可行性。 3、资源上的可行性。4、管理上的可行性。 4.4 系统的安全性分析安全系统的需求定义:系统提供用户登录功能(进行用户身份验证),并且用户名和用户编号是唯一的。

24、用户在登录界面上填写任意的用户名和用户密码(中文或英文);系统提供登录过程中的出错处理机制和操作成功处理机制。系统对非法用户具有警告功能,例:单用户表中不存在的用户企图登录系统,系统应该要求用户输入合法用户名和用户密码,并警告用户的操作。4.4 系统逻辑模型的提出 为了实现管理信息系统的计算机化,仅仅用文字来描述信息的流动和存储还远远不够,还要进一步调查分析舍去物质流,抽象出信息流,绘制出数据流程图,并对各种数据的属性和各项处理功能进行详细分析。系统分析的主要成果是系统的逻辑模型。本系统主要是以数据流图、数据字典和 e-r 图为主要描述工具来勾画系统的概貌。数据流图(dfd,data flow

25、 diagram)是描述数据处理过程的有力工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流图的基本图形元素有 4 种: 为了使数据流图便于在计算机上输入和输出,免去画曲线、斜线和圆的因难,现在将会用另一种比较合理及更清晰的方法进行分析。4.5 数据词典 数据词典(data dictionary ,dd)是结构化分析方法的另一个工具,它与数据流图配合,能清楚地表达数据处理的要求。数据流图给出系统组成及其内部各元素相互间的关系,但未说明数据元素的具体含意。数据词典的任务是对于数据流图中出现的所有命名元素,包括数据流、加工、数据文件,以及数据的源、汇点等

26、,在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。首先说明各符号的代表的意义: = 被定义为; + 与 ; (如,x = a + b ,表示 x 由 a 和 b 组成) .|. 或 ; (如, x = a , b,x = a | b,表示 x 由 a 或由 b 组成) . 重复;(如,x = a,表示 x 由 0 个或多个 a组成)如列举用户登录模块的定义如下:用户登录模块 用户登录的定义格式:用户名 = 字母,数字用户 = 管理员密 码 = 字母,数字用户验证表 =用户名+密码另一种方式是以 e-r 图来描述数据之间的关联.如系统用户表的 e-r 图如下: 系统

27、管理id 编号用户名密码系统用户表 e-r 图第五章 系统的详细设计 管理信息系统设计阶段的主要目的是将系统分析阶段所提出的反映了用户信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案。本次设计我主要负责选择题的出题考试设计,现将设计过程分析如下:5.1 系统设计的依据 1、系统分析的成果 2、现行技术 3、现行信息管理和信息技术的标准、规范和有关法律制度 4、用户需求 5、系统运行环境5.2 系统总体结构设计 按照结构化的系统设计方法,考试管理系统从功能上可以划分为以下几个子系统:考试管理系统身份验证学生考试教师管理信息查询开始考试生成试卷浏览试卷修改试卷试题管理评

28、判试卷查询结果5.3 系统的详细设计5.3.1 数据库设计数据库设计是要在一个给定的应用环境(dbms)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。概念结构设计在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体联系图(简称 er 图)的方法进行数据结构的描述。er 图由实体、属性、联系三部分组成。er 图的有关符号说明如下: 实体 属性根据数据字典的内容,得到本系统的实体联系图如下:科目(win)考场编号日期时间姓名学号成绩科目 e-r 图试题库编号科目题型难易程度章

29、节答案题目 试题库 e-r 图资料标题类型来源内容评价 资料 e-r 图试题库管理系统中所涉及的主要实体集及其属性如下:科目(win) 考场编号,学号,姓名,成绩,考试日期,考试时间 试题库科目,章节,编号,题型,难易程序,题目,答案 资料标题,类型,来源,内容,评价等.数据库的结构设计数据库结构设计的原则如下:(1)尽可能的减少数据冗余和重复。(2)结构设计与操作设计相结合。(3)数据结构具有相对的稳定性。基于以上设计原则,本系统中相关数据库表结构设计举例如下:科目表 win字段名类型是否为空长度考场编号字符型not null4学号字符型not null2姓名字符型null6成绩数值型nul

30、l3考试日期日期型null8考试时间字符型null8试题库表字段名类型是否为空长度编号字符型not null10科目字符型not null50题型字符型null10题目字符型null4章节备注型null50答案字符not null50难易程度字符型null4资料表字段名类型是否为空长度类型字符型not null10标题字符型not null100内容备注型null4来源字符型null10评价字符型null10 数据库的安全性、完整性、并发控制和恢复 信息数据是企业中非常重要的资源,因此保证数据库的安全可靠、正确有效是非常重要的问题。一般的数据库管理系统(dbms)都有提供了一定的数据保护功能。

31、数据库保护也称为数据控制,主要包括数据的安全性、完整性、并发控制和数据库的恢复等。(1)数据库的安全性 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。由于数据库系统中存放着大量的数据,且为许多用户所共享,因此安全性问题是必须首先要解决的。一般计算机系统中的安全措施是按照“用户标识和鉴别”、“dbms 存取控制”、“os 级安全控制”、“db 密码存储”来一级一级设置的。在现在流行的数据库系统中一般都提供以下两种控制:用户标识和鉴别、数据存取控制。 (2)数据完整性为了保证数据库数据的正确性和相容性,数据库管理系统(dbms)都提供了一种机制来检查数据库中的数据,看

32、它是否满足语义的规定条件,dbms 称这种机制为“数据完整性检查”。一般的 dbms 中是通过完整性约束和数据库触发器来实现这一机制的。(3)并发控制在多用户数据库环境中,多个用户程序可并行存取数据库中的数据,为了以正确的方式调度该并发操作,避免造成“丢失修改”、“不能重读”、“读脏数据”等不一致的情况,dbms 引入了“并发控制”这一机制。并发控制的主要方法是采用封锁机制,一般采用两种封锁机制:共享机制和排它机制来实现。(4)数据库后备与恢复主要使用转储、日志等方法进行数据库的恢复。5.3.2 用户界面设计用户界面是指软件系统与用户之间交互的接口,通常包括输出,输入,人机对话的界面与方式等。

33、由于本系统的最终用户是那些对计算机技术并不算很精通的管理人员,因此本系统采用了基于菜单选择,填写表格和简单的问答选择等友好的用户界面交互方式。系统安全性验证用户界面设计用户登录窗口界面是用户看到的第一幅画面,也是进入系统之前必须经过的一道“关口”。因此,简洁、实用、友好、安全是设计时应当考虑到的风格。用户登录本系统,开始登录画面为:当进度条加载完成后出现登录提示窗体如下: 系统主画面屏幕区域设计进行系统的主画面屏幕区域设计时,是将整个屏幕划分为三个区域,如下图所示:主 菜 单 区工 作 区状 态 信 息 区登录窗体的源代码设计如下private sub cmdok_click() if txt

34、username.text = then msgbox 请输入姓名, vbcritical, 登录失败 txtusername.setfocus exit sub end if if txtpassword.text = then msgbox 请输入口令, vbcritical, 登录失败 txtpassword.setfocus exit sub end if select case utypes.listindex case 0 testuser.log txtusername, txtpassword, student case 1 testuser.log txtusername,

35、txtpassword, teacher case 2 testuser.log txtusername, txtpassword, administrator end select if not testuser.logfail then unload me else msgbox 无法登录, 请重试!, vbcritical, 用户登录 txtusername.setfocus sendkeys home+end end ifend sub5.4 各模块的主要设计5.4.1 学生考试模块的设计如图所示,学生考试主要是从题库中抽取教师出的题,从数据库中读取出来,给学生考试,其源程序设计如下:

36、界面上的工具栏跟交卷的功能设计如下:private sub cmdfirst_click() if not answerset then setanswer end if icount = 1 preparequestion (icount)end subprivate sub cmdlast_click() if not answerset then setanswer end if icount = qpaper.questionnum preparequestion (icount)end subprivate sub cmdnext_click() if not answerset t

37、hen setanswer end if if icount 1 then icount = icount - 1 preparequestion (icount) end ifend subprivate sub cmdsubmit_click() if not answerset then setanswer end if unload meend sub5.4.2 学生考试成绩查询模块的设计在该模块中,学生在进行考试交卷后,在后台由老师评评卷,给出评分,评分后,学生可以进行查询.其查询的代码设计如下:private sub form_load() dim t as single, p a

38、s single txts1.text = qpaper.oscore txts2.text = qpaper.objectivescore txto1.text = qpaper.sscore txto2.text = qpaper.subjectivescore t = csng(txts2.text) + csng(txto2.text) txttotal.text = cstr(t) p = csng(txts1.text) + csng(txto1.text) txtpercent = format(t / p, #.0%) end sub5.4.3 教师管理模块的设计在该模块中一共

39、有 6 个子模块,现将各个子模块分别介绍如下:5.4.3.1 教师命题的设计:从图可以看出,教师可以进行命题的题型为填空题,判断题,单选题,多选题以及问题题,通过窗体中间的选入按钮完成试卷的命题,并且生成报表.其报表及生成试题的实现源代码如下:private sub cmdreport_click() me.hide dbrs.close qpaper.reporttofile varfile.tmp frmreport.filename = varfile.tmp kill varfile.tmp frmreport.show vbmodal dbrs.open me.show vbmoda

40、lend subprivate sub delq_click() if qstlist.listindex 0 then msgbox 请选择要删减的题目, vbcritical, 错误 exit sub end if dim s as string dim p as integer dim rcount as long s = qstlist.text p = instr(s, .) rcount = val(left(s, p - 1) qpaper.delquestion rcount qstlist.removeitem qstlist.listindexend subprivate

41、sub form_load() qname(1) = 填空题 qname(2) = 判断题 qname(3) = 单选题 qname(4) = 多选题 qname(5) = 问答题 mainframe.caption = 试题选择 set dbrs = dataenv.rsfillingq dbrs.open set datalib.datasource = dbrs datalib.refresh optfill.value = true ttype = 1 listqstend subprivate sub form_unload(cancel as integer) dbrs.close

42、 set dbrs = nothingend subprivate sub optessayq_click()dbrs.closeset dbrs = dataenv.rsessayqdbrs.openset datalib.datasource = dbrsdatalib.refreshlbltestlib.caption = 问答题题库ttype = 5end subprivate sub optfill_click()dbrs.closeset dbrs = dataenv.rsfillingqdbrs.openset datalib.datasource = dbrsdatalib.r

43、efreshlbltestlib.caption = 填空题题库ttype = 1end subprivate sub optmulsel_click()dbrs.closeset dbrs = dataenv.rsmultiselqdbrs.openset datalib.datasource = dbrsdatalib.refreshlbltestlib.caption = 多选题题库ttype = 4end subprivate sub optrorw_click()dbrs.closeset dbrs = dataenv.rsrorwqdbrs.openset datalib.data

44、source = dbrsdatalib.refreshlbltestlib.caption = 判断题题库ttype = 2end subprivate sub optsglsel_click()dbrs.closeset dbrs = dataenv.rssingleselqdbrs.openset datalib.datasource = dbrsdatalib.refreshlbltestlib.caption = 单选题题库ttype = 3end sub修改和浏览试卷是在上一模块,命题的基础上进行试卷的修改与查看,故不作重点描述.5.4.3.2 试题管理的设计试题管理模块进行试题的

45、添加,删除,修改及查询操作.其设计窗体如下:添加按钮代码:private sub cmdadd_click() datalibs.visible = false framechoice.enabled = false frameopt.enabled = false cmdok.visible = true cmdcancel.visible = true cmdtype = 1 dim i as integer for i = 0 to 7 txtfields(i).text = nextend sub删除按钮代码:private sub cmddel_click() if not dbrs

46、 is nothing then if not dbrs.bof and not dbrs.eof then dbrs.delete adaffectcurrent end if end ifend sub修改按钮代码:private sub cmdupdate_click() on error resume next datalibs.visible = false framechoice.enabled = false frameopt.enabled = false cmdok.visible = true cmdcancel.visible = true cmdtype = 2 txt

47、fields(0).text = dbrs.fields(teacherid) txtfields(1).text = dbrs.fields(score) txtfields(2).text = dbrs.fields(question) if cmbtype.listindex = 3 or cmbtype.listindex = 4 then txtfields(3).text = dbrs.fields(choice1) txtfields(4).text = dbrs.fields(choice2) txtfields(5).text = dbrs.fields(choice3) t

48、xtfields(6).text = dbrs.fields(choice4) end if txtfields(7).text = dbrs.fields(answer)end sub5.4.3.3 评判试卷的设计评判试卷的设计是用来实现教师对学生考试答题的评分,学生考试交试卷后,教师方可进行评卷,其运行界面如下:将数据库中的参考答案与学生答题答案进行比较,得出评分,确定后提交到数据中,以供学生进行信息查询.其源程序设计如下:private sub cmdcheck_click() dim qtype as questiontype qtype = qpaper.gettype(qseria

49、l) if qtype blacks and qtype essayquestion then exit sub end if dim s as single dim str as string dataenv.rsqstpaper.open dataenv.rsqstpaper.filter = paperserial = & cstr(qserial) s = dataenv.rsqstpaper.fields(score) str = inputbox(输入分数值(应得分数 & cstr(s) & ), 评分, s) if isnumeric(str) then s = csng(str

50、) dataenv.rsqstpaper.fields(commence) = s dataenv.rsqstpaper.update dataenv.rsqstpaper.filter = end if dataenv.rsqstpaper.closeend sub评分完成后进行结果的查询,其查询窗体与学生考试信息查询窗体一至,重不重复介绍.在下一章中将进行菜单的设计与源程序的编译与执行.第六章 菜单的设计及系统的编译实现6.1 主菜单的设计在实际的系统设计中,菜单可分为两种类型,即下拉式菜单和弹出式菜单,下拉式菜单系统中,一般有一个主菜单,其中包括若干个选择项.主菜单单的每一项又可下拉出下一级子菜单.这样用一个个的窗口的形式弹出在屏幕上,它是通过菜单编辑器建立,其步骤如下:选取要建立菜单的窗体从“工具”菜单中,选取“菜单编辑器”建立如下图所示的系统主菜单:可以看出菜单系统的建立比较直观,因此不作重点描述6.2 系统的编译一个典型的数据库应用程序由数据结构,操作界面,查询选项和报表打印等组成。在设计应用程序时,应仔细考虑每个组件提供的功能以及与其他组件之间的关系。设计好的功能模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论