图书管理系统示例

图书管理系统示例
图书管理系统示例

图书管理系统

1、需求分析

系统任务概述

这里我们将图书管理系统的应用对象定位在中小型图书馆。

图书馆的主要功能是为注册用户提供图书借阅,主要涉及对图书的管理,借阅者管理,以及图书借阅信息的管理。其中对图书的管理主要是指:对馆藏图书的增删改查;对借阅者信息的增删改查,还有挂失;对借阅者借阅信息的管理。除此之外,只有合法用户才能使用该系统,要实行用户密码登陆。

功能需求

图书管理系统完整功能需求如下:

1)借阅者管理

每个通过审查的人可以办理一张借阅卡,拥有用户名、密码,成为注册用户。此卡包含所有个人信息,以后所有图书借阅活动凭此卡进行,直至该卡被注销或删除。

因此,对借阅者的管理包括相关信息的添加、修改、删除、检索。

2)图书信息管理

●新书入库:每本新到图书需将详细信息添加入库,方可对外借阅。

●图书检索:馆藏图书丰富,须提供图书快速查询检索功能。

●图书信息修改:图书基本信息入库时已基本确定,但是一些辅助信息,如存放

位置,是否接触等会有变化,须提供修改功能。

●图书信息删除:对于太过破旧被淘汰或者丢失的书籍,要从系统信息中删除。

3)图书借阅信息管理

系统核心功能之一。图书管理系统最主要的功能是对图书的借出和归还。主要涉及被借阅的图书和借阅者,即图书基本信息,借阅者部分信息,借出归还日期等。

具体来说,对于借书,首先获得借阅者的信息,看其是否有权利借书,其次检查相关书籍,看其是否被可以被外借;对于还书,同样也需要借阅者信息和图书信息才能还书,同时还要计算本次借阅是否超期,超期要计算出罚款金额,借阅者交了足额罚款才能还书成功。此外,对于历史借还记录要提供查询功能;同时由于存储空间限制,不能永久保存历史记录,还需提供删除记录功能。

4)用户登录

该系统用户主要有系统管理员和普通注册用户(即持有借阅卡的借阅者)两种。系统管理员拥有所有功能权限,普通注册用户只能管理个人信息和检索需要图书。系统要对不同的用户给予不用权限,每个合法用户凭登录名和密码登陆此系统。

5)系统基本信息管理

●对借阅者类别的设置:对于借阅者设置不同类别,不同类别的借阅者设置不同

的借阅图书数量上限。

●对图书类别的设置:不同类别图书的借阅期限不同,超期后的罚款金额也不同。

●对系统用户的管理:本系统暂定两类用户,系统管理员和普通注册用户,不同

用户拥有不同的使用权限。

数据流图

借还书的过程要和时间挂钩,所以还要有一个数据源点为“系统时钟”,因此得到图书管理系统的基本数据流图1-1。

图1-1 基本数据流图

通过对需求的深入分析,对“图书管理系统”加工进一步细化,得到功能级数据流图1-2。

图1-2 功能级数据流图

通过对图1-2的分析,发现上述的三个加工在工作过程中要涉及一些数据存储。因此得到改进后的功能级数据流图,如图1-3所示。

图1-3 改进后的功能级数据流图

再仔细分析图1-3的每个加工是否还能细化,或者还有没有可以补充的加工。我们发现系统中还需要一个加工来专门负责“基本信息的维护”,这样得到进一步的数据流图,如图1-4所示。

那么,对于图1-4是否还需要细化呢?比如“借阅者管理”还要先“添加”再“查询”等,这些都是一些比较细节的东西,不需要在需求分析里作过多关注。

图1-4 最终数据流图

数据字典

对于数据流图中的每个元素,都可以额通过数据字典加以描述,以保证数据定义的严格性,针对上述系统的数据字典如下:

借阅者管理=[添加借阅者|修改借阅者|删除借阅者|检索借阅者]

图书管理=[添加图书|修改图书|删除图书|检索图书]

借阅信息管理=[添加借阅信息|修改借阅信息|删除借阅信息|检索借阅信息]

管理个人信息=[检索个人信息|修改个人信息]

基本信息维护请求=[对借阅者类别信息的维护|对图书类别信息的维护|对登陆用户的维护]

对借阅者类别信息的维护=[对借阅者类别信息的添加|对借阅者类别信息的修改|对借阅者类别信息的删除|对借阅者类别信息的检索]

对图书类别信息的维护=[对图书类别信息的添加|对图书类别信息的修改|对图书类别信息的删除|对图书类别信息的检索]

对登录用户的维护=[对用户信息的添加|对用户信息的修改|对用户的删除|对用户信息的检索]

时间=年+月+日

借阅卡信息=借阅卡号+姓名+性别+身份证号+单位+家庭住址+联系电话+借阅者类别+办证日期+已借书数目+是否挂失

注册用户=借阅卡信息

注册用户=借阅者

借阅卡号=8{数字}8

性别=[男|女]

身份证号=18{数字}18

联系电话=(区号)+7{数字}7

区号=4{数字}4

借阅者类别=[一级读者|二级读者|三级读者]

描述:在本系统中一级读者可借10本,二级读者可借5本,三级读者可借3本办证日期=年+月+日

已借书数目=[0|1|2|3|4|5|6|7|8|9|10]

是否挂失=[挂失|没挂失]

挂失=1

没挂失=0

图书信息=图书号+书名+作者+出版社+出版日期+单价+图书类别+存放位置+入库日期+是否借出

图书=图书信息

图书号=7{数字}7+同一本书副本编号

同一本书副本编号=[0|1|2|3|4|5|6|7|8|9]

出版日期=年+月+日

图书类别=[一类图书|二类图书|三类图书|四类图书|五类图书|六类图书]

入库日期=年+月+日

是否借出=[借出|未借出]

借出=1

未借出=0

借阅信息=借阅卡号+姓名+图书号+书名+借出日期+实际归还日期+罚款金额

借出日期=年+月+日

实际归还日期=年+月+日

系统基本信息=[借阅者类别信息|图书类别信息|系统用户]

借阅者类别信息=借阅者类别+能借书的数量

借阅者类别=[一级读者|二级读者|三级读者]

能借书的数量=[1|2|3|4|5|6|7|8|9|10]单位:本

图书类别信息=图书类别+可借天数+图书超期每天罚款金额

图书类别=[一类图书|二类图书|三类图书|四类图书|五类图书|六类图书]

可借天数=[10|20|30|40|50|60|70]单位:天

图书超期每天罚款金额=[|]单位:元

系统用户=用户名+密码+是否管理员

用户名=1{字母|数字}16

密码=1{字母|数字}8

是否管理员=[是管理员|不是管理员]

是管理员=1

不是管理员=0

ER图

根据上一小节的数据字典,得到系统E-R图,如图1-5。

图1-5 图书管理系统的E-R图

对应图书管理系统有六张表,分别是:表1-1“借阅者表”,表1-2“图书表”,表1-3“借阅表”,表1-4“借阅者类别表”,表1-5“图书类别表”,表1-6“系统用户表”。

表1-1借阅者表

字段名称数据类型是否关键字是否可以为空

借阅卡号decimal 是否

姓名Varchar(20) 否否

性别Boolean 否否

身份证号Varchar(30) 否否

单位Varchar(30) 否是

家庭住址Varchar(30) 否是

联系电话Varchar(30) 否是

借阅者类别Varchar(30) 否否

办证日期datetime 否否

已借书数目int 否是

是否挂失boolean 否是

表1-2图书表

字段名称数据类型是否关键字是否可以为空图书号decimal 是否

书名Varchar(20) 否否

作者Varchar(20) 否否

出版社Varchar(20) 否否

出版日期datetime 否否

单价money 否否

图书类别否否

存放位置Varchar(30) 否是

入库日期datetime 否是

是否借出boolean 否否

表1-3借阅表

字段名称数据类型是否关键字是否可以为空借阅卡号decimal 是否

图书号decimal 是否

姓名Varchar(20) 否是

书名Varchar(20) 否是

借出日期datetime 否否

实际归还日期datetime 否否

罚款金额money 否是

表1-4借阅者类别表

字段名称数据类型是否关键字是否可以为空借阅者类型Varchar(30) 是否

图书类别Varchar(30) 是否

可借天数int 否否

图书超期每天罚款金额money 否是

用户名Varchar(20) 是否

密码Varchar(20) 是否

是否是管理员boolean 否是

性能要求

总体来说,系统在性能上没有太多的特殊要求,只要进行图书查询时没有明显的延时就行了,希望查询的响应时间不超过3秒,其他一些要求如下:

●系统最小寿命:在无重大改动的情况下,正常运行5年以上。

●设备要求:计算机稳定性良好,整套系统经济实惠。

●在使用上:要求系统易理解,易学习,易操作。

●在安全性上:要求系统安全可靠,容错,易恢复。

●在数据集中上:要求用统一的数据库实现数据的完整性和实时性。

●在可维护性上:要求系统可修改,可测试,可扩充,可移植。

相关主题
相关文档
最新文档