题库 高级语言程序设计vb试题库系统的设计与实现.docx
- 文档编号:28663936
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:74
- 大小:1.10MB
题库 高级语言程序设计vb试题库系统的设计与实现.docx
《题库 高级语言程序设计vb试题库系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《题库 高级语言程序设计vb试题库系统的设计与实现.docx(74页珍藏版)》请在冰豆网上搜索。
题库高级语言程序设计vb试题库系统的设计与实现
桂林工学院
2007届本科毕业设计(论文)
题目:
高级语言程序设计(VB)试题库系统的设计与实现
院、系(部):
管理学院
专业:
信息管理与信息系统
班级:
2003-1班
学号:
3030826142
学生姓名:
童雪伟
【摘要】
随着当今计算机技术的飞速发展,利用计算机进行试题库的管理已成为学校推动教学改革、提高教学质量的重要内容。
学校的试题库具有量大、种类多的特点,常规管理有工作量大、查询困难、不易更新的缺点,试题库管理系统可对试题实行科学的管理,利用现代电脑功能强大、运算速度快的优点,对试题进行集中、有序、有效的管理,更新方便、查询快捷、组卷灵活还可在组卷结束后通过打印机直接打印成试卷,大大降低了劳动强度,解放教师资源,让教师把更多的精力投入到教学上,从而提高教学质量,提高办学效率。
因此我们开发了针对《visualbasic高级语言程序设计》这门课的试题库管理系统。
该系统主要采用VISUALBASIC、OLE、Access数据库、ADO和DAO等技术和工具开发而成。
它要解决的问题主要是非纯文字试题(包括公式、图形、表格等)的录入,删除、修改和编辑;成卷方式(随机和手工)主要是通过源代码的书写来实现;生成规定格式的word文档。
【关键字】计算机基础课程(VB);试题库管理系统;OLE;ADO
Abstract
Withtoday'scomputertechnologytotherapiddevelopment,theuseofcomputersinthetestlibrarymanagementhasbecomeschoolstopromotetheteachingreform,improvingthequalityofteachingcritical.Thequestionsoftheschoolshavealargequantityandvarietyoffeatures,theconventionalmanagementoftheworkloadandinquiriesdifficultiesanddifficulttoupdatetheshortcomings,examinationdatabasemanagementsystemcanbeimplementedrightquestionsandscientificmanagement,theuseofmoderncomputerpowerfulcomputationalspeedadvantages,rightquestionsfocused,orderly,andeffectivemanagement,updateconvenient,fastinquiry,TestPaperalsoflexibleinTestPaperbytheendoftheprinterdirectlyprintedpapersgreatlyreducethelaborintensity,Liberationteachersresourcestoenableteacherstoputmoreenergyintoteaching,therebyraisingthequalityofteachingandimprovetheirefficiency.Therefore,wedevelopeda"visualbasicAdvancedLanguageProgramDesign"courseofthisexaminationdatabasemanagementsystemEC.ThesystemismainlyusedVisualBasic,OLE,Accessdatabase,ADOandDAOtechnologyandtoolsfromthedevelopment.Itistosolvetheproblemofnon-textitem(includingformulas,graphics,tables,etc.)input,delete,revisingandediting;formintorolls(Randomandmanual)isthemainsourceofwritingtoachieve;Generationprovisionsoftheworddocumentformat.
Keyword:
thecoursesoffoundationofComputerapplication(VB);Testlibrarymanagementsystem;OLE;ADO
第一章引言
1.1系统开发背景
传统上,各个学校的各种类型的考试基本上都是手工出卷,大体上要经历查阅资料、选题、审题、排版、印刷、试做等过程,年年的烦琐、重复,既费时又费力,这是一个漫长而艰苦的过程,现在随着电脑的普及以及计算机软硬件的发展,这种出卷方式已经越来越不适应现代教学的需要。
考试是一项极其繁琐的工作,通过人工出卷弊端很多,既分散了老师的教学精力,降低教学质量,又没能客观公平的考核学生的学习效果,且答案的安全性也不能得到有效的保证。
因此开发一个解决以上问题的试题库管理系统已经显得尤为重要。
本系统是专门为现教中心开发的,它配置简单,易操作,而且不受地域的限制,只要有电脑,有visualbasic、MicrosoftWord和access数据库即可运行。
它的开发将会使教师从烦琐的出卷工作中解放出来,把精力放在教学质量的提高和学生的学习效果上,为实现教学型大学的目标做准备。
1.2系统开发的目的
传统的考试出题总是教师考前集中出题、集中组卷,这样很难保证试卷的质量,进而不能准确反映学生的学习效果。
为促进教学手段的现代化,提高教学质量,减轻教师在出题、组卷中的工作量,在这次毕业设计,我结合了我校现教中心的实际情况设计出一个试题库管理系统,利用现代电脑功能强大、运算速度快的优点,对试题进行集中、有序、有效的管理更新方便、查询快捷、组卷灵活还可在组卷结束后通过打印机直接打印成试卷,大大降低了劳动强度,解放教师资源,让教师把更多的精力投入到教学上,从而提高教学质量,提高办学效率。
1.3系统开发要实现的目标
在设计过程中我们所要实现的目标是:
1.针对计算机基础课程(VB)的具体需求以及其特点进行全面分析,得到可行性方案,成功设计出试题库管理系统,使教师和学生从中得到最大收益;
2.试题库管理系统方便了教师对学生进行客观公正的考核,更是使教师从年年烦琐的出卷工作中解放出来,把更多的精力放到教学质量的提高上来;
3.教师通过对题型的组合和各知识点题数的覆盖程度能客观公正和全面的了解学生的学习情况,从而发现学生的知识薄弱点以调整上课的重点部分;
4.试题库管理系统能客观公平的考核学生所学知识,提高学生学习知识的积极主动性,增加学生学习的乐趣。
1.4系统开发所用的技术准备
基于设计需求的考虑,我们用visualbasic开发工具,结合ACCESS数据库来设计系统。
本系统的开发过程中主要的关键技术就是ole自动化技术和ADO访问数据库技术,因为本系统是试题库系统,试题内容不可能是单纯的纯文字,它还可能包括图形、公式等其他非文字内容。
在系统的设计过程中,主要是在试题的录入、修改、编辑、浏览和组卷中利用到ole技术。
ADO是ActiveXDataObjects的缩写,是一项容易使用并且可扩展的数据库存取访问技术,应用起来比ADO控件灵活的多,相对于VB5.0中的DAO他也具有更为简化的对象模型,无论是存取本地的还是远程的数据,都提供了一致的接口。
如果您是一个经验丰富的数据库编程人员,您将会正确认识到ADO的先进的与语言无关性和查询处理功能。
它们的掌握直接关系到本系统开发的成功与否,所以下面就对它们的详细内容和一些参数设置进行相关介绍。
1.4.1OLE技术
1.4.1.1OLE技术简介
在ole控件使用中,类似其他控件一样,每个对象都有它自己支持的谓词集合。
表1所示的各值表示的是所有对象都能支持的标准谓词。
表1
常数
值
描述
Vboleprimary
0
对象的缺省动作
Vboleshow
-1
激活对象进行编辑。
如果创建对象的应用程序支持现场激活,该对象在OLE容器控件内激活。
Vboleopen
-2
在分隔的应用程序窗口打开对象。
如果创建对象的应用程序支持现场激活,该对象在其自己的窗口中激活。
Vbolehide
-3
对于嵌入的对象,隐藏创建该对象的应用程序。
Vboleuiactivate
-4
如果对象支持现场激活,则将该对象激活为现场激活,并显示所有的用户接口工具。
如果对象不支持现场激活,则不激活对象,并产生一个错误。
Vboleinplaceactivate
-5
如果将焦点移到OLE容器控件,为对象创建一个窗口,并为对象作好编辑的准备。
如果对象不支持单击鼠标的激活,则产生一个错误。
vbolediscardundostate
-6
当激活对象进行编辑时,用于放弃所有改变的记录,这些改变可由对象的应用程序撤消。
ole使得visualbasic应用程序能访问windows环境中其他应用程序的功能。
前面所用的控件都是内置在visualbasic中的,这些内置对象出现在编辑器的工具栏中,可以把他们放到窗体上。
但windows环境中有些对象不是visualbasic所独有的,未放在visualbasic中,而是由其他应用程序提供,但可以在应用程序中使用这些对象。
1、word文档就属于这种对象,可以将word文档放在应用程序中,而不需要对其文件内容及组织方式有太多的了解。
需要编辑word文档时,可以暂时借用word的菜单和工具条,将其显示在应用程序中,随后用户在应用程序中就像在用word一样编辑文档。
要在visualbasic中加入OLE功能,必须用OLE控件,以便将其他应用程序中的对象插入程序中。
一次只能在OLE容器控件中放入一个对象,但同一窗体上可以含有多个OLE容器控件,各有自己的对象。
2、每当在窗体上拖放一个OLE容器控件时,visualbasic都显示“插入对象”对话框。
在设计时使用这个对话框来插入链接或嵌入的对象。
“插入对象”对话框中,出现一个能链接或嵌入应用程序的可用对象的清单。
3、设计时插入链接对象。
当插入一个链接对象时,显示在OLE容器控件中的数据只存在于一个地方——源文件中。
从任何其他的或与对象的当前数据相链接的应用程序都可以查看那个数据。
OLE容器控件保持着对象的链接信息,例如提供该对象的应用程序名、链接文件名和链接数据的图像。
1.4.1.2用拖放法嵌入对象的具体步骤:
①开始一个新的vb项目,并把OLE容器控件放在窗体上。
②在insertobject对话框中,单击cancel钮,以便后面放置OLE对象。
③在OLE容器控件的properties窗口中,将sizemode属性变为1-stretch(对于可缩放图形)或2-autosize(对于不宜缩放的文本和图形),以调整对象或尺寸。
Sizemode属性取值及含义如表2所示。
表2属性取值及含义
数值
说明
clip
对象大于ole容器控件的部分被剪切掉
stretch
对象图形调整成ole容器控件的大小,对象的缩放可能会使图形扭曲。
autosize
Ole容器控件缩放以显示整个对象
zoom
对象图形尽量调整成ole容器控件的大小,但保持原有比例。
④接着启动支持ole的应用程序,并打开文件。
本例通过拖放原应用程序文档到ole容器控件,以实现在ole容器控件中嵌入microsoftword文档。
在屏幕上同时显示visualbasic和word时(或用alt+tab切换),拖动文档或其中一部分到空ole容器控件中。
拖动对象时,指针箭头下出现一个长方形,将其放到ole容器控件中,于是word文档出现在ole容器控件中。
⑤运行时创建链接对象。
可以用ole容器控件的createlink方法,在运行时从文件中创建一个链接对象。
⑥ole容器控件对象的常用属性。
Class属性:
产生对象的应用程序名,也是嵌入文档的类型。
Sourcedoc:
数据或引用的数据,即存入对象的文件名。
Sourceitem:
嵌入的文档部分(全文档为空时)。
Oletypeallowed:
源文档是链接还是嵌入到ole容器控件中,这就取决于这个属性,它的具体取值如表3所示。
表3取值及其说明
数值
常量
说明
0
vbolelinked
链接,ole容器控件只能包含链接对象。
1
vboleembedded
嵌入,ole容器控件只能包含嵌入对象
2
vboleeither
Ole容器控件可包含链接或嵌入对象。
1.4.2ADO访问数据库技术
1.4.2.1ADO对象简介
ActiveXDataObjects(ADO)是一项容易使用并且可扩展的数据库存取访问技术。
相对于VB5.0中的DAO他具有更为简化的对象模型,无论是存取本地的还是远程的数据,都提供了一致的接口。
如果您是一个经验丰富的数据库编程人员,您将会正确认识到ADO的先进的与语言无关性和查询处理功能。
ADO对象模型如下图1所示:
图1ADO对象模型
对于ADO中的对象来说,我觉得比较重要的部分是:
Command,Connection,Recordset对象。
(1)Connection对象
Connection对象用于建立与数据库的连接,通过连接可从应用程序访问数据源,它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。
(2)Command对象
在建立Connection后,可以发出命令操作数据源,一般情况下,Command对象可以在数据库中添加、删除或更新数据,或者在表中进行数据查询,Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。
(3)Recordset对象
Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表,或者是Command对象的执行结果返回的记录集,在ADO对象模型中,是在行中检查和修改数据的最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的,Recordset对象用于指定行,移动行,添加、更改、删除记录。
1.4.2.2ADO存取数据库数据
在实际编程过程中使用ADO存取数据的步骤为:
(1)连接数据源
(2)打开记录集对象
(3)使用记录集
(4)断开连接
(1)如何连接数据源
利用Connection对象可以创建一个数据源的连接.应用的方法是Connection对象的Open方法。
语法:
Connection对象.OpenConnectionString,UserID,PassWord,OpenOptions
其中:
·Connection对象为你定义的Connection对象的实例;
·ConnectionString为可选项,包含了连接的数据库的信息;
·UserID可选项,包含建立连接的用户名;
·PassWord为可选项,包含建立连接的用户密码;
·OpenOptions为可选项,假如设置为adConnectAsync,则连接将异步打开;
(2)打开记录集对象
实际上记录集返回的是一个从数据库取回的查询结果集.因此他有两种打开方法:
一种使用记录集的Open方法,另一种是用Connection对象的Execute方法。
(a)记录集的Open方法
语法:
Recordset.OpenSource,ActiveConnection,CursorType,LockType,Options
其中:
·Recordset为所定义的记录集对象的实例。
·Source可选项,指明了所打开的记录源信息,可以是合法的命令,对象变量名,SQL语句,表名,存储过程调用,或保存记录集的文件名。
·ActiveConnection可选项,合法的已打开的Connection对象的变量名,或者是包含ConnectionString参数的字符串。
·CursorType可选项,确定打开记录集对象使用的指针类型。
·LockType可选项确定打开记录集对象使用的锁定类型。
(b)Connection对象的Execute方法
语法:
Setrecordset=Connection.Execute(CommandText,RecordsAffected,Options)
参数说明:
·CommandText一个字符串,返回要执行的SQL命令,表名,存储过程或指定文本。
·RecordsAffected可选项,Long类型的值,返回操作影响的记录数。
·Options可选项,Long类型值,指明如何处理CommandText参数。
(3)使用记录集
(a)添加新的记录:
在ADO中添加新的记录用的方法为:
AddNew
它的语法为:
Recordset.AddNewFieldList,Values
·Recordset为记录集对象实例
·FieldList为一个字段名,或者是一个字段数组.
·Values为给要加信息的字段赋的值,如果FiledList为一个字段名,那么Values应为一个单个的数值,假如FiledList为一个字段数组,那么Values必须也为一个个数,类型与FieldList相同的数组。
再用完AddNew方法为记录集添加新的记录后,应使用UpDate将所添加的的数据存储在数据库中。
不过你最好在用UpDate方法之前使用CancelUpdate方法来取消该项操作。
(b)修改记录集
其实修改核对记录集中的数据重新赋值没有什么太大的区别。
(c)删除记录
在ADO中删除记录集中的数据的方法为:
Delete方法,这与DAO对象的方法相同,但是在ADO中它的能力增强了,可以删掉一组记录了。
它的语法如下:
Recordset.DeleteAffectRecords
其中的,AffectRecords参数是确定Delete方法作用的方式的,它的取值如下:
·adAffectCurrent只删除当前的记录。
·adAffectGroup删除符合Filter属性设置的那些记录。
为了一次能删除一组数据,应设置Filter属性。
(d)查询记录
在ADO中查询的方法很灵活,有几种查询的方法。
·使用连接对象的Execute方法执行SQL命令,返回查询记录集。
·使用Command对象的Execute方法执行CommandText属性中设置的SQL命令,返回查询记录集。
第一个方法的具体语法在前面数据连接时已经介绍过了。
Command对象的Execute方法的语法如下:
Command.ExecuteRecordsAffected,Parameters,Options'不返回记录集
或者SetRscordset=cmmnad.Execute(RecordsAffected,Parameters,Options)'返回记录集
CommandText的语法为:
Command.CommandText=stringvariable
其中:
stringvariable为字符串变量,包含SQL语句,表名或存储过程。
(4)断开连接
在应用程序结束之前,应该释放分配给ADO对象的资源,操作系统回收这些资源并可以再分给其他应用程序。
使用的方法为:
Close方法。
语法如下:
Object.Close'Object为ADO对象
第二章系统分析
2.1现行系统分析
传统考试要求教师刻试卷、印试卷、大量的选题、审题、排版和试考等工作,年年的烦琐、重复,既费时又费力这是一个漫长而艰苦的过程,已经越来越不适应现代教学的需要。
目前大部分的学校中,手工方式的“测验”存在诸多弊病:
教师到处找试题、排版、拼试卷、打印、整个过程工作量很大,而且效率并不高,花费了教师大量的时间和精力;二是周期长,一次单元测验要提前好多天才能出好试卷,这时往往影响上课的进度,分散了老师的精力,影响了教学的连贯性;教学考核环节的不足对整个教学过程的负面影响是不可小觑的。
传统出题方式已不适应新的教学方式,有时为了安全还要出两份,那将是很复杂的且低效率的工作了。
2.2需求分析
2.2.1任务
本毕业设计的任务就是结合现教中心计算机基础课(VB)教学实际情况,设计并实现一个能够基本投入实际使用的试题库系统。
该软件在WindowsXP操作系统下,采用visualbasic语言开发和Access数据库,具有Windows风格,通过Word文档生成和打印试卷。
2.2.2系统需要解决的主要问题
老师手工出卷,每出一份试卷就要进行大量的资料查找,试题的审核、排版、打印、试做等,既效率低下又浪费人力物力,且人工出题的弊端又比较多,对学生的学习效果以及老师的教学质量不能进行很好的客观评价。
因此试题库系统软件的开发是非常必要的,它不但能提高教学质量,而且对学院教学型大学的建设目标有着巨大的促进作用。
本系统要解决的问题主要是非纯文字试题(包括公式、图形、表格等)的录入,删除、修改和编辑;成卷方式(随机和手工)主要是通过源代码的书写来实现;生成word文档;调用ole对象以及为了试卷的安全保密要对用户信息进行严格管理等。
既是要求系统不仅能录入包含图形、公式和文字的各种试题,并能按要求自动生成规定格式的不同试卷,该试题库系统可以很好的进行试题的录入、删除和修改,并利用VB语言基于WORD的试卷的生成、修改和预览,而且可以随机生成和手工操作生成试卷。
2.2.3主要功能:
①登录
②权限设置(用户注册)
③试题录入
④试题查询浏览修改
⑤手动生成试卷
⑥自动生成试卷
2.2.4功能分析
(1)用户登录时,系统会给用户相应的权限进入主控制界面给予相应的功能操作。
(2)权限管理:
增加或删除系统操作人员,并指定操作人员的权限。
可通过对用户组进行权限及管理范围设定,减轻操作内容,也可对单个用户权限及范围进行修订,从而保证系统在实施中的灵活性。
(3)试题库管理:
系统的操作人员可以添加章节内容,录入试题,以及对已有的试题进行更新与维护,还可以查询、浏览和修改试题。
①试题查询浏览模块可以更改和查询试题的信息。
②试题录入模块可以根据用户所要录入的试题给予相应的录入界面。
(4)试卷管理:
系统的操作人员可以从题库中选择试题,将选择的试题组成试卷,并以标准的格式输入到Word文档中。
①手动生成试卷模块中可以根据用户自由在题库中选择题目组合生成试卷,系统给相应的试卷评估试卷的难度并保存其相应的试卷答案。
②自动生成试卷模块中可以根据用户在题库中选择章节,设置所选题量和难易度,自动的生成试卷并保存其相应的试卷答案。
2.2.5保密性和安全性
为实现系统保密性和安全性,本系统设置了口令和权限两个模块。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 题库 高级语言程序设计vb试题库系统的设计与实现 高级 语言程序设计 vb 试题库 系统 设计 实现