图书管理系统设计与实现.docx
- 文档编号:23962070
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:37
- 大小:1.37MB
图书管理系统设计与实现.docx
《图书管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《图书管理系统设计与实现.docx(37页珍藏版)》请在冰豆网上搜索。
图书管理系统设计与实现
图书管理系统设计与实现
摘要:
图书管理系统是典型的信息管理系统。
图书管理繁琐,借阅频繁,包含大量的信息数据,因此需要一个完善的图书管理系统来实现对这些数据的有效管理。
本系统的主要任务就是对图书、读者、借阅信息、查询进行统一的管理,满足各类用户的需求。
基于上述考虑,本系统以VisualBasic6.0为前端应用开发工具,以SQLServer2000作为后台的数据库,详细分析了书籍流通环节中各个功能模块之间的关系,并且详细介绍了图书馆服务子系统的整个设计过程。
具体的各个功能如下:
用户登录、图书入库、图书借阅、图书归还、信息查询、管理措施等功能。
关键字:
VisualBasic6.0;SQLServer2000;数据库;图书借阅;图书归还;图书查询
LibraryManagementSystemDesignandImplementation
Abstract:
Librarymanagementsystemisatypicalinformationmanagementsystem.Librarymanagementcumbersome,borrowingfrequentlycontainsalargeamountofinformationdata,itneedsacompletelibrarymanagementsystemtoachievetheeffectivemanagementofthesedata.Themaintaskofthissystemisonthebooks,readers,loaninformation,checkforunifiedmanagement,tomeetthevariousneedsofusers.
Basedontheaboveconsiderations,thesystemforthefront-endVisualBasic6.0applicationdevelopmenttoolstoSQLServer2000databaseasabackground,adetailedanalysisofthebooksincirculationbetweenthevariousfunctionalmodules,andsubsystemsdescribedindetailinthelibraryservicetheentiredesignprocess.Variousspecificfunctionsasfollows:
userlogin,bookstorage,booklending,bookreturn,informationsearch,managementandotherfunctions.
Keyword:
VisualBasic6.0;SQLServer2000;Ddatabase;Booklend;Bookreturn;Bookqurey
第一章系统概述
1.1系统开发背景和意义
图书管理是高校内每一个系部或院部都必须切实面对的工作,但一直以来人们使用传统的人工方式管理图书资料。
这种方式存在着许多缺点,如效率低、保密性差且较为繁琐。
另外,随着图书资料数量的增加,其工作量也将大大增加,这必将增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。
经过详细的调查,目前我国各类高等学校中有相当一部分单位图书资料管理还停留在人工管理的基础上。
这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。
随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。
图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高图书管理的效率。
因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。
1.2开发环境
开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下:
开发环境:
Windows2000/XP
开发工具:
VisualBasic6.0
数据库管理系统:
SQLServer2000
数据库服务器:
SQLServer2000桌面引擎
第二章系统需求分析
2.1任务概述
经过对图书管理详细调查,并多次与负责图书管理人员进行研讨后,加深了对现行图书管理业务的深刻了解,与此同时,将整个图书管理的业务流程抽象描述如下:
1.新的图书购进后,分门别类地进行归并并汇总,加以编号。
2.新书编号后,上到书架以备学生借阅。
3.如某学生需要借阅图书,则在其本人的借阅登记表上进行登记,记录相关借阅信息与借阅日期。
4.学生借阅图书后,应及时归还图书,并在本人的借阅登记表上注明还书日期和时间。
根据以上调查分析,可以给出其现行业务流程图如图2-1所示。
图2-1现行图书管理业务流程图
2.2数据描述(数据流图+数据字典)
经过详细的调查,我们已经清楚了解了现行的业务流程,接下来给出系统的逻辑模型。
构造系统逻辑模型的工具是数据流图和数据字典。
根据现行图书管理的业务流程,首先把数据流图中的源点和终点都选定为学生,因此可以得到图书管理系统的基本系统模型,如图2-2所示。
图2-2图书管理系统的基本系统模型
根据基本系统模型,对其逐步细化,得到描述逻辑系统细化后的数据流图,如图2-3所示。
图2-3图书管理系统数据流图(顶层DFD图)
对顶层DFD图中的一个加工“学生管理”进行展开,如图2-4。
图2-4细化后数据流图
对顶层DFD图中的一个加工“图书管理”进行展开,如图2-5。
图2-5“图书管理”展开
对第1层DFD图中的加工进一步进行展开,如图2-6。
(1)
(2)
图2-6进一步细化数据流图
有了系统的数据流图后,还有相当多的数据信息如图书、借阅、归还等信息需要进一步描述,这就是需要定义数据字典,才能把现有的系统描述清楚。
图2-7列出了系统的主要数据字典。
图2-7系统主要数据字典
2.3功能需求
经过以上详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确定系统设计必须达到的目标。
以下是图书管理系统必须具备的功能:
1.新进图书的登记功能:
对于购进的新书,系统必须具备图书信息资料的录入功能。
2.图书的查询修改功能:
当图书资料发生变化,如图书丢失或有错误信息输入时,则应能够及时对数据进行修改和补充。
3.借阅的登记,归还的登记功能:
系统的主要功能之一,供本校学生借阅图书、归还图书,并进行登记。
4.学生信息的增加、删除和修改功能:
系统主要功能之一,建立学生信息,并对其进行维护。
2.4性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求:
1、系统处理的准确性和及时性
系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。
2、系统的开放性和系统的可扩充性
图书管理系统在开发过程中,应该充分考虑以后的可扩充性。
例如用户查询的需求也会不断的更新和完善。
所有这些,都要求系统提供足够的手段进行功能的调整和扩充。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补、替换完成系统的升级和更新换代。
3、系统的易用性和易维护性
图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
4、系统的标准性
系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。
所有这些都要符合主流国际、国家和行业标准。
5、系统的先进性
目前计算系统的技术发展相当快,做为图书管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。
这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。
另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。
6、系统的响应速度
图书管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。
在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。
第三章系统总体设计
3.1新的业务流程
根据需求分析的得到的现行业务处理流程,在用户反复研究后,首先确定目标系统的业务流程,其处理流程如图3-1。
图3-1图书管理系统的业务流程
针对新的业务流程,现具体描述其功能如下:
1.用户登录:
系统对用户合法性进行检查。
2.图书入库:
对新购进的图书分类进行编号,并把图书基本信息录入计算机。
3.图书借阅:
对已入库的图书,学生可以借阅,并进行登记。
4.图书归还:
对学生已归还的图书进行归还登记。
5.信息查询:
即对所有图书的借阅情况,或学生的基本情况和借阅情况进行查询。
6.管理措施:
定义系统规定的借阅图书超期时间、超期处罚办法和丢失赔偿办法。
3.2系统功能模块图
依据需求分析阶段得到的数据流图,采用软件工程中软件设计的概念和原理,与用户成分协商后,在保证系统基本功能要求的前提下,结合系统新的业务流程确定系统必须具备的所有功能,由此给出图书管理系统的系统功能模块图如图3-2所示。
图3-2图书管理系统功能模块图
3.3系统的流程图
依据软件工程的基本原理,综合以上分析给出系统流程图如图3-4所示。
图3-4系统流程图
第四章详细设计
4.1程序流程图
依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。
具体来说就是把经过总体设计得到的各个模块详细的加以描述。
由于本系统采用支持面向对象的VisualBasic6.0作为开发工具,而VisualBasic6.0采用事件驱动的编程机制,所以在此给出软件系统的主程序流程图,如图4-1所示。
图4-1主程序流程图
根据以上主程序的流程图,我们可以得出下面的关于各个模块的程序流程图,如图4-2所示。
图4-2程序流程图
4.2程序输入输出描述
4.2.1主模块
1.输入项目:
操作系统传递至的各种消息以及用户的输入数据。
2.输出项目:
用户界面显示。
4.2.2学生管理模块
1.输入项目:
与学生管理操作子对话框有关的用户输入及系统消息。
2.输出项目:
操作结果显示。
4.2.3图书管理模块
1.输入项目:
用户口令。
2.输出项目:
相应的界面。
4.2.4借阅归还管理模块
1.输入项目:
学生学号、图书编号。
2.输出项目:
学生信息、相关借书或归还信息。
4.3程序接口描述
4.3.1外部接口
按Windows应用软件用户界面的规范来设计,使用以对话框为主的用户界面,便于用户使用。
4.3.2内部接口
模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。
第五章编码实现
5.1数据库的设计
5.1.1数据库的逻辑设计
在需求分析阶段已完成该系统所有的数据分析。
根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。
下面给出概念结构设计得E-R图如图5-1所示。
图5-1概念结构设计E-R图
实体:
图书(图书编号,书名,作者,出版社,定价,图书类别,图书ISBN号,图书数量)
学生(学生学号,学生姓名,性别,入校时间,毕业时间)
管理员(编号,名字,密码,加入时间)
联系:
学生管理(图书管理员,学生姓名,学生密码)
图书管理(图书管理员,借阅号,归还号)
查询(图书编号,借阅证号,图书管理员,学生)
5.1.2数据库的物理设计
依据数据库的原理,并结合以上E-R图,经过转化,即可进行数据库的物理设计。
基于以上数据库的逻辑设计,考虑程序设计的简易性,同时考虑题目的时间,该系统的数据库采用MicrosoftSQLServer2000。
本系统决定采用一个数据库,在其下创建5个数据表,其结构分别如下:
1.图书信息表(tBook),其字段列表如表5-1所示。
表5-1图书信息表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cBooksID
图书编号
文本
7
必须非空
2
cBooksName
图书名称
文本
20
必须非空
3
cBooksISBN
图书ISBN号
文本
15
可为空
4
cBooksAuthor
图书作者
文本
10
可为空
5
cBooksPublisher
图书出版社
文本
20
可为空
6
cBooksType
图书类型
文本
16
可为空
7
smBooksPrice
图书价格
货币
可为空
8
iBooksStoreQuan
图书库存量
整数
可为空
9
iBooksLeftQuant
图书副本数量
整数
可为空
10
iBooksTotalQuan
图书总数
整数
可为空
2.图书借阅登记表(tBorrow),其字段列表如表5-2所示。
表5-2图书借阅登记表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cBorrowID
借书编号
文本
6
必须非空
2
cVipID
学生编号
文本
6
必须非空
3
cBooksID
图书编号
文本
7
必须非空
4
cBorrwTime
借书时间
时间日期
可为空
5
cReturnTime
还书时间
时间日期
可为空
6
cReturn
是否归还
文本
1
可为空
3.图书归还登记表(tReturn),其字段列表如表5-3所示。
表5-3图书归还登记表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cBorrowID
借书编号
文本
6
必须非空
2
cVipID
学生编号
文本
6
必须非空
3
cBooksID
图书编号
文本
7
必须非空
4
cBorrwTime
借书时间
时间日期
可为空
5
cReturnTime
还书时间
时间日期
必须非空
6
cReturn
是否归还
文本
1
必须非空
7
cNoReturn
归还异常
文本
8
可为空
4.学生信息表(tVip),其字段列表如表5-4所示。
表5-4学生信息表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cVipID
学生编号
文本
6
必须非空
2
cVipName
学生姓名
文本
10
必须非空
4
cVipSex
学生性别
文本
1
可为空
5
vipAddTime
学生入学时间
时间日期
必须非空
6
vipEndTime
学生毕业时间
时间日期
必须非空
5.管理员信息表(tOperators),其字段列表如表5-5所示。
表5-5管理员信息表的结构
序号
字段名称
字段说明
类型
位数
属性
备注
1
cOperatorID
管理员编号
文本
5
必须非空
2
cOperatorName
管理员姓名
文本
10
必须非空
3
cOperatorPassword
密码
文本
6
必须非空
4
cOperatorAddTime
管理员加入时间
时间日期
10
必须非空
5.2程序编码
登陆界面如图5-2所示。
图5-2登陆界面
程序代码如下:
IfConnectToServer=TrueThen
SetobjRs=NewRecordset
StrSql="selectcOperatorPasswordfromtOperatorswherecOperatorName='"&Trim(cboName.Text)&"'"
GetDataStrSql'Referencefunctiontogetdata
IfobjRs.EOFThen
Check_Password=0'ThisOperatornotexist
Else
IftxtPassword.Text<>Trim(objRs.Fields("cOperatorPassword").Value)Then
Check_Password=1'passworderror
Else
Check_Password=2'passwordok
CurrentOpname=Trim(cboName.Text)
CurrentOppassword=objRs.Fields("cOperatorPassword").Value
'Herecansaveaoperatorgradeforexpand
EndIf
EndIf
objCon.Close
ExitFunction
ER2:
MsgBoxErr.Description
Check_Password=255
EndIf
EndFunction
PrivateSubcmdCancel_Click()
UnloadMe
End
EndSub
PrivateSubcmdOK_Click()
DimintCheckAsInteger
StaticintLogTimesAsInteger
intLogTimes=intLogTimes+1'Savelogintimes
IfintLogTimes>MaxLogTimesThen
'Overallowedlogintimesthenlistinformation
MsgBox"Youhaveoverallowedloghintimes,loginfailure!
",vbCritical,"LoginError"
UnloadMe
Else
intCheck=Check_Password(Trim(txtPassword),Trim(cboName))
SelectCaseintCheck
Case0
MsgBox"Yourarenotasystemuser!
",vbInformation+vbOKOnly,"LoginError"
Case1
MsgBox"Passworderror,pleasecheckyourpassword!
",vbInformation+vbOKOnly,"LoginError"
Case2
UnloadMe
IfCurrentOpname="Admin"AndCurrentOppassword="1"Then
MainWin.mnuOp.Visible=True
Else
MainWin.mnuOp.Visible=False
EndIf
LoadMainWin
MainWin.Show
EndSelect
EndIf
EndSub
主界面如图5-3所示。
图5-3程序主界面
程序代码如下:
IfCurrentOpname="Admin"Then
StatusBar2.Panels
(1).Text="管理员:
"&CurrentOpname
Toolbar1.Buttons
(1).Visible=True
Toolbar1.Buttons
(2).Visible=True
Else
StatusBar2.Panels
(1).Text="操作员:
"&CurrentOpname
Toolbar1.Buttons
(1).Visible=False
Toolbar1.Buttons
(2).Visible=False
EndIf
EndSub
PrivateSubMDIForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=vbRightButtonThen
PopupMenumnuOperation
EndIf
EndSub
PrivateSubMDIForm_Unload(CancelAsInteger)
CheckConnect
EndSub
PrivateSubmnuBookQuery_Click()
CheckConnect
LoadfrmBookQuery
frmBookQuery.Show
EndSub
PrivateSubmnuBookRegist_Click()
CheckConnect
LoadfrmBookReg
frmBookReg.Show
EndSub
PrivateSubmnuBorrowQuery_Click()
CheckConnect
LoadfrmReadQuery
frmReadQuery.Show
EndSub
PrivateSubmnuExit_Click()
CheckConnect
UnloadMe
End
EndSub
PrivateSubmnuReLogin_Click()
CheckConnect
UnloadMe
LoadfrmLogin
frmLogin.Show
EndSub
PrivateSubmnuVipQuery_Click()
CheckConnect
LoadfrmVipQuery
frmVipQuery.Show
EndSub
PrivateSu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 设计 实现