图书管理系统需求规格说明书

何海军、熊跃华

摘要  介绍了信息中心图书管理系统数据库的设计。该系统是运行在学校内的图书管理系统,实现了图书资料的计算机管理和图书查询功能。

关键词  图书 网络 管理系统 数据库

1 引言

一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。

以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,工作人员出错的概率也小了,读者可以花更多的时间在选择书和看书上。

为方便对图书馆书籍、读者资料、借还书等进行高效的管理,特编写该程序以提高图书馆的管理效率。使用该程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,给出统计表格,以便全面掌握图书的流通情况。

本次作业设计题目:“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程给出一个完整论证。

图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。

2 系统设计

2.1  系统指导思想和建设目标

2.1.1 系统指导思想

立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。

2.1.1   系统建设目标

(1)要解决的问题:(以某学校为参照)   随着办公自动化水平的不断提高,现在学校管理学生信息也逐步从手工转到计算机自动化信息处理阶段。设计一个功能完整、操作简便、界面友好的学生信息管理系统已经是势在必行的了。

(2)系统开发的目的:提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。

(3)系统名称:图书管理系统

2.2  总体功能设计

系统要能实现如下功能:

l         登录系统:注销用户、系统退出。

l         管理:用户管理、图书管理、读者管理、借阅管理。

l         查询:图书查询、读者查询、借阅查询。

l         报表打印:所有图书、借出图书、库存图书、所有读者。

l         帮助:使用说明、关于。

3 数据库设计

3.1 数据库系统的选择

本系统是一个中小型管理系统,运行环境是Windows2000 server,因此使用Windows环境下最容易使用且功能还可以的Microsoft Access 2000 作为后台的数据库系统。

3.2 需求分析

图3 图书流通数据流图

1.2

判断能

否借书

索书

信息

读 者

1.2

办理借

书手续

读者信息

查询结果

借书申请

被借图书

借书结果

借书信息

被借图书复本量

(b) 借书

借阅

3

读者

1

图书

5

1.1

图书

查询

借书信息

查询

4

判断

2

判断结果

索书

信息

图书信息

读 者

1

借书

2

还书

读 者

申请借书

还书申请

借书结果

还书结果

(a) 顶层数据流图

3

办借
书证

读者信息

办证信息

需求分析是数据库设计首先要做的工作,通过需求分析,我们作出了图书管理系统的各层数据流图,图 3 是图书流通数据流图(图中省略了“还书”和“办理借书证”的数据流图)。

在数据流图的基础上,定义数据字典。数据字典是关于数据库中数据的描述,它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。下面在图3的基础上举例说明数据字典的定义。

图3中涉及很多数据项,其中数据项“读者编号”可以描述如下:

数据项名:读者编号

别名:读者条码

含义:唯一标识每个读者

类型:字符型

取值范围:00000000至99999999

取值含义:顺序编号

“读者”一个数据结构,它可以描述如下:

数据结构名:读者

含义说明:是图书管理系统的数据结构之一,定义了一个读者的有关信息

组成:读者编号,姓名,性别,单位

数据流“借阅记录”可描述如下:

数据流名:借阅记录

说明:读者的借书记录

数据来源:办理借阅手续

数据去向:借阅

数据结构:读者编号、图书馆藏号、借阅日期

数据存储“借阅”可以描述如下:

数据存储名:借阅

说明:记录读者的借书情况

流出数据流:借阅记录

流入数据流:借阅记录

数据描述:读者编号、图书馆藏号、借阅日期

数据量:每年5000条以上

存取方式:随机存取

处理过程“判断能否借书”可描述如下:

处理过程“判断能否借书”

说明:根据读者的已借书情况可被借图书的馆藏情况判断读者能否借书

输入:借阅记录、读者信息、被借图书信息

输出:能否借书的标志

处理:读者提出借书请求后,先判断该读者以前的借书量是否达到了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 数据库设计

图书管理系统数据库常常要设计含有如下数据项:借书证号、姓名、单位、馆藏号(馆藏号为每本书上的条形码号)、书名、分类号、作者、价格等。如何进行模式的设计呢?下面以图书流通模块所涉及的数据库为例来说明。

图 书

读 者

借阅

m

n

借阅时间

馆藏号

书名

分类号

作者

价格

借书证号

姓名

性别

图4   图书流通的E-R图

属于

单 位

1

n

单位名称

单位编号

先设计图书流通的实体-关系图 (E-R 图 ) 。 E-R 图由 3 个相关联的部分构成,即实体、实体与实体之间的关系以及实体和关系的属性。图书流通过程中实体“图书”与“读者”之间的关系是借阅和被借阅的关系,实体“读者”与“单位”之间的关系是属于和被属于的关系,“图书”的属性有“馆藏号”、“书名”、“分类号”、“作者”、“价格”,“读者”的属性有“借书证号”、“姓名”、“性别”,“单位”的属性有“单位编号”和“单位名称”,“借阅”属性“借书日期”,由此得出 E-R 图如图 4 。

从图中可以知道:

①“借书证号”是唯一的,所以“借书证号”决定“姓名”,每位读者应只属于一个性别,所以“借书证号”也决定“性别”;

②“馆藏号”是唯一的,所以“馆藏号”决定“书名”、“分类号”、“作者”、“价格”;

③ “单位编号”是唯一的,所以“单位编号”决定“单位名称”;

④ 每位读者在一个时间只能借一本书,所以“借书证号” +“馆藏号”决定“借阅时间”。

如果将这些数据项置于一个关系模式中,根据范式理论,该关系模式属于1NF(第一范式),它存在删除异常和冗余等问题,不是理想的模式,因此要把它分解成满足3NF或BCNF的关系模式。根据范式理论和E-R图转换成关系模型的规则,上面的E-R图可转换为4个关系模式:①图书(馆藏号、书名、分类号、作者、价格);②读者(借书证号、姓名、性别、单位编号);③借阅(借书证号、馆藏号、借阅时间),④单位(单位编码、单位名称),其中打下划线的为码,这样就解决了插入、删除和数据冗余等问题。

我们对数据的结构进行详细的分析,按照上述的设计思想,共设计了读者表,书目表,馆藏表,流通表等百余张数据表,然后创建视图和存储过程。下面举例说明:

读者表:借书证号、姓名、单位、读者类别、职称等字段;

书目表:馆藏号、ISBN、题名、作者、出版社、复本数、语种、文献类型、版次等字段;

馆藏表:馆藏号、索书号、分类号、种次号、馆藏位置、单价、出版日期等字段;

流通表:借书证号、馆藏号、借期、还期、续借、应还期、操作员等字段;

借阅规则表:读者类别编码、图书类别编码、限借册数、每期天数、续借天数、过期日期、罚金等字段。

读者类别表:读者类别编码、读者类别等字段。

图书类别表:图书类别编码、图书类别等字段。

3.4  数据库索引

建立索引是加快查询速度的有效手段,数据库的每一个表建立了主键,主键由一个或几个字段组成,每一个表都按主键建立了索引,部分表为了满足查询和排序的需要,除建立主索引外,还建立了次索引。例如在查询时要用到“馆藏号”、“作者”、“题名”等条件来查找图书,因此,在书目表上除了对主键“馆藏号”建立了主索引外,也对“作者”、“书名”等建立了次索引。

3.5 视图

视图是从一个或几个基本表导出的表,它是定义在基本表之上的,它是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,数据仍然存放在原来的基本表中。通过定义视图,可以使用户眼中的数据库结构简单、清晰,并可以简化用户的数据查询操作。由于本系统数据表较多,表中的字段多,为了简化对表的操作,我们创建了图书_按书名查询、期刊_按刊名查询、期刊_按编辑部查询、借阅规则查询、待还书查询、超期记录查询等30余个视图。

3.6 存储过程

存储过程是一段经过编译的程序代码,存放在数据库服务器端。通过调用适当的存储过程,可在服务器端处理大量数据,再将处理结果送到客户端。这样可减少数据在网络上的传送,消除网络阻塞现象;例如:要查询某条记录,若该记录在表中的顺序号是10000,不采用存储过程,服务器将从1至于10000条记录数据逐条送至客户端,采用存储过程后,由于过程是经过编译的并且是在本地,不需要通过网络,因此能很快查出所需记录并将结果送到客户端,大大减少了网上数据传输量。存储过程另一好处是可供不同的开发工具调用,如PB、VB、ASP、Delphi等开发工具均可调用。在流通模块和WEB查询模块上均有图书检索功能,实际上调用同一存储过程完成的。本系统建立了60多个存储过程,实现诸如借还书处理、新书入库统计、编目入馆藏、读者统计、生成索书号等功能。

3.7  数据库调用

采用ODBC接口实现数据库的调用,采用ADO接口调用。

4 条形码的使用

条形码具有唯一性和一次输入后就可反复使用的优点,利用条形码技术作为信息快速输入的手段可迅速且不易发生错误地处理图书管理业务。本系统使用条形码作为图书和读者的标识,实现标识的唯一性。

使用条码后,能够使图书管理工作更加简单、快捷、不易出错。例如,当一本书具有唯一条形码标识,每位读者也具有唯一条形码标识时,图书的借阅、查询就十分便捷了。应用条形码取代了以往填写书袋卡、借书证,核对借阅时间等繁琐的手工劳动。读者在借书时只要将借书证给工作人员,工作人员只需登录借书系统,用条形码阅读器扫描读者借书证上的条形码,屏幕就会显示出该读者的信息,包括读者姓名、单位、可借几本书、已借几本书、是否过期、有无罚款等。如可以借书,工作人员只需用条形码阅读器扫描该读者所需借的书上的条形码符号后,该书的书名和条形码等信息都从数据库中调出显示在屏幕上,自动记录在该读者的借阅档案中,借书工作即告完成。一般借一本书仅需 1至 2秒钟。操作完后,计算机自动地将该借阅者和借阅的图书号码输入对应数据库中,并自动提示借阅期限。

参考文献

[1] 王珊著、数据库系统原理教程,清华大学出版社,2002.1

[2] 齐治昌等著、软件工程,高等教育出版社,2002.1

[3] 网络资源

图书管理系统需求规格说明书相关推荐

  1. 图书管理系统需求规格说明文档目录_软件需求分析教与学(教学大纲)

    需求分析课程教学大纲 01. 课程说明 课程名称 需求分析 总学时 32 先修课程: 软件工程导论.数据库原理与设计.信息系统基础 02. 课程性质.目的和任务 软件开发一般包括可行性分析.需求分析. ...

  2. 图书销售系统需求规格说明书

    1. 引言 1.1 编写目的 为了明确系统软件的需求,安排项目规划与进度,组织软件开发与测试,撰写本文档.本文档供项目负责人,设计人员,开发人员参考. 1.3 定义 无 1.4 参考资料 1.软件工程 ...

  3. 学生学籍管理系统需求规格说明书

    1.引言 1.1编写目的 此需求分析说明书是为学生学籍管理系统软件的开发者能更好的理解开发的需求,避免由于对问题认识的不清或错误理解而增加更多的开发成本:需求分析是软件系统生存期中定义阶段的最后一个步 ...

  4. 图书管理系统需求规格说明文档目录_一个已经超越普通设计素材管理范畴的文档管理软件—Eagle...

    为什么我要使用Eagle?本篇文章是我第一次在知乎写的专栏文,我觉得我应该把我对这个软件的日常使用体会介绍给同样是产品汪的同学们,如果适合大家,是我的荣幸,如果不适合,那就略过.本文就以下几点来描述我 ...

  5. 学生成绩查询系统需求规格说明书

    学生成绩管理系统需求规格说明书 班    级:信2002-1 姓    名:张居然 学    号:12345678765432 授课教师:xxx 2022年4月23 日 xxxxx大学 一.需求分析 ...

  6. 图书管理系统需求说明书

          图书管理系统需求说明书               1引言................................................................. ...

  7. 图书借阅管理系统规格说明书

    1引言 1.1编写目的 图书管理系统需求说明书是为了让系统的涉众就该系统的需求达成一致认可,明确该系统的需求,为后续的开发工作提供依据.通常,该需求规格说明可以作为产品设计的主要依据,并作为工程师编码 ...

  8. XX大学学生选课系统需求规格说明书

    软件工程专业实训课作业--软件需求规格说明书.上网查资料,看模板,结合我们小组的选题.我完成了这个需求规格说明书. 1引言 编写目的 该文档是关于用户对于河北经贸大学学生选课系统的功能和性能的要求, ...

  9. 【综合实训】图书管理系统——需求规格说明书

    [备注]本说明书由华中农业大学2018级计算机科学与技术专业的刘铠铭.崔凌浩.卢家伟三位同学共同完成. 文章目录 1 引言 1.1 编写目的 1.2 背景 1.3 术语和缩略词 1.4 参考资料 2 ...

最新文章

  1. datatable无法设置横向滚动条(设置无效)
  2. 深度学习作弊,用单个参数 fit 任何数据集,这篇 19 年的论文重新「火」了
  3. c语言 8155 数码管,基于8155的8LED显示串口通信机设计 编程
  4. PC和手机怎么实现绝对居中?
  5. Exynos4412裸机开发 —— UART
  6. 实战:Redis哨兵模式(上)
  7. kill 的常用信号
  8. 工业循环冷却水处理设计规范_循环冷却水系统及其水处理
  9. java中UUID类生成32位随机数(附加 6 位随机数)
  10. h5下划线怎么设置_怎么给文本添加下划线?
  11. 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用
  12. 网易乐商北京(电面一)
  13. STM32 cudeIDE工程新建步骤
  14. Linux系统的grub.cfg文件损坏修复
  15. 如果编程语言也来玩儿《权利的游戏》,怎么安排角色?
  16. 推荐几个比较容易中的EI源刊
  17. 在android应用中植入Admob广告赚钱
  18. web端分屏异显实现-Angular+Electron
  19. 为什么河文档是黑人,而小河看起来却是个白人
  20. 分享本周所学——Unreal Engine 5(UE5/虚幻引擎5)安装以及创建项目的常见问题

热门文章

  1. Ubuntu Vim 安装失败未满足依赖
  2. 跨境电商决战代购蚂蚁军团
  3. 中国IT外包追赶印度机遇来临 外包业面临转型
  4. 奇葩的rabbitmq重启
  5. mysql SELECT/UPDATE command denied to user 'root'@'localhost' for table 'XXX'
  6. 年度汇总!一文了解2021 IEEE Transaction Winner奖19篇论文
  7. 泰克DPO2024B示波器,加快设计调试阶段的速度
  8. 个人电脑上搭建OpenStack的实验室
  9. 小偏方!不看,走宝.
  10. PHP构造函数的继承