小型图书馆管理信息系统设计.docx
《小型图书馆管理信息系统设计.docx》由会员分享,可在线阅读,更多相关《小型图书馆管理信息系统设计.docx(32页珍藏版)》请在冰点文库上搜索。
小型图书馆管理信息系统设计
1绪论
1.1系统背景
信息化是当今世界发展的大趋势,所谓信息化,就是充分利用信息技术,开发利用信息资源,促进信息交流和知识共享,提高经济增长质量,推动经济社会发展转型的历史进程[1]。
大力推进信息化发展,已成为我国经济社会发展新阶段重要而紧迫的战略任务。
小型图书馆管理信息系统就是能满足读者和图书相对数量较少的小型图书馆实现日常操作信息化和后台统计电算化的系统,它可以帮助图书馆管理人员处理基本的管理项目,使小型图书馆也能满足信息化的需要。
开发这个小型图书馆管理软件,利用计算机对图书资料以及读者资料进行管理能提高工作效率,可方便查找图书信息,快捷的借出或归还图书。
管理员还可根据系统提供的图书借阅排行榜功能即时了解图书的需求信息,掌握今后图书的订购计划;也可根据罚款统计功能统计某一时间段内收缴罚款的总额。
1.2系统目标
1)设计出合理的数据库
尽量减小数据库数据的冗余,使重复的数据保持在最小限度,这样会减少对存储空间的占用。
但是,在减少冗余的同时应保留一部分合理的冗余,以提高查询的效率和速度。
2)设计出友好的、易操作的界面
界面是否友好、易操作是评价一个软件优劣的重要指标。
利用VB.NET提供的丰富的windows窗口控件,使窗口界面上的控件布局合理、美观、实用,更具人性化。
3)完善的信息管理、查询和统计功能
系统可随时管理图书、读者的信息,借书、还书环节快捷方便,对各种数据查询准确迅速,随时统计借阅情况以及图书借阅排名。
2系统分析
2.1可行性分析
1)技术可行性
随时计算机技术和管理信息系统的不断进步和发展,对小型图书馆的管理从以前手工管理转移到计算机管理是切实可行的。
由于市面上已经有很多大型图书馆的管理软件,因此在技术上是相当成熟的,其可行性也是毋庸置疑的。
本系统是针对小型单位或组织的小型图书馆来开发图书馆管理系统,面向Windows操作系统,以MicrosoftAccess2003作为后台数据库,采用VisualBasic.NET作为开发工具,采用面向对象技术。
笔者对这两种工具掌握程度较好,因此在技术上不存在问题。
2)经济可行性
本系统的开发只需有安装好相应运行软件的计算机即可,对经济的要求很低。
项目成功后,可加快对数据的处理,节省人力,节约时间。
系统对于输入输出的规范,也提高了数据的可用性,增强了数据库的安全系数。
运用系统能方便的对图书和读者进行录入、修改、查询和统计以及书籍借阅和归还等工作,也能快速统计出图书借阅排行榜,从而便于掌握对各类图书的需求,对以后制订的图书订购计划能提供一定帮助,具有一定的现实意义。
3)操作可行性
本系统界面友好,不仅提供各种查询菜单栏,更提供直观的工具栏按钮,操作流程与实际流程一致,图书馆管理人员只要稍加了解就能熟练操作。
系统实现后,能使小型图书馆管理人员从繁杂的手工作业中解放出来,提高其工作效率。
综上所述,系统是可行的。
2.2需求分析
小型图书馆管理信息系统,是按照实际的图书借阅流程来设计的,因此其功能也是跟实际的图书馆借阅功能一致。
所以,该小型图书馆管理系统的设计,要包含图书借出、归还功能和数据统计功能。
主要应具备以下业务处理能力:
图书借出,完成借书时的信息查询,借后的信息入库,借书次数统计等等;图书归还,完成还书时的信息查询和数据入库等。
另外还需具有图书信息管理和读者信息管理所需的基本功能,包括添加、删除、修改和查询,以及相关信息导入Excel和打印功能等。
此外,一些相关的数据统计功能也很必要,如借阅统计、读者超期罚款统计等,可以为管理员工作提供参考。
整个系统既要实现基本业务,还要提供高效性、易用性和稳定性的性能要求。
2.3业务流程分析
2.3.1业务流程描述
1)添加图书
新添加的图书由管理员进行入库操作,添加图书信息到图书信息表中。
管理员依次输入图书条形码,书名,作者,出版社,出版时间,页数,类别,存放位置,图书总数和图书价格,系统自动根据图书类别、出版时间给出该书在数据库中的唯一编号,并同时记录入馆时间。
所有这些信息将会被添加到图书基本信息表中。
2)添加读者
新加入的读者也由管理员进行添加操作,添加新读者信息到读者信息表中。
管理员依次输入读者姓名,单位部门,住址,备注,联系电话和类别,系统自动根据读者类别等信息给出该读者在数据库中的唯一编号,并自动记录登记日期。
所有这些信息将被添加到读者基本信息表中。
3)图书管理
可以对数据库中所有的图书(包括在馆和不在馆的)进行管理,可以对图书信息进行修改、删除。
首先使用“定位”来确认要管理的图书,也可通过图书编号、条形码等来查找要管理的图书。
4)读者管理
可以对数据库中所有的读者进行管理,可以对读者的信息进行修改、删除。
首先使用“定位”来确认要管理的读者,也可通过读者编号、姓名等来查找要管理的读者。
5)图书借出业务
读者根据需要查询图书信息,找到要借图书后,系统根据读者编号和图书编号调出相关信息,判断读者能否借此书,并根据读者类别计算应还日期,借书成功后系统自动在相关数据表中修改读者借书信息以及该图书相关信息。
6)图书归还业务
系统根据图书实际归还日期以及应还日期判断是否超期,根据罚款设置表中相关信息计算罚款金额,并提示过期读者应缴纳的罚款金额,最后将归还信息写入数据库各相应的数据表中。
7)信息查询业务
包括图书基本信息查询,读者基本信息查询,在这个查询界面,系统提供多种查询条件供用户选择,根据需要查询信息。
主界面上的用户自定义查询都支持模糊查询,以方便用户。
另外也可对所有借出图书,当日借出、当日归还、当日新进图书信息进行查询,以及当日借书读者、当日还书读者,当日新增读者和过期未还读者信息的查询。
8)统计业务
包括图书借阅排名统计和罚款金额统计。
在图书借阅排名统计中,系统提供借出次数前10名的图书排行榜,让管理员掌握读者的喜好,为以后购买图书提供参考。
在罚款金额统计中,管理员只需选择要统计的时间段,就可以统计出该时间段内的罚款信息以及罚款总额。
9)系统管理
这部分包括修改管理员登录密码、图书类别设置、存放位置设置和读者类别设置等。
2.3.2系统业务流程图
业务流程图(TransactionFlowDiagram,TFD)是一种描述系统内各单位、人员之间业务关系,作业顺序和管理信息流向的图表[1]。
业务流程图常用符号如图2-1所示:
图2-1业务流程图倒的符号
根据上述对图书馆管理流程一系列的调研和分析,可以得到如下图2-2所示的系统综合业务流程图:
图2-2业务流程图
2.4数据流程分析
数据流程图(DataFlowDiagram,DFD)是以管理业务流程图为依据,通过抽象以舍去具体的组织结构、工作场所和物流等,单从数据信息流动的角度,来描述系统内部及系统与环境之间的数据信息的传递、处理和存储过程的一种工具[1]。
数据流程图中常用的符号如图2-3所示:
图2-3数据流程图的符号
根据系统的业务流程,对其中的数据流向、处理及数据存储进行分析后,可以得到本系统顶层和0层的数据流程图如图2-4和2-5所示:
图2-4顶层DFD
图2-50层DFD
2.5数据字典
数据字典是用来规范化描述数据具体内容的工具,也是对数据汇总分析的一个总结,包括数据流字典、数据存储字典和数据处理字典(分别如下文所示)。
数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述[1]。
数据流字典清单:
1)编号:
F1
名称:
读者借阅请求
来源:
读者
去向:
P1检查库存和读者信息
内容:
读者相关信息以及要借图书编号或条形码等信息
2)编号:
F2
名称:
新的借阅信息
来源:
P1检查库存和读者信息
去向:
P2创建新的借书记录
内容:
读者合法且可以借书,图书有库存可以借出
3)编号:
F3
名称:
新的读者信息
来源:
P1检查库存和读者信息
去向:
P3创建新读者
内容:
没有该读者,以及新读者的基本信息如姓名、单位等
4)编号:
F4
名称:
图书相关信息
来源:
D2图书信息表
去向:
P1检查库存和读者信息
内容:
被要求借阅图书的信息,包括图书基本属性和现有数量等信息
5)编号:
F5
名称:
合法的读者信息
来源:
P3创建新读者
去向:
D1读者信息表
内容:
系统要求的读者信息,如姓名、单位、登记日期等
6)编号:
F6
名称:
读者情况
来源:
D1读者信息表
去向:
P1检查图书库存和读者信息
内容:
有借书请求的读者相关情况
7)编号:
F7
名称:
超期罚款标准
来源:
D1读者信息表
去向:
P5计算罚款金额
内容:
超期读者的类别以及该类别超期的罚款标准
8)编号:
F8
名称:
借阅信息
来源:
P2创建新的借阅记录
去向:
D3借阅情况表
内容:
借书的读者信息以及所及图书信息,借书日期
9)编号:
F9
名称:
归还图书请求
来源:
读者
去向:
P4归还图书
内容:
读者信息,要归还图书信息
10)编号:
F10
名称:
归还图书信息
来源:
P4归还图书
去向:
D3借阅信息表
内容:
读者信息,归还的图书信息,还书时间
11)编号:
F11
名称:
超期天数
来源:
P4归还图书
去向:
P5计算罚款金额
内容:
读者超期图书的超期天数
12)编号:
F12
名称:
罚款记录
来源:
P5计算罚款金额
去向:
D4罚款金额统计表
内容:
读者以及超期图书相关信息,超期天数,罚款总额
13)编号:
F13
名称:
罚款金额通知
来源:
P5计算罚款金额
去向:
读者
内容:
读者为超期图书支付的罚款金额
数据存储字典清单:
1)编号:
D1
名称:
读者信息表
输入数据流:
新读者信息
输出数据流:
读者相关信息
内容:
读者编号、姓名、性别、单位部门、联系电话、类别、等级日期、借书次数等与读者有关的各种信息
2)编号:
D2
名称:
图书信息表
输入数据流:
新图书信息
输出数据流:
图书相关信息
内容:
图书编号、条形码、书名、作者、出版社出版时间、页数、类别、存放位置、图书总数、入馆时间、如数价格、借出次数等与图书有关的各种信息
3)编号:
D3
名称:
图书借阅情况表
输入数据流:
读者信息,图书信息,读者借阅请求等
输出数据流:
图书借阅中读者和图书相关信息
内容:
编号,借书者信息、所借图书信息、借书日期等
4)编号:
D4
名称:
罚款统计表
输入数据流:
超期天数、读者信息、罚款标准等
输出数据流:
读者超期罚款相关信息
内容:
超期图书的借阅者、超期天数、罚款金额等
数据处理字典清单:
1)编号:
P1
名称:
检查图书库存和读者信息
输入:
读者借书请求
处理逻辑情况:
根据读者借书请求,参考D1和D2,若没有该读者则创建新读者,若图书可借则创建新的借阅信息
输出:
创建新的借阅信息
2)编号:
P2
名称:
创建新的借书记录
输入:
新借书信息,即读者和所借图书相关信息
处理逻辑情况:
根据P1的结果,将新借阅信息添加到D3(图书借阅情况表)中
输出:
新的借阅信息
3)编号:
P3
名称:
创建新读者
输入:
新读者信息
处理逻辑情况:
根据读者的基本信息,给出读者编号,添加到D2(读者信息表)中
输出:
新加入的读者信息
4)编号:
P4
名称:
归还图书
输入:
还书请求
处理逻辑情况:
根据还书读者属性,以及借阅情况,判断是否过期,若没有则还书成功,若过期,则执行P5
输出:
归还信息
5)编号:
P5
名称:
计算罚款金额
输入:
罚款标准、超期天数
处理逻辑情况:
根据该读者的超期天数、对应的罚款标准计算出罚款金额,填入D4(罚款统计表)中
输出:
罚款信息
3系统设计
3.1数据库设计
3.1.1E-R图
E-R模型(实体联系模型),简称E-R图,是描述概念世界、建立概念模型的实用工具。
由前一章的分析可以看出,本系统主要有四个基本实体:
管理员,图书,读者和统计表。
各实体间的联系图如下图3-1所示:
图3-1各实体联系图
其中各实体的属性如下图3-2~图3-5所示:
图3-2“管理员”属性图
图3-3“图书”属性图
图3-4“读者”属性图
图3-5“统计表”属性图
3.1.2数据库逻辑结构设计
E-R图是建立数据模型的基础,根据E-R模型向关系模式的转换规则,可以将E-R图中所有的实体和联系都用关系来表示,从而可以得到数据库的逻辑模型。
该图书馆管理信息系统中各个数据表的设计如下所示:
表3-1图书信息表
编号
字段名称
数据结构
主键
允许空
1
图书编号
文本
是
否
2
条形码
文本
否
3
书名
文本
否
4
作者
文本
否
5
出版社
文本
否
6
出版时间
日期/时间
否
7
页数
数字
否
8
类别
文本
否
9
现存数量
数字
否
10
存放位置
文本
否
11
图书总数
数字
否
12
入馆时间
日期/时间
否
13
图书价格
货币
否
14
借出次数
数字
否
表3-2读者信息表
编号
字段名称
数据结构
主键
允许空
1
读者编号
文本
是
否
2
姓名
文本
否
3
性别
文本
否
4
单位部门
文本
否
5
备注
文本
否
6
联系电话
文本
否
7
类别
文本
否
8
未还书数
数字
否
9
借书次数
数字
否
10
登记日期
日期/时间
否
11
借书日期
日期/时间
否
12
还书日期
日期/时间
否
说明:
“读者”表中的“借书日期”和“还书日期”字段与借出图书中的该读者最近借书日期和还书日期是相同的,这里是为了查找方便设计的冗余字段。
表3-3读者类别
编号
字段名称
数据结构
主键
允许空
1
类别
文本
是
否
2
借书期限
数字
否
3
可借书数
数字
否
4
罚款金额
文本
否
说明:
“读者类别”表中的“罚款金额”单位为“元/天”。
表3-4图书类别
编号
字段名称
数据结构
主键
允许空
1
类别
文本
是
否
2
标识
文本
否
表3-5借出图书信息表
编号
字段名称
数据结构
主键
允许空
1
id
自动编号
是
否
2
图书编号
文本
否
4
借书者编号
文本
否
6
借书日期
日期/时间
否
7
还书日期
日期/时间
否
8
在馆
文本
否
表3-6罚款统计
编号
字段名称
数据结构
主键
允许空
1
Id
自动编号
是
否
2
读者编号
文本
否
3
图书编号
文本
否
4
借书日期
日期/时间
否
5
还书日期
日期/时间
否
6
超期天数
文本
否
7
罚款金额
文本
否
说明:
表“罚款统计”中的“罚款金额”单位为“元”。
表3-7存放位置
编号
字段名称
数据结构
主键
允许空
1
存放位置
文本
是
否
表3-8管理员
编号
字段名称
数据结构
主键
允许空
1
Id
自动编号
是
否
2
登录名
文本
否
3
登录密码
文本
否
利用MicrosoftVisio2003中的“反向工程”功能,可绘制出各数据表之间的联系图如下图3-6所示:
图3-6各数据表间联系图
3.2系统编码设计
编码就是以数字或字符来代表各种客观实体[4]。
在系统开发过程中,编码设计是一个至关重要的问题。
一个良好的编码系统可以减少对信息进行重复采集、加工、存储的情况,最大限度地消除因对信息的命名、描述、分类不一致所造成的误解和分歧,减少一名多物、一物多名的混乱现象。
编码的主要目的有三点,一是唯一的标识对象,二是便于系统进行分类统计,三是将定性的东西定量化。
信息编码一般应遵循一下原则:
(1)唯一性:
唯一地标识要处理的对象是编制代码的首要任务。
(2)规范性:
编码的规范化是实现信息分类、汇总、统计的基础。
(3)柔性:
即编码应有一定的灵活性,当系统中增加对象、删除对象时,能保持其编码规则不变。
(4)兼容性:
即与相关信息编码体系间的协调性。
(5)简短性:
编码应在满足汇总要求的情况下尽可能短,以便于节省存储空间,减少冗余。
(6)可识别性:
代码应尽可能反映对象的特性,以助记忆和便于了解与使用。
本系统中涉及到编码的主要有两个实体,分别图书和读者。
对图书和读者进行合理的信息编码设计,使其能清晰的标识对象和显示分类,对系统的进一步设计是很有必要的。
本系统采用层次码和顺序码结合的方式来对图书和读者进行编码。
“顺序码”就是顺序的自然数或字母赋予编码对象。
“层次码”是按对象的从属、层次关系为排列顺序的一种编码方式。
编码时将代码分成若干层级并与分类对象的分类层级相对应,代码从左至右,表示层级由高到低。
系统对图书的编码分为3层,第一层两位数,表示图书的分类,分别用“10”表示管理学,用“11”表示计算机,“12”表示科学,“13”表示历史、“14”表示生活,“15”表示数学,“16”表示体育,“17”表示文艺,“18”表示英语,“19”表示娱乐。
这样最多能区分89类图书,这对于一个小型图书馆来说是足够的了。
第二层4位数,表示图书的出版年月,如2007年4月出版的书,编码为0704。
第三层3位数,为在前六位数字范围内依次递增的数字,表示该类别该出版时间图书馆录入的第几本书。
如录入计算机类2007年4月出版的第一本书,其编码就是110704001。
又如,录入英语类2006年12月出版的第3本书,编码为180612003。
在系统实现的过程中,图书的编码用户不需要自己输入,用户只需选择图书类别、出版年月后,系统会自动给出该图书的唯一编码,这样才便于数据库维护实体的完整性。
系统对读者的编码相对简单,分为两层。
第一层1位数,表示类别,系统暂时设置了2种类别,分别用“1”表示高级读者,“2”表示普通读者,这一位也足以分辨9类读者,为以后的系统扩展提供了方便。
第二层3位数,从001到999,顺序表示在第一位限定等级内的每个读者。
如高级读者第一位的编码为1001,普通读者第四位编码为2004。
3.3系统模块设计
3.3.1功能模块设计
根据系统的需求分析,结合业务流程图和数据流程图,系统的功能模块主要包括四个功能模块:
1)基本信息管理模块
包括图书信息管理子模块和读者信息管理子模块。
图书信息管理子模块:
包括新书录入和图书管理两个功能,在图书管理种,系统有对包括书名、条形码、出版社、价格、页数等各种信息进行添加、修改和删除和查询等功能。
读者信息管理子模块:
包括新读者录入和读者管理两个功能。
在读者管理种,系统有对包括读者名,备注,部门,住址等与读者有关的各种信息进行添加、修改、删除和查询等功能。
2)业务管理模块
业务处理子模块,包括借书处理和还书处理。
业务查询子模块,包括对图书和读者基本信息的查询,以及对各种借阅情况的查询,如当天借出图书、当天归还图书、当天借书读者、当天归还读者和过期未还读者等。
3)统计模块
统计单本图书的借阅排名、和按类别统计借阅热点,另外也可统计收取罚款的情况。
4)系统设置模块
包括图书类别设置,图书存放位置设置,读者类别设置,修改管理员登录密码以及退出系统等。
3.3.2系统功能结构图
根据上述分析,可绘出系统功能结构图如下图3-7所示:
图3-7系统功能结构图
4系统实施与测试
4.1系统实施
本系统在WindowsXP环境下开发,利用VisualBasic.NET2003作为开发工具,用Access2003设计后台数据库,通过ADO实现对数据库的操作。
本系统界面友好,功能清晰,使用方便。
下面介绍本系统各个功能模块的实施情况。
1)系统主界面
首先是登录界面,如图4-1所示,凭有效的用户名和密码登录后,可直接进入系统主界面,如图4-2所示。
图4-1系统登录界面
图4-2系统主界面
主界面上提供整个程序的功能菜单和子菜单以及快捷方式,由于小型系统设计的数据不多,本系统直接在主界面上设置两个Tab,用于显示图书信息和读者信息,并提供选择多样的查询功能,若日后数据增多,这块也可单独成一个界面,总之系统扩展是很方便的。
主界面的业务管理菜单包括借书和还书两个功能。
数据管理包括添加图书,添加读者,图书管理和读者管理四个功能。
设置包括图书类别设置,图书存放位置设置,读者类别设置等三个功能。
在ToolBar上创建的快捷方式除可以直接到达上述各功能外,还提供“查询”、“统计”、“修改密码”和“退出”按钮。
其中“查询”按钮的下拉菜单中包括所有图书、所有借出图书、今日借出图书、今日归还图书、今日新进图书、所有读者、今日借书读者、今日还书读者、今日新增读者和过期未还读者等各种查询。
“统计”按钮的下拉框中包括图书排名统计和罚款金额统计两项。
主界面中的用户自定义查询支持模糊查找,如选择按书名进行查找,输入“数据库”,便可查出所有书名中包含“数据库”的图书,图4-3所示为用户进行模糊查询后的结果。
若查询内容为空,系统会提示“请输入查询内容”。
图4-3模糊查询结果
单击主界面上的打印预览按钮,可以打印出当前界面上显示的信息,包括所有图书信息、所有读者信息,以及用户按照自己的要求输入查询条件后的查询结果等。
图4-4为打印所有图书信息的打印预览界面:
图4-4所有图书资料打印预览
2)数据管理模块实施
图书管理窗体,可从主窗体的“基本信息管理管理”菜单下的图书管理子菜单或者快捷方式栏上的“图书管理”按钮直接调用,如图4-5所示,它提供图书定位,图书基本信息的添加、修改、删除和查询等功能。
另外,在主窗体的图书查询页码上双击某本书的编号,也可以直接调用该书的管理窗体。
图4-5图书管理窗体
添加图书窗体,可以从“数据管理”菜单下的添加图书子菜单直接调用,如图4-6所示,它提供添加新图书入库的功能,图书编号由系统根据图书类别和出版时间自动给出。
图4-6添加图书窗体
“读者管理”和“添加新读者”的功能实现与“图书管理”和“添加图书”类似,其界面如图4-7和图4-8所示:
图4-7读者管理窗体
图4-8添加读者窗体
在添加或者修改的过程中,出现各种问题系统都会予以提示。
例如,添加图书时信息没有输入完整系统会提示信息不完整等。
3)业务管理模块的实施
业务管理模块包括借书处理和还书处理。
借书界面如图4-9所示。
借书时,管理员输入读者编号,回车后出现读者基本信息以及借书信息。
然后输入要借书的编号,系统会判断读者状态是否能借书,同时判断所选图书的状态,看是否还有库存能否借出,系统根据判断结果选择借出图书或者给出诸如“读者已经借满”或者“该书全部借出”的提示。
成功借出图书后,系统会提示“借书成功”,并自动更新读者表、图书表、图书借阅表等相关数据表的信息。
图4-9借书窗体