【精品毕设】基于JavaEE的数据库题库管理系统(包含源码和论文)

点击获取源码+论文

摘   要

开发数据库题库管理系统主要是为了建立一个统一的题库,并对其用计算机进行管理,使教师出题高效、快捷。

其开发主要包括后台数据库的建立、维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,使用方便、灵活等特点。经过分析,我们使用 Microsoft公司的SQL Server7.0 管理后台数据库。用Visual Basic6.0中文版做为前端开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。在开发过程中使用了ADO技术和SQL语言完成了对系统功能的实现。

数据库题库管理系统包括六个模块,实现对题库的录入、编辑、查询和自动生成试卷、手工生成试卷、输出试卷等功能。同时还增加对所用教材的管理如教材的录入、编辑和查询,功能的扩展如试题类型的增加和系统的更新。达到了开发数据库题库管理系统的目的。

本系统具有针对性强、操作简便、成卷快、题目搭配合理、试卷难易程度可控等特点。相信投入使用后定会成为教师出题的好帮手。

关键词:

数据库题库管理系统;题库;ADO;SQL;VBA。

Abstract

The system of 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. 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 application. 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 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.

前  言

随着计算机技术的不断发展,它被更广泛地应用在我国的各行各业中。其中计算机辅助教育(CAI)在教育系统中的应用,收到了良好的效果,给教育改革带来美好的前景。多媒体教学、电子课件、远程教育、学籍管理等项目的开发与应用倍受关注。在教学管理中,为实现教考分开,更加合理、公平、公正、公开地进行各种考试,利用计算机进行考试题库管理,辅助教师命题组卷已成为各院校教学改革的重要内容之一。因此对于题库管理系统的开发和应用就显得尤为重要。各院校也竞相推出各自开发的题库管理系统,在对已经开发出的各种题库管理系统的使用过程中,我们发现其多偏重于题库管理功能的“大而全”,虽然具有一定的通用性但缺乏针对性,在实际应用中操作烦琐,给出题带来了不便。

而本数据库题库管理系统则是根据数据库原理这门课的课程结构和试题内容来设计的一种具有针对性强、操作简便、成卷快、题目搭配合理、试卷难易程度可控等特点的系统。同时也具有一定的可扩展性,完全可以作为其它课程的题库管理系统。

在本系统的设计过程中,我们尽量做到更好,但由于本人水平有限,难免有不尽如人意的地方,还有待进一步改善,敬请指教。

   

摘要 ............................................................................................. ii

Abstract............................................................................................ iii

前言............................................................................................ iv

   1.3.1、ADO技术

   1.3.2、SQL语言

   1.3.3、ABA技术

1.4、主要功能

二、 系统需求分析

2.1、系统设计目标

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、登录子模块的设计思想

5.2.2、登录子模块的具体实现

5.2.3、登录子模块的设计要点

5.3、试题录入子模块

5.3.1、试题录入子模块的设计思想

5.3.2、试题录入子模块的具体实现

5.3.3、试题录入子模块的主要算法

、系统测试及性能分析

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、用户管理

结束语

致  

主要参考文献

  1.   系统开发平台简介

《高校通用题库管理系统》是针对广大高校教师和学生开发的试题库管理系统。它主要由试题录入维护系统、试卷生成系统以及网络测试系统三部分组成,可完成试题录入、查询、维护,试卷生成、预览、打印、查询以及通过网络环境(Internet/Intranet)测试相关课程的模拟题等工作。由于采用了数据库技术、网络技术、自动化技术和智能管理,可大大减轻试卷管理工作的难度,提高试卷的生成速度,方便教师更好地管理课程考试工作。

    1.   Microsoft Visual Basic 6.0中文版

     Visual Basic是微软公司推出的基于Windows平台上的最方便快捷的软件开发工具。是在原有的Basic语言基础上进一步发展来的,它包含了数百条语句、函数及关键词,其中很多与Windows GUI 有直接的关系。Visual Basic 提供了可视化的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解脱出来;可视化编程环境的“所见即所得”功能,使界面设计如积木游戏一般,编程变成了一种享受;强大的多媒体功能可轻而易举地开发多媒体应用程序;新增的网络功能提供了编写Internet程序的能力。Visual Basic6.0中文版不支持用户自己开发ActiveX控件和制作ActiveX文档.它之所以有这么广泛的用途是因为它具有以下的特点:

    1、真正的的面向对象编程,使开发人员在维护系统运行时只需修改很小的代码,同时也加快了系统开发的速度。 

    2、可视化的编程方法,以及向导的功能,是开发人员几乎不用加太多的代码就可以开发标准的Windows程序。

    3、数据访问特性允许对包括Microsoft SQL Server和其他企业数据库在内的大部分数据库格式建立数据库和前端应用程序。

    4、通过ActiveX技术可使用其它应用程序提供的功能,例如Microsoft  Word的字处理器,甚至可直接使用Visual Basic 创建的应用程序和对象。

5、Internet能力强大,使得在应用程序内很容易通过Internet访问文档和应用程序。

6、已完成的应用程序的真正的.EXE文件,公允形式的可自由发布的动态链接库

    1.   Microsoft SQL Server 2000

SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。微软的SQL Server是一个多用户的关系数据库系统,他为在复杂环境下有效的实现重要的商业应用提供了一个强有力的客户机/服务器平台。他结合Microsoft Windows NT操作系统的能力,提供一个安全的,可扩展的,易管理,高性能的客户机/服务器数据库平台。

作为一个多层的客户机/服务器数据库系统,SQL Server的数据库驻留在一个中央计算机上,该计算机称为服务器。用户通过客户机的应用程序来访问服务器上的数据库。在能访问数据库之前,SQL Server首先对来访的请求作安全验证,验证通过后就处理请求,并将处理的结果返回给应用程序。这种处理方式也是大多数客户/服务器系统所使用的,即客户机向服务器提出请求,服务器分析处理请求,并将结果返回给客户机。

SQL Server 还可以作为一个存储在本地的单机数据库,即作为一个桌面数据库来使用。这样,应用程序可以将SQL Server 嵌入进入并作为整个程序的一部分。在这种情况下,不需要为每一个客户机分配管理员,SQL Server 能够动态的进行自身配置以达到最优的运行。本系统的设计就是安装SQL Server 2000的桌面版来建立数据库的。

    1.   主要技术及相关知识

1.3.1 ADO技术

ADO是Microsoft处理关系数据库和非关系数据库中信息的最新技术(关系数据库管理系统用表来操纵信息,但并非所有的数据源都遵从这一模式)。ADO没有完全取代现有的DAO,但是它确实把DAO的编程扩展到了新的领域。

ADO基于微软最新的被称为OLE DB的数据访问模式。它是专门为了给大范围的商业数据源提供访问而设计的,包括传统的关系数据库表、电子邮件系统、图形格式、Internet资源等等。ADO比DAO 所需的内存更少,所以它更适合于大流量和大事务量的网络计算机系统。

ADO方式是DAO和RDO方式的继承者,它也有一个类似的对象模式。在 ADO方式中,可编程对象展示了计算机上所有可获取的本地和远程数据源。

1、ADO对象

ADO顶层有三个对象Connection、Command、Recordset:

Connection对象可以指定数据源,建立与数据源的连接、隔离特定的连接;

Command对象对数据源执行指定的命令。它可以接受SQL语句、表的名称和存储过程的名称,执行SQL查询、更新数据、插入记录等。

Recordset对象表示的是来自表或命令执行结果的记录全集,操作来自提供者的几乎所有数据。

2、ADO集合

每个对象都有Properties(属性)集合;

Errors(错误)集合包含连接数据库失败时产生的所有Error对象;

Parameters (参数)集合包含Command对象的所有Parameter对象;

Fields(字段)集合包含Recordset对象的所有Field对象。

3、与数据库建立的连接

   增加了一个模块Mconnection在模块中建立公共子程序Connection()在其它的窗体和模块调用此公共子程序就完全可以实现与数据库的连接。具体代码如下:

Public Sub Connection()

    Set cn = New Connection

    With cn

        .Provider = "MSDASQL"

        .ConnectionString= “dsn=datas;uid=sa;pwd=;database=datas”

         .Open

    End With

End Sub

1.3.2  SQL语言

SQL是一种数据库的查询和编程语言,是对数据库中的数据进行组织、管理和检索的工具。

当用户想检索数据库中的数据时,就用SQL编写出提取信息的SQL语句,SQL语句用某种规则来获取数目有限的特定的记录。数据库管理系统(DBMS)对SQL请求进行处理,检索到所需要的数据,并将其返回给用户,这个过程就是SQL查询。通过查询可以快速方便地从数据库中获取需要的数据。

尽管查询是SQL的核心,但是SQL不仅仅是一个查询工具,SQL可以控制数据库管理系统提供给用户的所用功能,包括定义数据存放的结构、数据更新、数据检索、实现数据共享和规定数据的完整性等。SQL已经成为关系型的标准语言,它广泛用于客户机/服务器的结构中,客户机利用SQL通过网络与存放数据库的服务器通信。正因为SQL是一个标准,所以SQL可以用来在不同的数据库管理系统间通信。

1.3.3  VBA技术

系统主要功能

  1. 可以建立多个试题库题库;
  2. 支持各种题型的组织管理;
  3. 支持简单符号文字的输入;
  4. 支持试题图片的插入、预览和打印;
  5. 可自动或手工选题;
  6. 密码登录,保护试题信息的安全性;

2  系统的需求分析

2.1  系统设计目标

在以往的手工命题中,一份试卷的形成,不仅要书写大量的题目,而且还要随题画出图形,命题工作年年重复进行。为了使教师从烦琐和重复的组题工作中解脱出来,用计算机实现对题库进行全面、系统、科学、高效的管理和应用,以适应教学和考试的需要。我们决定开发一个题库管理系统.该系统将实现题库的录入、编辑、查询、生成试卷、输出试卷和更新系统等功能,具有较强的开放性、移植性以及完善的安全机制,从而实现数据库题库管理的计算机化,并加以推广使用。

2.2  系统设计原则

·实用性原则:实用性是题库管理系统的基本原则。保证系统的使用,满足用户的业务需求是该系统的基本目标,在实用的基础上再追求其他的新颖的功能。

·科学与规范性原则:该原则要求题库管理系统在设计和开发中做到系统结构的科学性,软硬件环境的合理性,符合现代软件工程技术的规范性,并包括开发工具与后台数据库接口和输出等技术的规范性。

·可扩充性原则:该原则要求随软硬件技术的发展而可以实现系统的扩充,以及用户需求的扩充、用户数目的扩充等。

·安全性原则:由于该系统管理是面向考试服务的系统,因此具有严格的安全要求,在该系统中,将实行不同层次用户拥有不同密码,有不同的权限。

2.3  题库管理系统的数据流图

  

用户

登录

信息管 理

生成试 卷

输出试 卷

用户

登录

失败

用户要 求

用户表(UserTable)

试题表(QuestionTable)

篇章表(ChapterTable),小节表(PartTable)

出题要 求

3  数据库的构建

3.1  数据库的建立

     在SQL Server服务器下面的“data base”单击鼠标右键,选择弹出式菜单中的“new database”,在数据库窗口中输入数据库的名称datas,在数据库文件栏将所属文件名称和容量做一下调整,单击日志选项卡,设置日志文件,如果设置的容量较大,SQL Server将花费较长时间来初始化数据库,待初始化完成后,数据库的增加就完成了。请注意,在设置数据库时,应该对数据文件和文件组有以下几个方面的清晰认识:

1、文件或文件组不能多于数据库。

2、文件只是一个文件组的成员。

3、日志文件不属于任何文件组。

4、如非必要,只需设置一个数据文件和一个日志文件就可以良好运作。

5、为提高运行效率,最好在本地不同的物理磁盘上为数据库创建多个数据文件和文件组,并给那些执行大量数据操作的数据库对象分配不同的文件组。

6、不要将日志文件存放在其他文件或文件组所在的物理磁盘上。

3.2  数据库的扩展

一般来说,在SQL Server 中扩展一个数据库有三种方法:

1、将数据库设置为自动增长。

2、为数据库原有的数据文件分配更多的空间。

3、为数据库增加另外的数据文件并为之分配空间。

我们在建立数据库时,采用了第一种方法。单击已经建好的datas数据库,在弹出式菜单中选择“properties”,在属性窗口中改变比例值,或者固定增长的大小,我们设置固定为10mb。数据库建立结束。

3.3  数据库中的表

SQL Server 中创建表有两种方式,一种是可视方式,另一种是程序方式。前者采用填表的形式创建表,后者采用SQL语句创建表,我们采用的是可视方式建立表格。执行Enterprise Manager命令,进入sql server enterprise manager 窗口,展开 sql server enterprise manager 窗口左框中的树结构,此时已经可以看到数据库datas的结构,右键单击sql server enterprise manager窗口左框中的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)和用户类型表(T_UserType)。表具体的数据结构如下:

  1. 篇章表:存储试题的所属篇章信息,其中篇章编号是篇章表的主键。

                     3-1 T_Chapter

字段名称

数据类型

是否允许空

默认值

含义

ChapterID

长整型

N

0

篇章编号

ChapterName

文本

N

篇章名称

  1. 文字题表:存储文字题信息,其中文字题编号是本表的主键。

3-2 T_CharacterQst

字段名称

数据类型

是否允许空

默认值

含义

CharacterQstID

长整型

N

0

文字题编号

BackBone

备注

N

文字题主干

BackBonePic

OLE对象

文字题图片

Answer

备注

N

答案

AnswerPic

OLE对象

答案图片

CommonAttID

数字

N

试题属性编号

Blanks

数字

(填空题)填空数

  1. 选择题表:存储选择题信息,其中选择题编号是本表的主键。

3-3 T_ChoiceQst

字段名称

数据类型

是否允许空

默认值

含义

ChoiceQstID

长整型

N

0

选择题编号

BackBone

备注

选择题主干

BackbonePic

OLE 对象

选择题主干图片

Choice1

文本

选项1

Choice1Pic

OLE 对象

选项1图片

Choice2

文本

选项2

Choice2Pic

OLE 对象

选项2图片

Choice3

文本

选项3

Choice3Pic

OLE 对象

选项3图片

Choice4

文本

选项4

Choice4Pic

OLE 对象

选项4图片

Choice5

文本

选项5

Choice5Pic

OLE 对象

选项5图片

Choice6

文本

选项6

Choice6Pic

OLE 对象

选项6图片

Answer

文本

答案

CommonAttID

数字

试题属性编号

  1. 属性表:主要是记录试题的属性,包括试题类型,试题难度级别,试题所属篇章,试题所属小节,试题所考察的知识点,试题使用次数,试题录入时间,试题最后使用时间,试题是否可用。其中属性编号是本表的主键。   

3-4 T_CommonAttribute

字段名称

数据类型

是否允许空

默认值

含义

CommonAttID

长整型

N

0

属性编号

TypeID

数字

N

试题类型

DifficultyID

数字

N

试题难度级别

ChapterID

数字

试题所属篇章

SectionID

数字

试题所属小节

KnowledgePointID

数字

试题考察知识点

UsedTimes

数字

试题使用次数

RecordTime

日期/时间

N

试题录入时间

LastUsedDate

日期/时间

试题最后使用时间

Availability

是/否

N

试题是否可用

  1. 试题难度表:本表是存贮试题的难度级别,其中难度级别编号是本表的主键。

  表3-5 T_Difficulty

字段名称

数据类型

是否允许空

默认值

含义

DifficultyID

长整型

N

0

难度级别编号

DifficultyName

文本

N

难度级别名称

  1. 判断题表:存储判断题信息,其中判断题编号是本表的主键。。    

 表3-4 T_JudgeQst

字段名称

数据类型

是否允许空

默认值

含义

JudgeQstID

长整型

N

0

判断题编号

BackBone

备注

N

判断题主干

BackBonePic

OLE 对象

主干图片

Answer

是/否

N

答案

CommonAttID

数字

N

试题属性编号

  1. 知识点表:记录每章所要掌握的知识点,知识点编号是本表的主键。    

 表3-4 T_KnowledgePoint

字段名称

数据类型

是否允许空

默认值

含义

KnowledgePointID

长整型

N

0

知识点编号

KnowledgePointName

文本

N

知识点名称

小节表:存储试题的所属小节信息,其中小节编号是本表的主键。    

 表3-4 T_Sector

字段名称

数据类型

是否允许空

默认值

含义

SectorID

长整型

N

小节编号

SectorName

文本

N

小节内容

Belong

数字

N

小节所属篇章

  1. 试题类型表:本表记录试题类型名称,试题类型编号为本表主键。    

 表3-4 T_Type

字段名称

数据类型

是否允许空

默认值

含义

TypeID

长整型

N

试题类型编号

TypeName

文本

N

试题类型名称

  1. 用户信息表:。    

 表3-4 T_User

字段名称

数据类型

是否允许空

默认值

含义

UserName

文本

用户名

PassWord

文本

N

用户密码

UserTypeID

数字

N

用户类型编号

  1. 和用户类型表:。    

 表3-4 T_UserType

字段名称

数据类型

允许空

默认值

含义

UserTypeID

长整型

N

用户类型编号

UserTypeName

文本

N

用户类型名称

3.4  设计要点

 题目的编码不仅要唯一标识题目,还必须能够标识题目属性:题型、章节、难度系数以及题号,在数据库的设计中我们把题目的编码统称为题号。利用这样定义的编码,容易区分题目之间的不同。由于编码的唯一确定性,可确保在生成的同一试卷中,不会抽取相同的试题。

 3.5 一点说明

  1. 篇章表和小节表是通过篇章号建立关联的。
  2. 试题的类型共分三种:1---选择、2---文字、3---判断、如果前3种类型中没有用户要求的,用户可以在录入模块中的添加类型窗体中自定义类型。
  3. 试题的难度共分五种:1---简单、2---一般、3---中等、4---较难、5---很难。

4  系统的功能结构

4.1  系统功能结构图

在我们开发数据库题库管理系统的过程中,我们发现要想开发一个优秀的题库管理系统,应当解决以下几个问题:    

  • 系统的安全性:用户的合法登录。
  • 数据的合法性问题:试题信息和章节信息在录入和编辑的过程中是否合法。
  • 数据的一致性问题:试题信息和章节信息在录入和编辑的过程中题号与其它各项是否保持一致。
  • 数据的完整性问题:试题信息和章节信息在录入和编辑的过程中是否完整。
  • 试卷难易度和题量分布的控制:由于知识点侧重的不同,题目有难易之分。对于不同类型的学生,其试卷难易度也应有所不同。并且重点章节应多出题量,反之则少出题。
  • 试卷中题目分值的调整:按照用户的需求,调整卷面各题的分值。
  • 试卷的排版和编辑:控制试卷导出的格式,并使其能在通用的编辑软件(如WORD)下重新进行编辑或打印成真正意义上的试卷。
  • 系统的通用性:可以通过更新系统实现系统的通用性。

根据上述分析,我们在做概要设计时就为系统设计了下面几个功能模块,用户登录、信息管理、生成试卷、输出试卷、更新系统、和窗体的设置、用户的帮助文件等。其具体的功能结构图如(图4-1)所示。

图4-1 系统功能结构图

4.2  系统功能模块

  1. 登录子模块:登录成功的用户可以对数据库进行修改题库,添加题量,删除以及生成和输出试卷等。同时还可以修改密码。
  2. 信息管理子模块主要包括:试题类型的增加、试题信息和章节信息的录入、编辑、查询三个子模块。具体可以实现信息的录入、修改或删除题库、浏览题库、增加题型和章节、修改难度系数和查询当前题号、试题个数、章节信息等功能。试题库是试题来源,对试题库进行管理非常重要。试题录入时可集中录入或随时录入;对于录入的试题在一定的权限下可作修改或删除;在浏览题库时可查看已建立的试题库,并对其进行分类统计;对不同的课程可增加新的题型和新的章节;可修改题目的难度系数。

编辑题签:对所选出的试题进行修改和编辑。

  1. 更新系统子模块主要包括:更新用户信息、清空试题库和清空章节库三个子模块。

更新用户信息:修改登录时用户名或用户密码。

清空试题库和清空章节库:删除所有题库中的信息。

  1. 窗口和帮助子模块:为用户在使用本系统中提供一定的方便。

5  系统的设计与实现

5.1 主界面的设计

系统的主界面主要是考虑到界面友好、用户使用方便。首先,设计一个总的菜单,在其上面均能看到上述功能的菜单项。用户根据需要进行选择。同时为了消除使用者面对枯燥的题库所产生的疲劳还设计了动画和配有轻松的音乐。具体如图:(图5-1)

图5-1   数据库题库管理系统主界面

5.2  登录子模块

5.2.1  登录子模块的设计思想

在登录子模块中可以实现两个功能,这两个功能共用一个窗体,一个是在用户登录时对身份进行验证,另一个是在用户修改密码时使用。具体如图:(图5-2)   

        

                    图5-2   登录对话框

5.2.2   登录子模块的具体实现

这两个功能的实现均采用记录集与后台数据库建立关联,在用户登录进行身份验证时通过对记录集指针的移动让用户所输入的信息与数据库中的记录进行比较如果存在这样的记录则用户通过了身份验证,给用户三次机会,如果用户登录都未成功,则用户无权使用本题库管理系统,退出应用程序。在修改用户信息时,用户必须单击修改按钮此时确定按钮是不可用的,用户修改完以后单击“确定”数据将被存到数据库中,修改成功,此时修改按钮是不可用的。

     5.2.3   登录子模块的设计要点

    在这个模块的设计中,“修改”是打开记录集;“确定”是对记录集操作和关闭,因此只有先选中“修改”后“确定”才可用,否则访问记录集就出现错误。

5.3  试题录入子模块

本模块能实现试题的录入、编辑、查询等三个方面的功能。共包括录入试题、录入章节、添加类型、编辑试题、编辑章节和查询六个窗体。

5.3.1  试题录入子模块的设计思想

运用ADO技术与后台数据库创建数据连接Connection对象。再分别用Connection对象和Command对象创建记录集Recordset对象。文本框与数据库通过Recordset建立起关联,对于记录集的操作均能在前台文本框中体现出来,使用户能够获得所需数据。

录入子模块:用户主要完成信息的录入又可以分为录入试题、录入章节和添加类型。在录入的过程中用户所输入的数据必须通过数据的合法性、一致性和唯一性的检查才能保存到数据库中。

编辑子模块:用户对数据库现有的信息进行编辑。分为编辑试题和编辑章节。在编辑试题时用户可以按题号或者按章节号、类型、难度三者中任一组合进行查询来获得所要的数据信息对其进行浏览、更新、删除和添加。在编辑章节时可以浏览本教材的全部信息也可分章节浏览部分信息并对其进行修改、添加、删除。在编辑的过程中也将对数据的合法性、一致性和唯一性进行检查。

查询子模块:本模块可实现查询当前题号、试题个数、试题内容、章节信息四个功能。在查询试题个数时可获得章节号、类型、难度三者中任一组合的试题个数。

5.3.2  试题录入子模块的具体实现

录入子模块中有两个窗体分别是录入试题窗体和录入章节窗体。在这两个窗体中文本框是输入要录入的信息,它的DataSource属性是记录集RS,DataField属性是记录的字段RS.field ,这样通过记录集RS直接与数据库绑定在一起,命令按钮有保存、取消、添加,利用的是记录集的RS.updata 、RS.addnew、 RS.delete来对数据库操作。完成的功能比较单一。还有一个添加类型窗体,由一个文档框和两个命令按钮组成实现的方法与上述方法类似。

编辑子模块中也有两个窗体分别是编辑试题窗体和编辑章节窗体。这一部分实现相对比较烦琐,在编辑试题窗体中有两种查询方

式,用户通过输入查询条件找到所要编辑的试题信息。第一种用户必须输入试题的题号这一种比较简单,第二种是用了三个复选框用户根据需要选择,每一个选择都将被存入相应的字符串中,再把这三个字符串的内容传递给Command的Parameter集合,用Command命令的执行command.execute找到符合条件的记录集并对记录集进行操作,比如:记录的更新rs.updata、添加rs.addnew、删除rs.delete、前一个 rs.movepreviouse、后一个rs.movenext等。在编辑章节窗体中则用到了数据绑定控件Adodc、树形显示篇章信息treeview和网格显示小节信息datagrid控件来达到更直观的效果,同时也添加了命令按钮保存、添加、删除、取消、前一个、后一个等。具体代码也是建立记录集并对记录集进行操作。

查询子模块主要用到的是SSTab选项卡控件,这个控件是添加的Microsoft Tabbed Dialog Controls部件,它与Microsoft Windows Common Controls中的TabStrip相比更具有使用性。选项卡数目是4个各实现一个功能。其中试题个数、试题内容、当前题号与编辑窗体的实现方法类似,章节信息则自动计算了篇章数目和小节数目。

5.3.3  试题录入子模块的主要算法

    1. 数据的合法性、一致性、唯一性检查:如图(5-3)

 

     图5-3   数据的合法性、一致性和唯一性检查的流程图

2、试题个数的查询:设三个字符串str1,str2,str3分别存储章节号、类型和难度,如果章节号、类型、难度前的复选框被选中则把输入的值对应的存到字符串中否则在对应的字符串中输入“—”,把三个字符串按章节号、类型、难度的顺序连接起来再加上“----”组成符合条件作为查询条件中题号的输入值。用Command命令建立Recordset对象记录集通过对记录指针的移动来获得符合查询条件的记录。如:select * from questiontable where 题号 like ?,  ?=str1&str2&str3&”----”(其中“-”起到屏蔽的作用)

3、编辑章节:用TreeView和ADODC控件与数据库建立连接在运行时动态的添加篇章信息并用与查询相同的方法获得记录信息。

其它功能的算法与上述方法类似具体内容请参阅附录A:程序代码。

系统测试及性能分析

6.1  系统测试

软件的开发经过了问题的定义、可行性研究、需求分析、总体设计、详细设计和编码阶段以后就进入软件的测试阶段。测试的目的是为了发现程序中存在的错误。在对本系统编码完成以后,我主要从以下几个方面对系统进行了一系列的测试。

1、人工测试:和同组合作的同学在编程思想基本一致的前提下互相交换所编写的程序,检查对方在编写过程中存在的错误或失误之处,采用的测试算法主要是黑白盒测试相结合的原则(主要有等价类测试,边界值测试,模糊测试等)。

2、机器测试:交换程序后按照各自对系统所应完成的功能的理解设计测试用例,尽可能“多和全”的对系统进行测试。

发现错误后和各自理解有分歧时,通过共同探讨最后制定出解决方案对系统进行修改和完善。

6.2  性能分析

本系统在对其进行测试的过程中还是发现了一些问题,这些问题主要集中在对所建立的记录集的操作上,尤其是记录集的打开和关闭。现在这些问题已经基本被解决,另一个问题就是图形录入上存在一定的困难,因为采用VBA技术还不是很成熟,今后这快的问题还要有所改进。总体而言,该系统完成了对数据库题库的管理,实现了数据库管理的计算机化,并且由于其具有很强的针对性,在使用过程中对用户所提供的要求均能满足,使用方便。

经验体会及可进行的后继开发

   在这次毕业设计中,我主要使用Microsoft Visual Basic 6.0中文版和Microsoft SQL Server 2000来开发数据库题库管理系统。除熟练掌握了这两种软件外,还对软件的开发过程也就是我们所学的软件工程这门课从理论到实践有了更系统的学习和更为深刻的理解。通过这几个月的学习和实践,我无论是从知识的获取还动手能力的培养都有了长足的进步。也总结出了一些经验。

  1. 系统资源应尽量充足,尽管在设计初期一般配置就可能满足设计要求,但随着程序和数据库复杂度的增加,处理速度将下降。
  2. 及时释放资源,例如尽早释放对象,关闭连接等。
  3. 在开发的过程中应注重多查阅资料。
  4. ADO技术的Command对象是一个非常好的查询命令,可尽量使用。
  5. 对记录集的操作打开和关闭应小心,操作不当很容易出错。
  1.    软件开发完毕后对于系统的后继开发也是非常重要的。本系统的设计着眼点是放在数据库这门课程上,但它应用于其它的题库也是完全可以做到的,只要更改题库的名称和根据用户的需要修改类型和难度就可以使用。

系统安装

8.1  系统环境

  1. 硬件环境
    1. 中央处理器:Pentium II以上
    2. 内   存:64M以上
    3. 硬   盘:20M以上
  2. 软件环境
  1. 系统软件:Windows 98/NT/2000/XP,IIS(Microsoft Internet Information Server)
  2. 应用软件:Microsoft Word 97以上

Microsoft Internet Explorer 5.0中文版以上

  1. 网络环境

支持TCP/IP协议

8.2  安装方法

运行安装盘中的Setup.exe文件,并按屏幕提示进行安装。安装过程中可能重新启动计算机,此时请不要将安装盘从光驱中移走。

8.3 “试题录入维护子系统”使用指南

8.3.1  系统启动

单击【开始】菜单,进入【程序】菜单,启动【高校通用题库管理系统】中的【试题录入维护子系统】,出现启动界面,如图(8-1)所示:

图8-1    系统启动谈出窗口

此时,单击启动窗口任意位置,或等待片刻,系统出现登录窗口:如图(8-2)所示:

图8-2  系统登录窗口

将【用户名】、【密码】填写正确(系统默认管理员名称为Admin,密码为8),并选择【数据库】后,单击【确定】,进入主界面:如图(8-3)所示:

图8-3  进入系统初始化主界面

8.3.2  试题录入维护

“试题录入维护”主要包括“选择类题录入”、“判断类题录入”和“文字类录入”以及“试题查询与维护”几个功能。

8.3.2.2   选择类题录入

从主菜单中选择“试题录入维护”-“选择题录入”,进入选择类题的录入界面:

如图(8-4)所示:

图8-4   选择类题的录入界面

此窗口中的主要操作要点包括:

      1. 指定试题类别、难度级别、知识点、所属章节;
      2. “题目部分”录入试题内容,点击鼠标右键,可以打开快捷菜单:

如图(8-5)所示:

图 8-5     快捷菜单谈出窗口

选择“给题目录图”,可打开“图形录入”窗口:如图(8-6)所示:

图 8-6 “图形录入”窗口

在该窗口中点击“查找图形”按钮,并在出现的窗口中查找题目部分的图形:

如图(8-7)所示:

图8-7   查找图形窗口

单击“打开”按钮,并在“图形录入”窗口中单击“保存”按钮,即可将选取的图形保存到数据库中。

在“题目部分”打开的快捷菜单中选择“插入符号”,可打开“符号列表”窗口,点击需要插入的符号,并拖动鼠标,即可选中一个符号,点击“插入”按钮,可将该符号插入到题目中:如图(8-8)所示:

图 8-8   符号列表”窗口

  1. 在“选项录入部分”中输入选择题的选项,单击“添加选项”,得到一个选项:如图(8-9)所示:

图  8-9   选项录入窗口

  1. 在答案中选择选择题答案:如图(8-10)所示:

图 8-10   答案选项录入窗口

  1. 单击“确定”按钮,保存本次录入的内容。
        1. 断类题录入

从主菜单中选择“试题录入维护”-“判断题录入”,进入判断题的录入界面:如图(8-11)所示:

图 8-11  判断类题录入窗口

在此窗口中,选择试题的难度、知识点和章节方式与选择题的录入部分相同,在此不在赘述。

8.3.2.3   文字类录入

从主菜单中选择“试题录入维护”-“文字题录入”,进入文字题的录入界面,该窗口的主要部分如下图所示。文字题是指用户新增的题型包括在内的填空题、简答题、计算题、论述题、名词解释题在内的各种题。在此窗口中,选择试题的难度、知识点和章节方式与选择题的录入部分相同,在此不在赘述。如图:(8-12)所示:

图 8-12  文字类录入窗口

8.3.2.4   试题查询与维护

试题查询和维护功能主要完成对已经录入的试题进行查询、修改和删除操作。从主菜单中选择“试题录入维护”-“试题查询与维护”,进入查询维护界面:如图:(8-13)所示:

图 8-13  试题查询与维护窗口

在该窗口中,使用者可以指定试题的类型、难度和章节,系统根据这些条件选择出对应的试题。使用者可以在某个试题列表上单击鼠标右键,打开修改和删除操作的快捷菜单:如图(8-14)所示:

图 8-14  试题查询与维护窗口

选择“修改此条记录”或“删除此条记录”,如果确实要修改或删除记录,可单击出现的确认窗口中的“是”按钮:如图(8-15)所示:

   

图 8-15  修改和删除此条记录窗口

系统根据修改或删除种类打开修改窗口或直接删除记录。

8.3.3   题库管理

题库管理是指对试题库的题型、章节、难度等进行管理,对应的菜单如图(8-16)所示:

图8-16题库管理菜单窗口

    1. 新题型创建

在“创建新题型”窗口中输入新建题型的名称,点击“确认”按钮,便可以添加一个新题型:如图(8-17)所示:

图8-17  新题型创建窗口

    1. 新难度级别创建

在“创建难度级别”窗口中输入新建难度级别的名称,点击“确认”按钮,便可以添加一个新的难度级别:如图(8-18)所示:

图8-18  新难度级别创建窗口

    1. 新知识点创建如图(8-19)所示:

在“创建知识点”窗口中输入新建知识点的名称,点击“确认”按钮,便可以添加一个新的知识点:

图8-19  新知识点创建窗口

    1. 新章创建 ,如图(8-20)所示:

在“创建新章”窗口中输入新建章的名称,点击“确认”按钮,便可以添加一个新的章名称:

图8-20  新章创建窗口

    1. 新节创建,如图(8-21)所示:

在“创建新节”窗口中输入新建节的名称,点击“确认”按钮,便可以添加一个新的节名称:

    1. 属性删除,如图(8-22)所示:

“属性删除”功能可以完成上述各种属性的删除,系统原有的属性不在删除之列。打开“删除指定属性”窗口(见下图)后,双击要删除的属性,并单击确认窗口中的“是”按钮,便可删除该属性。

图8-22  属性删除窗口

    1. 新题库创建,如图(8-23)所示:

为了便于一名教师管理多门课程的题库,系统提供了同时管理多个题库的功能。打开“创建题库”窗口,输入新题库的名称(最好是中文名称),点击“确定”按钮,便可创建一个新题库。

图8-23  新题库创建窗口

如果当前系统存在多个题库,则在登录时可以任意选择一种题库:如图(8-24)所示:

图8-24  数据库选择窗口

8.3.4 用户管理

用户管理部分可以完成用户添加、密码更改、用户删除等功能。

    1. 新用户添加

打开“添加用户”窗口,输入用户名称、类型,密码以及确认密码后,单击“确定”按钮,便可完成新用户的添加工作。如图(8-25)所示:

图  8-25  新用户添加窗口

    1. 原用户删除

打开“删除用户”窗口,输入用户名称、密码后,单击“确定”按钮,便可完成原用户的删除工作。如图(8-26)所示:

图  8-26  原用户删除窗口

    1. 系统管理员名称和密码的修改

打开“修改系统管理员”窗口,输入原管理员名称、密码、新管理员名称、密码后,单击“确定”按钮,便可完成系统管理员名称和密码的修改工作。如图(8-27)所示:

图  8-27  系统管理员名称和密码的修改窗口

 

主要参考文献

[1] Bob Reselman , Richard Peasley , Wayne Pruchniak.

Visual Basic 6.0 使用指南.电子工业出版社,1999

[2] 骆原.  Visual Basic6.0中文版参考详解.

清华大学出版社,  1999

[3]  Microsoft.Visual Basic 6.0 中文版控件大全.

电子工业出版社出版

[4] 石磊.Visual Basic与数据库开发.  

人民邮电出版社. 2000

[5] 蒋斌.Visual Basic6.0程序设计.

电子工业出版社.  2001

[6]  于平.Visual Basic6.0程序设计基础.

清华大学出版社.  1999

[7]  Microsoft.全面掌握Visual Basic 6.0应用程序开发.

清华大学出版社.2000

[8] 骆娟. Visual Basic 6.0数据库系统开发实例导航.

人民邮电出版社.2000

[9] (美)佩雷著,戴红译.学用Visual Basic6.0.

清华大学出版社.1999

[10](美)荷兹纳著,详实翻译组译.Visual Basic6.0技术内幕.北京机械工业出版社. 1999年4月

[11](美)福克斯尔著,王建华译.Visual Basic6.0编程标准. 北京机械工业出版社.2000年6月

[12] 叶青著.例说Visual Basic6.0中文版程序设计.北京机械工业出版社 2000年1月

[13] (美)雷塞门著,向键辉 等译.实用Visual Basic6.0教程.清华大学出版社.2001年3月   

[14] 潘怡等著.Visual Basic6.0编程实例、技巧.华中理工大学出版社. 2001年1月

[15]  陈俊源.Visual Basic6.0 程序设计—SQL SERVER7 应用集成篇.中国铁道出版社.1999年9月

  

  • 38
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值