1图书管理系统需求规格说明书1引言计算机技术的迅猛发展,特别是随着网络技术的出现标志着信息时代已经来临。信息化浪潮、网络革命在给社会带来冲击的同时,也使图书馆业务受到了强烈的冲击,图书馆传统的管理和服务方式已不能适应读者对日益增长的文献信息的需求,建设图书馆信息网络系统,是图书馆现代化建设的客观要求。建设以计算机为核心的图书馆信息网络,实现图书馆管理和服务的自动化,更好地为科技工作服务,是图书馆发展的必由之路。目前,国内大部分大型的公共图书馆和高校图书馆都实现了网络管理,中小型图书馆(包括企业图书馆),也在朝着这个方向发展。信息中心科技图书馆是公司的科技文献中心,担负着为科技人员服务的责任,作为一个企业图书馆,其馆藏资源是比较丰富的。现有馆藏中外文图书50000多册,公开发行的中文期刊200多种,外文期刊50多种,石化系统内部交流资料100多种,还有一批专业性较强的技术资料和优秀论文。要充分利用好这些资源,为全公司的科技人员服务,必须实现信息的共享。创建网上图书馆是实现全公司范围内信息共享的最有效的一种方式。公司主干网的建成使这一目标的实现成为可能。科技图书馆自建立以来,一直在为全公司科技人员提供图书借阅、文献检索的服务,在公司的科技进步中发挥了应有的作用。该馆的各工作环节一直使用的是传统的手工方式,这种方式的缺点是手续繁琐、检索困难、不便于管理,造成资源的利用率低下。随着馆藏量的不断增加,图书资料的著录和查询的难度也就相应增加,手工方式已经不能满足要求,如何运用先进的信息技术,提高科技图书的管理和服务水平,是我们面临的一个新的挑战。实现图书资料的网络管理,至少有以下优点:21)著录规范化,为图书资料的采编、著录、查询质量的提高打下基础。2)查询自动化和检索途径多样化,可以更方便、及时地找到所需图书资料。3)资源共享的优势,通过局域网可以在全公司范围内实现资源共享,为读者提供便利条件。计算机的使用已在我公司得到了普及,据不完全调查,全公司拥有计算机(包括家庭拥有的)已经超过4000台。公司主干网开通后,现已连接到各个单位和2000多个家庭,这种良好的计算机应用环境为实现图书资料的计算机网络管理打好了良好的基础。2系统设计2.1系统指导思想和建设目标2.1.1系统指导思想立足于企业实际,着眼于未来发展,运用先进的计算机网络技术,建成符合标准化协议、通用性较强、实用的系统,以提高科技图书情报的现代化管理水平,实现信息资源的共享。2.1.1系统建设目标(1)建立图书馆信息网站借助于公司主干网建立信息网站,对科技图书、期刊、资料、标准的部分事物工作进行计算机网络化,为公司主干网用户提供信息服务。(2)规范图书资料的管理工作模式用计算机管理取代以往的手工作业和定性管理模式,使科技图书资料的管理工作模式规范化、机读数据格式标准化、管理决策科学化。(3)建立标准书目数据库和文献库依据标准书目数据进行编目工作,建立起符合国家标准的书目和文献信息数据库。3(4)提高科技图书馆的服务质量便于工作人员准确地掌握藏书结构,全面了解读者对文献信息的需求,及时调整采购计划,突出馆藏特点。2.2总体功能设计我们对国内现有的一些图书文献管理系统软件的功能和售价情况进行了详细调研,发现这些软件很难满足我们图书馆的需求。因为从规模或藏书册数来划分,我馆仅属中小型图书馆,但应用需求则涉及到方方面面。除了通常的图书采购、图书编目、图书流通外,还有期刊、资料、技术标准等业务,其中期刊题录、行业标准、会议资料不是一般中小型公共图书馆收录范围。现在市场上中小型图书馆软件均只有基本的功能:采购、编目、流通,很少有期刊、资料,没有发现技术标准管理。通常这种图书管理软件仅运行图书馆内部的局域网上,没有Web查询系统。大型图书管理软件功能齐全,但价格昂贵,特别是运行价格高、维护困难、操作复杂。根据科技图书馆的实际情况和公司主干网的现状,我们确定了网络图书系统应该具备8个方面的功能,它们是图书编目,图书采购,图书流通,期刊管理,标准管理,资料管理,系统维护,Web查询。其中Web查询是该系统突出的特点,它的实现是因为有公司主干网的支持。系统组成和功能框图见图1。42.2网络拓扑结构网络拓扑结构见图2。整个系统使用了数台微机和1台数据库服务器,1台Web服务器(为了保证访问的速度和系统安全,数据库服务器和Web服务器放在了不同的物理服务器上),网络采用星型连接构成局域网,局域网与公司主干网相连,从图中可以看出,公司主干网上的计算机都能够访问图书馆的网站,获取信息资源。3数据库设计3.1数据库系统的选择本系统是一个中小型管理系统,运行环境是Windows2000server,因此使用Windows环系统管理客户端公司Cisco2924Web服务器公司主干网信息中心交换机数据库服务器图2网络拓扑结构.................用户1用户N....图书管理系统系统维护图书编目图书流通图书采购期刊管理标准管理资料管理DBWeb查询图1系统组成和功能框图5境下最容易使用且功能又比较强大的MicrosoftSQLServer7.0作为后台的数据库系统。3.2需求分析需求分析是数据库设计首先要做的工作,通过需求分析,我们作出了图书管理系统的各层数据流图,图3是图书流通数据流图(图中省略了“还书”和“办理借书证”的数据流图)。在数据流图的基础上,定义数据字典。数据字典是关于数据库中数据的描述,它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。下面在图3的基础上举例说明数据字典的定义。图3中涉及很多数据项,其中数据项“读者编号”可以描述如下:图3图书流通数据流图1.2判断能否借书索书信息读者1.2办理借书手续读者信息查询结果借书申请被借图书借书结果借书信息被借图书复本量(b)借书借阅3读者1图书51.1图书查询借书信息查询4判断2判断结果索书信息图书信息读者1借书2还书读者申请借书还书申请借书结果还书结果(a)第一层数据流图3办借书证读者信息办证信息6数据项名:读者编号别名:读者条码含义:唯一标识每个读者类型:字符型取值范围:00000000至99999999取值含义:顺序编号“读者”一个数据结构,它可以描述如下:数据结构名:读者含义说明:是图书管理系统的数据结构之一,定义了一个读者的有关信息组成:读者编号,姓名,性别,单位数据流“借阅记录”可描述如下:数据流名:借阅记录说明:读者的借书记录数据来源:办理借阅手续数据去向:借阅数据结构:读者编号、图书馆藏号、借阅日期数据存储“借阅”可以描述如下:数据存储名:借阅说明:记录读者的借书情况流出数据流:借阅记录流入数据流:借阅记录数据描述:读者编号、图书馆藏号、借阅日期数据量:每年5000条以上存取方式:随机存取7处理过程“判断能否借书”可描述如下:处理过程“判断能否借书”说明:根据读者的已借书情况可被借图书的馆藏情况判断读者能否借书输入:借阅记录、读者信息、被借图书信息输出:能否借书的标志处理:读者提出借书请求后,先判断该读者以前的借书量是否达到了10本,如果达到了10本,则不能再借书,如果没有达到10本,则再判断读者要借的图书的可借量是否为0,如果不为0,则该书可以借出。3.3数据库设计在图书管理系统中,数据库设计占重要位置,数据库设计质量的优劣,可直接影响到数据库数据的冗余度、数据的一致性、数据丢失等问题。下面就系统数据库规范化设计进行说明。3.3.1数据库设计的理论指导数据库设计的理论指导是范式理论,其主要内容如下:1)如果关系模式R,其所有的域为单纯域则称R是规范化的关系,或称第一范式(1NF)2)如果关系模式R为第一范式,且每个非主属性完全函数依赖于码,则模式R为第二范式(2NF)。3)如果关系模式R为第二范式,且每个非主属性非传递依赖于码,则称关系模式R为第三范式(3NF)。4)关系模式R为第一范式,满足函数依赖集合F,X和A均为R的属性集合,且X不包含A,如果R满足X-A且X必包含R的码,称关系模式R为BCNF范式。3.3.2数据库设计图书管理系统数据库常常要设计含有如下数据项:借书证号、姓名、单位、馆藏号(馆藏8号为每本书上的条形码号)、书名、分类号、作者、价格等。如何进行模式的设计呢?下面以图书流通模块所涉及的数据库为例来说明。先设计图书流通的实体-关系图(E-R图)。E-R图由3个相关联的部分构成,即实体、实体与实体之间的关系以及实体和关系的属性。图书流通过程中实体“图书”与“读者”之间的关系是借阅和被借阅的关系,实体“读者”与“单位”之间的关系是属于和被属于的关系,“图书”的属性有“馆藏号”、“书名”、“分类号”、“作者”、“价格”,“读者”的属性有“借书证号”、“姓名”、“性别”,“单位”的属性有“单位编号”和“单位名称”,“借阅”属性“借书日期”,由此得出E-R图如图4。从图中可以知道:①“借书证号”是唯一的,所以“借书证号”决定“姓名”,每位读者应只属于一个性别,所以“借书证号”也决定“性别”;②“馆藏号”是唯一的,所以“馆藏号”决定“书名”、“分类号”、“作者”、“价格”;③“单位编号”是唯一的,所以“单位编号”决定“单位名称”;④每位读者在一个时间只能借一本书,所以“借书证号”+“馆藏号”决定“借阅时间”。如果将这些数据项置于一个关系模式中,根据范式理论,该关系模式属于1NF(第一范式),它存在删除异常和冗余等问题,不是理想的模式,因此要把它分解成满足3NF或BCNF的关系模式。根据范式理论和E-R图转换成关系模型的规则,上面的E-R图可转换为4个关图书读者借阅mn借阅时间馆藏号书名分类号作者价格借书证号姓名性别图4图书流通的E-R图属于单位1n单位名称单位编号9系模式:①图书(馆藏号、书名、分类号、作者、价格);②读者(借书证号、姓名、性别、单位编号);③借阅(借书证号、馆藏号、借阅时间),④单位(单位编码、单位名称),其中打下划线的为码,这样就解决了插入、删除和数据冗余等问题。我们对数据的结构进行详细的分析,按照上述的设计思想,共设计了读者表,书目表,馆藏表,流通表等百余张数据表,然后创建视图和存储过程。下面举例说明:读者表:借书证号、姓名、单位、读者类别、职称等字段;书目表:馆藏号、ISBN、题名、作者、出版社、复本数、语种、文献类型、版次等字段;馆藏表:馆藏号、索书号、分类号、种次号、馆藏位置、单价、出版日期等字段;流通表:借书证号、馆藏号、借期、还期、续借、应还期、操作员等字段;借阅规则表:读者类别编码、图书类别编码、限借册数、每期天数、续借天数、过期日期、罚金等字段。读者类别表:读者类别编码、读者类别等字段。图书类别表:图书类别编码、图书类别等字段。3.4数据库索引建立索引是加快查询速度的有效手段,数据库的每一个表建立了主键,主键由一个或几个字段组成,每一个表都按主键建立了索引,部分表为了满足查询和排序的需要,除建立主索引外,还建立了次索引。例如在查询时要用到“馆藏号”、“作者”、“题名”等条件来查找图书,因此,在书目表上除了对主键“馆藏号”建立了主索引外,也对“作者”、“书名”等建立了次索引。3.5视图视图是从一个或几个基本表导出的表,它是定义在基本表之上的,它是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,数据仍然存放在原来的基本表中。通过定义视图,可以使用户眼中的数据库结构简单、清晰,并可以简化用户的数据查询操作。由10于本系统数据表较多,表中的字段多,为了简化对表的操作,我们创建了图书_按书名查询、期刊_按刊名查询、期刊_按编辑部查询、借阅规则查询、待还书查询、超期记录查询等30余个视图。3.6存储过程存储过程是一段经过编译的程序代码,存放在数据库服务器端。通过调用适当的存储过程,可在服务器端处理大量数据,再将处理结果送到客户端。这样可减少数据在网络上的传送,消除网络阻塞现象;例如:要查询某条记录,若该记录在表中的顺序号是10000,不采用存储过程,服务器将从1至于10000条记录数据逐条送至客户端,采用存储过程后,由于过程是