图书馆管理系统设计报告.docx
- 文档编号:9558967
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:45
- 大小:2.33MB
图书馆管理系统设计报告.docx
《图书馆管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统设计报告.docx(45页珍藏版)》请在冰豆网上搜索。
图书馆管理系统设计报告
学生管理系统
现在大学不断扩大招生,学生信息的管理趋向了复杂化和多元化。
越来越多的大学都采用了计算机化的系统管理模式,查询,修改等操作都使用了计算机的数据库技术,比起以前使用卡片的方法有了很大的进步,提供了相当大的方便。
这次课程设计我选择做一个简单的学生管理系统。
第一章需求分析阶段
开发一个系统之前,必须准确了解与分析用户需求(包括数据与处理).需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
在整个软件生命周期中,开发所占的费用和时间都很小。
后期维护工作一般在占整个软件生命周期的80%以上。
所以系统分析很重要,一个好的系统分析可以减少很多后期维护工作。
我们学校的学生已经超过了一万多了,管理学生信息的非常必要的,如果像以前那样用纸张记录或更新内容,信息管理相对复杂操作又麻烦。
因此,针对庞大的学生信息具体情况,我们在开发系统之前,我从通过咨询以及了解到平时所经常用到的功能,查询以及修改进程,现行系统存在的问题及解决方案进行了仔细分析。
一、学生管理组织结构:
二.各部门职责:
采编部
参考咨询部
技术部
阅览部
流通部
办公室
图书及期刊的编目;产生馆藏记录及新书分配;管理图书馆的馆藏帐,提供书目数据负责图书馆图书、期刊以及电子文献的采集;图书、期刊的登到和期刊过刊的合订本财产登记。
负责全馆的参考咨询、课题查新及代检索、文献传递、数据库利用统计、质量管理等工作;承担学校文献检索课教学、新生入学教育以及全校用户培训工作;
负责全馆计算机软件、硬件以及现代化设备(包括配件)的日常维护工作,负责图书馆局域网以及自动化管理系统的日常维护和管理。
方便读者阅览图书,包括报纸,杂志,参考书等等,同时也可方便同学在阅览室学习。
负责借书、还书(含老号书)、办理借书证、办离校、借书证挂失、图书逾期罚款、公共查询
图书馆办公室是馆长直接领导下的行政办公机构,它的职能是:
协助馆长组织全馆性活动;进行内外联系、协调工作;负责全馆财务管理、设备管理、安全保卫、清洁卫生及后勤保障工作
三.图书馆的业务流程图:
四.数据流图:
DFD
1.新书入库DFD:
2.图书借阅的DFD:
3.还书的DFD:
4.查询的DFD:
五.现行系统存在的问题:
该图书馆工作大部分还是进行着手工管理,工作起来效率很低,由于不可避免的人为因素,经常造成数据的遗漏、误报。
计算机信息化管理有着储存信息量大、速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。
六.解决的方案:
基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。
图书馆信息系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决
问题的详细方案,这是系统建设的重要环节。
学校图书馆规模相对于商业图书馆小,但要有着完善的图书信息,对每一册书要有详细的记录信息,功能上对系统的需求是全面的。
因此对用户的需求可分为四个方面:
一方面是图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应学生的需求;二方面是学生们能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备;三方面是工作人员对学生们的借书证发放;四方面也是图书馆的核心工作,对图书的借阅管理。
这四个方面形成了学校图书馆一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。
在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种图书信息。
硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆。
在开发方式上对系统的需求,由于学校图书馆是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。
基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。
图书馆信息系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决
问题的详细方案,这是系统建设的重要环节。
学校图书馆规模相对于商业图书馆小,但要有着完善的图书信息,对每一册书要有详细的记录信息,功能上对系统的需求是全面的。
因此对用户的需求可分为四个方面:
一方面是图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应学生的需求;二方面是学生们能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备;三方面是工作人员对学生们的借书证发放;四方面也是图书馆的核心工作,对图书的借阅管理。
这四个方面形成了学校图书馆一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。
在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种图书信息。
硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆。
在开发方式上对系统的需求,由于学校图书馆是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。
第二章数据库设计阶段
一.权限的设计:
1.读者权限的设计:
读者只能进行图书信息查询和读者借阅信息查询操作,图书信息检索等操作。
2.管理者权限的设计:
图书馆管理者能够进行信息查询,系统维护,事务处理,密码修改等相关操作。
信息查询主要包括读者查询,图书查询。
系统维护:
图书维护,读者维护,管理员维护
事务处理:
借书与还书管理,图书证挂失与恢复,管理员操作记录,图书过期与丢失罚款处理。
3.管理员和读者与各个功能之间的关系图示:
二.系统功能设计:
1.图书馆的模块设计:
(1).图书管理模块的设计:
完成图书的录入,删除,以及出版社情况,所以建立一个表,主要是图书的各个信息,对表进行操作,对纪录的添加删除来完成图书的录入和删除。
图书因使用过久或信息过时需做下架处理,或者在读者借阅书籍时发生遗失的情况下需做遗失处理,这些都需要修改数据库关于书籍的信息。
(2).查询模块的设计:
对上面所建立的表进行查询操作,已完成对图书的查询操作。
一般读者在借阅书籍前都需查询图书馆关于所借书籍的大概信息:
该图书是否在馆—是否已借出—在馆中的书架号;除查询书籍外读者还可查询关于自身的信息:
是否有超期未还的图书,还可借阅书籍数目等。
因此主要包括图书信息查询,读者信息查询等子模块,完成图书及读者信息的查询。
(3)图书借阅模块的设计:
图书馆主要的功能就是提供书籍供读者借阅,在借阅图书时应按图书馆的规则进行借阅,不得超过每张图书证的最大借书数,如果已有超时借阅的图书,则在归还前不允许再借阅等等。
(4)还书模块的设计:
删除借书记录及还书进行管理,对于图书遗失或超期归还的情况应根据图书馆的规则进行处罚
(5)统计及打印模块的设计:
对读者信息,图书信息及其他信息进行统计,根据统计结果可以打印报表。
(6)维护模块的设计:
该模块包括两个字模快,即图书维护字模快和读者维护字模快。
图书维护:
在建立信息库时可能因操作错误或其它情况而造成数据库里图书信息的错误,需要修改这些错误。
读者维护:
读者一般都是在校的学生和教师。
教师的信息一般在建立档案后一般不需要修改(或修改量较小),而对于学生则会有新生入学和老生毕业等情况出现,这些都需要修改数据库关于读者的信息。
2.模块设计原则:
可靠性原则:
可靠性是一个应用系统的灵魂,一个极小的差错,可能会造成整个系统的瘫痪,甚至可能造成企业的巨大损失。
因此系统设计必需把安全性、可靠性、容错性放在首位。
实用性原则:
一个系统一定要具有实用性,能够满足某一方面的需要。
如果系统不能满足用户的需要,那么这样的系统没有任何价值,因此系统的设置一定要具有实用性。
简单灵活性原则:
系统设计尽量简单,灵活易于管理,有利于将来需要时进行功能改进和新技术引入。
三.系统模块功能图:
(1)查询:
(2)借阅功能图:
(3)图书统计功能图:
4.总体功能结构图
第三章概念结构设计:
1、系统E—R设计:
n
n
1
n
mn1n
m
n
n1
2、实体图
(1)图书的实体图:
(2)管理员的实体图:
(3)读者的实体图:
(4)部门的实体图:
(5)图书供应商的实体图:
第四章PowerDesigner的概念模型和物理模型
1、概念模型
2、物理模型为:
第五章系统逻辑数据结构设计
Book:
{bookid,bookname,bwriter,bpress,bprice,bnum,blost,bleft,bztai,bc,bdata,kindname,kuplace}
Borrower:
{readid,readname,bookid,bookname,ltime,rtime}
Bpress:
{chubanshao,chubanming,lianxifangs,dizhi}
bumen:
{bumenid,bumenname}
duzheliuyanbiao:
{readid,readname,sex,liuyan}
kind:
{kindid,kindname}
manager:
{managerid,bumenid,managername,password,sex,age,gongling,xueli,bumenname,sta}
reader:
{readid,readname,sex,rdeparment,rztai,rmax,rlent}
recode:
{managerid,bookid,bookname,readid,readname,jiue,sta,daty}
supporter:
{bookid,supporerid,address,lianxifangshi,suppornum,bprice,data}
sz:
{start,bmp,flag}
第六章系统表结构设计:
1.图书信息表:
2.借书表:
3.图书出版社信息表:
4.部门信息表:
5.读者流言表:
6.供应表:
7.图书分类表:
8.图书库藏表:
9.读者借书记录表:
10.管理员信息表:
11.图书过期罚款表:
12.读者信息表:
13.管理员操作记录表:
14.图书供应商信息表:
15.系统进度条设计表:
第七章系统的窗口设计与代码设计:
1.登陆窗口与代码的设计:
对该窗口代码的设计如下:
stringuseid,key,sta1
choosecaseddlb_1.text
case"管理员"
selectmanager.managerid,manager.password,manager.sta
into:
useid,:
key,:
sta1
frommanager
wheremanager.managerid=:
sle_1.text;
ifsle_1.text=""andsle_2.text=""then
MessageBox("wrong","用户名跟密码不能为空")
else
ifsle_1.text=useidandsle_2.text=keyandsta1="管理员"then
open(w_main)
close(w_denglu)
else
MessageBox("wrong","密码错误")
sle_2.text=""
endif
endif
case"工作人员"
selectmanager.managerid,manager.password,manager.sta
into:
useid,:
key,:
sta1
frommanager
wheremanager.managerid=:
sle_1.text;
ifsle_1.text=""andsle_2.text=""andsta1="工作人员"then
MessageBox("wrong","用户名跟密码不能为空")
else
ifsle_1.text=useidandsle_2.text=keythen
m_no=useid
open(w_main)
close(w_denglu)
else
MessageBox("wrong","密码错误")
sle_2.text=""
endif
endif
case"读者"
open(w_mian_1)
close(w_denglu)
caseelse
Messagebox("提示","你还没有选择任何登陆类型!
");
endchoose
2.读者查询窗口与代码的设计:
代码:
ifsle_1.text=""andsle_2.text=""then
messagebox("wrong","请输入查询信息")
else
if(rb_1.checked)=truethen
dw_1.setfilter("")
dw_1.setfilter("Readid='"+trim(sle_1.text)+"'")
dw_1.retrieve()
dw_2.setfilter("Readid='"+trim(sle_1.text)+"'")
dw_2.settransobject(sqlca)
dw_2.filter()
dw_2.retrieve()
else
if(rb_2.checked)=truethen
dw_1.setfilter("")
dw_1.setfilter("readname='"+trim(sle_2.text)+"'")
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_2.setfilter("readname='"+trim(sle_2.text)+"'")
dw_2.settransobject(sqlca)
dw_2.filter()
dw_2.retrieve()
endif
endif
endif
3.图书信息查询窗口与代码的设计:
代码:
stringa
ifsle_1.text=""andsle_2.text=""andsle_3.text=""then
messagebox("wrong","请输入查找信息")
else
if(rb_1.checked)=truethen
selectbook.bookid
into:
a
frombook
wherebookid=:
sle_1.text;
ifsle_1.text=athen
dw_1.setfilter("")
dw_1.setfilter("bookid='"+trim(sle_1.text)+"'")
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_1.object.datawindow.readonly="yes"
else
messagebox("sorry","你要查找该编号的书不存在")
endif
else
if(rb_2.checked)=truethen
selectbook.bookname
into:
a
frombook
wherebookname=:
sle_2.text;
ifsle_2.text=athen
dw_1.setfilter("")
dw_1.setfilter("bookname='"+trim(sle_2.text)+"'")
dw_1.settransobject(sqlca)
dw_1.retrieve()
dw_1.object.datawindow.readonly="yes"
else
messagebox("sorry","你要查找该名字的书不存在")
endif
else
if(rb_3.checked)=truethen
stringbookname,jstj=""
bookname=righttrim(sle_3.text)
iflen(bookname)>0then
iflen(jstj)>0then
jstj=jstj+"andpos(bookname,'"+bookname+"')>0"
else
jstj="pos(bookname,'"+bookname+"')>0"
endif
endif
dw_1.setfilter(jstj)
dw_1.settransobject(sqlca)
dw_1.retrieve()
else
MessageBox("wrong","请选择查找方式")
endif
endif
endif
endif
4.借书窗口与代码的设计:
借书代码设计:
stringa,readid,bookid,c,e,temp,temp1,temp2
intianswer
intb,d
ifsle_1.text=""andsle_2.text=""then
messagebox("wrong","请输入读者编号及图书编号")
else
selectreader.readid,reader.rlent,reader.readname,reader.rztai
into:
a,:
b,:
temp,:
temp1
fromreader
wherereader.readid=:
sle_1.text;
ifsle_1.text=athen
sle_1.text=upper(sle_1.text)
readid=sle_1.text
dw_2.setfilter("readid='"+trim(sle_1.text)+"'andbookid='"+trim(sle_2.text)+"'")
dw_2.retrieve()
dw_1.setfilter("readid='"+trim(sle_1.text)+"'")
dw_1.retrieve("readid='"+trim(sle_1.text)+"'")
iftemp1="已挂失"then
messagebox("wrong","该读者编号已挂失")
return
else
ifb=0then
messagebox("sorry","你的借书已达到最大限度")
sle_1.text=""
sle_2.text=""
return
else
selectbookid,bleft,bookname,bztai
into:
c,:
d,:
e,:
temp2
frombook
wherebook.bookid=:
sle_2.text;
ifsle_2.text=cthen
sle_2.text=upper(sle_2.text)
bookid=sle_2.text
dw_3.setfilter("bookid='"+trim(sle_2.text)+"'")
dw_3.retrieve("bookid='"+trim(sle_2.text)+"'")
iftemp="已借出"then
messagebox("sorry","该书已借出")
sle_2.text=""
else
dates,t
t=date(today())
s=RelativeDate(t,30)
ianswer=MessaGeBox("窗口提示","你是否真的要借"+e+"这本书?
",Question!
YesNoCancel!
1)
ifianswer<>1then
return
endif
insertintoborrower(readid,readname,bookid,bookname,ltime,rtime)
values(:
sle_1.text,:
temp,:
sle_2.text,:
e,:
t,:
s);
updatereader
setrlent=:
b-1
wherereader.readid=:
sle_1.text
usingsqlca;
updatebook
setbleft=:
d-1,blost=blost+1
wherebook.bookid=:
sle_2.text
usingsqlca;
updatebook
setbztai="已借出"
wherebook.bookid=:
sle_2.text
usingsqlca;
insertintorecode(managerid,bookid,bookname,readid,readname,sta,daty)
values(:
m_no,:
sle_2.text,:
e,:
sle_1.text,:
temp,"借书",:
t);
messagebox("ok","借书成功")
readid=sle_1.text
dw_2.setfilter("readid='"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 设计 报告