图书借阅管理系统论文.docx
《图书借阅管理系统论文.docx》由会员分享,可在线阅读,更多相关《图书借阅管理系统论文.docx(35页珍藏版)》请在冰豆网上搜索。
图书借阅管理系统论文
第1章绪论
1.1系统开发背景
图书借阅管理系统的发展历史可以追溯到20世纪60年代末期。
由于当时计算机技术已经进入实用阶段,同时大型图书馆用手工来查找图书信息或统计借阅信息既费时费力又非常容易出差错,为了解决这个矛盾,第一代的图书借阅管理系统应运而生。
当时由于技术条件和需求的限制,用户非常少,它的出现为图书借阅的管理展示了美好的前景,即用计算机的高速度和自动化来代替手工的巨大工作量,用计算机的高准确性来避免手工的错误和误差。
第二代的图书借阅管理系统出现于20世纪70年代末。
由于计算机技术的飞速发展,无论是计算机的普及性,还是计算机系统工具和数据库技术的发展,都为图书借阅管理系统的阶段发展提供了可能。
但未能系统地考虑图书借阅的需求和理念。
图书借阅管理系统的革命性变革出现在20世纪90年代末。
随着信息爆炸、知识经济时代的到来,使个人、单位、社会对图书借阅管理系统有了更高的需求;同时由于个人电脑的普及,数据库技术、客户/服务器技术,特别是Internet/Intranet技术的发展,使得第三代图书借阅管理系统的出现成为必然。
第三代图书借阅管理系统的特点是从图书借阅管理的角度出发,用集中的数据库处理几乎所有与图书借阅相关的数据。
友好的用户界面,强有力的报表生成工具、分析工具和信息的共享使得图书借阅管理人员得以摆脱繁重的日常工作,集中精力从战略的角度来考虑图书借阅规划和政策。
近几年来,国内外与图书借阅管理有关的系统和程序的发展都非常迅速,众多的软件有如雨后春笋般地不断涌现。
这些软件尽管各有特点,但从功能上来分析,大致可分为如下两种:
1、基于web的Internet/Intranet模式的图书管理程序,如各个国家的国家级的图书馆,大部分都建成了这种类型的图书管理系统,供公众使用。
2、单位内部的图书管理系统,可以采用基于web的程序,也可采用单机程序。
1.2系统开发目的
利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们利用VB6.0语言和Access数据库研究开发了面向学校的图书借阅的管理信息系统。
将课堂学习的网络理论知识结合其他如数据库、数据结构、程序设计等多科知识加以综合应用,从而巩固和加强所学知识,并初步具备网络应用程序开发的能力,最终设计出一个实用的网络应用程序。
1.3系统开发意义
1、采用图书借阅管理系统,可以用集中的数据库将与图书借阅管理相关的信息全面、有机地联系起来,有效地减少了信息更新和查找中的重复劳动,保证了信息的相容性,从而大大地提高了工作效率。
2、图书借阅管理系统有着易访问、易查询的信息库。
在没有采用和实施图书借阅管理系统之前,当管理人员要统计数字时,往往依赖于某个人或某些人来获取。
这种依赖于人的过程往往会因为花费的时间较长或某个人不在办公室而不能及时完成。
在采用和实施图书借阅管理系统之后,就会将依赖于人的过程改为依赖于计算机系统的过程。
管理人员只要获取了相应的权限,就可以随时进入系统,直接查阅相应的信息。
实施了图书借阅管理系统之后,不仅可以得到较为全面的、详细的、未经过过滤的第一手图书借阅信息,还可以从这些信息中得到某些有用的决策信息及灵感和启发,从而改进图书馆的管理及经营效率,避免或减少经营风险。
3、采用和实施图书借阅管理系统不仅仅是为了提高工作效率。
应该看到,在实施图书借阅管理系统之后,可提高单位的形象。
第2章相关技术概念
2.1管理信息系统
管理信息系统(MIS,ManagementInformationSystem),是一个由人、计算机等组成的能进行信息的收集、传送、储存、维护和使用的系统,能够实测企业的各种运行情况,并利用过去的历史数据预测未来,从企业全局的角度出发辅助企业进行决策,利用信息控制企业的行为,帮助企业实现其规划目标。
这里给出的定义强调了管理信息系统的功能和性质,也强调了管理信息系统中的计算机对企业管理而言只是一种工具。
管理信息系统是信息系统的重要分支之一,经过30多年的发展,已经成为一个具有自身概念、理论、结构、体系和开发方法的覆盖多学科的新学科[1]。
2.2VisualBasic的简介
首先,我们还从VisualBasic这个名字开始,来认识这个软件。
所谓“Visual”指的是开发图形用户界面(GUI)的方法。
它不需编写大量的代码去描述界面元素的外观和位置,而只要把预先建立的对象添加到屏幕上的某一位置即可。
如果已使用过诸如Paint之类的绘图程序,则实际上已掌握了创建用户界面的必要技巧。
“Basic”指的是BASIC(BeginnersAll-PurposeSymbolistInstructionCode)语言,一种在计算技术发展历史上应用得最为广泛的编程语言。
VisualBasic在原有BASIC语言的基础上进一步发展,至今包含了数百条语句、函数及关键词,其中很多和WindowsGUI有直接关系。
专业人员可以用VisualBasic实现其它任何Windows编程语言的功能,而初学者只要掌握几个关键词就可以建立实用的应用程序。
VisualBasic不仅是VisualBasic编程语言。
VisualBasic编程系统和VBA都使用这一语言。
VisualBasicScriptingEdition(VBScript)是广泛使用的脚本语言,它是VisualBasic语言的子集。
这样,在学习VisualBasic中得到的经验可应用到所有这些领域中。
接着,我们再从VisualBasic的发展历史来进一步地认识一下它。
VisualBasic的最初版本是VisualBasic1.0,那时的VisualBasic只是简单地以对象的属性为中心来进行编程。
到了VisualBasic2.0时,开始正式地采用面向对象技术,其有一个重要的新特性就是可拥有对象变量,并把Variant型变量作为缺省数据类型变量。
没过多久VisualBasic的下两个版本VisualBasic3.0和VisualBasic4.0接踵而至,一种内建的新的控件类型——数据控件,能够使创建一个与数据库交互作用的应用程序变得令人惊讶的容易。
在微软的其它应用程序,如WORD字处理软件、EXCEL电子报表软件、ACCESS数据库软件中都做了改变,使得它们可以与VisualBasic一致工作。
这种新技术被称作为VisualBasicForApplications,它帮助实现了VisualBasic的最初设想。
理论上,人们总是能够通过某种叫做动态数据交换(DDE)的技术使视窗系统应用程序彼此交互。
但那样既慢而且又麻烦。
VisualBasic的完美之处在于它能使程序员获得一块数据——如报表,并将它看作是VisualBasic的对象。
其目的就是要使视窗系统下的每一件事情都支持同样的易于使用的高级语言。
VisualBasic5.0出现以后,在某些方面有了重大的突破。
它给予了程序员长期期待的不用离开VisualBasic环境,就可以创建新的定制控件类型和创建其它项目类型的能力。
除了一般应用程序外,程序员还能创建文档、DLLs、OLE服务器和ActiveX控件。
当VisualBasic逐渐复杂时,世界已经在围着它转了。
项目类型的增加不是用来迷惑程序员,而是提供灵活性的。
视窗系统已经成为一个特别丰富的环境,可使应用程序彼此交流和共享数据。
我们现在所使用的VisualBasic6.0被看着是VisualBasic的网络版本。
可以看出它投入了相当一部分的精力去支持微软日益在Internet和分布式(网络)计算方面的重视程度。
虽然它没有象VisualBasic5.0所引起的那样激动人心,但它还是在某些方面做了一些有用的改进。
其最重要的一个改进就是增加了ADO数据控件,它可以缩小本地和远程数据控件之间的差别。
换句话说,程序员在很大程度上可以与数据库交互作用,而不用担心网络上由谁来提供服务。
最后,我们再从数据库编程方面来了解一下VisualBasic6.0。
VisualBasic数据库的构成
VisualBasic数据库都是由用户界面、数据库引擎以及数据仓库三大部分构成。
用户界面包括用于与用户交互的所有界面和代码,如用户完成查看、更新数据的窗体,以及增删记录或执行查询的代码。
即是用于请求数据库服务的数据访问对象和方法,而不是对数据库的实际操作。
数据库引擎是一组动态链接库(DLL),用于结束应用程序的请求并形成对数据仓库的实际物理操作;管理对数据库的物理操作;维护数据库的完整和安全;处理结构化查询语言(SQL)的查询,实现对数据库的检索、增删、更改;管理查询返回的结果。
数据仓库用于存放数据,由若干个数据表文件组成。
数据仓库仅仅只包含数据,并不对数据进行任何处理,对数据进行操作均由数据引擎完成。
由此可以看出,数据库引擎是应用程序与实际的物理数据库之间的桥梁,应用程序都是通过数据库引擎来实现对物理数据库中数据的存取等操作。
用户只需要了解所面对的数据库接口,而不必关心所访问的数据库本身的物理特性。
②.VisualBasic能够访问的数据库类型
VisualBasic能够通过数据库引擎访问内部数据库、外部数据库、ODBC数据库这三种类型的数据库。
内部数据库:
内部数据库又称本地数据库,使用MicrosoftAccess数据格式,由MicrosoftJet引擎直接创建操作,可以提供最大的灵活性和访问速度。
外部数据库:
VisualBasic中能够创建操作所有的ISAM(索引顺序访问方法),如FoxPro、dBASE、MicrosoftExcel、Paradox以及顺序文本文件等。
ODBC数据库:
VisualBasic可以访问标准的客户/服务器数据库,例如MicrosoftSQLServer。
可以使用ODBCDirect直接将命令传递给服务器,从而创建客户/服务器应用程序。
③VisualBasic访问数据库的方案
用VisualBasic访问数据库有许多可供选择的方案,用户应该根据自己现在及将来的需要决定采用何种数据库方案。
大多数应用程序是用来访问以下这些数据的:
ASCII文本文件、SQL数据库以及大型数据库。
早期的VisualBasic数据访问工具只是简单的ASCII文件的访问工具,极少数SQLServer的前端应用程序是使用鲜为人知的数据库VBSQL编写的。
早先在VisualBasic3.0盛行的时期许多程序需要访问包含远程数据源的ISAM数据,为此Microsoft设计了MicrosoftJetDatabaseEngine(Jet数据库引擎)和DataAccessObjects(DAO),使得VisualBasic的开发人员很容易地实现与MicrosoftJet接口。
而后针对用户的需求VisualBasic中逐渐包含了更快的访问远程数据和对ODBC数据源访问的优化。
经过数年,ODBC技术已成为访问远程数据的主要方法,而MicrosoftJet和ISAM数据接口的首选方案。
VisualBasic访问数据需要通过接口方法来实现,数据访问接口方法中一部分是简单的应用程序接口界面,但大部分是组件对象模型界面(ComponentObjectModel)。
表2-1列出VisualBasic中的数据访问接口方法:
接口界面
访问对象
VBSQL
通过DB-Library访问MicrosoftSQLServer
DAO/Jet
本地的Jet/Access.mdb、顺序索引数据库(ISAM)和任何ODBC数据源
DAO/ODBCDirect
任何一种ODBC数据源
RDO
任何一种ODBC(32位)
ADO
任何一种ODBC数据源和任何经过OLEDB界面接口的数据源
表2-1VisualBasic中的数据访问接口方法
Microsoft提出一种新的数据库访问策略,即“统一数据访问”(UniversalDataAccess)的策略。
“统一数据访问”提供了高性能的存取包括关系型和非关系型在内的多种数据源,提供独立于开发工具和开发语言的简单的编程接口,这些技术使得企业集成多种数据源、选择更好的开发工具、应用软件、操作平台、建立容易维护的解决方案成为可能。
实现“统一数据访问”的基础是Microsoft的数据访问组件。
这些组件包括ActiveXDataObjects(ADO)、RemoteDataService(RDS,又称“高级数据连接器”ADC)、OLEDB和ODBC。
表2-2列出数据访问接口的类型:
数据访问接口
功能
ADC
(AdvancedDataConnector)高级数据连接器。
ADC主要是一种直接访问或者通过ADO访问远程OLEDB对象的一种技术,它也支持主要应用在IE浏览器上的数据绑定控件。
ADC是专门为Web上浏览器为基础的应用程序而设计的。
DAO
(DataAccessObjects)数据访问对象。
DAO是一种面向对象的界面接口。
通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ODBCDirect功能可以实现远程访问。
DAO模型是设计关系数据库系统结构的对象类的集合。
ADO
(ActiveXDataObjects)Active数据对象。
ADO设计为一种极为简单的格式,通过ODBC的方法同数据库接口。
可以用任何一种ODBC数据源,如:
SQLServer、Oracle、Access、Excel、文本文件、图形文件和无格式的数据文件。
Jet
(JointEngineTechnology)数据连接引擎技术。
是一种基于工作站通过DAO的数据库访问机制。
虽然可以通过Access提供的ODBC驱动程序访问Jet数据库,但使用这些驱动程序在功能上有所限制
ODBC
(OpenDatabaseConnectivity)开放式数据库连接。
这是一种公认的关系数据源的接口界面。
ODBC的访问速度快并且提供统一接口的界面。
OLEDB
这一种底层的数据访问界面接口。
是用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序或用于C++的开发者开发定制的数据库组件。
OLEDB不能被VisualBasic直接调用。
RDC
(RemoteDataControl)远程数据访问控件。
是一种对RDO数据绑定的控件。
可以输出特定的结果集到数据源控件。
RDO
(RemoteDataObjects)远程数据对象。
远程数据对象和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。
RDO是ODBCAPI的一个浅层的界面接口,是专为访问远程ODBC关系数据源而设计的。
VBSQL
是VisualBasic结构化查询语言。
是一种基于API的接口方法,几乎与C的DB-LibraryAPI相同。
VBSQL只支持SQLServer。
结构简单而且速度快但不支持对象界面。
表2-2VisualBasic数据访问接口的类型
此外,VisualBasic在数据开发方面提供了十分强大的功能。
有自带的数据管理器(DataManager)、数据控件(DataControl)及数据访问对象(DAO)等一系列功能强大的工具来协助管理人员轻松地进行与数据库的连接和管理。
在这么多的访问接口里面微软对于ADO非常的推崇,并且下一代的数据访问技术也将是采取这样的思路,而且本身来说ADO模型简单,但是功能强大,使实现人员无须关心一些底层的操作,而把更多的经历放在业务逻辑的设计上面。
2.3ACCESS简介
数据库选用Microsoft公司的Access产品作为数据库应用程序。
目前的Access2000是Microsoft强大的桌面数据库平台的第六代产品,是32位Access的第三个版本。
Access有以下一些基本定义:
数据库是一个包含各种Access“对象”(表、查询、窗体、报表、宏和模块)的文件,Access中所有工作都是建立在此基础之上的。
表是存放数据的容器,被设计成行和列的格式,就像电子表中的那样。
每一列叫做一个“字段”,包含特定类型的信息,如姓名或学历。
每一行称为一个“记录”,包含与单个实体有关的所有信息,如某个员工的姓名、性别、所在部门、学历等。
对于像Access这样的关系数据库管理程序,一个数据库通常包含几个存放相关数据的不同表。
查询是一个Access对象,它询问数据库中有关数据的问题。
根据设计方法的不同,查询能够在数据库中检索并组合来自不同表的数据。
例如,可以设计一个查询来告知在公司中工作超过1年的职员有多少。
查询还可以对一组数据执行操作,如更新或删除某组记录。
窗体是一个窗口,它提供一种很方便的途径来查看数据库中已有记录或向数据库中增添新记录。
在Access中,可以创建一个窗体,用来同时查阅单个表或多个表中的数据,还可以打印和显示窗体。
报表是一个Access对象,设计来显示数据,其作用类似于窗体,但主要是用于数据打印,不能输入数据。
页是一种特殊类型的窗体,它使用户能够利用Web浏览器查看和编辑Access的表。
宏用来保存Access中的一系列操作。
可自动执行一些日常的任务,以便简化在Access中的工作。
模块是用VisualBasicforApplications(VBA)编写的过程,VBA是Access的基础程序设计语言。
利用VBA可以编写程序代码来完成Access宏所不能完成的特定任务。
综上所述,我选择了VisualBasic+ADO+ACCESS来开发整个系统。
第3章图书借阅管理系统分析
3.1组织结构及功能模块分析
3.1.1组织结构分析
要解一个学校的图书借阅管理模式,我们应该先从对这个图书馆的组织结构进行了解,做到了解它的各个部门与职能分工。
因此,我在设计系统的前期,也就是做调查确定系统功能模块及功能的第一步就是确定了组织结构。
具体分析如图3-1所示:
图3-1组织结构图
3.1.2功能模块分析
在组织结构分析过后,我就根据部门的职能分工进行了功能模块划分。
具体分析如图3-2所示:
图3-2功能模块分析图
3.2业务流分析及数据流分析
3.2.1业务流分析:
通过调研了解到,该图书馆各个部门负责的主要业务如下:
(1)图书采编工作,包括购置新书、打印编目、增加数量。
(2)读者查询工作,包括可借图书(按图书类别、图书名称或图书作者查询);新书目录(按图书类别、日期查询);借书情况(按读者借书证号查询)
(3)图书流通、查询统计、借阅查询等工作。
(4)读者阅览工作,包括:
阅览各种杂志、报纸、阅览各种工具书。
下面绘制出图书馆流通业务中借书的流程图。
首先是人工操作的5个步骤:
(1)读者在目录厅查阅索引卡;
(2)读者写出所借图书的分类号、种次号、交给图书管理员,并出示本人的借书证;
(3)图书管理员根据图书的分类号、种次号到书库找书;
(4)将图书交给读者,并由读者填写所借图书的借书卡。
(5)图书管理员把借书卡保存到写有该读者借书证号的口袋里。
得出该图书馆业务流程图如下所示:
图3-3图书馆借阅业务流程图
系统分析的主要成果是系统的逻辑模型。
本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。
即在图书管理方式和业务流程进行认真分析和研究的基础上,排除现有组织机构和业务分工所造成的信息障碍。
完全从业务管理功能和管理对象出发,按照信息系统中应有的数据流和数据结构来勾画系统的概貌。
3.2.2数据流图(简称为DFD)
数据流图是组织中信息运动的抽象。
是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。
将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。
首先,分析管理系统的总体情况,划分系统边界,识别系统的数据来源和去处,确定外部实体,得出系统的顶层数据流程图;
然后划分出几个主要的信息管理功能,并明确各功能之间的联系,绘制出数据流程图。
数据流程图的符号说明如图3-1所示。
外部实体处理数据流数据存储
图3-1数据流程图的符号
图书借阅管理系统的顶层数据流程图如图3-2所示。
图3-2
图书借阅管理系统的数据流程图如图3-3所示
图3-3
3.3数据字典(简称为DD)
绘制DFD,只是对数据处理和彼此之间的联系进行了说明。
为进一步明确数据的详细内容和数据加工过程,应将数据流图中的全部数据流及其组成部分的数据元素,数据存储,数据加工,通过数据字典描述清楚,以便于此后系统设计的进行。
这就需要开发人员编写详细的数据字典,来描述系统开发过程的细节。
下面列出本系统中的数据项、数据流、数据存储、加工处理和数据结构的数据字典。
数据字典可采用图表格式或较紧凑的记录格式描述,本文采用的是图表格式。
1、数据项的DD表列举如下(限于篇幅,仅列举部分):
表3-1书籍编号的数据字典
数据项
系统名:
图书借阅系统编号:
I001名称:
书籍编号别名:
图书编号
数据项值:
类型:
字符型长度:
10个字节取值范围:
简述:
每部书籍都具有唯一的编号,它是某本书籍的唯一标识符,如“Tp-0460000”通常用前两位字符表示分类号,中间破折号,最后四位表示该书在该类书中的序号。
修改记录:
编写
日期
审核
日期
表3-2类别名称的数据字典
数据项
系统名:
图书借阅系统编号:
I002名称:
类别编号别名:
数据项值:
类型:
字符型长度:
10个字节取值范围:
简述:
图书类别有社会、人文、数理等每个类别都有一个编号
修改记录:
编写
日期
审核
日期
表3-3用户名的数据字典
数据项
系统名:
图书借阅系统编号:
I003名称:
用户名别名:
数据项值:
类型:
字符型长度:
10个字节取值范围:
简述:
使用本系统的图书管理员名称,可以是英文字母数字或汉字
修改记录:
编写
日期
审核
日期
表3-4读者编号的数据字典
数据项
系统名:
图书借阅系统编号:
I004名称:
读者编号别名:
数据项值:
类型:
字符型长度:
10个字节取值范围:
简述:
借阅图书的学生或教职工的编号
修改记录:
编写
日期
审核
日期
2、数据流的DD表列举如下(限于篇幅,仅列举一个):
表3-5
数据流
系统名:
图书借阅系统编号:
F1条目名称:
借书
来源:
读者去处:
图书借阅管理员
数据流组成:
借书=﹛借阅编号+读者编号+读者姓名+书籍编号+书籍名称+借出日期+还书日期﹜
简要说明:
修改记录:
编写
日期
审核
日期
3、数据存储的DD表列举如下(限于篇幅,仅列举一个):
表3-6
数据存储
系统名:
图书借阅系统编号:
D1条目名称:
借书情况
主关键字:
借阅编号数据量:
记录数:
相关处理:
数据存储组成:
借书证号+藏书号+借书日期
简要说明:
按借书的先后顺序排列
修改记录:
编写
日期
审核
日期
4、数据处理加工的DD表列举如下:
表3-6
数