1、哈尔滨工业大学毕业设计高校题库管理系统摘 要开发数据库题库管理系统主要是为了建立一个统一的题库,并对其用计算机进行管理,使教师出题高效、快捷。其开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,使用方便、灵活等特点。经过分析,我们使用 Microsoft 公司的 SQL Server7.0 管理后台数据库。用 Visual Basic6.0 中文版做为前端开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然
2、后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。在开发过程中使用了 ADO 技术和 SQL 语言完成了对系统功能的实现。数据库题库管理系统包括六个模块,实现对题库的录入、编辑、查询和自动生成试卷、手工生成试卷、输出试卷等功能。同时还增加对所用教材的管理如教材的录入、编辑和查询,功能的扩展如试题类型的增加和系统的更新。达到了开发数据库题库管理系统的目的。本系统具有针对性强、操作简便、成卷快、题目搭配合理、试卷难易程度可控等特点。相信投入使用后定会成为教师出题的好帮手。关键词:数据库题库管理系统;题库;ADO;SQL;VBA。iiAbstractThe system o
3、f managing data base of examination question bank is a typical application of managing information system (know as MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end. The former required consistency and integrality and security of data.
4、 The later should make the application powerful and easily used. By looking up lots of datum, we selected Visual Basic presented by Microsoft because of its objective tools in Win32. VB offered a series of ActiveX operating a data-base. It can give you a short-cut to build up a prototype of system a
5、pplication. The prototype could be modified and developed till users are satisfied with it. And we also selected SQL Server7.0 presented by Microsoft in order to manage data-base. We utilized technology of ADO and used Structured Query Language to develop this system.The system of managing data base
6、 of examination question bank includes six modules, such as register, managing information, edit, query, output module and so on.Key words:system of managing data base of examination question bank;data base;ADO;SQL.哈尔滨工业大学毕业设计(论文)iii前 言随着计算机技术的不断发展,它被更广泛地应用在我国的各行各业中。其中计算机辅助教育(CAI)在教育系统中的应用,收到了良好的效果,
7、给教育改革带来美好的前景。多媒体教学、电子课件、远程教育、学籍管理等项目的开发与应用倍受关注。在教学管理中,为实现教考分开,更加合理、公平、公正、公开地进行各种考试,利用计算机进行考试题库管理,辅助教师命题组卷已成为各院校教学改革的重要内容之一。因此对于题库管理系统的开发和应用就显得尤为重要。各院校也竞相推出各自开发的题库管理系统,在对已经开发出的各种题库管理系统的使用过程中,我们发现其多偏重于题库管理功能的“大而全” ,虽然具有一定的通用性但缺乏针对性,在实际应用中操作烦琐,给出题带来了不便。而本数据库题库管理系统则是根据数据库原理这门课的课程结构和试题内容来设计的一种具有针对性强、操作简便
8、、成卷快、题目搭配合理、试卷难易程度可控等特点的系统。同时也具有一定的可扩展性,完全可以作为其它课程的题库管理系统。在本系统的设计过程中,我们尽量做到更好,但由于本人水平有限,难免有不尽如人意的地方,还有待进一步改善,敬请指教。4目 录摘要 iiAbstract .iii前言 iv一、 系 统开发平台 简介 1.1 、Microsoft Vis ual Basic 6.0 中文版1.2 、Microsoft SQL Server 20001.3 、主要技术及相关知识1.3.1、AD O 技术1.3.2、SQL 语言1.3.3、ABA 技术1.4、主要 功能二、 系统 需求分析2.1、系统设计目
9、标2.2、系统设计原则2.3、题库管理 系统的数据流图三、数据库的 构建3.1、数据 库的建立3.2、 数据库的扩展3.3、数 据库中的表3.4、 设计要点3.5、一点说明四、系统的功 能结构4.1、系统功能结构图4.2、系统功能模块五、系统的设 计与实现5.1、主界面 的设计5.2、登录子 模块5.2.1、登录子模块的设计思想哈尔滨工业大学毕业设计(论文)- -55.2.2、登录子模块的具体实现5.2.3、登录 子模块的设计要点5.3、试题录 入子 模块5.3.1、试题 录入子模块的设 计思想5.3.2、试 题录入 子模块的具体实现5.3.3、 试题录 入子模块的主要算法六、系统测试 及性能
10、分析6.1、系统 测试6.2、性 能分析七、经验 体会 及可进行的后继开发八、系统安装8.1、系统环境8.2、安装 方法8.3、 “试题录入维 护子系统”使用指南8.3.1、系统 启动8.3.2、试题录 入维护8.3.2.1、判断 类题录入8.3.2.2、选择 类题录入8.3.2.3、文字类录入8.3.2.4、试题 查询与 维护8.3.3、题库管理8.3.4、用 户管理结束语致 谢主要参考文献6哈尔滨工业大学毕业设计(论文)- 7 -1 系统开发平台简介高校通用题库管理系统是针对广大高校教师和学生开发的试题库管理系统。它主要由试题录入维护系统、试卷生成系统以及网络测试系统三部分组成,可完成试题
11、录入、查询、维护,试卷生成、预览、打印、查询以及通过网络环境(Internet/Intranet)测试相关课程的模拟题等工作。由于采用了数据库技术、网络技术、自动化技术和智能管理,可大大减轻试卷管理工作的难度,提高试卷的生成速度,方便教师更好地管理课程考试工作。1.1 Microsoft Visual Basic 6.0 中文版Visual Basic 是微软公司推出的基于 Windows 平台上的最方便快捷的软件开发工具。是在原有的 Basic 语言基础上进一步发展来的,它包含了数百条语句、函数及关键词,其中很多与 Windows GUI 有直接的关系。Visual Basic 提供了可视化
12、的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解脱出来;可视化编程环境的“所见即所得”功能,使界面设计如积木游戏一般,编程变成了一种享受;强大的多媒体功能可轻而易举地开发多媒体应用程序;新增的网络功能提供了编写 Internet程序的能力。Visual Basic6.0 中文版不支持用户自己开发 ActiveX 控件和制作 ActiveX 文档.它之所以有这么广泛的用途是因为它具有以下的特点:1、真正的的面向对象编程,使开发人员在维护系统运行时只需修改很小的代码,同时也加快了系统开发的速度。 2、可视化的编程方法,以及向导的功能,是开发人员几乎不用加太多的代码就可以开发标准的 Win
13、dows 程序。3、数据访问特性允许对包括 Microsoft SQL Server 和其他企业数据库在内的大部分数据库格式建立数据库和前端应用程序。4、通过 ActiveX 技术可使用其它应用程序提供的功能,例如Microsoft Word 的字处理器,甚至可直接使用 Visual Basic 创建的应用程序和对象。5、Internet 能力强大,使得在应用程序内很容易通过 Internet 访问文档和应用程序。6、已完成的应用程序的真正的.EXE 文件,公允形式的可自由发布的动态链接库81.2 Microsoft SQL Server 2000SQL 是英文 Structured Quer
14、y Language 的缩写,意思为结构化查询语言。SQL 语言的主要功能就是同各种数据库建立联系,进行沟通。微软的SQL Server 是一个多用户的关系数据库系统,他为在复杂环境下有效的实现重要的商业应用提供了一个强有力的客户机/服务器平台。他结合Microsoft Windows NT 操作系统的能力,提供一个安全的,可扩展的,易管理,高性能的客户机/服务器数据库平台。作为一个多层的客户机/服务器数据库系统,SQL Server 的数据库驻留在一个中央计算机上,该计算机称为服务器。用户通过客户机的应用程序来访问服务器上的数据库。在能访问数据库之前,SQL Server 首先对来访的请求作
15、安全验证,验证通过后就处理请求,并将处理的结果返回给应用程序。这种处理方式也是大多数客户/服务器系统所使用的,即客户机向服务器提出请求,服务器分析处理请求,并将结果返回给客户机。SQL Server 还可以作为一个存储在本地的单机数据库,即作为一个桌面数据库来使用。这样,应用程序可以将 SQL Server 嵌入进入并作为整个程序的一部分。在这种情况下,不需要为每一个客户机分配管理员,SQL Server 能够动态的进行自身配置以达到最优的运行。本系统的设计就是安装 SQL Server 2000 的桌面版来建立数据库的。1.3 主要技术及相关知识1.3.1 ADO技术ADO 是 Micros
16、oft 处理关系数据库和非关系数据库中信息的最新技术(关系数据库管理系统用表来操纵信息,但并非所有的数据源都遵从这一模式) 。ADO 没有完全取代现有的 DAO,但是它确实把 DAO 的编程扩展到了新的领域。ADO 基于微软最新的被称为 OLE DB 的数据访问模式。它是专门为了给大范围的商业数据源提供访问而设计的,包括传统的关系数据库表、电子邮件系统、图形格式、Internet 资源等等。ADO 比 DAO 所需的内存更少,所以它更适合于大流量和大事务量的网络计算机系统。ADO 方式是 DAO 和 RDO 方式的继承者,它也有一个类似的对象模式。在 ADO 方式中,可编程对象展示了计算机上所
17、有可获取的本地和远哈尔滨工业大学毕业设计(论文)- 9 -程数据源。1、ADO 对象ADO 顶层有三个对象 Connection、Command、Recordset:Connection 对象可以指定数据源,建立与数据源的连接、隔离特定的连接;Command 对象对数据源执行指定的命令。它可以接受 SQL 语句、表的名称和存储过程的名称,执行 SQL 查询、更新数据、插入记录等。Recordset 对象表示的是来自表或命令执行结果的记录全集,操作来自提供者的几乎所有数据。2、ADO 集合每个对象都有 Properties(属性 )集合;Errors(错误)集合包含连接数据库失败时产生的所有 E
18、rror 对象;Parameters (参数)集合包含 Command 对象的所有 Parameter 对象;Fields(字段)集合包含 Recordset 对象的所有 Field 对象。3、与数据库建立的连接增加了一个模块 Mconnection 在模块中建立公共子程序 Connection()在其它的窗体和模块调用此公共子程序就完全可以实现与数据库的连接。具体代码如下:Public Sub Connection()Set cn = New ConnectionWith cn.Provider = “MSDASQL“.ConnectionString= “dsn=datas;uid=sa;
19、pwd=;database=datas”.OpenEnd WithEnd Sub1.3.2 SQL语言SQL 是一种数据库的查询和编程语言,是对数据库中的数据进行组织、管理和检索的工具。当用户想检索数据库中的数据时,就用 SQL 编写出提取信息的 SQL语句,SQL 语句用某种规则来获取数目有限的特定的记录。数据库管理系统(DBMS)对 SQL 请求进行处理,检索到所需要的数据,并将其返回给10用户,这个过程就是 SQL 查询。通过查询可以快速方便地从数据库中获取需要的数据。尽管查询是 SQL 的核心,但是 SQL 不仅仅是一个查询工具,SQL 可以控制数据库管理系统提供给用户的所用功能,包括
20、定义数据存放的结构、数据更新、数据检索、实现数据共享和规定数据的完整性等。SQL 已经成为关系型的标准语言,它广泛用于客户机/服务器的结构中,客户机利用SQL 通过网络与存放数据库的服务器通信。正因为 SQL 是一个标准,所以 SQL 可以用来在不同的数据库管理系统间通信。1.3.3 VBA技术系统主要功能 可以建立多个试题库题库; 支持各种题型的组织管理; 支持简单符号文字的输入; 支持试题图片的插入、预览和打印; 可自动或手工选题; 密码登录,保护试题信息的安全性;哈尔滨工业大学毕业设计(论文)- 11 -2 系统的需求分析2.1 系统设计目标在以往的手工命题中,一份试卷的形成,不仅要书写
21、大量的题目,而且还要随题画出图形,命题工作年年重复进行。为了使教师从烦琐和重复的组题工作中解脱出来,用计算机实现对题库进行全面、系统、科学、高效的管理和应用,以适应教学和考试的需要。我们决定开发一个题库管理系统.该系统将实现题库的录入、编辑、查询、生成试卷、输出试卷和更新系统等功能,具有较强的开放性、移植性以及完善的安全机制,从而实现数据库题库管理的计算机化,并加以推广使用。2.2 系统设计原则实用性原则:实用性是题库管理系统的基本原则。保证系统的使用,满足用户的业务需求是该系统的基本目标,在实用的基础上再追求其他的新颖的功能。科学与规范性原则:该原则要求题库管理系统在设计和开发中做到系统结构
22、的科学性,软硬件环境的合理性,符合现代软件工程技术的规范性,并包括开发工具与后台数据库接口和输出等技术的规范性。可扩充性原则:该原则要求随软硬件技术的发展而可以实现系统的扩充,以及用户需求的扩充、用户数目的扩充等。安全性原则:由于该系统管理是面向考试服务的系统,因此具有严格的安全要求,在该系统中,将实行不同层次用户拥有不同密码,有不同的权限。122.3 题库管理系统的数据流图3 数据库的构建3.1 数据库的建立在 SQL Server 服务器下面的“data base”单击鼠标右键,选择弹出式菜单中的“new database”,在数据库窗口中输入数据库的名称 datas,在数据库文件栏将所属
23、文件名称和容量做一下调整,单击日志选项卡,设置日志文件,如果设置的容量较大,SQL Server 将花费较长时间来初始化数据库,待初始化完成后,数据库的增加就完成了。请注意,在设置数据库时,应该对数据文件和文件组有以下几个方面的清晰认识:1、文件或文件组不能多于数据库。2、文件只是一个文件组的成员。3、日志文件不属于任何文件组。4、如非必要,只需设置一个数据文件和一个日志文件就可以良好运作。5、为提高运行效率,最好在本地不同的物理磁盘上为数据库创建多个数据文件和文件组,并给那些执行大量数据操作的数据库对象分配不同的文件组。6、不要将日志文件存放在其他文件或文件组所在的物理磁盘上。用户登录 信息
24、管 理生成试 卷输出试 卷用户登录失败用户要 求用户表(UserTable) 试题表(QuestionTable)篇章表(ChapterTable),小节表(PartTable)出题要 求输出要 求试卷图 2-1 题库管理系统的数据流图哈尔滨工业大学毕业设计(论文)- 13 -3.2 数据库的扩展一般来说,在 SQL Server 中扩展一个数据库有三种方法:1、将数据库设置为自动增长。2、为数据库原有的数据文件分配更多的空间。3、为数据库增加另外的数据文件并为之分配空间。我们在建立数据库时,采用了第一种方法。单击已经建好的 datas 数据库,在弹出式菜单中选择“properties”,在属
25、性窗口中改变比例值,或者固定增长的大小,我们设置固定为 10mb。数据库建立结束。3.3 数据库中的表在 SQL Server 中创建表有两种方式,一种是可视方式,另一种是程序方式。前者采用填表的形式创建表,后者采用 SQL 语句创建表,我们采用的是可视方式建立表格。执行 Enterprise Manager 命令,进入 sql server enterprise manager 窗口,展开 sql server enterprise manager 窗口左框中的树结构,此时已经可以看到数据库 datas 的结构,右键单击 sql server enterprise manager 窗口左框中
26、的 datas 数据库中的 tables,出现弹出式菜单,单击弹出式菜单中的 new table 命令,出现 choose name 对话框,输入表名,填加完字段后此表就已经生成了。在本系统的开发过程中我们共建立了 17 个表和 11 个视图:篇章表(T_Chapter) 、文字题表( T_CharacterQst) 、选择题表(T_ChoiceQst ) 、属性表(T_CommonAttribute ) 、试题难度表(T_Difficulty) 、判断题表(T_JudgeQst ) 、知识点表(T_KnowledgePoint) 、试题类型表(T_Type) 、用户信息表(T_User)和用
27、户类型表(T_UserType ) 。表具体的数据结构如下: 篇章表:存储试题的所属篇章信息,其中篇章编号是篇章表的主键。表 3-1 T_Chapter字段名称 数据类型 是否允许空 默认值 含义ChapterID 长整型 N 0 篇章编号ChapterName 文本 N 篇章名称 文字题表:存储文字题信息,其中文字题编号是本表的主键。14表 3-2 T_CharacterQst字段名称 数据类型 是否允 许空 默认 值 含义CharacterQstID 长整型 N 0 文字题编号BackBone 备注 N 文字题主干BackBonePic OLE 对象 文字题图片Answer 备注 N 答案
28、AnswerPic OLE 对象 答案图片CommonAttID 数字 N 试题属性编号Blanks 数字 (填空题)填空数 选择题表:存储选择题信息,其中选择题编号是本表的主键。表 3-3 T_ChoiceQst字段名称 数据类型 是否允许空 默认值 含义ChoiceQstID 长整型 N 0 选择题编号BackBone 备注 选择题主干BackbonePic OLE 对象 选择题主干 图片Choice1 文本 选项 1Choice1Pic OLE 对象 选项 1 图片Choice2 文本 选项 2Choice2Pic OLE 对象 选项 2 图片Choice3 文本 选项 3Choice3
29、Pic OLE 对象 选项 3 图片Choice4 文本 选项 4Choice4Pic OLE 对象 选项 4 图片Choice5 文本 选项 5Choice5Pic OLE 对象 选项 5 图片Choice6 文本 选项 6哈尔滨工业大学毕业设计(论文)- 15 -Choice6Pic OLE 对象 选项 6 图片Answer 文本 答案CommonAttID 数字 试题属性编 号 属性表:主要是记录试题的属性,包括试题类型,试题难度级别,试题所属篇章,试题所属小节,试题所考察的知识点,试题使用次数,试题录入时间,试题最后使用时间,试题是否可用。其中属性编号是本表的主键。 表 3-4 T_C
30、ommonAttribute字段名称 数据类型 是否允许空 默认值 含义CommonAttID 长整型 N 0 属性编号TypeID 数字 N 试题类型DifficultyID 数字 N 试题难度 级别ChapterID 数字 试题所属 篇章SectionID 数字 试题所属 小节KnowledgePointID 数字 试题考察 知识点UsedTimes 数字 试题使用 次数RecordTime 日期/时间 N 试题录入 时间LastUsedDate 日期/时间 试题最后使用时间Availability 是/否 N 试题是否 可用16 试题难度表:本表是存贮试题的难度级别,其中难度级别编号是本
31、表的主键。表 3-5 T_Difficulty字段名称 数据类型 是否允许空 默认值 含义DifficultyID 长整型 N 0 难度级别编号DifficultyName 文本 N 难度级别名称 判断题表:存储判断题信息,其中判断题编号是本表的主键。 。 表 3-4 T_JudgeQst字段名称 数据类型 是否允许空 默认值 含义JudgeQstID 长整型 N 0 判断题编号BackBone 备注 N 判断题主干BackBonePic OLE 对象 主干图片Answer 是/否 N 答案CommonAttID 数字 N 试题属性编 号 知识点表:记录每章所要掌握的知识点,知识点编号是本表的
32、主键。 表 3-4 T_KnowledgePoint字段名称 数据类 型 是否允许 空 默认值 含义KnowledgePointID 长整型 N 0 知识点编号KnowledgePointName 文本 N 知识点名称小节表:存储试题的所属小节信息,其中小节编号是本表的主键。 表 3-4 T_Sector字段名称 数据类型 是否允许空 默认值 含义SectorID 长整型 N 小节编号哈尔滨工业大学毕业设计(论文)- 17 -SectorName 文本 N 小节内容Belong 数字 N 小节所属篇章 试题类型表:本表记录试题类型名称,试题类型编号为本表主键。 表 3-4 T_Type字段名称
33、 数据类型 是否允许空 默认值 含义TypeID 长整型 N 试题类型编号TypeName 文本 N 试题类型名称 用户信息表:。 表 3-4 T_User字段名称 数据类型 是否允许空 默认值 含义UserName 文本 用户名PassWord 文本 N 用户密码UserTypeID 数字 N 用户类型编号 和用户类型表:。 表 3-4 T_UserType字段名称 数据类型 允许空 默认值 含义UserTypeID 长整型 N 用户类型编号UserTypeName 文本 N 用户类型名称3.4 设计要点题目的编码不仅要唯一标识题目,还必须能够标识题目属性:题型、章节、难度系数以及题号,在数
34、据库的设计中我们把题目的编码统称为题号。利用这样定义的编码,容易区分题目之间的不同。由于编码的唯一确定性,可确保在生成的同一试卷中,不会抽取相同的试题。3.5 一点说明1) 篇章表和小节表是通过篇章号建立关联的。182) 试题的类型共分三种:1-选择、2- 文字、3-判断、如果前 3 种类型中没有用户要求的,用户可以在录入模块中的添加类型窗体中自定义类型。3) 试题的难度共分五种:1-简单、2- 一般、3-中等、4-较难、5-很难。4 系统的功能结构4.1 系统功能结构图在我们开发数据库题库管理系统的过程中,我们发现要想开发一个优秀的题库管理系统,应当解决以下几个问题: 系统的安全性:用户的合
35、法登录。 数据的合法性问题:试题信息和章节信息在录入和编辑的过程中是否合法。 数据的一致性问题:试题信息和章节信息在录入和编辑的过程中题号与其它各项是否保持一致。 数据的完整性问题:试题信息和章节信息在录入和编辑的过程中是否完整。 试卷难易度和题量分布的控制:由于知识点侧重的不同,题目有难易之分。对于不同类型的学生,其试卷难易度也应有所不同。并且重点章节应多出题量,反之则少出题。 试卷中题目分值的调整:按照用户的需求,调整卷面各题的分值。 试卷的排版和编辑:控制试卷导出的格式,并使其能在通用的编辑软件(如 WORD)下重新进行编辑或打印成真正意义上的试卷。 系统的通用性:可以通过更新系统实现系
36、统的通用性。根据上述分析,我们在做概要设计时就为系统设计了下面几个功能模块,用户登录、信息管理、生成试卷、输出试卷、更新系统、和窗体的设置、用户的帮助文件等。其具体的功能结构图如(图 4-1)所示。哈尔滨工业大学毕业设计(论文)- 19 -图 4-1 系统功能结构图4.2 系统功能模块 登录子模块:登录成功的用户可以对数据库进行修改题库,添加题量,删除以及生成和输出试卷等。同时还可以修改密码。 信息管理子模块主要包括:试题类型的增加、试题信息和章节信息的录入、编辑、查询三个子模块。具体可以实现信息的录入、修改或删除题库、浏览题库、增加题型和章节、修改难度系数和查询当前题号、数据库题库管理系统登
37、录信息管 理输出试 卷更新系 统清空章节清空题库用户信息录入章节录入查询编辑生成试 卷窗口帮助添加类型编辑章节手工组卷自动组卷编辑试题录入试题20试题个数、章节信息等功能。试题库是试题来源,对试题库进行管理非常重要。试题录入时可集中录入或随时录入;对于录入的试题在一定的权限下可作修改或删除;在浏览题库时可查看已建立的试题库,并对其进行分类统计;对不同的课程可增加新的题型和新的章节;可修改题目的难度系数。编辑题签:对所选出的试题进行修改和编辑。 更新系统子模块主要包括:更新用户信息、清空试题库和清空章节库三个子模块。更新用户信息:修改登录时用户名或用户密码。清空试题库和清空章节库:删除所有题库中
38、的信息。 窗口和帮助子模块:为用户在使用本系统中提供一定的方便。5 系统的设计与实现5.1 主界面的设计系统的主界面主要是考虑到界面友好、用户使用方便。首先,设计一个总的菜单,在其上面均能看到上述功能的菜单项。用户根据需要进行选择。同时为了消除使用者面对枯燥的题库所产生的疲劳还设计了动画和配有轻松的音乐。具体如图:(图 5-1)图 5-1 数据库题库管理系统主界面5.2 登录子模块5.2.1 登录子模块的设计思想在登录子模块中可以实现两个功能,这两个功能共用一个窗体,一个是在用户登录时对身份进行验证,另一个是在用户修改密码时使用。具体如图:(图 5-2) 哈尔滨工业大学毕业设计(论文)- 21
39、 -图 5-2 登录对话框5.2.2 登录子模块的具体实现这两个功能的实现均采用记录集与后台数据库建立关联,在用户登录进行身份验证时通过对记录集指针的移动让用户所输入的信息与数据库中的记录进行比较如果存在这样的记录则用户通过了身份验证,给用户三次机会,如果用户登录都未成功,则用户无权使用本题库管理系统,退出应用程序。在修改用户信息时,用户必须单击修改按钮此时确定按钮是不可用的,用户修改完以后单击“确定”数据将被存到数据库中,修改成功,此时修改按钮是不可用的。5.2.3 登录子模块的设计要点在这个模块的设计中,“修改”是打开记录集;“确定”是对记录集操作和关闭,因此只有先选中“修改”后“确定”才
40、可用,否则访问记录集就出现错误。5.3 试题录入子模块本模块能实现试题的录入、编辑、查询等三个方面的功能。共包括录入试题、录入章节、添加类型、编辑试题、编辑章节和查询六个窗体。5.3.1 试题录入子模块的设计思想运用 ADO 技术与后台数据库创建数据连接 Connection 对象。再分别用Connection 对象和 Command 对象创建记录集 Recordset 对象。文本框与数据库通过 Recordset 建立起关联,对于记录集的操作均能在前台文本框中体现出来,使用户能够获得所需数据。录入子模块:用户主要完成信息的录入又可以分为录入试题、录入章节和添加类型。在录入的过程中用户所输入的
41、数据必须通过数据的合法性、一致性和唯一性的检查才能保存到数据库中。22编辑子模块:用户对数据库现有的信息进行编辑。分为编辑试题和编辑章节。在编辑试题时用户可以按题号或者按章节号、类型、难度三者中任一组合进行查询来获得所要的数据信息对其进行浏览、更新、删除和添加。在编辑章节时可以浏览本教材的全部信息也可分章节浏览部分信息并对其进行修改、添加、删除。在编辑的过程中也将对数据的合法性、一致性和唯一性进行检查。查询子模块:本模块可实现查询当前题号、试题个数、试题内容、章节信息四个功能。在查询试题个数时可获得章节号、类型、难度三者中任一组合的试题个数。5.3.2 试题录入子模块的具体实现录入子模块中有两
42、个窗体分别是录入试题窗体和录入章节窗体。在这两个窗体中文本框是输入要录入的信息,它的 DataSource 属性是记录集RS,DataField 属性是记录的字段 RS.field ,这样通过记录集 RS 直接与数据库绑定在一起,命令按钮有保存、取消、添加,利用的是记录集的RS.updata 、 RS.addnew、 RS.delete 来对数据库操作。完成的功能比较单一。还有一个添加类型窗体,由一个文档框和两个命令按钮组成实现的方法与上述方法类似。编辑子模块中也有两个窗体分别是编辑试题窗体和编辑章节窗体。这一部分实现相对比较烦琐,在编辑试题窗体中有两种查询方式,用户通过输入查询条件找到所要编
43、辑的试题信息。第一种用户必须输入试题的题号这一种比较简单,第二种是用了三个复选框用户根据需要选择,每一个选择都将被存入相应的字符串中,再把这三个字符串的内容传递给 Command 的 Parameter 集合,用 Command 命令的执行command.execute 找到符合条件的记录集并对记录集进行操作,比如:记录的更新 rs.updata、添加 rs.addnew、删除 rs.delete、前一个 rs.movepreviouse、后一个 rs.movenext 等。在编辑章节窗体中则用到了数据绑定控件 Adodc、树形显示篇章信息 treeview 和网格显示小节信息datagrid
44、 控件来达到更直观的效果,同时也添加了命令按钮保存、添加、删除、取消、前一个、后一个等。具体代码也是建立记录集并对记录集进行操作。哈尔滨工业大学毕业设计(论文)- 23 -查询子模块主要用到的是 SSTab 选项卡控件,这个控件是添加的Microsoft Tabbed Dialog Controls 部件,它与 Microsoft Windows Common Controls 中的 TabStrip 相比更具有使用性。选项卡数目是 4 个各实现一个功能。其中试题个数、试题内容、当前题号与编辑窗体的实现方法类似,章节信息则自动计算了篇章数目和小节数目。5.3.3 试题录入子模块的主要算法1、
45、数据的合法性、一致性、唯一性检查:如图(5-3)开 始录入试题信息试 题有输入项为空?录入试题属性有输入项为空? YY24图 5-3 数据的合法性、一致性和唯一性检查的流程图2、试题个数的查询:设三个字符串 str1,str2,str3 分别存储章节号、类型和难度,如果章节号、类型、难度前的复选框被选中则把输入的值对应的存到字符串中否则在对应的字符串中输入“” ,把三个字符串按章节号、类型、难度的顺序连接起来再加上“-”组成符合条件作为查询条件中题号的输入值。用 Command 命令建立 Recordset 对象记录集通过对记录指针的移动来获得符合查询条件的记录。如:select * from
46、 questiontable where 题号 like ?, ?=str1&str2&str3&”-”(其中“-”起到屏蔽的作用)3、编辑章节:用 TreeView 和 ADODC 控件与数据库建立连接在运行时动态的添加篇章信息并用与查询相同的方法获得记录信息。其它功能的算法与上述方法类似具体内容请参阅附录 A:程序代码。检查输入项合法性?检查输入项合法性?保 存 信 息结 束N NNN哈尔滨工业大学毕业设计(论文)- 25 -6 系统测试及性能分析6.1 系统测试软件的开发经过了问题的定义、可行性研究、需求分析、总体设计、详细设计和编码阶段以后就进入软件的测试阶段。测试的目的是为了发现程序
47、中存在的错误。在对本系统编码完成以后,我主要从以下几个方面对系统进行了一系列的测试。1、人工测试:和同组合作的同学在编程思想基本一致的前提下互相交换所编写的程序,检查对方在编写过程中存在的错误或失误之处,采用的测试算法主要是黑白盒测试相结合的原则(主要有等价类测试,边界值测试,模糊测试等) 。2、机器测试:交换程序后按照各自对系统所应完成的功能的理解设计测试用例,尽可能“多和全”的对系统进行测试。发现错误后和各自理解有分歧时,通过共同探讨最后制定出解决方案对系统进行修改和完善。6.2 性能分析本系统在对其进行测试的过程中还是发现了一些问题,这些问题主要集中在对所建立的记录集的操作上,尤其是记录
48、集的打开和关闭。现在这些问题已经基本被解决,另一个问题就是图形录入上存在一定的困难,因为采用 VBA 技术还不是很成熟,今后这快的问题还要有所改进。总体而言,该系统完成了对数据库题库的管理,实现了数据库管理的计算机化,并且由于其具有很强的针对性,在使用过程中对用户所提供的要求均能满足,使用方便。267 经验体会及可进行的后继开发在这次毕业设计中,我主要使用 Microsoft Visual Basic 6.0 中文版和Microsoft SQL Server 2000 来开发数据库题库管理系统。除熟练掌握了这两种软件外,还对软件的开发过程也就是我们所学的软件工程这门课从理论到实践有了更系统的学
49、习和更为深刻的理解。通过这几个月的学习和实践,我无论是从知识的获取还动手能力的培养都有了长足的进步。也总结出了一些经验。1) 系统资源应尽量充足,尽管在设计初期一般配置就可能满足设计要求,但随着程序和数据库复杂度的增加,处理速度将下降。2) 及时释放资源,例如尽早释放对象,关闭连接等。3) 在开发的过程中应注重多查阅资料。4) ADO 技术的 Command 对象是一个非常好的查询命令,可尽量使用。5) 对记录集的操作打开和关闭应小心,操作不当很容易出错。 软件开发完毕后对于系统的后继开发也是非常重要的。本系统的设计着眼点是放在数据库这门课程上,但它应用于其它的题库也是完全可以做到的,只要更改题库的名称和根据用户的需要修改类型和难度就可以使用。8 系统安装8.1 系统环境(1) 硬件环境 中央处理器:Pentium II 以上 内 存:64以上 硬 盘:20M 以上(2) 软件环境 系统软件:Windows 98/NT/2000/XP,IIS(Microsoft Internet Information Server) 应用软件:Microsoft Word 97 以上哈尔滨工业大学毕业设