毕业设计(论文)-“数据结构”课程试题库的设计.doc_第1页
毕业设计(论文)-“数据结构”课程试题库的设计.doc_第2页
毕业设计(论文)-“数据结构”课程试题库的设计.doc_第3页
毕业设计(论文)-“数据结构”课程试题库的设计.doc_第4页
毕业设计(论文)-“数据结构”课程试题库的设计.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

陕西广播电视大学本科毕业设计论文题目:“数据结构”课程试题库的设计院、 系: 陕西省广播电视大学延安分校 学科专业: 计算机科学与技术 学 生: 学 号: 指导教师: 2007年 06月iv“数据结构”课程试题库的设计摘 要随着近几年来微机技术、网络技术、多媒体技术及相应软件技术的迅猛发展,学校的教学、管理、考试等工作己越来越离不开计算机了。一方面,计算机辅助教育与计算机辅助教学是计算机技术非常重要的应用领域;另一方面,计算机与网络的应用更加促进了两者的飞速发展,目前它们已逐步成为现代教学的一个很重要且有效的手段。本文针对学校工作的具体需求,研制开发了一种试卷管理系统,主要讨论学校考试的出卷方式与试题库的管理。论文阐述了试卷管理系统的设计原理及方法,给出了计算机管理环境下的题型分类、和试卷生成,从科学、实用的角度构造系统功能机构,包括试题录入、题库维护、生成试卷、系统管理等功能。关键词:试卷生成;试题库;试卷管理the curriculum of data construct examination question database designabstract with the development of the computer technology, the network technology, the multimedia technology and the corresponding software technology, the teaching of the manumitting and the testing are depend on the computer more and more. on the one hand, computer based on education and computer aided instruction are the very important domains of the computer applications; on the other hand car and cbe are advanced much more. now, cai and cbe work up to the very important tools for modern educations. the author develops a intelligent computer assistant teaching management system based on the daily demand of the work. this paper mainly discusses the test management system. the article expatiates the design principle and method of the computer aided test management system, it gives the design of test classify, and randomization test. it structures the system function by scientific and practical view, involves in test maintenance, randomization test and system management functions. key words:test paper create;examination topic database; test paper management目 录摘 要iabstract ii1绪论11.1课题背景11.2研究现状21.2.1 国内外研究相关情况 21.2.2 现有试卷管理系统的状况21.3 使用试卷管理系统的优点21.3.1 传统命题方式的弊端 21.3.2 使用试卷管理系统的优点32试题库系统开发工具概述42.1 visual basic 6.0 简介42.1.1 visual basic 特点42.1.2 visual basic 版本简介42.1.3 visual basic 的安装52.1.4 visual basic 与数据库的连接52.2 access简介62.2.1 access 概述62.2.2 用access创建数据库62.2.3 access特点72.3 ado接口使用73系统总体要求和需求分析93.1试题库设计的总体要求93.1.1对试题的要求93.1.2对试卷管理系统的要求 93.2 需求分析103.2.1 功能需求103.2.2 性能需求104系统结构与模型设计114.1 系统总体结构设计114.1.1 系统功能分析114.1.2 系统层次框图114.1.3 系统流程图124.2 系统数据分析124.2.1表的设计原则124.2.2数据库的详细设计135. 系统的实现145.1数据库的实现145.2 系统界面及各功能模块的实现145.2.1 用户登陆界面的设计与实现145.2.2 系统主界面的实现175.2.3 用户管理界面的实现175.2.4 试题录入界面的实现185.2.5 查询题目模块的实现205.2.6 手动出卷界面的实现215.2.7 自动出卷界面的实现216 系统测试与分析256.1测试环境256.2测试过程256.3性能分析257 结论26致 谢27参考文献28陕西省广播电视大学论文1 绪论1.1课题背景在教育领域中,考试是整个教学过程中的重要环节,它是对学生所学知识和能力的一种评价,也是衡量教师教学效果优劣的一种教育测量手段。目前许多考试的实施过程并不完全科学,考试手段落后,命题内容、评分标准等由于受各种人为因素的干扰,缺乏普遍的可比性,考试信度和效度较低。例如,传统的经验型考试是由任课教师分别主持,命题原则不同,评分标准和评分方法不同,带有较大的主观性,不够客观和准确。随着计算机科学的迅速发展和广泛应用,计算机技术已进入现代教育领域并形成一门新兴的边缘科学一一计算机辅助教学cai (computer aided instruction)。利用计算机建立试题库,实现计算机自动选题组卷,是cai工程的重要组成部分,是实现考试规范化、科学化的重要措施,更是实现教考分离的一个重要手段。利用计算机组卷,不仅能节省教师的宝贵时间,提高工作效率,而且能消除出卷人主观意志的影响,使考试更加标准化,更加客观、真实、全面地反映教学的实际效果,有利于促进教学质量的提高。建立了试题库管理系统后,可实行教考分离,促使任课教师必须按照教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水平有着非常重要的意义。有了试题库管理系统,每次考试后,可利用计算机对试卷和考试分数进行分析和评价,大大减少人力负担、提高效率和精确度,而且也使考试这一教学环节更加科学化。考试是一项“测量工程”。从统计学的角度来看,考试是一种抽样测量,通常我们告诉学生的应考内容是考查的总体,而试题实际考查到的内容则是我们从总体中抽取的样本。要提高考试质量,在实施考试之前,先要进行设计。实施一次考试命题,不论主观上的认识如何,都在进行着不同形式、不同水平的设计,差别是有的设计是不自觉的模糊的,有的设计则是有意识的、较周密的。命题是考试设计的核心。传统的命题是人工命题,往往凭主考者的经验编制试卷和评阅试卷。而我们许多重要考试的命题不够理想,往往不是命题人员专业知识缺乏和命题经验不足造成,而主要是命题计划不周及试题取样代表性不足。先经科学的设计而后按设计实施考试是现代考试的特点。提高考试的科学化程度,最重要的是:加强考试的设计工作,提高考试设计的科学程度:把数理统计的方法引入考试工作,对试卷的编制和考试的质量进行定量分析。建立试题库,实现机器组卷能使科学的考试设计得以实施,是对教学工作加强宏观指导和管理的重要措施之一,有助于将课程教学的科学管理变成现实。研制试题库系统,是一项自然科学与教育科学,学术研究与教学研究相结合的研制课题,它的目的是:运用教育测量学、考试学、教育统计学的理论和方法,总结广大教师的考试经验,建立科学的成卷理论,借助于计算机的先进技术,实现能用电子计算机生成试卷。 1.2研究现状1.2.1 国内外研究相关情况 在国外,早已建立起一些针对标准化考试的试题库系统。例如:美国的toefl, gre,gmat等试题库计算机系统,已成功地运作了几十年,一直都能科学地测试出学生的实际水平。这表明用计算机来成卷是可能的而且是有效的,但是,这些系统涉及到的具体内容与细节,以及其设计思想与原理几乎都是保密的,要建立一套适合中国国情的试题库就只能自己努力。1.2.2 现有试卷管理系统的状况在国内,目前部分学校已经联合开发了一些基础学科的试题库系统,但就使用范围而言,这些系统大多是某一学科的“专用题库”,而且有很强的封闭性,不能根据自己学科的实际情况进行调整,缺乏可扩充性和灵活性。这样,同一所学校要实现所有学科的计算机命题成卷,就必须为每一学科都开发或购置一套相应的试题库系统,这就必将导致大量的重复性劳动、浪费大量的资金。显然这种系统在一定程度上给人们的使用带来不便,也阻碍了系统的推广,因此这样的试题库系统是不完善的。从组卷方面看,现有的试题库系统大体分三种:一种是将试题库看作试题集,命题时由具有丰富经验的教师逐题抽取。二是将试题库看作试卷集,将已经出好的试卷存储起来,在组卷时任意抽取一份。三是有自动形成试卷的功能,利用某种组卷策略,自动形成合理的试卷。前两种虽能保证试卷质量,但第一种与人工命题无异,第二种只能出有限份试卷,第三种则是随机出题,又有组卷策略可遵循,会形成千变万化的试卷,但所使用的组卷技术和策略有优有劣。在统计分析方面,现有的试题库系统大多只统计学生考试的结果,而没有对试题和试卷的评估,甚至有的系统连这一功能都没有。1.3 使用试卷管理系统的优点1.3.1 传统命题方式的弊端 首先由于教师个人对教学目标和教学基本要求的理解不尽相同,个人的教学经验也存在差别,因而试卷考核的题型、难度和重点都有主观随意性由于没有科学同意的命题要求和试题各项技术指标,因而同一学科的考试,在班级之间,学校之间,或同一学校的考试在不同年度之间缺乏可比性,不利于检查和评估教学质量。其次,不同性质的考试对考试的要求也是不同的。其三,传统的经验命题大部分采用主观题型,题型单调,覆盖面窄。试卷的信度和效度都难以保证。因而通过这种考试所反馈的教学信息量少,不利于进一步改进教学质量。1.3.2 使用试卷管理系统的优点针对传统出卷的弊端,试卷管理系统避免了教师在出卷时候题型和难度的不均等,利用试卷管理系统出卷可以随机组卷,只需选择题型、难度和一些试题的属性就可以进行随机组卷,不但提高了出卷效率,而且大大节省了时间。系统还可以根据考试对试卷的不同要求进行手动出卷,还可随机设定分数和题目的数量。强大的数据库存储,使存储的题目丰富,覆盖面宽,题型丰富,出的试卷千变万化。试题管理系统避免了传统出卷考试的许多弊端,大大改进了教学质量。24陕西省广播电视大学论文2 试题库系统开发工具概述 本次设计所用的编程语言主要是vb,开发的工具是visual basic 6.0 中文企业版。visual basic 是一种在windows环境下的面向对象程序设计语言,它将windows 编程的复杂性封装,使用可视化界面设计应用程序,提高了应用程序的开发效率,并且具有功能强大,易学易用,编程简洁等特点,深受用户的青睐。结构化查询语言(structured query language,简称sql)是一种介于关系代数与关系演算之间的语言,其功能包括查询,操纵,定义和控制4个方面,是一个通用的,功能极强的关系数据库语言。目前已成为关系数据库的标准语言。2.1 visual basic 6.0 简介2.1.1 visual basic 特点microsoft visual basic 提供了开发microsoft windows应用程序的最迅速,最简捷的方法。不论是microsoft windows应用程序的资深专业开发人员还是初学者,visual basic 都为他们提供了整套工具,以方便开发应用程序。使用visual basic 语言,不仅仅用于编制常规windows下的应用程序,还可以用于其他领域。例如visual basic scripting edition(vbscript)是广泛使用的脚本语言,它是visual basic语言的子集,用于网页设计。还可以使用嵌入式visual basic语言visual basic for application(vba)对一些流行软件(如word, excel, autocad等)进行二次开发。2.1.2 visual basic 版本简介visual basic 有三种版本,可以满足不同的开发需要。l visual basic 学习版visual basic 学习版使编程人员轻松开发windows和windows nt 的应用程序。该版本包括所有的内部控件以及网格,选项卡和数据绑定控件。学习版提供的文档有learn visual basic now cd 和包含全部联机文档的microsoft developer network cd。l visual basic 专业版专业版为专业编程人员提供了一整套功能完备的开发工具。该版本包括学习版的全部功能及activex控件,因特网information server application designer,集成的visual database tools, data environment, active data objects, dynamic html page designer。专业版提供的文档有 visual studio professional features 手册和包含全部联机文档的microsoft developer network cd。l visual basic 企业版企业版使得专业编程人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能及back office 工具,例如 sql server, microsoft transaction server,因特网information server, visual sourcesafes server,以及其他。企业版包括的印刷文档包括visual studio enterprise features 手册以及包含全部联机文档的microsoft developer network cd。2.1.3 visual basic 的安装在安装visual basic 之前,必须确认计算机是否满足最低的安装要求。为运行visual basic,必须在计算机上安装相应的硬件和软件系统。这些系统要求包括:(1) microsoft windows nt 95或更高版本,或microsoft windows nt workstation 4.0(推荐service pack 3)或更高版本。(2) 468dx/66 mhz或更高的处理器(推荐pentium或更高的处理器),或任何运行于microsoft windows nt workstation 的alpha处理器。(3) 一个cd-rom驱动器。(4) microsoft windows支持的vga或分辨率更高的监视器。(5) 16mb ram for windows 95,32mb ram for windows nt workstation。(6) 鼠标或其他定点设备。2.1.4 visual basic 与数据库的连接vb访问数据库通常有三种途径:第一,通过数据库控制控件data control访问;第二,通过vb提供的数据库对象变量编程访问;第三,通过odbc接口访问odbcapi函数。在这三种方法中,第一种方法操作起来最方便、灵活、易于掌握,同时也最能体现visualbasic面向对象的特色,故这里以foxpro2.5的数据库为例,介绍数据库控制控件(datacontrol)访问数据库的方法与步骤:a.在form窗口中加入data control控件用鼠标在工具窗口的datacontrol控件按钮上双击左键,该对象即出现在form窗口的中间(控件名为data1),用鼠标调整好控件的大小及位置。如工具箱中无此控件,可打开主菜单的tools/custom,在列表中选中microsoftdatacontrol复选框,确认后即可将此控件加入到工具箱中去。b.设置联接库用鼠标单击data1,按下f4,打开属性窗口,设置connect属性为foxpro2.5,设置database name为c:foxprowstudent.dbf(假设磁盘上已有这个文件)。c.加入字段显示、编辑控件(数据库捆绑控件)在form窗口中加入dgrid控件,如不在此控件,可打开主菜单tools/custom,在列表中选择apex data broundgrid复选框,确认后即可向工具箱中加入此控件。在form窗口中单击选中此控件(dgrid1),按下f4打开属性窗口,设置datasource属性为data1,在form窗口中用鼠标右键单击控件dgrid1,选择retrieve fields;再用鼠标右键单击控件dgrid1,选择edit,用鼠标调整控件及有关字段大小;再用鼠标右键单击控件dgrid1,选择properties(属性)。再向form窗口中加入一个按钮控件,将caption属性设置为“退出”,双击该控件(command1),在代码窗口中写入“end”,存盘。此时,一个具备数据库读写、浏览功能的应用程序就建立了,按下f5运行,通过单击data1的各按钮即可看出当前记录的变化情况。除此之外,数据库控制控件还有bookmark、recordcount等许多属性与方法,能对数据库进行各种方便的操作。由此可见,数据库控制控件具有数据库操作方面的强大功能。另外,数据库控制控件的recordsource属性可用一个sql语句赋值,以此来有效地调用sql语句,从而发挥select语句强大的功能,更使数据库控制控件(datacontrol)锦上添花。2.2 access简介2.2.1 access 概述1、access是一个桌面关系型数据库管理系统和应用程序生成器。它使用标准的sql(结构化查询语言)作为它的数据库语言。2、数据库:是信息的集合,这种集合与特定的主题或目标相联系。一个access数据库包括表、查询、窗体、报表、宏、模块、数据访问页等七种对象,所有对象总和可多达32768个,可同时打开多达1024个表,并且使用单一的*.mdb文件管理所有的信息。3、数据库对象:(1) 表:是关于特定主题数据的集合(2) 查询:是使用sql语句创建的查询,可以用结构化查询语言(sql)来查询、更新和管理access这样的关系数据库。(3) 窗体:是一种主要用于在数据库中输入和显示数据的数据库对象,它是用户与数据库之间的桥梁。(4) 报表:把数据库中的数据按照易于阅读的格式输出,同时也具有分析、汇总的功能。(5) 页:数据访问页,是链接到某个数据库的web页。(6) 宏:用来自动完成某些特定任务的操作或操作集,就像是一个批处理文件。(7) 模块:是将vba声明和过程作为一个单元进行保存的集合。分对象类别模块和标准模块两种类型。2.2.2 用access创建数据库1、方法:文件新建空数据库输入数据库名称创建。2、主键:是表中所存储的每一条记录的唯一标识,该信息即称作表的主键。可以是一个或多个字段,每个表都必须有一个主键字段。3、数据表的创建方法:使用设计器创建表、使用向导创建表、通过输入数据创建表。4、创建查询表的方法:使用向导创建查询、在设计视图中创建查询。5、操作查询:是仅在一个操作中更改或移动许多记录的查询,操作查询共有四种类型:删除、更新、追加、生成表查询。(1)生成表查询:利用现有的一个或多个表中的数据创建新表。(2)更新查询:对一个或多个表中的记录进行修改。6、基本类型的窗体:纵栏式窗体、表格式窗体、数据表式窗体、数据透视图窗体、数据透视表窗体、对话框窗体、主/子窗体等七种。7、可直接创建的窗体:纵栏式窗体、表格式窗体、数据表式窗体、数据透视图窗体、数据透视表窗体等五种。2.2.3 access特点access 2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 excel 的电子表格,可以使数据库一目了然。另外,access 允许创建自定义报表用于打印或输出数据库中的信息。access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。2.3 ado接口使用微软的jet数据库引擎提供了与数据库打交道的途径,我们是通过它以及visual basic 来访问数据库并对其进行各种操作。visual basic、access以及其他微软的软件产品都是通过共用jet数据库引擎,从而给用户提供了丰富的数据类型。ado 控件在数据库中的信息与将信息显示给用户看的visual basic程序之间架起了一座桥梁。我们可以设置ado控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,ado控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。ado控件还提供了用来浏览不同记录的各种跳转按钮。将ado控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。ado(activex data objects)是基于组件的数据库编程接口,它是一个和编程语言无关的com组件系统。本文主要介绍用ado编程所需要注意的技巧和在vc下进行ado编程的模式,并对cextensions进行了简单的讨论,希望对ado开发人员有一定的帮助作用。因为ado是一个和编程语言无关的com组件系统,所以这里讨论的要点适用于所有的编程语言和编程环境,比如:vb、vbscript、vc、java等等。 对于ado其中对象来说,比较重要的是:command, connection, recordset对象。虽然严格的说这是不准确的,但根据我的实际经验确实如此.下面就分别来谈一下。(1) connection对象connection对象用于建立与数据库的连接.通过连接可从应用程序访问数据源.它保存诸如指针类型,连接字符串,查询超时,连接超时和缺省数据库这样的连接信息.(2) command对象在建立connection后,可以发出命令操作数据源.一般情况下,command对象可以在数据库中添加,删除或更新数据,或者在表中进行数据查询.command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用.(3) recordset对象recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是command对象的执行结果返回的记录集.在ado对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在recordset对象中完成的.record对象用于指定行,移动行,添加,更改,删除记录.下面就具体地说说如何用ado存取数据:在实际编程过程中使用ado的一个典型的存取数据的步骤为:(1) 连接数据源(2) 打开记录集对象(3) 使用记录集(4) 断开连接陕西省广播电视大学论文3 系统总体要求和需求分析3.1试题库设计的总体要求 试题库设计是一个存储大量试题并对其实行科学管理的系统,是为特定考试的实施提供有效服务的工具。一个完整的试卷管理系统主要包括试题库和试题库管理软件两个部分。3.1.1对试题的要求建立试题库的主要目的就是要按用户的要求生成试卷,而试题库中的试题则对成卷质量有着直接的影响。为了保证生成试卷及考试结果的可靠性和准确性,试题库中的试题应满足以下基本要求:1) 试题的数目要求足够的数量,以保证选取的试题的随机性。2) 试题应该有比较准确的难度和区分度。在题库中各难度的试题比例匹配应适当,以满足组成试卷对于平均分的要求,而且入库的试题应尽量能够使将来学生的考试成绩拉开档次。3) 试题应能反映出对课程重点内容的要求,加大重点内容的试题量,从而在计算机随机抽题时,能够保证这部分内容有足够数量的试题供抽取。4) 所选的试题应具有代表性,使组成的试卷有足够的覆盖面,能够反映出学生对各部分教学内容、各种行者的知识的掌握情况,从而使考试结果有较高的可信度。3.1.2对试卷管理系统的要求 对于试卷管理系统的软件设计主要有以下几方面的要求:1) 系统提供了多种方面的查询手段,尽可能地让用户获得他所需要的关于试题库的信息。2) 在生成试卷方面,系统除了提供“自动组卷”这种主要的试卷生成方式外,还提供了手动生成试卷的方法满足不同用户的试卷要求,提高生成试卷的质量。作为一个软件系统,应该提供友好的界面及完善的帮助 系统,尽可能方便用户的使用。3) 在统计分析方面,系统提供了对试题库中不同要求试题题量的统计。 一个好的试题库不是一成不变的,试题库汇总的试题应不断的更新,以适应学科的发展,这就要求试卷管理系统具有良好的系统维护功能,以方便用户对试题库进行补充、删除、修改等操作。 4) 作为一个软件系统,应该提供友好的界面及完善的帮助系统,尽可能方便用户的使用。3.2 需求分析3.2.1 功能需求a.用户管理(1) 用户信息添加。(2) 用户信息删除。b.试题管理(1) 试题录入。(2) 设定类型。(3) 查询题目。c.试卷管理(1) 手动出试卷(2) 自动出试卷3.2.2 性能需求a.硬件环境 处理器:intel pentium 166 mx 或更高。 内存: 32mb。 硬盘空间 :1 gb。 光驱:cd-rom 48x。 显卡:svga显示适配器。b.软件环境 操作系统:windows 98/me/2000/xp。 数据库: microsoft access 2000。陕西省广播电视大学论文4 系统结构与模型设计4.1 系统总体结构设计系统总体设计是指在系统调查与分析的基础上,对整个系统在结构上的划分,硬软件环境的配置和确定子系统与模块的处理流程。总体设计中最核心的问题是系统总体功能结构的确定和子系统与模块的划分。本系统结构化设计思想,结构化系统设计的思想,就是自顶向下地将系统划分为若干个子系统,而子系统又划分为模块,模块又划分为子模块,层层划分,直到每一个模块能够作为计算机可执行的单独程序为止。4.1.1 系统功能分析系统功能分析是基于系统开发的总体任务,经过分析与调查用户需求,得出此系统需要完成的基本功能主要有:a. 用户信息管理用户信息管理包括用户登陆、用户名输入、密码等信息。已经存在的用户必须登陆才能进入系统。b.试题信息管理试题信息管理包括试题的录入、添加、删除和查询;以及试题类型的选择。c.试卷信息管理将查询到的试题存入,并生成试卷。分为手动查询和自动组卷两部分。4.1.2 系统层次框图“数据结构”试题库设计模块图如图4.1所示。用户登陆试题录入“数据结构”试题库设计题型设定试题管理查询题目手动出卷试卷管理自动出卷图 4.1系统层次框图4.1.3 系统流程图系统流程图主要介绍了,本次设计具体操作的实现步骤,如图4.2。开 始 登录界面结 束输入用户名和口令口令正确主菜单 界面操作退出用户管理查询题目自动出试卷手动出试卷类型设定题库登记图 4.2系统流程图4.2 系统数据分析4.2.1表的设计原则1、数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。2、数据的一致性与完整性由于系统的数据是共享的,在不同的题库类别中,题库是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。3、数据的共享与独立性整个题库发布系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。4.2.2数据库的详细设计整个试题库设计的核心就是数据库。数据库中记载了整个管理系统中所有的信息和资料,是每一个前台操作的信息来源。a. 用户表:记录用户名和密码,用于用户使用系统是的登录,方便管理,还用于用户注册,这样方便知道有哪些用户使用了系统。表 4.1 用户表 字 段 名 数 据 类 型 数 据 长 度uesr文本型(char)50pass文本型(char)50b.试题表:记录试题类型,试题章节,试题的各种信息,便于查询、删除和组卷。试题表的记录是很重要的一部分,因为要录入后进行查询和手动或自动组卷。表4.2 试题表 字 段 名 数 据 类 型 数 据 长 度编号数字(int)10题目文本型(char)50题型文本型(char)50难易度文本型(char)50是否出试卷文本型(char)505 系统的实现经过前面的调查分析和设计,已经为系统的实现做了大量的准备工作,这一章主要介绍系统环境的实施、各模块的实现。5.1数据库的实现建立数据库的方法有很多,可以使用向导,也可以直接建立,在vb中通过控件连接或通过程序语句连接。还可以通过vb的外接程序管理器建立,本次设计就是通过设计器件里的数据表并用vb中的adodc控件 如图5.1 所示:图5.1数据表5.2 系统界面及各功能模块的实现5.2.1 用户登陆界面的设计与实现(1) 用户登陆登陆窗体在加载时即连到数据库,获取到所有用户名称并且显示在用户名文本框,操作人员从中选择,如没有选择用户名称(即用户名为空),则提示弹出对话框,然后返回重新选择,选择后输入密码,密码错误会弹出提示对话框,显示密码错误,并返回重新输入。输入正确则显示mdi主窗体,同时关闭登陆窗体。图5.2登陆界面代码及实现方式:在图5.2 所示的页面的进入系统按钮的click事件中输入如下代码:private sub command1_click()mname = text1.textpass = text2.textdim mycn as new adodb.connectiondim myrs as new adodb.recordsetset myrs = new adodb.recordsetmycn.open provider=microsoft.jet.oledb.4.0;data source=kygl.mdb;myrs.open select * from user where (user.user)= + mname + ;, mycn, adopenkeyset, adlockoptimistic if myrs.bof = true and myrs.eof = true then msgbox 查无此人, , 登陆信息else if myrs(pass) = pass then msgbox ok, , 登陆信息 user = myrs(user) form2.show unload meelse msgbox 密码不正确, , 登陆信息end ifend ifend sub(2)用户注册新用户登陆必须注册,当用户点击注册按钮,进入到用户注册页面,如图5.3所示。在用户注册完成后,点击确定系统会自动将新注册的用户名、密码添加到user表中,并自动返回登陆界面。图5.3用户注册代码及实现方式:在图5.3 所示的页面的确定按钮的click事件中输入如下代码:private sub command1_click()on error resume nextadodc1.recordset.addnewform1.showunload meend sub返回按钮的click事件中输入如下代码:private sub command2_click()form1.showunload meend sub5.2.2 系统主界面的实现图5.4 系统主界面系统分为试题录入、设定类型、查询题目、手动出卷、自动出卷、用户管理六个部分。点击不同的按钮,就能弹出相对应的模块管理窗体,然后用户可对其进行管理,对于用户对话框的使用有权限设置,即普通用户不可更改别人的资料,只能更改自己的密码,系统管理员则拥有所有权限。点击“退出”键即可退出。5.2.3 用户管理界面的实现对话框源程序文件:frmlogin.frm调用的数据表:user 此模块主要实现三个功能:添加用户、修改密码、删除用户、退出系统。为了保证系统数据安全不同的用户有不同的权限,只有系统管理员才有添加用户及添加、修改、删除信息的权限,一般用户不能进入此页面。实现方法就是在获取到登陆的用户类型后判断,如果是普通用户,则在点击用户管理后,会有对话框弹出告知身份错误。代码及实现方式:在图5.5 所示的页面的添加按钮的click事件中输入如下代码:private sub command1_click()on error resume nextadodc1.recordset.addnewend sub删除按钮的click事件中输入如下代码:private sub command2_click()on error resume nextadodc1.recordset.deleteend sub图5.5 用户管理界面5.2.4 试题录入界面的实现试题录入界面主要实现的是试题各个属性的录入,便于管理,它主要的功能是进行试题的添加、删除、保存和刷新,建立了试题库,方便查询和组卷。如下图5.6。图5.6 试题录入界面代码及实现方式:在图5.6所示的页面的添加按钮的click事件中输入如下代码:private sub command1_click()on error resume nextadodc1.recordset.addnewend sub删除按钮的click事件中输入如下代码:private sub command2_click()on error resume nextadodc1.recordset.deleteend sub保存按钮的click事件中输入如下代码:private sub command3_click()on error resume nextadodc1.recordset.saveend sub刷新按钮的click事件中输入如下代码:private sub command2_click()on error resume nextadodc1.refreshend sub5.2.5 查询题目模块的实现查询题目是本次设计的一个重点,它分为单条件查询和多条件查询。查询的结果会显示出来。如图5.7所示。图5.7 查询界面代码及实现方式:在图5.7 所示的页面的按科目查询按钮的click事件中输入如下代码:private sub command6_click()ss = datacombo1.textadodc3.recordsource = select tkgl.编号, tkgl.题目, tkgl.类型, tkgl.分数, tkgl.答案 from tkgl where tkgl.类型 = + ss + ; adodc3.refreshend sub在结果中按类型查询按钮的click事件中输入如下代码:private sub command5_click()ss2 = datacombo1.textss = datacombo2.textadodc3.recordsource = select tkgl.编号, tkgl.题目, tkgl.类型, tkgl.科目, tkgl.分数, tkgl.答案 from tkgl where tkgl.类型 = + ss + and tkgl.编号 = + ss2 + ; adodc3.refreshend sub取消查询按钮的click事件中输入如下代码:private sub command7_click()adodc3.recordsource = select tkgl.编号, tkgl.题目, tkgl.类型, tkgl.科目, tkgl.分数, tkgl.答案 from tkgl; adodc3.refreshend sub其他的按钮操作同图5.6的代码。5.2.6 手动出卷界面的实现手动出卷可以通过浏览记录进行手动选择。并将选择的试题保存在一个新的数据表中,形成一套试卷。图5.8 手动出卷界面5.2.7 自动出卷界面的实现自动出卷是根据要出题的数目按照题目类型,章节自动组成试卷,不需要手动的逐题进行。大大节省了时间,提高了出卷效率。具体操作如下图5.9。代码及实现方式:在图5.9 所示的页面的界面的代码:private sub form_load()dim mycn as new adodb.connectiondim myrs as new adodb.recordsetset myrs = new adodb.recordsetmycn.open provider=microsoft.jet.oledb.4.0;data source=kygl.mdb;myrs.open select * from tkgl , mycn, adopenkeyset, adlockoptimisticlabel2.caption = cstr(myrs.recordcount()end sub自动出题按钮的click事件中输入如下代码:private sub command1_click()if trim(text1.text) = thenmsgbox 输出题目不能为空exit subend ifif cint(text1.text) cint(label2.caption) thenmsgbox 输出题目不能大于所有题目exit subend if图5.9 自动组卷if cint(text1.text) = 0 thenmsgbox 输出题目不能为零exit subend ifdim mycn as new adodb.connectiondim myrs as new adodb.recordsetset myrs = new adodb.recordsetdim myrs2 as new adodb.recordsetset myrs2 = new adodb.recordsetdim myrs3 as new adodb.recordsetset myrs3 = new adodb.recordsetmycn.open provider=microsoft.jet.oledb.4.0;data source=kygl.mdb;myrs.open delet

温馨提示

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

评论

0/150

提交评论