
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对图书信息比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力;如要对很长时间以前的图书进行查找或更改就更加困难了。随着信息和网络技术的蓬勃发展,图书信息管理成为计算机应用的一个分支,她有着手工管理所无法比拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书资料管理的效率。因此,基于以上问题,开发一套能够为用户提供充足的信息和快捷的查询手段的图书资料管理系统,将是非常必要的,也是十分及时的。
图书管理系统是一个集图书借阅管理、信息发布及管理决策为一体的Windows环境下集成化的管理系统。由系统用户管理系统、读者信息管理系统、图书征订管理系统、图书编目管理系统、图书典藏管理系统等子系统构成,功能模块覆盖整个图书管理业务。要做到功能齐全、自动化程度高、用户界面友好,可以在网络环境下运行,也可以单机运行,能适应不同用户的要求。应提供标准交换格式数据的处理功能,能进行数据格式的交换 ,并且内部数据采用定长格式,以提高系统的运行效率,适用图书情报单位图书馆自动化管理。运行采用全Windows 界面,有很好的容错能力。本系统采用结构化的设计方法进行设计,采用快速开发平台Delphi 6进行开发。
图书管理信息系统分为图书信息管理子系统、系统用户管理子系统和读者信息管理子系统,下面是各个子系统的功能描述:
① 图书信息管理子系统:包括图书征订、图书编目、图书典藏和图书流通。图书征订包括图书征订数据的录入、修改、删除等功能;图书编目包括图书编目信息的录入、修改等功能;图书典藏包括新书分配、库室调配等功能;图书流通包括图书借阅、续借,图书返还,图书书目查询等功能。
② 系统用户管理自系统:包括系统用户数据的录入、修改、删除等功能。
③ 读者信息管理自系统:包括读者类别管理,读者个人数据的录入、修改、删除等功能。
各章简述:
第二章从总体上分析了建立图书管理信息系统的系统目标、系统的业务流程以及系统的性能需求。为以后的系统设计提出了指导思想。
第三章根据上一章的系统目标和业务需求设计了系统的功能结构,从软件设计和数据库设计两方面系详细地分析设计了图书管理信息系统。
第四章从各个子系统的运行界面检验了本图书管理信息系统实现的效果并给出了说明,最后给出了其他模块的运行效果
第五章介绍了本图书管理信息系统运行的网络配置和软硬件方面的配置需求。
第六章从本图书管理信息系统的结构及其功能优点做出了简要介绍,对开发本系统做出了简要总结。
最后附录简介了本图书管理信息系统的开发平台和数据库系统。
第二章 系统需求与设计
2.1 系统目标与需求
2.1.1系统目标
本系统的总体目标是为图书借阅人提供方便快捷的服务,以及为图书管理人员提供准确可靠的信息。将微机技术与管理工作有机地结合起来,以实现从手工操作到微机管理的顺利过渡。利用计算机对图书资料进行有效的管理,提高工作效率,提高图书的利用率,充分发挥图书的作用。同时通过网络让读者及时方便地查到所需的图书,管理人员还可以利用强大的管理统计功能,通过统计图书的总量、各种图书的借阅率等及时了解库存、图书馆发展的规模以及读者对各类图书的需求, 掌握今后图书的订购计划及取舍方向。
2.1.2系统功能需求
图书管理涉及图书信息、系统用户信息、读者信息、图书借阅信息等多种数据管理。从管理的角度出发可将图书管理分为三类:图书信息管理、读者数据管理和系统用户管理。
图书信息管理:完成图书征订、编目、典藏、借还和查询操作等方面的管理。
读者数据管理:完成读者类别管理和读者个人数据的录入、修改、删除等方面的管理。
系统用户管理:完成系统管理员用户数据的管理。
2.2 系统业务分析
图书管理系统需要满足图书借阅者、图书馆工作人员和图书管理人员等三方面的需求。图书借阅者的需求是查询图书馆所存的图书、个人借阅况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作;图书管理人员的功能最复杂,包括对工作人员、图书借阅者、图书进行管理和维护。整个图书管理流程以图书信息、借书证信息和借阅信息为主体,由借阅规则进行约束。每当有新书进库时,先按照图书分类规则对新图书进行分类,然后由管理员录入新图书信息,信息入库后管理员仍然可以对该信息进行修改和删除。当有新借书证登记时,先按照读者的职业姓名进行分类,然后由管理员录入新借书证信息,信息录入后管理员仍然可以对该信息进行修改和删除。有了图书信息和借书证信息之后便可以进行借阅操作,成功借书操作的条件是:(1)图书信息数据库中必须有该读者要的图书;(2)读者信息表中必须有该读者借书证的信息;(3)不违背特殊规则。只有同时满足这三个条件后才可以成功进行借书操作。当以后再有读者借书时,就可以根据已有的借阅信息进行比对:(1)读者所借的图书是否在库;(2)该借书证是否有未还图书等条件进行判断,以决定该借阅操作的成功与否。
2.3 系统流程分析
根据系统业务分析与调查画出系统的数据流图,如图2-1所示:
图2-1 系统数据流图
第三章 系统设计
3.1 系统功能结构设计
根据系统功能分析和图书管理系统的特点,经过模块化的分析画出系统功能的模块结构图,如图3-1所示:
图3-1 系统功能的模块结构图
系统各结构模块的功能:
①数据模块窗体的设置:在编写数据库应用程序时,经常要遇到这样的情况,即好多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工作,而且要保证这些数据源的确是相同的也需花一番功夫。数据模块(D a t aModule)是解决这个问题最好的答案。简单说来,数据模块是用来集中管理数据源的一个窗体,该窗体可在被需要的地方随时引入。
②系统用户密码认证窗体的实现:本窗体是为了让工作人员或图书馆管理人员按照用户名和密码进行登录,并且根据用户名检查“权限”字段,以分辨进入图书馆管理人员模块还是进入工作人员模块。
③图书查询功能的实现:在本系统中,任何人都有权限使用查询功能,不做任何。由于实现的查询功能有多种,如按图书编号、图书名称等字段进行“完全体配查找”和“部分体配的模糊查找”,还有按多个条件进行“逻辑与”或是“逻辑或”的多条件查找。
④读者登录功能的实现:这个功能的实现与工作人员和管理人员登录功能实现的方法大致一样,是从用户表中查到借阅证号与密码,看与用户输入的是否一致。如果一致,那么用户就可查看自己的借阅情况并维护自己的部分信息。
⑤读者借阅情况功能的实现:当借阅者正确登录到系统后,此功能将被激活,使用户能查看到自身的借阅情况。在此系统中,信息的显示一般用“List View”来实现。在这里根据读者的不同要求实现借阅情况的查询,如检查所有的借阅情况、某本书的借阅情况,还可以根据已借阅的天数来查询。
⑥读者个人资料维护功能的实现:此功能实现当前借阅者部份资料的修改,但借书证号和身份类别这样的信息不允许修改,这是图书馆管理人员模块的功能。在此界面中点击修改按钮将出现“修改”窗体,点击修改密码按钮将出现groupbox8,进行密码修改。
⑦图书借阅功能的实现:工作人员输入读者的借阅证号和所要借阅的图书的图书编号,然后点击借阅按钮就可进行图书借阅。考虑到实际中可能会出现只知图书名而不知图书编号的情况,在此界面下方加入一个转换功能,可以把图书名称转换成图书编号,再进行图书借阅。
⑧图书归还功能的实现:工作人员根据读者的借书证号和归还的图书编号进行图书的归还工作。并且根据现实中可能会出现的只知图书名不知图书编号的归还情况,所以加入了按书籍名称进行归还的功能。这个功能是图书借阅功能中把图书名称转换成图书编号的一种改进方法,这样就不用如借阅功能中一样要先转换再借阅了。归还完成后,同样会打印出归还报表以便用户检查和确认。
3.2 软件结构与实现技术
Delphi 6与数据库的链接:
① ADO Connection组件
ADO Connection对象用于创建一个到达某个数据源的开放连接。通过此连接,您可以对一个数据库进行访问和操作。如果需要多次访问某个数据库,您应当使用 Connection 对象来建立一个连接。您也可以经由一个 Command 或 Recordset 对象传递一个连接字符串来创建某个连接。不过,此类连接仅仅适合一次具体的简单的查询。如图3-2-1所示 ADO Connection 组件。
图3-2-1 ADO Connection 组件
2ADO Table组件
ADO Table连接数据库中一个数据表并对数据表中的各种状态进行控制。ADO Table组件与数据库建立连接后,再与DataSource组件连接,从而使数据控制组件可以通过Table组件操纵数据库中的数据。如图3-2-2所示 ADO Connection 组件。
图3-2-2 ADO Table 组件
3Data Source 组件
Data Source 是连接数据集组建和数据控制组件的桥梁,本系统中通过与 ADO Table 组件和 DBGrid组件连接,起到 ADO Table 和 DBGrid 的链接纽带的作用。如图 3-2-3 所示 Data Source 组件
图 3-2-3 Data Source 组件
4DBGrid 组件
DBGrid是Delphi中显示数据的主要手段之一,本系统中通过与Data Source 组件连接,显示数据库中的数据表格。如图 3-2-4 所示 DBGrid 组件
图 3-2-4 DBGrid 组件
本设计中所用控件如图3-2-5所示:
图3-2-5 系统控件面板
根据需求,本系统所采用的模式是C/S+B/S模式结构,对于图书馆工作人员和系统管理员,采用C/S模式;对于借阅者我们采用C/S+B/S模式。在C/S结构中采用Delphi6来开发客户端和服务端。因为Delphi在C/S架构方面具有出色的优势,运用Delphi编程是容易上手的而且高效的,这些都来源于Delphi中优秀的VCL。有时,当某个借阅者计算机上没有安装相应的客户端程序,但是又想查询一下自己借书的信息,鉴于这种情况,为了不限于局域网的读者借书情况查询,还把B/S结构加入了本系统。以满足广域网用户的需求,这样就可以打开IE来查询自己的借书信息了,方便了用户,也方便了图书馆工作人员,同时也实现跨平台性。
数据库采用SQL Server 2000,因为数据量比较大,而在Delphi中使用SQL语言非常方便,一般来说,都是通过Tquery或TADOquery组件来使用SQL语言的。设计程序时,在该组件的属性对话框中选择SQL属性,单击带省略号的按钮,就可以打开String List Editor对话框,然后我们就可以在对话框中添加SQL语句。还可以使用Delphi的SQL Builder来自动生成SQL语句,这样可以避免手工编写SQL而可能造成的语法错误。
3.3 数据库结构设计
3.2.1数据字典
根据系统功能模块结构图和图书管理流程,以及图书管理系统的需求,总结出如下的数据字典:
●系统用户数据:图书馆内部人员使用图书管理系统的身份数据,包含的数据项有用户编号、登录口令、权限代码。
●读者类别数据:借阅图书读者的类别数据,包含的数据项有读者类别编号、类别名称、借书数量、借书期限、有效期限。
●读者个人数据:读者个人与图书借阅有关的身份数据,包含的数据项有借阅证编号、读者类别编号、姓名、部门名称、时间。
●图书书目数据:用于图书编目使用的书目数据,包含的数据项有索书号、图书条码、书名、作者、出版社、出版日期、字数、页数、内容简介、关键词。
●新书书目数据:图书编目产生的书目数据,包含的数据项与图书书目数据相同。
●馆藏书目数据:新书书目经典藏之后形成馆藏图书书目数据,包含的数据项有索书号、图书条码、书名、作者、出版社、出版日期、字数、页数、内容简介、关键词、入馆日期、复本数、可借数、库室名。
●图书征订数据:征订图书的相关数据,包含的数据项有书名、作者、出版社、出版日期、数量、征订日期。
●图书借阅数据:包含的数据项有图书条码、借阅证编号、借阅日期、还书日期、图书所在库室编号。
●操作日志数据:包含的数据项有用户名、操作时间、操作动作。
3.2.2数据库结构设计
根据系统需求,分析出实体-关系图,如图3-2所示:
图3-2 实体-关系图
3.2.3数据库表设计
根据系统功能设计的要求以及功能模块的划分,对于本系统的数据库,可以列出以下数据项和数据结构:
①名称:图书征订表(见表3-1)
表名称标识:Subscriptions
数据来源:图书征订管理模块录入
表3-1图书征订表
| 名 称 | 字 段 名 称 | 类 型 | 主 键 | 非 空 |
| 征订编号 | Code | 自动编号 | Yes | Yes |
| 类别 | Class | 文本 | No | Yes |
| 书名 | Name | 文本 | No | No |
| 作者 | Author | 文本 | No | No |
| 出版社 | Concern | 文本 | No | No |
| 出版时间 | Outdate | 日期/时间 | No | No |
| 征定时间 | PurchasingDate | 日期/时间 | No | No |
| 预计入库时间 | ReachTime | 日期/时间 | No | No |
| 单价 | UnitPrice | 数字 | No | No |
| 订购数量 | Quantity | 数字 | No | No |
| 总价 | TotalPrice | 数字 | No | No |
表名称标识:Class
数据来源:图书编目管理模块录入。
表3-2 图书编目表
| 名 称 | 字 段 名 称 | 类 型 | 主 键 | 非 空 |
| 类别编号 | ClassID | 自动编号 | Yes | Yes |
| 类别名称 | ClassName | 文本 | No | Yes |
表名称标识:Book
数据来源:图书典藏管理模块录入。
表3-3 图书典藏表
| 名 称 | 字 段 名 称 | 类 型 | 主 键 | 非 空 |
| 编号 | Code | 自动编号 | Yes | Yes |
| 类别 | Class | 文本 | No | Yes |
| 书名 | Name | 文本 | No | No |
| 作者 | Author | 文本 | No | No |
| 出版社 | Concern | 文本 | No | No |
| 出版时间 | Outdate | 日期/时间 | No | No |
| 价格 | Cost | 数字 | No | No |
| 备注说明 | Memo | 文本 | No | No |
表名称标识:Owner
数据来源:图书流通管理模块录入。
表3-4图书流通表
| 名 称 | 字 段 名 称 | 类 型 | 主 键 | 非 空 |
| 图书编号 | Code | 自动编号 | Yes | Yes |
| 书名 | Name | 文本 | No | No |
| 作者 | Author | 文本 | No | No |
| 出版社 | Concern | 文本 | No | No |
| 读者编号 | Readerid | 文本 | No | Yes |
| 借出日期 | Landdate | 日期/时间 | No | Yes |
表名称标识:Groupb
数据来源:读者管理模块录入。
表3-5 用户类别表
| 名 称 | 字 段 名 称 | 类 型 | 主 键 | 非 空 |
| 用户类型编号 | GroupID | 自动编号 | Yes | Yes |
| 类型描述 | Des | 文本 | No | Yes |
| 最多可借数量 | MaxNum | 文本 | No | Yes |
表名称标识:Reader
数据来源:读者管理模块生成。
表3-6读者信息表
| 名 称 | 字 段 名 称 | 类 型 | 主 键 | 非 空 |
| 读者编号 | ReaderId | 自动编号 | Yes | Yes |
| 读者姓名 | Name | 文本 | No | Yes |
| 性别 | Sex | 文本 | No | Yes |
| 读者类别 | GroupId | 文本 | No | Yes |
| 证件号码 | IdCard | 文本 | No | Yes |
4.1系统用户管理子系统
系统用户管理子系统,如图4-1
图4-1 系统用户管理子系统
系统用户管理子系统中,可实现用户权限的管理,用户账号和密码的管理和用户的注销。图中为用户权限的管理,可对系统管理员的权限进行添加、删除和修改。
4.2读者信息管理子系统
读者信息管理子系统,如图4-2所示
图4-2 读者信息管理子系统
读者信息管理子系统中可进行读者信息的添加、修改和删除的操作,还可进行读者借阅记录的查询。图为读者信息的添加,输入相关信息,点击确定保存到数据库,可实现读者信息的添加。
4.3 图书信息管理子系统
图书信息管理子系统,如图4-3所示
图4-3 图书信息管理子系统
图书信息管理为整个图书管理信息系统的核心,图书信息管理又分为图书征订管理、图书编目管理、图书典藏管理和图书流通管理。图中所示的是图书征订管理,填写相关图书的征订信息,点击确定保存。图书征订管理可对图书的征订实现科学、高效的管理。
4.4 其他模块
4.4.1系统登录界面
系统登录界面,如图4-4-1所示:
图4-4-1系统登录界面
输入帐户、密码登录系统。
4.4.2数据库设置界面
数据库设置界面,如图4-4-2所示:
图4-4-2 数据库设置界面
填写系统所连接的数据库的相关信息后可实现软件与数据库的连接
4.4.3 借阅记录查询
借阅记录查询界面,如图4-4-3所示:
图4-4-3 借阅记录查询界面
针对读者借书迟还问题,本系统设置读者借阅记录查询,输入读者借阅号可查询读者所借图书的相关信息,以提醒读者尽快还书。
第五章 系统运行与使用
5.1 系统运行网络建议
对于图书管理信息系统来说,一般有远端的数据交流,所以网络的支持是少不了的。因此需要有能够支持TCP/IP相关协议的小型局域网支持。
图书管理信息系统的网络配置一般有如下几种类型。
(1)单机模式:即服务器和客户端在同一台计算机上。
(2)百兆模式:应用服务器和管理人员终端的网络接口为百兆交换机。
(3)千兆模式:应用服务器和管理人员终端的网络接口为千兆交换机。实际上没有必要给每个节点都配置千兆网络接口,只需要给服务器端配置千兆接口即可。
在实际的运行操作中,可以根据用户的情况选择不同的网络配置。
网络拓扑结构如图5-1所示:
图5-1 网络拓扑结构
5.2 系统软硬件配置建议
操作系统决定了系统运行的稳定性及安全性,可以根据用户量的大小决定选择不同的操作系统。一般情况下,建议客户端选用Windows2000;Windows XP等,服务器端采用Windows2000 Server;Windows XP等。
客户端硬件的要求不高,可以根据稳定性要求一般做如下选择。
CPU: Intel PentiumⅡ300MHz以上
内存:MB以上
显示:800*600,32位增强色
数据库服务器上必须要安装SQL Server 2000。
5.3 系统安装与部署
数据服务器的安装:
1.安装SQL Server 2000
2.在SQL Server 2000的查询分析器中执行本系统的脚本。
3.建立一个专门用于操作的“图书管理信息系统”数据库账号。
客户端的安装:
1.安装.Net Framework
2.安装图书管理信息系统
3.第一次运行需要设置数据库服务器。
第六章 结束语
本系统实现了图书管理信息系统的基本管理功能,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。本系统结构简单,功能丰富,硬件配置要求低,运行稳定。实现了对读者和对图书的科学化管理,为读者和图书馆管理人员提供一个功能齐全、使用快捷的图书馆管理系统。
附录 开发平台简介
Delphi,是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。它的前身,即是DOS时代盛行一时的“BorlandTurbo Pascal”,最早的版本由美国Borland(宝兰)公司于1995年开发。主创者为Anders Hejlsberg。经过数年的发展,此产品也转移至Embarcadero公司旗下。Delphi是一个集成开发环境(IDE),使用的核心是由传统Pascal语言发展而来的Object Pascal,以图形用户界面为开发环境,透过IDE、VCL工具与编译器,配合连结数据库的功能,构成一个以面向对象程序设计为中心的应用程序开发工具。Delphi 6.0是Borland公司最新推出的一套无论是界面还是功能都近乎完美的应用程序开发工具。与以前的Delphi版本相比,Delphi 6.0使用更简便,效率也更高。
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。
参考文献:
[1] 何仲昆、杨玫、王秀珍.《图书管理系统的设计与实现》.宁波高等专科学校学报.2001.
[2] 宋坤、赵智勇等.《Delphi工程应用与项目实践》.机械工业出版社.2005-1
[3] 宋昆、李严等.《SQL Server数据库开发实例解析》.机械工业出版社.2006-1
[4] 陈佳.《信息系统开发方法教程》.清华大学出版社.2000-12.
[5] 刘启茂.《计算机图书管理系统设计与实例》.北京电子工业出版社.1994
[6] 葛世伦、代逸生.《企业管理信息系统开发的理论和方法》.清华大学出版社.2000.
[7](美)麦克劳德、(美)谢尔.《管理信息系统(第八版)》.北京大学出版社.2002-1
[8](美)肯尼斯C.劳顿等.《管理信息系统》.机械工业出版社.2007-07
[9](美)哈格.《信息时代的管理信息系统》.机械工业出版社. 2004-03
