图书管理系统课程设计.docx
- 文档编号:7866887
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:28
- 大小:787.56KB
图书管理系统课程设计.docx
《图书管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《图书管理系统课程设计.docx(28页珍藏版)》请在冰豆网上搜索。
图书管理系统课程设计
管理信息系统
课程设计报告
设计题目:
图书管理系统设计开发
专业金融
班级金融041
学号3040521002
学生丁明荟
指导教师王小江
时间2007-07-2——2007-07-6
地点工商管理学院实验室机房
2007年春季学期
图书馆管理信息系统开发
一、绪论
当今世界正处于科技高速发展,信息量剧增的时代,伴随科学技术的不断发展进步,人们对图书的需求越来越大,馆存图书也不断增加,各系统对各门类图书的需求也越来越具体。
但目前各图书馆对图书的管理很多停留在书卡和书目的一般查询上,花费了大量资金购置的图书和计算机软件,其关系只停留在图书和目录,主要原因在于人们所进行的计算机管理只简单的将书目录入软件中,再根据目录查找图书这一循环体中。
目前大部分图书馆的图书管理都处于一种馆藏图书量大,各书馆所存图书相类似,专业性图书所占比例较小,管理方法简单,图书利用率低,管理成本又高。
这就要求我们在信息技术高速发展的今天,图书馆管理运用网络技术,通过信息系统的开发,在图书馆之间互通有无,有利于提高图书的利用率。
从与信息有关的学科来看,信息管理处于信息学技术,信息管理,信息社会学之间,它以计算机技术和信息技术为基础融合成管理学、信息学,发展成了一门学科—管理信息系统。
本系统在VF环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。
通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。
文章详细介绍了图书管理信息系统的系统分析部分,包括可行性分析、组织机构分析、管理职能分析、业务流程分析、数据流程分析、数据字典、处理描述等等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了几个主要的程序框图,并附带了一些主要的窗口和程序。
本系统界面友好,操作简单,比较实用。
二、系统规划
1.系统功能设计
“图书馆借阅管理信息系统”的主要功能有:
读者登陆、图书借阅、图书采编、读者信息管理和系统维护。
系统功能如下图1:
图1.1系统结构图
各子系统功能如下所述:
读者登陆
读者访问系统时系统将检验读者的名字和密码,经过注册的读者允许进入系统。
图书借阅系统
读者查找到所需图书后,在图书保留期内到图书馆办理借阅手续。
图书借阅系统处理图书借阅、还书、续借等手续。
图书采编体统
图书采购入库,经过编目等处理后,将其目录信息存入数据库,提供给读者检索适用。
目录信息包括图书编号、图书类别、书名、作者、出版社、定价、出版日期和数量等。
系统维护模块
系统维护模块主要为图书馆管理人员提供图书统计信息和读者统计信息,以便于管理人员从宏观上掌握图书馆运行的总体情况。
三、系统分析
1.可行性分析
可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。
信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。
通过长时间的观察与实践,我认为图书馆管理系统的可行性分析如下:
(1)经济可行性分析
作为图书馆这样的商业性质较小的场所,其经济成分比重相对较少,主要是支出的费用:
其中包括设备购置费、软件开发费用、管理和维护费、人员工资和培训费等。
由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。
建立信息中心,可将来自各方面的信息集中管理,提高图书管理的计划性和预见性,快速地反馈市场信息。
(2)技术可行性分析
技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。
图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。
这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。
计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。
(3)社会可行性分析
社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。
在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。
它对图书馆带来的影响可以看到:
对传统管理理念的冲击,可能引起管理层的变动和人员的调整。
对图书馆工作人员的要求提高,使图书馆在一定的可能下进行机构精简,迫使工作人员继续学习新知识,拓宽图书馆在市场环境下的生存空间。
对图书馆与读者之间业务方式的转变和扩充。
2.组织结构调查
为了对系统有一个全貌性的了解,首先要对系统的内部人员结构、组织及用户情况有所了解。
图书馆系统的组织结构图如下:
3.业务调查
系统的业务是系统要达到的业务目标,业务流程分析是系统分析中的基础环节。
图书馆里信息系统得业务流程如图所示:
图书管理员编制图书采购计划,由采购员负责新书的采购工作。
采购图书入库后,交由采编室编目,粘贴标签,产生图书目录。
图书交由图书借阅室上架,供读者借阅。
4.数据流程调查
(1)数据流程图是全面描述信息系统逻辑模型的工具,它抽象概括地把信息系统中各种业务处理过程联系起来。
以下是图书馆管理信息系统的数据流程图。
零层数据流程图
1层数据流程图
2层数据流程图
a图书编目系统数据流程图
b图书借阅系统数据流程图
c图书征订系统数据流程图
d系统维护数据流程图
(2)数据流分析
数据流编号:
D01
数据流名称:
图书编目信息
简述:
图书编目信息
数据流来源:
图书购买后,由图书馆采编人员编码整理后,输入计算机.
数据流去向:
图书表.图书采编信息将采编数据存入数据库
数据流组成:
书名+索书号+作者+出版社+内容简介+关键词+条码+字数+页数+出版日期
数据流量:
30本/日
高峰流量:
100本/日
数据流编号:
D02
数据流名称:
图书借阅单
简述:
图书借阅单
数据流来源:
用户填写图书借阅单交给图书馆管理人员,图书馆管理人员审核后,输入计算机.
数据流去向:
P2-11检查读者身份
数据流组成:
借书日期+索书号+读者账号+库室
数据流量:
500本/日
高峰流量:
1500本/日
数据流编号:
D03
数据流名称:
填写借阅记录
简述:
填入借阅表的借书记录
数据流来源:
P2-13检查合格的借阅图书信息录入到借阅表中
数据流去向:
借阅表
数据流组成:
借书日期+索书号+读者账号+库室+还书日期
数据流量:
500人/日
高峰流量:
1500人/日
数据流编号:
D04
数据流名称:
借阅图书数量
简述:
修改图书库中图书数量
数据流来源:
P2-13修改图书典藏模块中图书数量
数据流去向:
图书表
数据流组成:
索书号+借阅数量
数据流量:
500本/日
高峰流量:
1500本/日
数据流编号:
D05
数据流名称:
图书征订信息
简述:
读者征订图书时写的信息
数据流来源:
用户填写图书征订信息,要求征订图书
数据流去向:
P4-11预定信息输入
数据流组成:
作者+出版社+出版日期+数量+征订日期
数据流量:
20次/日
高峰流量:
50次/日
数据流编号:
D06
数据流名称:
填写图书征订信息
简述:
征订图书填写借阅表
数据流来源:
用户填写图书征订信息,要求征订图书
数据流去向:
借阅表
数据流组成:
作者+出版社+出版日期+数量+征订日期
数据流量:
20次/日
高峰流量:
50次/日
数据流编号:
D07
数据流名称:
还书记录
简述:
还书记录
数据流来源:
图书管理人员
数据流去向:
P2-14图书归还处理
数据流组成:
索书号+借阅数量
数据流量:
100笔/日
高峰流量:
200笔/日
数据流编号:
D08
数据流名称:
填写归还记录
简述:
在图书借阅模块中填写归还记录
数据流来源:
P2-14图书归还处理
数据流去向:
借阅表
数据流组成:
索书号+借阅数量+状态
数据流量:
100笔/日
高峰流量:
200笔/日
数据流编号:
D09
数据流名称:
归还修改在库书量
简述:
还书时修改图书库中的在库数量
数据流来源:
P2-14图书归还处理
数据流去向:
图书表
数据流组成:
索书号+借阅数量
数据流量:
100笔/日
高峰流量:
200笔/日
数据流编号:
D010
数据流名称:
读者登陆信息
简述:
读者登陆信息
数据流来源:
图书馆管理人员
数据流去向:
P7-11读者登陆检查
数据流组成:
用户名+密码
数据流量:
100人次/日
高峰流量:
300人次/日
数据流编号:
D011
数据流名称:
读者信息
简述:
读者信息
数据流来源:
P7-11读者登陆检查
数据流去向:
读者表
数据流组成:
用户名+密码+权限
数据流量:
100人次/日
高峰流量:
300人次/日
(3)处理逻辑的描述
处理逻辑编号:
P1
处理逻辑名称:
图书编目系统
简述:
图书采购入库,经过编目等处理后,将其目录信息存入数据库,提供给读者使用。
目录信息包括书名、索书号、作者、出版社、内容简介、关键词、条码、字数、页数、出版日期等。
输入的数据流:
图书编目信息(D01)
处理逻辑:
编目数据录入,要求录入数据正确
输出的数据流:
D01
处理频率:
30本/日
处理逻辑编号:
P1-11
处理逻辑名称:
编目管理
简述:
图书采购入库,经过编目等处理后,将其目录信息存入数据库,提供给读者使用。
目录信息包括书名、索书号、作者、出版社、内容简介、关键词、条码、字数、页数、出版日期等。
输入的数据流:
图书编目信息(D01)
处理逻辑:
编目数据录入,要求录入数据正确
输出的数据流:
D01
处理频率:
30本/日
处理逻辑编号:
P2
处理逻辑名称:
图书借阅系统
简述:
读者查找到所需图书后应当到图书馆办理借阅手续。
图书借阅系统处理图书借阅、还书、续借等手续。
输入的数据流:
图书借阅单D02
处理逻辑:
图书借阅单输入,检查读者身份,检查图书在库情况,然后填写图书借阅库并修改图书表中的在库数量。
输出的数据流:
D01
处理频率:
100本/日
处理逻辑编号:
P2-11
处理逻辑名称:
检查读者身份。
简述:
检查读者身份,已注册的读者可以借书。
输入的数据流:
图书借阅单D02
处理逻辑:
查询读者表,已注册的读者可以借书。
输出的数据流:
D02合格借书者
处理频率:
100本/日
处理逻辑编号:
P2-12
处理逻辑名称:
检查图书是否在库
简述:
检查所借图书是否有足够的库存。
输入的数据流:
图书借阅单D02
处理逻辑:
访问图书表,检查所借图书是否有足够的库存。
输出的数据流:
D02可以借阅
处理频率:
100本/日
处理逻辑编号:
P2-13
处理逻辑名称:
填写借阅表,修改图书表。
简述:
填写借阅表,修改图书表。
输入的数据流:
图书借阅单D02
处理逻辑:
修改图书表中的所借图书的在库数量,在借阅表中填写借书情况。
输出的数据流:
D02可以借阅
处理频率:
100本/日
处理逻辑编号:
P2-14
处理逻辑名称:
图书归还处理
简述:
图书归还处理
输入的数据流:
还书记录D07
处理逻辑:
还书时修改图书表中所借图书的在库量,并在借阅表中填写还书情况。
输出的数据流:
填写归还记录(D08)+归还修改在库书量(D09)
处理频率:
100本/日
处理逻辑编号:
P3
处理逻辑名称:
图书征订系统
简述:
图书征订系统。
读者可从图书馆管理系统信息系统进入图书征订系统,进行图书的征订。
输入的数据流:
图书征订信息(D05)
处理逻辑:
读者填写图书征订信息,系统将检查读者的身份,合格的将写入借阅表,并修改图书库中该书的库存量。
输出的数据流:
填写图书征订信息(D06)
处理频率:
50本/日
处理逻辑编号:
P3-11
处理逻辑名称:
征订信息输入
简述:
征订信息输入
输入的数据流:
图书征订信息(D05)
处理逻辑:
读者填写图书征订信息
输出的数据流:
P3-12读者身份检查
处理频率:
50本/日
处理逻辑编号:
p3-12
处理逻辑名称:
读者身份检查
简述:
读者身份检查
输入的数据流:
图书征订信息(D05)
处理逻辑:
检查读者身份。
输出的数据流:
P3-13征订信息
处理频率:
50本/日
处理逻辑编号:
P3-13
处理逻辑名称:
征订处理
简述:
征订处理
输入的数据流:
图书征订信息(D05)
处理逻辑:
合格的征订将写入借阅表,并修改图书表中该书的在库数量。
输出的数据流:
填写图书征订信息(D06)
处理频率:
50本/日
处理逻辑编号:
P4
处理逻辑名称:
维护系统
简述:
系统维护对读者的管理。
只有系统中注册的用户才能在本馆中借阅图书。
输入的数据流:
读者登陆信息(D010)
处理逻辑:
读者登陆信息录入
输出的数据流:
读者信息(D011)
处理频率:
100人次/日
处理逻辑编号:
P4-11
处理逻辑名称:
读者登陆检查
简述:
审查用户信息,合格的用户信息输入读者库。
输入的数据流:
读者登录信息(D010)
处理逻辑:
读者登录信息录入
输出的数据流:
读者信息(D011)
处理频率:
100人次/日
(4)数据存储的描述
数据存储编号:
F01
数据存储名称:
读者表
简述:
读者信息,读者在本馆注册后成为注册读者。
数据存储组成:
用户名+密码
关键字:
用户名
相关联的处理:
P2-11P3-12P4-11
数据存储编号:
F02
数据存储名称:
图书库
简述:
存储本图书馆图书信息
数据存储组成:
书名+索书号+作者+出版社+内容简介+关键词+条码+字数+页数+出版日期
关键字:
书名
相关联的处理:
P1-11P2-12P2-13P2-14P3-13
数据存储编号:
F03
数据存储名称:
借阅表
简述:
存储本馆图书借书信息
数据存储组成:
借书日期+索书号+读者账号+库室+还书日期+借书量+还书量
关键字:
索书号
相关联的处理:
P2-13P2-14P3-13
(5)外部实体描述
外部实体编号:
S01
外部实体名称:
读者
简述:
图书馆用户
输入的数据流:
D10
输出的数据流:
D05
外部实体编号:
S02
外部实体名称:
图书馆管理人员
简述:
图书馆管理人员
输入的数据流:
D01D02D03D07D08D1
输出的数据流:
D04D06D09
四、系统设计
进入了设计阶段,要把软件“做什么”的逻辑模型变换成“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反应在设计说明书文档中,所以系统的设计是把系统要求转化成系统表示的过程。
1.总体设计
本系统设置了1名管理员和若干名操作员,分为四大板块9个功能。
设置的操作人员由管理员设置。
如果用户名或者密码之一错误就会出现错误的提示。
2.系统物理配置方案
图书馆管理信息系统采用两台服务器构成双机备份结构,保证提供实时服务。
为保证较快的响应时间,选用处理速度较快的计算机系统,内存大小对数据库系统的响应速度影响较大,选择内存教大的系统。
网络通信速度选用100Mbit/s/1000Mbit/s。
为保证系统中的信息安全,配置必要的数据备份设备(采用外部备份方式)。
3.数据存储设计
以系统用户数据管理为例:
当选择“修改”按纽的时候,三个文本框会自动改为输入状态。
如下图
当数据修改完以后,只要选择“保存”按纽即可,数据会被存储在名为Sysuserdata的表中。
以下是数据修改前后的对比:
4.输出设计
以图书征订管理模块为例:
读者可以在界面上选择“预览”按纽。
得到下图:
读者可以通过预览的方式查看自己的信息。
如果确认无误,则选择“打印”按纽,进行下一步的操作。
这样读者可以把自己想要的读书信息和征订信息通过系统输出,打印成报表。
5.输入设计
以图书编目模板为例:
当管理员进入该界面后,进行数据录入。
选择“添加”按纽。
当数据录入完毕后,再选择“保存”按纽。
数据将保存在表中。
两表的对比:
6.代码设计及设计规范
在这里,我以图书借阅模块为例:
图书借阅代码设计
“借书”按纽
*检查是否输入了图书条码
ifempty(thisform.txtcode.text)
messagebox("请输入图书条码",16,"图书借阅管理")
thisform.txtcode.setfocus
return
endif
*检查在选择的库室中是否存在该条码图书
cCode=alltrim(thisform.txtcode.text)
cRoom=thisform.cmbroom.value
selectstorebibli
locateforalltrim(条码)==cCodeandalltrim(库室名)==croom
ifnotfound()
messagebox("“"+cRoom+"”"+"无<"+cCode+">条码图书",16,"图书借阅管理")
thisform.txtcode.setfocus
return
endif
*检查读者是否已经借阅了该条码图书
selecttempCursor
locateforalltrim(条码)==cCode
iffound()
messagebox("读者已经借阅该条码图书",16,"图书借阅管理")
thisform.txtcode.setfocus
return
endif
*保存读者借书记录
ndate=val(thisform.txtlenddate.text)
ifndate=0
insertintolenddata(条码,证号,库室,借期);
values(cCode,alltrim(thisform.txtnum.text),cRoom,date())
else
nyear=year(date())
nmonth=month(date())
nday=day(date())
nmonth=nmonth+ndate
ifnmonth>12
nyear=nyear+1
nmonth=nmonth-12
endif
ddate=date(nyear,nmonth,nday)
insertintolenddata(条码,证号,库室,借期,还期);
values(cCode,alltrim(thisform.txtnum.text),cRoom,date(),ddate)
endif
*刷新读者借书清单,执行查询获得读者借阅图书数据
cnum=alltrim(thisform.txtnum.text)
selectlenddata.条码,书名,索书号,库室,借期,还期fromlenddata,storebibli;
wherelenddata.条码==storebibli.条码andalltrim(lenddata.证号)==cnumand;
lenddata.库室==storebibli.库室名;
intocursortempCursor
*显示读者个人借书清单
thisform.txtLended.value=reccount()
thisform.grid1.recordsourcetype=1
thisform.grid1.recordsource='tempCursor'
*根据读者借阅图书册数是否达到借书数量限制禁用或启用借书按钮
ifthisform.txtsum.value=thisform.txtlended.value
thisform.cmdlend.enabled=.F.
else
thisform.cmdlend.enabled=.T.
endif
*修改馆藏图书记录的可借数
updatestorebibliset可借数=可借数-1;
wherealltrim(条码)==cCodeandalltrim(库室名)=cRoom
“续借”按纽
*检查是否输入了图书条码
ifempty(thisform.txtcode.text)
messagebox("请输入图书条码",16,"图书借阅管理")
thisform.txtcode.setfocus
return
endif
*检查读者是否已经借阅了该条码图书
cCode=alltrim(thisform.txtcode.text)
selecttempCursor
locateforalltrim(条码)==cCode
ifnotfound()
messagebox("读者没有借阅<"+cCode+">条码图书",16,"图书借阅管理")
thisform.txtcode.setfocus
return
endif
*修改该条码对应的借书记录
ndate=val(thisform.txtlenddate.text)
ifndate=0
updatelenddataset借期=date();
wherealltrim(条码)==cCode
else
nyear=year(date())
nmonth=month(date())
nday=day(date())
nmonth=nmonth+ndate
ifnmonth>12
nyear=nyear+1
nmonth=nmonth-12
endif
ddate=date(nyear,nmonth,nday)
updatelenddataset借期=date(),还期=ddate;
wherealltrim(条码)==cCode
endif
*刷新读者借书清单,执行查询获得读者借阅图书数据
cnum=alltrim(thisform.txtnum.text)
selectlenddata.条码,书名,索书号,库室,借期,还期fromlenddata,storebibli;
wherelenddata.条码==storebibli.条码andalltrim(lenddata.证号)==cnumand;
lenddata.库室==storebibli.库室名;
intocursortempCursor
*显示读者个人借书清单
thisform.txtLended.value=reccount()
thisform.grid1.recordsourcetype=1
thisform.grid1.recordsource='tempCursor'
*根据读者借阅图书册数是否达到借书数量限制禁用或启用借书按钮
ifthisform.txtsum.value=thisform.txtlended.value
thisform.cmdlend.enabled=.F.
else
thisform.cmdlend.enabled=.T.
endif
“还书”按纽
*检查是否输入了图书条码
ifempty(th
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)