小型图书管理系统
指导老师:朱瑞英
开发小组成员:李京林、董富国、杜炜
问题定义
二十一世纪是信息高度交流与发展的时代,计算机系统则在信息时代扮演着极为重要的角色,随着计算机的不断发展,计算机已渗透到各个领域,图书馆也不例外,图书馆的计算机化已不容迟缓。
图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。因此提出图书管理系统的概念成为必要。
本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等.本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块.读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护.书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护.借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护.管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护.考虑到数据库的设计难度,我们用文件实现其功能。可见,本系统解决的问题是为初学系统开发者提供一个参考。
可行性分析
1. 引言
1.1 编写目的
随着科学技术的高速发展,我们已步入数字化、网络化的时代。图书馆是学校的文献信息中心,是为全校教学和科学研究服务的学术性机构,是学校信息化的重要基地。图书馆的工作是学校教学和科学研究工作的重要组成部分,是全校师生学习和研究的重要场所。为了更好地适应这种网络数字化信息的环境,一种成功的跟踪最新技术,充分利用软硬件资源,扎根于准、新、全数字资源的"图书馆管理信息系统"已孕育而生。
另外,由于图书馆陈旧的管理手段给读者和图书馆管理员带来的很多操作上的不方便,同时为了提高工作效率、服务质量和管理水平,并使图书馆管理人员从繁琐的工作中解脱出来,从而使我们下定决心开发该系统。
1.2 项目背景
建议开发软件名称:小型图书管理系统
1.3 定义
该小型图书馆管理系统是单机系统,建立以文件操作为目的信息平台,对资源进行科学的加工整序和管理维护,为小型系统开发者提供可参考的案例,一定程度上提高管理图书的效率而设计的系统。
1.4 参考资料
《软件工程导论》 张海藩 清华大学出版社 2008年第五版
《信息系统开发方法》 姜旭平 清华大学出版社 1997年第一版
《软件工程》 齐治昌 谭庆平 宁洪 高等教育出版社 1997年第一版
2.可行性研究的前提
2.1 要求
功能:对图书馆的图书信息和用户(读者,借阅者等)信息进行有效的管理;
性能:数据的录入;图书目录检索;用户信息查询;图书信息查询;
输出:用户信息;图书信息;
输入:用户名称;图书编码;
安全保密:馆中所有未借出的书籍能够供用户随时查阅;
用户信息只能被系统管理员查阅,修改;
2.2 目标
以最低的成本,在最短的期限内开发出具有管理图书和用户信息功能的图书馆管理信息系统。(包括:人力与设备费用的节省;处理速度的提高;人员工作效率的提高)
2.3 条件、假定和限制
a: 建议该系统运行的最短寿命为1年;
b: 进行该系统方案选择比较的期限为2个月;
c: 建议该系统软件投入使用的最迟时间为2009年1月;
d: 该系统要受资金、寿命、社会等系列因素的制约和限制。
2.4 决定可行性的因素
主要因素有经济条件、技术条件、团队合作精神等。
3. 对现有系统的分析
3. 1 处理流程和数据流程
获得当前系统的处理流程,在此首先假设当前系统是手工处理系统。手工处理流程大致是这样的。读者读者将要借的书和借阅证交给工作人员,工作人员将每本书附带的描述书信息的卡和读者借阅证一起放在一个小格栏,并在借阅证和每本书上贴的借阅信息。这样借书过程就完成了。还书时读者将要还的图书交给工作人员,工作人员图书信息找到相应的书卡和借阅证,并填写相应的还书信息。
建立目标系统的逻辑模型。分析目标系统与当前系统逻辑上的差别,明确目标系统到底要“做什么”,从而从当前系统的逻辑模型导出目标系统的逻辑模型。在对上述流程进行分析后,我们对新的图书处理流程进行整理,图书馆借还书过程如下:
借书过程:读者从架上选到所需图书后,将图书和借书卡交管理人员,管理人员用码阅读器将图书和借书卡上的读者条码2码读入处理系统。系统根据读者条码从读者文件和借阅文件中找到相应记录;根据图书上的条码从图书文件中找到相应记录,读者如果有如下列情况之一将不予办理借书手续。
①读者所借阅图书已超过该读者容许的最多借书数目。
②该读者记录中有止借标志。
③该读者还有已超过归还日期而仍未归还的图书。
④该图书暂停外借。
若读者符合所有借书条件时,予以借出。系统在借阅文件中增加一条记录,记入读者码、图书条码、借阅日期等内容.
还书过程:还书时读者只要将书交给管理人员,管理员将书上的图书条码读入系统,系统从借阅文件上找到相应记录,填上还书日期后写入借阅历史文件,并从借阅文件上删去相应记录,同时系统对借还书日期进行计算并判断是否超期,若不超期则结束过程,若超期则计算
借书过程数据流图如下图所示.
还书过程数据流图如下图所示.
为了对图书管理系统做完整的描述,还需要对上面得到的逻辑模型做一些补充.首先采用图形的方式描述图书管理系统的用户界面,这样做的目的是保证整个系统的用户界面的一致性,同时也有国助于后续的开发人员更好地理解系统需要实现的功能.其次,说明图书管理系统的一些特殊性能要求.如借书、还书服务花费的时间一次不得大于5分钟等.
前面着重对借还书流程进行了说细的阐述,以说明如何利用数据流图这一工具进行软件的分析,下面介绍图书管理系统的总体功能要求.简单的图书管理系统主要包括下面的功能:
>借书处理:完成读者借书这一业务流程.
>还书处理:完成读者还书这一业务流程.
>罚款处理:解决读者借书超期的罚款处理.
>新书上架:输入新书资料.
>旧书淘汰:删除图书资料.
>读者查询:根据读者号,查询读者借阅情况.
4.可行性研究结论
4.1技术可行性
我们小组可以完成此次开发工作。开发过程中会出许多问题,有我们预想之中的,也有一些没有我们预想到,但,我们有信心克服一切困难。该学期,我们小组各成员已经学习了SQL SERVER,对网络技术和操作系统也有系统的了解,有些成员熟悉计算机原理,能解决常见的硬件故障和硬件选择。目前,图书管理信息系统已得到了大量应用,有许多可供参考的成功系统。而且,网上有许多关于VISUAL C++编程的资料和SQL SERVER方面的资料。 从技术角度考虑,此信息系统开发可行。
4.2.经济可行性
目标系统开发需求比较低,加上具有成熟的软硬件环境,所以在软硬件的支出上十分有限。而且,目标系统并不是十分的复杂,开发的周期较短,人员经济支出有限。当系统开发完实际运行后,将很大程度上提高计算机的功能,在为使用者带来便利的同时,也为系统的进一步推广创造了条件。这带来的经济回报将远超过支出,并且最重要的一点是该软件的开发可以给我们对系统的开发有个全面的认识。从经济角度考虑,此信息系统开发可行。
4.3法律上可行
整个系统由于是自行开发,自行使用,所以系统本身不存在法律上的版权争议。在服务器软件方面,应该使用正版软件,因为整个系统尽管是开发给内部使用,但它毕竟很多部分还是要依靠Internet的,一旦服务器连接到Internet上,它的操作系统可能会被Microsoft跟踪,如果不是正版软件,将不得不面临民事诉讼的风险。
需求分析报告
一、 概述
1. 使用范围
在学校图书馆内部的现有局域网这个网络环境下,信息由各用户在规定的权限下在各自的工作站上录入,信息上网后各用户可查询,调用,达到信息共享。
2. 背景
图书馆在正常运营中面对大量书籍、读者信息以及两者间相互联系产生的借书信息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。
3. 功能分析
(1) 读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注。
(2) 书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。
(3) 借书信息制定、输入、修改、查询,包括书籍编号、读者编号、借书日期、借书期限、备注。
(4) 还书信息制定、输入、修改、查询,包括书籍编号、读者编号、还书日期、还书期限、备注。
(5) 有条件、多条件查询各种信息.
二、 业务流程
1. 图书管理信息系统数据流图如下:
2. DFD图
. 数据的完整性、准确性及安全性
l 拥有用户、密码模块管理用户权限。
l 可按根据各种条件进行查询。
l 相应的数据项检测功能。
五.数据结构设计
针对一般图书馆管理信息系统的需求,通过对图书馆管理工作过程的内容和数据流流程分析,设计如下面所示的数据项和数据结构:
● 读者种类信息包括:种类编号、种类名称、借书数量、借书期限、有效期限、备注等。
● 读者信息包括:读者编号、读者姓名、读者种类、读者种类、读者性别、读者班级或科室、办证日期。
● 书籍类别信息包括:类别编号、关键词、备注。
● 书籍信息包括:书籍编号、类别编号、书籍名称、作者姓名、出版社、关键词、登记日期、备注。
六、用户平台要求
软件运行在企业内部局域网与广域网组成的网络环境中,各个仓库自己拥有独立的局域网,仓库之间通过广域网连接起来。
总体设计
1.1 系统功能模块设计
系统开发的总体任务是实现各种信息的系统化、规范化和自动化。
1、系统功能分析
系统功能分析是在系统开发的总体任务的基础上完成。图书馆管理信息系统需要完成功能主要有:
● 有关读者种类标准的制定、种类住处的输入,包括种类编号、种类名称、借书数量、借书期限、有效期限、备注等。
● 读者种类信息的修改、查询等
● 读者基本信息的输入,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。
● 读者基本信息的查询、修改,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等等
● 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称、关键词、备注信息等。
● 书籍信息的输入,包括书籍编号、书籍名称、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页书、关键词、登记日期、备注信息等。
● 借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。
● 借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。
● 还书信息的输入,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。
还书信息的查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍姓名、借书日期、还书日期、备注信息等。
2、系统功能模块设计
对上述各功能进行集中、分块,按照结构化程序设计的要求,得到如图4-1所示的系统功能模块图。
1.2 系统数据库模块设计
1、 数据库设计
设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:
● 数据库需要分析。
● 数据库概念结构设计。
● 数据库逻辑结构设计。
数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后而后具体设计打下基础。
仔细分析调查有关图书馆管理信息需求的基础上,将得到如图4-2所示的本系统所处理的数据流程。
针对一般图书馆管理信息系统的需求,通过对图书馆管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
● 读者种类信息,包括的数据项有:种类编号、种类名称、借书数量、借书期限、有效期限、备注等。
● 读者信息,包括的数据项有:读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。
● 书籍类别信息,包括的数据项有:类别编号、类别名称、关键词、备注信息等。
● 书籍信息,包括的数据项有:书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注信息等。
● 借阅信息,包括的数据项有:借阅信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。
有了上面的数据结构、数据项和数据流程,我们就能进行下而后数据库设计。
2、数据库概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
根据上而后设计规划出的实体有:读者类别信息实体、读者信息实体、书籍类别信息实体、书籍信息实体、借阅信息实体。各个实体具体的描述E-R图如下。
读者类别信息实体E-R图如图4-3所示。
3、数据库逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图,转换为与选用的具体机器上的DBMS产品所支持的数据模型相符合的逻辑结构。
E-R图向关系模型转换的结果如下所示:
读者类别表(种类编号、种类名称、借书数量、借书期限、有效期限、备注)。
读者信息表(读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注)。
书籍类别表(类别编号、类别名称、关键词、备注)。
书籍信息表(书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注)。
借阅信息表(借阅信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注)。
4、数据库物理结构设计
现在需要将上面的数据库概念结构转化为SQL SERVER 2000 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
图书馆管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。
详细设计
1.功能说明
系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有5部分:
1.1图书基本情况的录入,修改,删除等基本操作。
1.书籍类别标准的制定,类别信息的输入,包括类别编号,类别名称,关键词,备注信息等。
2.书籍类别信息的查询,修改,包括类别编号,类别名称,关键词,备注信息等。
3.书籍信息的输入,包括书籍编号,书籍名称,书籍类别,作者名称,出版社名称,出版日期,书籍页数,关键词,登记日期,备注信息等。
1.2办理借书卡模块。
1.新生办理借书证。
2.丢失办理借书证。
1.3实现借书功能。
1.借书信息的输入,包括借书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。
2.借书信息的查询,修改,包括借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。
1.4实现还书功能。
1.还书信息的输入,包括还书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息等。
2.还书信息的查询和修改,包括还书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息等。
E能方便的对图书进行查询。对超期的情况能自动给出提示信息。
2.性能要求
正确性,可靠性,效率,完整性,易使用性,可维护性,可测试行,复用性,安全保密性,可理解性,可移植性,互联性。
业务流程图(如下:)
1. 数据库需求分析
用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据,数据结构处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
● 读者种类信息,
属性:种类编号,种类名称,借书数量,借书期限,有效期限,备注。
主键:种类编号
● 读者信息,
属性:读者编号,读者姓名,读者种类,读者性别,工作单位,家庭住址,电话号码,电子邮件地址,办证日期,备注。
主键:读者编号
● 书籍类别信息,
属性:类别编号,类别名称,关键词,备注信息。
主键:类别编号
● 书籍信息,
属性:书籍编号,书籍名称,书籍类别,作者姓名,出版社名称,出版日期,书籍页数,关键词,登记日期,备注信息。
主键:书籍编号
● 借阅信息,
属性:借阅信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息。
主键:借阅信息编号
一、通过对系统的调查和可行性分析,画出系统的数据流程图:
数据字典(Data Dictionary)。
1、数据流的DD表举例如下:
数 据 流 |
系统名:图书管理 编号: 条目名:读者信息 别名: |
来源:读者登记 去处:D3 |
数据流结构: 读者登记={读者编号+读者姓名+读者性别+工作单位+……} |
简要说明: |
修改记录: 编写 日期 审核 日期 |
2、数据元素的DD表举例如下:
数 据 元 素 |
系统名:图书管理 编号 条目名:读者编号 别名 |
属于数据流:读者登记 存储处:D3读者信息表
|
数据元素值: 代码类型:字符 宽 度:10 取值范围及含义:
|
简要说明:每一个读者都有一个唯一的编号 |
修改记录: 编写 日期 审核 日期 |
3、数据存储的DD表举例如下:
数 据 存 储 |
系统名:图书管理 编号:D4 条目名:书籍信息表 别名: |
存储组织: 记录数:约3000 主关键字:书籍编号 数据量:约500KB 辅关键字: 按编号主索引 |
记录组成: 字段名称:书籍编号 书籍名称 … 书籍作者 … 关键词 ... 宽度: 14 32 … 8 ... 10 … |
简要说明: |
修改记录: 编写: 日期: 审核: 日期: |
4、数据加工的DD表举例如下:
数 据 加 工 |
系统名:图书管理 编号: 条目名:借阅信息录入 别名: |
输 入:借阅编号、读者编号… 输出:借阅信息表基本属性 |
处理逻辑:借阅信息存储在dabase数据库的borrowinfo表中 |
简要说明:输入某读者的图书借阅情况记录 |
修改记录: 编写: 日期: 审核: 日期: |
2.数据库概念结构设计
本程序包括的实体有:读者类别信息实体,读者信息实体,书籍类别信息实体,书籍信息实体,借阅信息实体。
3.数据库逻辑结构设计
⑴图书基本信息表
⑵借书卡信息表(读者信息表)
⑶借阅信息表
⑷图书分类信息表
⑸读者分类信息表
⑹用户信息表
程序模块示意图如下:(本图仅供参考)