毕业设计论文图书管理系统.docx
《毕业设计论文图书管理系统.docx》由会员分享,可在线阅读,更多相关《毕业设计论文图书管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
毕业设计论文图书管理系统
图书管理系统
摘要
图书馆管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
主要应用的技术有MicrosoftVisualBasic6.0和MicrosoftAccess2003进行具体的设计和开发,并进行数据存储和数据处理。
本系统能对图书实行管理,并能按客户端登录用户实行三级权限管理:
读者、图书管理员和教师。
本系统分用户登录、图书查询、借还图书,系统管理等四大功能模块。
其中图书查询功能分为模糊查询、直接查询、多条件查询;系统管理则包括读者管理、图书信息管理、管理员权限帐户管理等。
本文针对目前高校系部图书管理实际,从系统的开发背景、需求分析、设计原则及开发过程等四个方面进行了全面的阐述。
本系统对于目前高校系部及中小型图书馆的建设有一定的指导意义。
关键词:
信息管理系统数据库VISUALBASICACCESS
BOOKSOREMANAGEMENTSYSTEM
ABSTRACT
LibraryManageSystemisatypicalmanageinformationsystem.Itincludetwoside,oneisfoundandvindicatebackglanddatabase,anothersideisdeveloptheappletsofforeheadsystem.Forthefirst,itneedfoundadatabasewithindenticaldata.Thefunctionofintegrityverypowerandnicefunctionofdatasafe.Forthelatteritneedthefunctionofappletsandeasytoload.
Themainappliedtechniquecontainthemicrosoftvisualbasicandthemicrosoftaccessescarryontheconcretedesignanddevelopments,andcarryonthedatasavingandthedataprocessing.Thissystemcanpracticethemanagementtothebook,andcanpresscustomertocarrytoregisterthex-ratedlegalpowermanagementofthecustomerexecution:
Reader,bookmanagingpersonandteacher.
Thissystemdividesthecustomertoregister,booksearch,borrowbook,systemthemanagementwaitthefourmajorfunctionmoldpiece.Amongthembooksearchthefunctionisdividedintothemistysearch,directsearch,manyconditionsearch;Thesystemmanagementthenincludesthereadermanagement,thebookinformationmanagement,managingpersonthelegalpowerbankaccountmanagementetc
Thistextaimsatthehighschooltoisabooktomanagecurrentlyphysically,carriedontoelaboratecompletelyfrom4ofthedevelopmentbackground,theneedanalysis,thedesignprincipleandthedevelopmentprocessetc.ofthesystem;Asystemdesign.Currentlythissystemhasthecertainleadingmeaningtotheconstructionofthedepartmentinthehighschoolandmediumsmallscaledlibrary.
KEYWORDS:
TheBookManagementSystem,Database,Access,VisualBasic
目 录
前 言1
第1章系统分析2
1.1开发背景2
1.2可行性分析2
1.3业务流程分析4
1.4数据流程分析7
1.5数据字典8
第2章系统设计10
2.1系统功能模块设计10
2.2数据库设计12
2.2.1逻辑结构设计12
2.2.2物理结构设计13
2.3输入、输出设计14
2.3.1输入设计14
2.3.2输出设计16
第3章系统实施18
3.1开发环境与工具18
3.2程序清单18
谢辞22
参考文献23
前 言
21世纪是信息咨询的时代。
在社会快人快速信息化的进程中,信息的管理起着重要的作用,则要把握信息的搜索、采集、归纳、整理、处理等等,使之转化为生产力,为此计算机被广泛应用于信息管理系统的环境。
计算机能够进行信息管理即展示它不可替代的地位。
使用计算机进行信息处理,可以减轻的生活的压力,同时提高工作效率,也为人们学习与工作带来信息的便利与安全可靠。
征对宏大的信息管理,计算机为此可以充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
即此系统便是为了管理图书馆信息策划设计的。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,管理员先前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。
缺乏有机组织系统,规范化的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,即为管理信息系统的开发的基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
图书馆采取手工方式对图书借阅情况进行人工管理,由于信息资源比较多,图书借阅信息的管理工作繁杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,由于图书馆的工作人员和管理员记录的数据有限加之时间限制,如再要进行查询,就得在众多的资料中翻阅、这样查询费时、费力。
那么对很长时间以前的图书进行更改就更加不现实。
基于这些问题,开发一个图书管理系统是相当务实的,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
第1章系统分析
1.1开发背景
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,管理员先前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。
缺乏有机组织系统,规范化的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,即为管理信息系统的开发的基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
图书馆采取手工方式对图书借阅情况进行人工管理,由于信息资源比较多,图书借阅信息的管理工作繁杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,由于图书馆的工作人员和管理员记录的数据有限加之时间限制,如再要进行查询,就得在众多的资料中翻阅、这样查询费时、费力。
那么对很长时间以前的图书进行更改就更加不现实。
基于这些问题,开发一个图书管理系统是相当务实的,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
此系统界面友好,功能强大,操作简单,使管理员的日常管理工作从以前繁琐的事务中解放出来,从而提高工作效率,更具有竞争力。
1.2可行性分析
可行性分析的任务是明确开发应用项目的必要性和可行性。
必要性已在市场调查中体现出来,而可行性则取决于实现应用系统的资源和条件。
可行性分析是系统分析继需求分析的第二项活动,主要目标是:
进一步明确系统的目标、规模和功能,根据需求提出开发系统的初步方案和计划。
可行性分析的内容主要包括:
管理上的可行性、技术上的可行性、经济上的可行性。
系统可行性是以详细调查为前提的。
调查的方法主要有召开调查会、访问、发调查表、参加业务实践。
本系统的调查主要是采用访问和参加业务实践的方法。
主要调查对象是洛阳中小学校,主要进行了管理业务调查和数据流程调查,认为此系统可以立即开发
1.技术可行性:
我选用VisualBasic6.0来实现《图书管理系统》的开发与设计在技术上是可行的。
我们开设了《VisualBasic6.0程序设计》等课程,让我系统地学习了计算机科技大量的理论知识和实践操作知识,已具备了一定程序开发的理论基础,制定了《图书管理系统》系统的开发方案和设计步骤,系统的性质为MIS,因而数据库的设计与操纵是系统设计的核心。
指导老师蒲海珍多年从事计算机的教学与研究工作,因而该系统的实现在技术上是可行的。
2.人员可能性
我以前做过课程设计,具有做系统的经验,目前时间充足,可以完成开发任务。
具有一定的文字功底,可以参与用户文档的制作、内部文档整理、后期测试等任务
3.经济可行性分析
经济上的可行性:
通过这个系统可以取代原来用笔和纸才能完成的工作,不用担心忘记或计算错误。
提高信息的利用率,减少管理员的工作量,查询方便,提高服务质量
4.运营可行性
1.本系统操作简单,易于理解,上手较快,运营环境低。
2.面对系统设计还应以“标准性、安全性、高效性、保密性和可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩张,留有余地,系统的开发应能在较长的时间内适应市场发展的需求。
1.3业务流程分析
在概念设计阶段中,将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。
利用ER方法进行数据库的概念设计,可分成三步进行:
首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。
1.设计局部ER模式
本系统各实体属性图及系统E-R图如下:
图1-1用户实体及其属性图
图1-3读者实体及其属性图
2.设计全局ER模式
(1)确定公共实体类型为给多个局部ER模式
的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。
其中我们仅根据实体类型名和键来认定公共实体类型。
一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。
(2)局部ER模式的合并
合并的原则是:
首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。
(3)消除冲突
冲突分为三类:
属性冲突、结构冲突、命名冲突。
设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。
(4)全局ER模式的优化
在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。
一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:
实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。
综上所述“图书管理系统”的全局ER模式如图1-4所示。
图1-4系统总体E-R图
1.4数据流程分析
本系统的数据流图如下:
1.5数据字典
1.本系统的主程序流程图如下:
图1-7主程序流程图
2.根据数据流程图得到以下数据字典:
(1)数据流条目
图书管理要求=[入库单|借书单|还书单|注销单]
入库单=图书编号+图书名称+作者+出版社+价格+出版日期+入库日期
借书单=读者编号+读者姓名+图书编号+图书名称+借阅日期
还书单=读者编号+读者姓名+图书编号+图书名称+还书日期
罚款单=逾期天数+罚款金额
注销单=图书编号
查询要求=[读者情况|较快情况|统计要求]
(2)文件条目
文件名:
读者文件
组成:
{读者号+姓名+所在单位}
组织:
按读者号递增顺序排列
文件名:
目录文件
组成:
{图书编号+书名+作者+价格+入库日期+出版日期+总数+库存数}
组织:
按分类目录号的字母顺序排列
文件名:
借书文件
组成:
(借书记录+还书日期)
组织:
按借阅日期顺序排列
第2章系统设计
2.1系统功能模块设计
根据实际需求,本系统的功能设计主要完成了四大功能:
图书进库、图书借阅、学习信息管理,统计报表。
管理员通过身份验证进入系统后,可以完成:
图书相关信息的登记;图书的借阅,查询包括库存信息、还书信息和借书历史的查询,可以看到图书的借还历史情况,做出有针对性地政策,使图书借阅更具有人性化,提升服务品质,了解借阅历史,是做出及时正确决策的依据;学生进入系统可进行分别库存信息和已借出信息的查询,通过书名、作者、类别查询库存信息,以帮助借阅者以最快的方式了解到书籍信息,报表的生成,实现了多数据库表的连接操作,实现了多条件查询和模糊查询,并灵活实现了对不可更新查询结果集的更新操作,实现了主从表操作,实现了密码维护功能,完成这些功能,足以使管理员的日常管理工作从以前繁琐的事务中解放出来,从而提高了工作效率,更具有竞争力。
下面是本系统的功能结构图:
用户管理模块
添加用户
删除用户
打印
注销
退出
图2-1用户管理模块
学生管理模块
添加学生信息
删除学生信息
修改学生信息
查看学生信息
打印学生信息
图2-2学生管理模块
图书管理模块
修改图书信息
添加图书信息
删除图书信息
查看图书信息
打印图书信息
图
图2-3图书管理模块
借书模块
借阅图书
查看库存信息
图2-4借书模块
功能结构图是没有脱离物资要素的,而用计算机进行管理,必须舍去物资要素,剩下为数据的流动,加工除了和存储,即数据流程图。
它可以用少数的几种符号综合地反映出信息在系统中的流动、处理和存储情况。
2.2数据库设计
2.2.1逻辑结构设计
前面我们设计了全局的E-R图,用数据库管理信息系统,必须将E-R图转换为DBMS产品所支持的数据模型相符合的逻辑结构。
我们将E-R图可以转换成关系、网状和层次模型,本系统将转化为关系模型。
User表(用户类型,用户名,用户密码);
Book表(图书编号,图书名称,作者,出版社,出版日期,定价,入库时间,备注);
Stu表(学号,姓名,性别,年龄,系别,专业,班级,备注,图书编号,图书名称,作者,出版社,出版日期,定价,入库时间,备注);
2.2.2物理结构设计
数据库的物理结构设计,是希望设计优化的物理数据结构,使得在数据库上运行的各种事物相应时间段,存储空间利用率高。
在本系统中可有很多高效的查询功能,为保证运行效率,将库存表的书号和客户信息表的客户编号均设为主索引(不可重复),同时还可建立多个普通索引。
客户信息表、销售历史表和客户订购表均参照于库存表的书号,与之建立级联关系,父表中字段的值改变时,子表的字段值随之改变,就免了多表联系时,容易造成数据不一致的问题。
同时在字段设置中还设置了字段的有效性,以减少差错率。
1.user表
表2-1用户类别信息表的结构(User)
字段名
数据类型
数据长度
用户名
文本
20
拥护类型
文本
6
密码
整型
8
2.stu表
表2-2借阅者基本信息表的结构(Stu)
字段名
数据类型
数据长度
学号
整型
8
姓名
文本
8
性别
文本
2
系别
文本
20
专业
文本
20
班级
文本
10
备注
文本
50
3.book表
表2-3图书信息表的结构(Book)
字段名
数据类型
数据长度
图书编号
文本
10
图书名称
文本
20
出版日期
日期
10
图书价格
数字
8
图书作者
文本
8
出版社
文本
20
备注
文本
50
2.3输入、输出设计
2.3.1输入设计
1.系统设置中的登录界面
图2-5系统登录界面
2.图书入库界面:
图2-6图书入库界面
3.添加学生信息界面:
图2-7图书入库界面
3.借阅图书界面
图2-8借阅图书界面
2.3.2输出设计
常用的输出设计是报表和查询。
在数据环境中加入多表,进行多表连接,完成计算统计功能。
如本系统中的库存查询和销售统计,还有库存报表和利润报表。
销售统计和利润报表中加入了销售历史表和客户信息表,查询和统计使用表格的格式输出,而且在查询中有多种条件可共选择,方便适用。
报表是一种更直观明了的方式,利润报表还包括了多表之间的数据计算,减少了出错率,提供了数据的利用率,并且节省了存储空间。
1.库存查询界面:
图2-9库存信息界面
2.借出信息界面
图2-10库存信息界面
第3章系统实施
3.1开发环境与工具
1.开发环境
系统开发环境为一台安装windowsxp的个人计算机作为客户机,其上安装了Access,本系统使用VisualBasic6.0来开发,系统设计与运行均可在客户机上进行。
2.开发工具
本系统的开发工具为VISUALBASIC6.0,作为一种开发语言,VISUALBASIC6.0率先采用了可视化(VISUAL)的程序设计方法。
利用系统提供的大量可视化控件,可以方便的以可视化方式直接绘制用户图形界面,并可直观、动态的调整界面的风格和样式,直到满意为止,从而克服了以前必须用大量代码去描述界面元素的外观和位置的传统编程模式。
同时它还拥有面向对象的编程方法。
面向对象的程序设计是伴随WIDNOWS图形界面的诞生而产生的一种新的程序设计思想,与传统程序设计有着较大的区别,VISUALBASIC6.0采用了面向对象的程序设计思想。
所谓“对象”就是现实生活中的每个一人,每一个可见的实体。
同样,在VISUALBASIC6.0中,用来构成用户图形界面的可视化控件,也可视为是一个对象。
不同的对象,在程序中所赋给它的功能是不同的,比如,在图形界面上有两个命令按钮,一个用来实现数据的统计计算,另一个用来实现数据的打印,这两个按钮就可视为是两个不同的对象,为了实现这两个对象各自不同的功能,接下来就应该分别针对这两个对象编写程序代码,这种编程的思想和方法即为所谓的“面向对象的程序设计”。
3.2程序清单
1.登录界面程序代码:
PrivateSubCommand1_Click()
DimaaAsString,bbAsString,ccAsString
aa=Trim(Text1.Text)
bb=Trim(Text2.Text)
cc=Trim(Combo1.Text)
IfText1.Text=""OrText2.Text=""Then
ans=MsgBox("你的输入有误,请重新输入!
!
!
",64,"提示")
Text1.Text=""
Text2.Text=""
Else
Adodc1.RecordSource="select*fromuserwhere用户类型='"&cc&"'and用户名='"&aa&"'an用户密码='"&bb&"'"
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount=0Then
ans=MsgBox("用户名或密码错误,请重新输入!
!
!
",64,"提示")
Text1.Text=""
Text2.Text=""
Text1.SetFocus
Else
Ifcc="管理员"Then
qx="a"
Else
qx="b"
EndIf
UnloadMe
Form2.Show
EndIf
EndIf
EndSubPrivateSubCommand1_Click()
Data1.Recordset.MoveLast
Data1.Recordset.Edit
Data1.Recordset.AddNew
ans=MsgBox("添加用户信息成功!
!
!
",64,"提示")
Data1.Recordset.Update
Data1.Recordset.Edit
Data1.Recordset.AddNew
Data1.Recordset.Update
EndSub
2.添加用户代码
PrivateSubCommand1_Click()
Data1.Recordset.MoveLast
Data1.Recordset.Edit
Data1.Recordset.AddNew
ans=MsgBox("添加用户信息成功!
!
!
",64,"提示")
Data1.Recordset.Update
Data1.Recordset.Edit
Data1.Recordset.AddNew
Data1.Recordset.Update
EndSub
3.借阅图书代码
PrivateSubCommand1_Click()
DimaaAsString
aa=Trim(Text1.Text)
Data1.RecordSource="select*frombookwhere图书编号='"&aa&"'"
IfData1.Recordset.EOFThen
ans=MsgBox("此书已借