图书管理系统的分析与设计软件工程课设Word格式文档下载.docx
《图书管理系统的分析与设计软件工程课设Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《图书管理系统的分析与设计软件工程课设Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
文献所用语种在扩大,质量下降等特点,使人们普通感到利用起来十分不容易。
随着现代信息科技的发展,软件产业对提高企事业单位效率起到了很大作用,实现了很多业务上的自动化和半自动化。
而图书管理系统对图书管理事业的高效发展起着决定性的作用,社会迫切需要一款更优化的图书来提高图书馆的自动化程度。
3.项目工作内容
按照需求分析中对软件的要求,使用如下配置编写程序,并编写使用说明书,指导图书管理员的操作。
4.产品
图书管理系统软件和使用说明书
5.程序
程序分为用户管理,图书管理,借阅管理,查询和统计五大模块。
用户管理模块实现对用户的添加,用户的注销,用户的修改,用户的查询,借书证的挂失和解挂失;
图书管理模块实现对图书的入库,图书的出库,图书的信息修改,图书的查询;
借阅管理模块实现借书登记,还书登记,续借登记,遗失登记和交付罚款;
查询和统计分别为方便图书管理员的工作而设计,提供迅速而准确地信息搜索和统计功能。
4.1.2业务流程描述
1.用户管理
为了实现用户的图书借阅功能,需要建立一张用户表来管理用户信息。
只有注册过的用户且用户状态为正常状态才可以进行图书的借阅。
用户表中可以增加借阅用户、可以对注册用户的信息进行修改、可以注销用户、可以查询用户。
用户的信息必须包含用户名称、身份证号、性别、联系方式(手机号码)等重要识别信息。
2.图书管理
图书馆中的书籍是会发生量的变化的,图书管理中需要包含对图书内容的增加、删除、修改和查询功能。
3.借阅管理
图书馆中的书籍被借阅时需要进行登记。
如果书籍归还之后,需要将借阅的状态改成归还。
图书管理员可以按照书记名称、借阅名称、借阅日期等做为查询条件来对借阅信息进行管理。
如图4-1业务流程图如下:
用户
个人信息
扫描条形码
用户添加
图书信息库
用户信息修改
用户注销
用户查询
挂失与解除
用户信息库
查询结果
书商
图书清单
管理员
挂失信息
图书入库
删除图书
修改图书
查询图书
批注架号
借书处理
借阅记录库
图4-1图书管理系统业务流程图
4.2需求分析
4.2.1总体目标
本系统的服务对象为图书馆流通部门的工作人员,用户界面友好,不需计算机专业的专门训练即可使用本系统。
软件主要分为用户管理,图书管理,借阅管理,统计与查询五大模块。
用户管理包括用户的添加删除,修改,查询以及借书证的挂失与解挂。
图书管理包括对图书的入库,出库,信息修改和查询。
借阅管理则主要包括借书,还书,续借,丢失图书处理及违章后赔偿处理。
4.2.2具体目标
主要包括以下几点:
1.用户借书,管理员将用户信息,图书信息输入系统,系统则根据这些信息生成借阅单,存入借阅表。
2.用户还书,管理员将图书信息输入系统。
若未超期,系统根据图书信息将相应借阅单标记为已还和完结,若已超期,将相应借阅单标记为已还,管理员要求罚款。
用户交钱后,借阅单标记为完结,系统将超期信息记录到超期表。
3.用户要续借某书,管理员将书号和用户名输入系统,若相应借阅单允许续借,标记为已续借,否则,不予续借。
4.用户将书丢失,管理员将丢失信息输入系统,系统执行丢失操作,并要求用户赔偿。
5.管理员对图书进行录入,删除,修改,查询操作,系统根据信息对图书表进行改变。
6.管理员对用户进行添加,删除,修改,查询操作,系统根据信息对用户表进行改变。
7.系统提供借出记录查询,未还记录查询,超期记录查询,罚款记录查询,丢失记录查询。
8.系统提供图书统计,用户统计,用户借阅统计,罚款统计来方便管理员的管理工作。
4.2.3系统数据建模
E-R图也称为实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
E-R图如下所示:
n
用户类型
属于
违规
罚款记录
借阅
借阅记录
图书
1
m
图4-2总体E-R图
借书证号
联系方式
身份证号
性别
姓名
职业
用户状态
图4-3用户分E-R图
最长续期
最长借期
最大借阅册数
类型
图4-4用户类型分E-R图
书名
作者
图书类型
入库时间
是否遗失
架号
书号
出版社
ISBN
定价
是否在库
图4-5图书分E-R图
罚单号
罚款金额
是否交钱
借阅号
罚款日期
借出证号
罚款原因
图4-6罚款记录分E-R图
借阅证号
是否完结
是否续借
应还日期
归还日期
借出日期
图4-7借阅记录分E-R图
4.2.4系统功能建模
功能建模的思想是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。
功能模型用数据流图来描述。
数据流图如下所示:
罚款统计F19
借阅统计F18
用户统计F17
图书统计F16
丢失记录F15
罚款记录F14
短期记录F13
未还记录F12
借出记录F11
收据F10
某图书信息F9
某用户信息F8
查询请求F7
统计请求F6
发书清单F6
图书信息F4
借书证信息F3
挂失信息F2
个人信息F1
图书管理系统
P
图4-80层数据流图
F7
F2
F1
F8
P1
用户管理
D1
记录
D2
用户类型库
图4-9P11层数据流图
图书表
F3
F9
P2
图书管理
D3
图4-10P21层数据流图
D5
D1记录
F10
F4
借阅管理
D4
P3
罚单库
F14
F15
F13
F12
F11
P4
查询
D2用户类型库
D4借阅记录库
D3图书表
D5罚单库
图4-11P31层数据流图
图4-12P41层数据流图
P5
统计
F19
F18
F17
F16
图4-13P51层数据流图
P1.3
注销
P1.4
P1.2
修改
P1.5
挂失
处理
P1.1
添加
图4-14P12层数据流图
F6
P2.1
P2.3
删除
P2.4
P2.2
P2.5
批注
图4-15P22层数据流图
P3.5
状态
恢复
P3.1
借书
登记
P3.3
还书
P3.4
续借
图4-16P32层数据流图
4.2.5数据字典
数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。
数据本身将存放在物理数据库中,由数据库管理系统管理。
数据字典有助于这些数据的进一步管理和控制,为设计实现和运行阶段控制有关数据提供依据。
1.数据流分量:
数据流图中数据项的数据结构中的数据项说明,数据项是不可再分的数据单位。
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系}。
2.数据流数据流图中流线的说明。
数据流是数据结构在系统内存。
对数据流的描述通常包括如下内容:
{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}
3.数据存储数据的存储特征说明。
数据存储是数据结构停留或保存的地方,来源和去向之一。
可以是手工文档或手工凭单,也可以是计算及文档。
一般而言,应包括如下内容:
{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。
数据字典如下所示:
数据元素
系统名称:
条目名:
借书证号(别称:
F4)
属于数据流:
F5
属于数据存储:
D1,D4
定义:
职工编号=10{数字}10
数据元素:
数字=[0|1|2|3|4|5|6|7|8|9]
简要说明:
唯一标示了用户
修改记录:
编写:
日期:
审核:
图4-17数据元素条目数据字典卡片
数据流
图书表(别名:
D3)
来源:
F3,F7
去向:
数据结构:
图书表=书号+书名+作者+出版社+ISBN号+定价+是否在库+是否丢失+入库时间+图书分类+架号
记录了所有图书的信息
图4-18数据流条目数据字典卡片
数据存储
名称:
用户表(编号:
D1)
描述:
对所有注册用户信息的记录
相关处理:
有P1写入,读取数据的输出有F1,F2
用户表=借书证号+姓名+身份证号+联系方式+用户类型+用户状态+职业
安全要求:
数据项
数据类型
长度
是否为空
描述
JSZH
Char
10
XM
Int
5
XB
4
SFZH
18
LXFS
11
YHLX
YHZT
ZY
20
图4-19数据存储条目数据字典卡片
4.3总体设计
4.3.1总体设计HIPO技术
1.系统层次图:
系统层次图如图4-20所示,主要分为三个层次。
用
户
注
销
修
改
添
加
图
书
删
除
查
询
挂
失
入
库
续
借
还
登
记
罚
款
录
出
遗
超
期
未
统
计
阅
图4-20系统层次图
2.系统IPO图,如图4-21到图4-24所示:
IPO图
系统:
图书管理系统作者:
XXX
模块:
用户管理编号:
被调用:
系统主模块
调用:
用户挂失,用户注销,用户添加,用户修改,用户查询
输入:
F1、F2、F7
输出:
F8、D1、D2
处理:
负责对用户信息的管理,包括添加、修改、注销、挂失和查询
备注:
图4-21用户管理模块IPO图
图书管理编号:
图书添加,图书修改,图书删除,图书查询
F3、F7
F9、D3
负责对图书信息的管理,包括添加、修改、删除和查询
图4-22图书管理模块IPO图
查询编号:
借出查询,未还查询,超期查询,罚款查询,丢失查询
D1、D2、D3、D4、D5
F11、F12、F13、F14、F15
责对借阅的管理,包括借书登记,还书登记,图书续借,图书丢失
图`4-23查询模块IPO图
统计编号:
图书统计,读者统计,读者借阅统计,罚款统计
F16、F17、F18、F19
负责对读者和图书的统计,包括图书统计,读者统计,读者借阅统计,罚款统计
图4-24统计模块IPO图
4.3.2数据库设计
用户表(借书证号,姓名,身份证号,联系方式,用户类型,用户状态,职业)
图书表(书号,书名,作者,出版社,ISBN号,定价,是否在库,是否遗失,入库时间,图书分类,架号)
借阅表(借阅号,借书证号,书号,借出日期,归还日期)
罚单表(罚单号,罚款金额,罚款原因,借阅号,是否交钱)
个人信息表(姓名,性别,身份证号,联系方式,职业)
挂失信息表(姓名,性别,身份证号,联系方式,职业)
借书证信息(借书证号)
借书证信息(书号)
如以下表4-1至表4-5所示:
表4-1用户表
列名
允许空
文字描述
jszh
char
xm
xb
int
sfzh
lxfs
yhlx
yhzt
zy
Y
表4-2用户类型表
zcjq
zdjycs
最大借阅册书
zcxq
表4-3图书表
sh
sm
50
zz
cbs
30
isbn
ISBN号
dj
double
8
sfys
bool
是否丢失
rksj
date
tsfl
图书分类
表4-4借阅表
jyh
jcrq
ghrq
yhrq
sfwj
表4-5罚单表
fdh
fkje
fkyy
fkrq
4.3详细设计
4.3.1用户管理模块详细设计
1.模块定义
负责对用户信息的管理,包括添加,修改,注销,挂失和查询,并根据这些信息来维护用户表和用户类型表。
2.输入项目
F1:
个人信息表F2:
挂失信息表F7:
查询请求
3.输出项目
F8:
某用户信息D1:
用户表D2:
用户类型表
4.程序过程设计
用户删除
用户修改
用户名
个人信息表
挂失信息表
用户信息表
添加到用户表
修改用户状态
删除用户
查询用户信息
开始
操作判断
输出用户信息
结束
图4-25用户管理模块流程图
5.测试要点
(1)边界测试,测试用户输入框中的数值的最大数和最小数,以及为空时的情况。
(2)非法测试,例如在输入数字的地方输入字母。
(3)跟踪测试,跟踪一条数据的流程,保证数据的正确性。
(4)在开始测试时应保证数据的正确性,然后在从系统中找出各种BUG。
(5)接口测试,程序往往在接口的地方很容易发生错误,此模块测试勿掉以轻心。
4.3.2图书管理模块详细设计
负责对图书信息的管理,包括添加,修改,删除和查询,并根据信息来维护图书表。
F3:
发书清单F7:
F9:
某图书信息D3:
图书查询
图书删除
图书修改
图书添加
发书清单表
图书新信息表
图书号
添加到图书表表
删除图书户
查询图书信息
输出图书信息
图4-26图书管理模块系统流程图
(3)限制输入框的数据格式。
4.3.3借阅管理模块详细设计
负责对借阅的管理,包括借书登记,还书登记,图书续借,图书丢失,保持借阅表的最新状态
F4:
借书证条形码信息F5:
图书条形码信息
F10:
收据D1:
用户表D4:
借阅表D5:
罚单表
丢失
N
添加到图书表
修改应还日期
查询丢失书信息
是否超期期
记录超期信息并罚款
修改图书状态
并标志丢失
图4-27借阅管理模块系统流程图
(1)代码重用测试,在开发过程中有些模块功能几乎相同,程序员在重用代码时可能忘记在原有代码上修改或修改不全面,而造成的错误。
(2)突发事件测试,服务器上可能发生意外情况的测试。
(3)外界环境测试,有些系统在开发时依赖于另外一个系统,当另外一个系统发生错误时,这个系统所受到的影响的情况。
4.3.4查询模块详细设计
负责对借阅记录的查询,包括借出查询,未还查询,超期查询,罚款查询,丢失查询。
D1:
用户类型表D3:
图书表D4:
F11:
借出记录查询结果F12:
未还记录查询结果F13:
超期记录查询结果F14:
罚款记录查询结果F15:
丢失记录查询结果
搜索借书记录表
搜索未还记录
搜索超期记录改
搜索罚款记录
搜索遗失记录
显示搜索结果
借出信息表
超期信息表
罚款信息
遗失信息名
未还信息表
图4-28查询模块系统流程图
(1)错字、错词测试,如果在系统中有用词不当的地方,我想这是不应该的。
(2)系统兼容测试,例如有些程序在IE6能运行正常,到IE5下不能运行。
有些程序在WIN2000下能运行,而到WIN98却不能运行。
像一些很特别的用户去使用系统,你很有可能发现BUG。
(3)用户的易用性测试,往往用户的需求是不断的变化的,而其中一部份变化的原因,是由用户操作上不方便引起的。
4.3.5统计模块详细设计
负责对用户和图书的统计,包括图书统计,用户统计,用户借阅统计,罚款统计。
F16:
图书统计结果F17:
用户统计结果F18:
用户借阅统计结果F19:
罚款统计结果
罚款统计
借阅统计
用户统计
图书统计
统计图书
统计用户
统计借阅
统计罚款
图4-29统计模块系统流程图
(1)缺陷验证:
在程序员刚修复Bug之后的地方,一定要在次验证、测试,往往程序员只修复报告出来的缺陷而不去考虑别的功能在修改时可能会重新造成错误。
(2)做好BUG管理工作,认真做好测试记录,在做完一天的测试记录之后,第二天再根据第一天的测试记录重复