图书管理系统分析与实现Word文档下载推荐.docx
《图书管理系统分析与实现Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《图书管理系统分析与实现Word文档下载推荐.docx(27页珍藏版)》请在冰点文库上搜索。
1.1.2用户的特点
最终用户包括读者(具有借阅卡的人)、图书管理员,鉴于此软件应用于大学图书管理,读者基本都是在校大学生即校职工和领导,图书管理员都是接受过高等教育的职工,因此他们都懂得运用基本的计算机知识。
大学图书管理系统的使用频度很高,假如一个一万人的大学来讲,每天图书馆的平均日流量为1.5万。
因此,该软件的可靠性、可用性、可维护性显得尤为重要。
1.2需求规定
1.2.1对功能的规定
(1)图书信息查询/借书信息查询
图书馆主要向读者提供图书借阅的服务。
读者为了借阅图书,一般情况下,需要在借书之前查询所要借阅的图书情况,所以图书馆需要为读者提供图书查询功能。
例如,读者可能想借阅某方面的书,但不知道图书馆在该方面有哪些图书可供借阅,所以需要对图书馆的图书进行查询;
或者,读者知道想借阅的图书信息,但不知道该图书馆是否有该书或不知道图书在图书馆的位置、是否被借出、是否可以借阅等信息,这也需要使用图书查询功能。
一般的图书查询中,读者是通过图书登记卡、浏览图书登记卡中的信息得到图书信息的。
经过图书查询,读者获得图书馆是否有自己想要的图书,该图书的简单信息以及图书在图书馆的借阅位置等信息。
(2)新书入库
为了能正常运行,图书馆要及时更新馆藏图书。
对于新书,要购进,供读者借阅;
所以要设计到图书的批量入库。
对于批量入库,图书管理员要批量登记图书的信息,包括书名ID、ISBN、图书名称、作者、出版社、单价、入库时间、图书总量、现存总量等。
(3)借阅图书/归还图书
图书馆的基本功能之一就是为读者提供借阅服务,读者通过借阅这一过程,可以把图书带出图书馆,从而使读者能够更方便的浏览图书。
借书过程中,图书管理员要对读者的借书资格进行审查,对符合借书条件的读者,允许其借书,对其借书记录进行登记;
对没有借书资格的读者,禁止其借书。
具体的步骤如下:
读者向图书管理员提交请求和图书借阅卡,图书管理员检查读者提供的借阅卡,如果该借阅证真实准确,读者已经借阅的图书并没有超过允许借书量,而且读者没有逾期未还的图书,则允许读者借书,否则,读者不能从图书馆借书。
读者拿到要借阅的图书,同时拿到自己的借阅卡,借书过程完毕。
当借阅图书的数量超过5本或者出现未按期归还图书的情况,则不好进行借阅处理。
图书馆的另一基本功能就是为读者提供还书服务,读者在一本图书借阅期满之前把该图书还给图书馆,一般的还书步骤如下:
读者把所借的图书和自己的借阅卡交给图书管理员。
图书管理员对图书进行检查,看有无损坏,如果出现图书的损坏情况,读者应进行相应的赔偿。
图书管理员查看是否超过规定借阅期限,如果已经过期,则读者要按规定交纳罚金。
图书管理员进行登记,同时把还书信息记入借阅卡。
读者拿回自己的借阅卡,还书过程借书。
读者逾期未归还图书超过三天,将按照每本每天进行一定的罚款。
(4)书籍挂失
对图书由于丢失而不能即时还书的情况,读者要即时到图书管理员进行登记,确保图书信息的更新。
进行书籍挂失的步骤一般如下:
读者将所丢图书信息告诉图书管理员并将借阅卡交给图书管理员。
图书管理员对该图书信息进行登记,并按图书的价格,要求读者进行相应赔偿。
图书管理员将信息记入借阅卡。
读者拿回自己的借阅卡,挂失功能结束。
1.2.2读者管理功能
(1)办理借阅卡
图书馆向读者提供借阅服务,读者必须具有有效凭证方可借阅。
因此,读者必须办理借阅卡获取有效凭证。
读者在办理借阅卡时,必须输入个人有关注册信息,包括读者姓名、性别、出生日期、家庭住址、身份证号码、电话号码等信息。
系统根据读者提供的信息,办理借阅卡并生成个人帐号、读者可自行修改密码。
(2)借阅卡信息查询
图书馆在正常运营中要面对大量的读者信息,需要掌握每个读者的信息,即时准确的掌握读者的基本情况,这些是图书馆运营的保证。
读者要进行信息查询,可以通过系统将自己的借阅卡账户、密码输入系统,系统通过核对找到读者的信息。
如果读者的信息正确,系统将读者的信息包括读者姓名、性别、出生日期、家庭住址、身份证号码、电话号码等信息。
如果读者的信息不正确,系统将提示错误,并且系统设定,当错误次数超过5次时,系统将不予查询。
(3)借阅卡挂失
对借阅卡的丢失要即时进行挂失处理,以防止其他人盗用自己的有效信息并出现私自借书等行为。
借阅卡挂失的一般步骤可分为:
读者将挂失情况即时到图书管理员处进行登记,并填写登记单。
图书管理员将读者情况进行登记挂失,注销借阅卡的信息,并咨询读者是否重新办理。
若读者需重新办理,则重新填写相关信息,系统自动生成心的借阅卡信息记录,读者重新设置帐号即密码,并交纳相应的费用。
若读者不需办理,则系统将信息注销。
读者获得新的图书借阅卡。
1.2.3系统管理功能
(1)注册管理员
为了对图书馆管理系统进行管理,图书馆需要若干名图书管理员进行管理,在图书管理员对系统进行管理之前必须进行注册功能,以确定管理员身份。
对管理员进行注册,系统生成相应信息。
其中管理员的基本信息包括:
成员ID、密码等。
系统管理员每次登陆前输入自己的ID与密码,系统对其信息进行核实,如基本信息正确,则系统管理员可进行系统管理功能,若系统检查不正确,则系统管理员不可以进行相应的操作。
(2)修改密码
服务图书馆管理员可能由于某些原因,如电脑中毒导致管理员密码的泄露,为避免图书管理信息遭到破坏,系统具有修改密码的功能,确保图书管理功能的安全性。
(3)退出功能
系统管理员每次离开必须进行退出功能,确保管理功能不被他人所用,这样更方便图书管理系统出现问题时,找到责任人。
2 概要设计
2.1任务概述
2.1.1系统目标设计
系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。
能够对图书进行注册登记,也就是将图书的基本信息(如:
书名、作者、价格等)预先存入数据库中,供以后检索。
能够对借阅人进行注册登记,包括记录借阅人的姓名、地址、电话等信息。
提供方便的查询方法。
如:
以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;
以借阅人编号对借阅人信息进行检索;
以出版社名称查询出版社联系方式信息。
提供统计分析功能。
可以展现出图书类型比例、库存与借出比例。
提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。
能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。
提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
2.2系统设计思想
数据库与开发工具
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
图书管理系统使用的是SQLServer2000的数据管理系统和以VisualBasic6.0为开发工具。
第一步:
首先进行系统设计分析,系统设计主要包括系统功能分析、系统模块设计以及运行环境的选择、系统实现过程。
第二步:
然后根据系统功能分析设计出需要的数据库,绘制系统数据流图与总结数据字典、设计数据库结构。
第三步:
最后在实现各个功能模块时,采用先模块后系统集成的方式,即各系统功能模块分别独立设计和调试,在创建系统主窗体时才将各个功能模块通过主窗体菜单系统集成到一起,最后进行系统整体的设计和调试。
2.3系统模块功能解析
(1)系统设计分析
本图书管理系统主要有以下功能:
Ø
图书征订:
包括图书征订数据的录入、修改、删除与审校等功能。
图书编目:
包括图书数目信息的录入、修改、删除功能。
图书典藏:
包括新书分配、库室调配等功能。
图书流通:
包括图书借阅、续借、图书返还,图书书目的查询的功能。
系统用户管理:
包括系统用户数据的录入、修改与删除等功能。
读者数据管理:
包括读者类别管理,读者个人数据的录入、修改和删除功能。
(2)系统功能分析
权限功能:
权限功能设置的对象为高级管理员、普通管理员、读者。
高级管理员删除所有信息;
普通管理员只能对授权范围内进行相应修改及删除;
读者只能查询借阅记录和图书书目不能修改。
录入功能:
为普通管理员提供相应的录入功能,为高级管理员提供对所有信息的录入功能。
查询功能:
为所有用户提供查询的功能,可查询允许范围内的所有信息。
维护功能:
为普通管理员提供查询及相应的修改,删除功能,为高级管理提
供对所有信息的修改删除功能。
打印功能:
可打印图书征订计划。
退出功能:
各个功能模块和主窗体都设有关闭命令按钮,可方便地退出各模块或系统。
3 详细设计
3.1程序设计说明
3.1.1用户登录模块
(1)程序描述:
此程序用于用户登陆的至用户界面,程序通过输入用户的ID,用户密码的正确性来实现对验证用户的真实性。
(2)功能:
实现用户的登录功能
(3)性能:
用户通过输入用户ID,用户名和密码进行用户登陆,通过认证后,用户即可进入用户界面。
(4)输入项:
输入用户ID,用户名,密码
(5)输出项:
用户主页面。
流程逻辑如图所示:
图1用户登录流程逻辑
3.1.2用户添加模块
此程序用于添加新的用户,用户通过向数据库内输入必要的信息来注册成为新的用户,才通过一系列的验证之后,即注册成为真正的用户。
实现对用户的添加功能。
查询新用户的用户名是否存在,若存在则停止添加返还数据库;
若用户不存在,则进行添加,并进行注册,注册成功后返回。
输入用户的详细信息,包括姓名,出生日期,性别,地址,身份证号码,电话号码等信息。
若添加成功,则输出提示用户注册成功界面;
若未成功,则提示输出未成功原因界面。
(6)流程逻辑如下图所示:
图2用户添加模块流程逻辑
3.1.3书籍查询模块
(1)程序描述
此程序用于实现用户对想要借阅的查询功能。
用户通过输入相应的图书信息来查询,数据库根据用户提供的信息来搜索,最后给出客户相应的图书信息。
(2)功能
实现图书查询功能。
(3)性能
性能对进行想要查询的书籍进行搜索,若存在此书则显示该书的详细信息;
若不存在此书,则提示没有此书并返回。
(4)输入项
输入图书的详细信息,包括图书名称,书籍ID,图书作者,出版社,单价等信息。
(5)输出项
若输入的图书存在即输出图书详细信息界面;
若输入的图书不存在则显示图书不存在界面。
图3图书查询模块流程
3.1.4图书借阅模块
此程序用于图书的借阅,用户通过登录自己的借阅ID后,对需要借阅的图书进行借阅操作,如果符合借阅的要求,则可进行借阅。
实现对图书的书籍借阅功能。
(3)步骤
首先验证借阅者输入的借阅ID是否存在,若存在进行下一步;
若不存在则返回。
若借阅ID存在,则检查此借阅ID是否借阅书籍超出4本,若超出则提示超出借阅数目,返回;
若没有超出,则进行下一操作。
对想要借阅的图书ID进行搜索,若此书不存在,则提示此书不存在;
若此书存在则进行下一步操作。
将借阅者借阅的数量増一,将数据库中此书数量减一,同时提醒借阅成功,然后返回。
输入项:
输入借阅证的ID,图书ID。
输出项:
若借阅证ID正确且图书ID正确且符合借阅要求,则输出提示借阅成功界面;
若存在借阅ID或图书ID或不符合借阅要求等问题,则输出提示没有借阅成功原因的界面。
(4)流程逻辑如下图
图4图书借阅模块
3.1.5图书归还模块
此程序用于图书的归还,用户在登录自己的ID之后,用户可以对需要归还的图书进行操作,如果符合归还要求,则可以将图书归还。
(2)功能实现对图书的书籍归还功能。
对想要归还的图书ID进行搜索,若此书不存在,则提示此书不存在;
将借阅者借阅的数量减一,将数据库中此书数量加一,同时提醒借阅归还,然后返回。
输入借阅证ID和图书ID。
若借阅证ID和图书ID正确,则输出提示图书归还成功界面;
若借阅证ID或图书ID不正确,则输出提示没有成功原因的界面。
(4)流程逻辑如下图:
图5图书归还模块
3.1.6新书入库模块
此程序用户对新进图书的入口登记处理。
用户可以将新书的详细信息进行输入,保存在数据库中后,新书即登记成功。
实现新进图书入库功能。
对数据库查询是否已存在此书,若存在则将此书数量加一,提示添加成功;
若没有此书,则将此书的基本信息存入数据库,并提示添加书籍成功。
输入项:
输入新书的书籍ID,书名,作者,出版社,单价等信息。
输出项:
若添加成功,则输出提示新书添加成功界面;
若没有添加成功,输出提示未成功原因界面。
图6新书入库模块
4 需求分析
4.1各功能模块的实现
(1)用户登录窗体
图7用户登录窗体
用户登录代码:
ConstMaxLogTimesAsInteger=3
PrivateSubcmdcancel_Click()
IfMsgBox("
是否真的退出系统登录?
"
vbYesNo,"
登录验证"
)=vbYesThen
UnloadMe
EndIf
EndSub
PrivateSubcmdok_Click()
StaticintLogTimesAsInteger
intLogTimes=intLogTimes+1
IfintLogTimes>
MaxLogTimesThen
MsgBox"
超过登录次数!
vbCritical,"
Else
WithLibrary_Manage.rsSysUsers
.Open
If.RecordCount>
0Then
.MoveFirst
.Find"
编号="
&
Trim(txtLog(0))&
"
If.EOFThen
MsgBoxTrim(txtLog(0))&
不是系统用户,请检查输入!
txtLog(0).SetFocus
txtLog(0).SelStart=0
txtLog(0).SelLength=Len(txtLog(0))
ElseIf.Fields("
口令"
)<
>
Trim(txtLog
(1))Then
口令错误,请检查输入口令!
txtLog
(1).SetFocus:
txtLog
(1)="
CurrentUserNum=.Fields(编号)
CurrentUserPassword=.Fields("
)
CurrentUserStatus=.Fields("
权限"
欢迎使用常州信息学院管理系统!
vbInformation,"
登陆成功!
.Close
EndWith
PrivateSubForm_Load()
SysLogon.BackColor=RGB(192,210,270)
(2)用户管理窗体界面
图8用户管理窗体
用户管理窗体代码
'
保存
PrivateSubcmdSave_Click()
DimobjcopyAsNewRecordset
IfTrim(txtNum)="
Then
不能为空!
系统用户管理"
txtNum.SetFocus
txtNum.SelStart=0
txtNum.SelLength=Len(txtNum)
ElseIfLen(Trim(txtPwd))<
6Then
用户口令须为6位字符串!
txtPwd.SetFocus
txtPwd.SelStart=0
txtPwd.SelLength=Len(txtPwd)
ElseIfNottxtAuthLike"
[0,1]"
用户权限必须为0或1"
txtAuth="
txtAuth.SetFocus
Setobjcopy=Library_Manage.rsSysUsers.Clone'
对错?
Withobjcopy
编号"
Trim(txtNum)&
IfNot.EOFAnd.AbsolutePosition<
Library_Manage.rsSysUsers.AbsolutePositionThen
编号:
已被使用,请选择其他编号!
ExitSub
'
保存记录
Library_Manage.rsSysUsers.Update
数据保存成功!
cmdAdd.Enabled=True
cmdDel.Enabled=True
isAdding=False:
picNavigation.Enabled=True
cmdMove(0).Value=True
(3)读者数据管理窗体界面
图9读者数据管理窗体
读者数据管理窗体代码
Library_Manage.Library_Manage_Con.Execute"
TRUNCATETABLE读者类别"
WithLibrary_Manage.ReaderType
If.State=adStateClosedThen.Open
.AddNew
.Fields("
)="
0"
名称"
特殊"
借书量"
)=Val(txtSp
(1))
借书期"
)=Val(txtSp
(2))
有效期"
)=Val(txtSp(3))
.Update
1"
馆员"
)=Val(txtL
(1))
)=Val(txtL
(2))
)=Val(txtL(3))
2"
教师"
)=Val(txtT
(1))
)=Val(txtT
(2))
)=Val(txtT(3))
3"
学生"
)=Val(txtS
(1))
)=Val(txtS
(2))
)=Val(txtS(3))
cmdMove(0).Value=True
PrivateSubSSTab1_DblClick()
(4)图书征订管理窗体
图10图书征订管理窗体
图书征订管理代码
txtPubDate.SelLength=Len(txtPubDate)
ElseIfTrim(txtAuthor)="
作者不能为空!
图书征订管理"
txtAuthor.SetFocus
txtAuthor.SelStart=0
txtAuthor.SelLength=Len(txtAuthor)
ElseIfVal(txtNum)="
正的数量无效!
ElseIfNotIsDate(txtDate)="
txtDate.SetFocus
txtDate.SelStart=0
txtDate.SelLength=Len(txtDate)
Library_Manage.rsBooksOrder.Update