图书管理系统需求分析
发布时间:2024-11-28
发布时间:2024-11-28
图书馆 需求分析
图书管理系统需求分析
设计与实现的约束条件
在系统设计和实现的过程中,从技术角度上可能存在一些约束条件,这些约束条件包括:
1. 客户应用环境特殊,使得一些成熟的工具无法应用,只能进行底层开发以实现上层应用流程。
2. 客户有独特的行业背景或应用目标,现有的方法或者工具无法满足,只能改变设计思路或者实现方法。
3. 客户提出了针对版权或者代码、文档所有权的需求,为了保证自身的机密不被泄漏,故意选择一些一般的方法,不使用自己掌握的尖端技术。
还有很多其他的设计与实现约束条件,例如客户方希望驻厂开发、希望双方联调等。凡是打破现有的内部工作环境,需要调整设计与实现流程才能满足的要求,都应在此详细说明。
其他客户需求
除了以上的各项客户需求之外,还会有一些相对笼统或者独特的客户需求,可能包括以下需求:
1. 关于系统的安全性、稳定性、可扩展性、开放型、独立性等诸如此类的考虑,在需求分析中列明,可以指导设计人员在后续的技术工作中有意识的加以体现,充分满足客户要求。
2. 关于系统配置环境、运行方式、提交形式等要求,这与核心技术无关,但却是客户针对服务形式的要求,主要用于指导软件发布阶段的工作。
3. 其他的特殊要求也要在此一并列出。
附录
在此列出本文档所需要的各种附录信息,包括客户提供的一些需求数据、己方技术人员提供的观点意见、客户方提供的一些文档或者通讯记录,以起到佐证和参照的作用。
引言
一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。
以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其
图书馆 需求分析
次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。
为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高图书馆的管理效率。使用该程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便全面掌握图书的流通情况。
“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。它是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。
系统设计
系统指导思想和建设目标
系统指导思想
立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。
系统建设目标
(1)要解决的问题:(以某学校为参照) 随着办公自动化水平的不断提高,现在学校管理学生信息也逐步从手工转到计算机自动化信息处理阶段。设计一个功能完整、操作简便、界面友好的学生信息管理系统已经是势在必行的了。
(2)系统开发的目的:提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。
(3)系统名称:图书管理系统
总体功能设计
系统要能实现如下功能:
l 登录系统:注销用户、系统退出。
l 管理:用户管理、图书管理、读者管理、借阅管理。
l 查询:图书查询、读者查询、借阅查询。
l 报表打印:所有图书、借出图书、库存图书、所有读者。
图书馆 需求分析
l 帮助:使用说明、关于。
数据库设计
数据库系统的选择
本系统是一个中小型管理系统,运行环境是Windows2000 server,因此使用Windows环境下最容易使用且功能还可以的Microsoft Access 2000 作为后台的数据库系统。
需求分析
判断能否借书 索书 信息 读 者 办理借书手续 读者信息 查询结果 借书申请 被借图书 借书结果 借书信息 被借图书复本量 借书 借阅 读者 图书 图书查询 借书信息 查询 判断 判断结果 索书 信息 图书信息 读 者 借书 还书 读 者 申请借书 还书申请 借书结果 还书结果 顶层数据流图 办借 书证 读者信息 办证信息
需求分析是数据库设计首先要做的工作,通过需求分析,我们可以作出图书管理系统的各层数据流图.
在数据流图的基础上,定义数据字典。数据字典是关于数据库中数据的描述,它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。下面在数据流图的基础上举例说明数据字典的定义。
图中数据项“读者编号”可以描述如下:
数据项名:读者编号
别名:读者条码
含义:唯一标识每个读者
类型:字符型
取值范围:00000000至99999999
取值含义:顺序编号
“读者”一个数据结构,它可以描述如下:
数据结构名:读者
图书馆 需求分析
含义说明:是图书管理系统的数据结构之一,定义了一个读者的有关信息
组成:读者编号,姓名,性别,单位
数据流“借阅记录”可描述如下:
数据流名:借阅记录
说明:读者的借书记录
数据来源:办理借阅手续
数据去向:借阅
数据结构:读者编号、图书馆藏号、借阅日期
数据存储“借阅”可以描述如下:
数据存储名:借阅
说明:记录读者的借书情况
流出数据流:借阅记录
流入数据流:借阅记录
数据描述:读者编号、图书馆藏号、借阅日期
数据量:每年5000条以上
存取方式:随机存取
处理过程“判断能否借书”可描述如下:
处理过程“判断能否借书”
说明:根据读者的已借书情况可被借图书的馆藏情况判断读者能否借书
输入:借阅记录、读者信息、被借图书信息
输出:能否借书的标志
处理:读者提出借书请求后,先判断该读者以前的借书量是否达到了10本,如果达到了10
图书馆 需求分析
本,则不能再借书,如果没有达到10本,则再判断读者要借的图书的可借量是否为0,如果不为0,则该书可以借出。
数据库设计
在图书管理系统中,数据库设计占重要位置,数据库设计质量的优劣,可直接影响到数据库数据的冗余度、数据的一致性、数据丢失等问题。下面就系统数据库规范化设计进行说明。
数据库设计的理论指导
数据库设计的理论指导是范式理论,其主要内容如下:
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范式。
数据库设计
图书管理系统数据库常常要设计含有如下数据项:借书证号、姓名、单位、馆藏号(馆藏号为每本书上的条形码号)、书名、分类号、作者、价格等。如何进行模式的设计呢?下面以图书流通模块所涉及的数据库为例来说明。
图 书
读 者
借阅
m
n
借阅时间
馆藏号
书名
图书馆 需求分析
分类号
作者
价格
借书证号
姓名
性别
图4 图书流通的E-R图
属于
单 位
1
n
单位名称
单位编号
先设计图书流通的实体-关系图(E-R图)。E-R图由3个相关联的部分构成,即实体、实体与实体之间的关系以及实体和关系的属性。图书流通过程中实体“图书”与“读者”之间的关系是借阅和被借阅的关系,实体“读者”与“单位”之间的关系是属于和被属于的关系,“图书”的属性有“馆藏号”、“书名”、“分类号”、“作者”、“价格”,“读者”的属性有“借书证号”、“姓名”、“性别”,“单位”的属性有“单位编号”和“单位名称”,“借阅”属性“借书日期”,由此得出E-R图。 从图中可以知道:
①“借书证号”是唯一的,所以“借书证号”决定“姓名”,每位读者应只属于一个性别,所以“借书证号”也决定“性别”;
②“馆藏号”是唯一的,所以“馆藏号”决定“书名”、“分类号”、“作者”、“价格”;
③ “单位编号”是唯一的,所以“单位编号”决定“单位名称”;
④ 每位读者在一个时间只能借一本书,所以“借书证号” +“馆藏号”决定“借阅时间”。
图书馆 需求分析
如果将这些数据项置于一个关系模式中,根据范式理论,该关系模式属于1NF(第一范式),它存在删除异常和冗余等问题,不是理想的模式,因此要把它分解成满足3NF或BCNF的关系模式。根据范式理论和E-R图转换成关系模型的规则,上面的E-R图可转换为4个关系模式:①图书(馆藏号、书名、分类号、作者、价格);②读者(借书证号、姓名、性别、单位编号);③借阅(借书证号、馆藏号、借阅时间),④单位(单位编码、单位名称),其中打下划线的为码,这样就解决了插入、删除和数据冗余等问题。
我们对数据的结构进行详细的分析,按照上述的设计思想,共设计了读者表,书目表,馆藏表,流通表等百余张数据表,然后创建视图和存储过程。下面举例说明:
读者表:借书证号、姓名、单位、读者类别、职称等字段;
书目表:馆藏号、ISBN、题名、作者、出版社、复本数、语种、文献类型、版次等字段;
馆藏表:馆藏号、索书号、分类号、种次号、馆藏位置、单价、出版日期等字段;
流通表:借书证号、馆藏号、借期、还期、续借、应还期、操作员等字段;
借阅规则表:读者类别编码、图书类别编码、限借册数、每期天数、续借天数、过期日期、罚金等字段。
读者类别表:读者类别编码、读者类别等字段。
图书类别表:图书类别编码、图书类别等字段。
数据库索引
建立索引是加快查询速度的有效手段,数据库的每一个表建立了主键,主键由一个或几个字段组成,每一个表都按主键建立了索引,部分表为了满足查询和排序的需要,除建立主索引外,还建立了次索引。例如在查询时要用到“馆藏号”、“作者”、“题名”等条件来查找图书,因此,在书目表上除了对主键“馆藏号”建立了主索引外,也对“作者”、“书名”等建立了次索引。
视图
视图是从一个或几个基本表导出的表,它是定义在基本表之上的,它是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,数据仍然存放在原来的基本表中。通过定义视图,可以使用户眼中的数据库结构简单、清晰,并可以简化用户的数据查询操作。由于本系统数据表较多,表中的字段多,为了简化对表的操作,我们创建了图书_按书名查询、期刊_按刊名查询、期刊_按编辑部查询、借阅规则查询、待还书查询、超期记录查询等30余个视图。
存储过程
存储过程是一段经过编译的程序代码,存放在数据库服务器端。通过调用适当的存储过程,可在服务器端处理大量数据,再将处理结果送到客户端。这样可减少数据在网络上的传送,消除网络阻塞现象;例如:要查询某条记录,若该记录在表中的顺序号是10000,不采用存储过程,服务器将从1至于10000条记录数据逐条送至客户端,采用存储过程后,由于过
图书馆 需求分析
程是经过编译的并且是在本地,不需要通过网络,因此能很快查出所需记录并将结果送到客户端,大大减少了网上数据传输量。存储过程另一好处是可供不同的开发工具调用,如PB、VB、ASP、Delphi等开发工具均可调用。在流通模块和WEB查询模块上均有图书检索功能,实际上调用同一存储过程完成的。本系统建立了60多个存储过程,实现诸如借还书处理、新书入库统计、编目入馆藏、读者统计、生成索书号等功能。
数据库调用
采用ODBC接口实现数据库的调用,采用ADO接口调用。
条形码的使用
条形码具有唯一性和一次输入后就可反复使用的优点,利用条形码技术作为信息快速输入的手段可迅速且不易发生错误地处理图书管理业务。本系统使用条形码作为图书和读者的标识,实现标识的唯一性。
使用条码后,能够使图书管理工作更加简单、快捷、不易出错。例如,当一本书具有唯一条形码标识,每位读者也具有唯一条形码标识时,图书的借阅、查询就十分便捷了。应用条形码取代了以往填写书袋卡、借书证,核对借阅时间等繁琐的手工劳动。读者在借书时只要将借书证给工作人员,工作人员只需登录借书系统,用条形码阅读器扫描读者借书证上的条形码,屏幕就会显示出该读者的信息,包括读者姓名、单位、可借几本书、已借几本书、是否过期、有无罚款等。如可以借书,工作人员只需用条形码阅读器扫描该读者所需借的书上的条形码符号后,该书的书名和条形码等信息都从数据库中调出显示在屏幕上,自动记录在该读者的借阅档案中,借书工作即告完成。一般借一本书仅需 1至 2秒钟。操作完后,计算机自动地将该借阅者和借阅的图书号码输入对应数据库中,并自动提示借阅期限