1、图书馆管理系统论文 作者: 日期:2 个人收集整理 勿做商业用途毕业论文(设计)题 目 图书管理系统 系部名称 电子信息系 专 业 计算机网络 学生姓名 万福臣 学 号 090593 指导教师 茹老师 内容摘要随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。图书管理系统可以有效的管理图书资源,控制图书增加,删除,修改,借阅的流程,对高校图书馆的管理有很大的帮助.图书馆管理系统能够为管理员提供充足的信息和快捷的查询手段。学校图书馆,书目繁多,用户的信息冗杂,且信息数据在每天变化,如果采用人工方式进行管理控制,不仅工作量庞大,而且容易出错。针对这样的情况,采用MI
2、S,让一切都在掌控之中。作为计算机应用的一部分,使用计算机对图书资源信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书馆管理的效率。技术上:建立图书管理信息系统可以采用常用的设计语言-Visual Basic,用Microsoft Access 2000 数据库完成。管理上:系统简单易操作,只要对图书管理员简单培训,并设定相应规章制度,即可实行。经济上:系统的建立可降低管理费用。通过本系统,把本校图书馆书目信息,用户信息及其借阅信息,管理员权限维护管理等各个环节进行有效组织和控制。采用图书馆管理信息
3、系统,可以有效地管理图书资源,控制图书借阅的流程,对图书馆或阅览室的管理有很大的帮助,提高工作效率,减轻管理者工作量,对图书馆或阅览室的管理有很大的帮助。图书馆管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析如此情况,我们使用VB。NET开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到
4、达到使用方便的目的。 关键词:图书馆管理系统; 信息交流; 辅助决策; MIS; Visual Basic 图目 录第一章 绪 论1第二章 图书馆管理系统的分析和设计321 图书馆管理系统的分析和概要设计3第三章 图书馆管理系统的具体实现731模块化的开发环境的简介73。1.1 VISUAL BASIC简介VB简介732图书馆管理系统流通子模块中用到的数据库:833系统模块的具体实现1034 利用DATA控件访问数据库1635显示数据库中的内容1936下面举例对SQL语句进行详细说明:19第四章 结束语23致 谢24参考文献25第一章 绪 论本系统基于好用、易用、美观的原则为用户定制了一套统一
5、的人机界面。随着计算机技术、网络技术、数据库技术的发展,人类已经逐步迈入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,提高工作效率。图书管理系统是典型的信息管理系统(MIS),要求建立起数据信息一致性和完整性、系统功能完备,易操作使用等特点.同时,系统的开发建立有Microsoft A
6、ccess 2000 数据库、SQL语言、Visual Basic 、因特网、局域网等现代信息技术做基础,满足系统建立的要求。本次对图书管理系统的设计分析,主要完成对图书管理系统的可行性分析、功能模块划分、流程图设计,数据字典建立,有利于对图书馆资源进行高效管理控制,并且合理管理好用户的借还信息,提高图书馆的运作效率,降低管理费用。系统各模块按功能主要分为两大类:编辑类完成以编辑为主的功能,如增加、删除、修改等;浏览类完成以再现为主的功能,如查询、浏览、统计等.由于它们完成功能的侧重点不同,所以在界面布置上就有一定的差别。系统的每一模块根据需要又具有查询等功能。针对我院图书馆的业务范围及工作特
7、点,设计了采购子系统、编目子系统、检索统计子系统、流通信息子系统及系统维护子系统,这几个子系统包括了图书馆的主要业务工作,可以全面实现对图书馆的采购、编目、检索、统计和流通等业务的计算机管理。它能使图书馆工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高图书馆的管理效率及服务质量,从而使图书馆管理水平和业务水平跃上一个新的台阶。 流通子模块的总特点:流通子系统功能概述具有以下特点:-任何类型的读者针对任何类型的文献可采用不同的借阅制度,对读者借某一类型的书多少有限制。-在借书、还书中采用手工输入方式。-在借书、还书、续借中自动提示还书日期。 -读者在办理借书证件后立
8、即可以借书. -功能: 1。数据智能查询模块; 2.数据自由统计功能; 3。数据统计图; 4。借书限定功能; 5。借书超期自动提示功能; 6。直接SQL语句查询数据; 7。修改表功能;8.动态用户授权管理。操作界面: 1。简捷一致的用户界面; 2.全部采用图形按钮立体汉字提示; 3。表格中文字和图形同时显示、操作。新的性能: 1。完全的可执行文件、更快更稳定的执行速度; 2。全面的容错处理、使数据更安全; 3。动态表加密,保护数据环境。该系统共分为五个子功能模块:采购模块、编目模块、流通模块、检索与统计模块、系统维护模块.本项目的任务是编写出适合我院图书馆的信息管理系统。本软件旨在为学生和图书
9、馆管理人员提供一个功能齐全、使用快捷的图书馆管理系统。第二章 图书馆管理系统的分析和设计 2.1 图书馆管理系统的分析和概要设计根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型.使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足.此时模块也发展成为最终产品了。通过对用户需求的分析,我们可以分析出该图书馆管理系统流通子模块大致可以分为密码身份验证读者或工作人员密码反馈信息密码流通打开新密码记录数据外设流通统计流通结果四个小模块:借书模块、还书
10、模块、续借模块、查询模块、流通统计、同时我还增加了新书录入模块和用户口令模块。下图说明五者的关系流通流通参数流通管理读者借书读者还书读者续借图书流通统计以上是方框图注销修改数据库还书流水表、借书流水表、借书历史表还书图书损坏身份验证还书单管理人 员失败读者书卡还书修改数据库借书图书续借借书单检索图书总表读者信息图书信息借书修改数据库可借图书借书流水表密码表赔偿以上是流程图功能描述1新书录入新书录入设置主要是为图书流通环节(如借书、还书等)做准备工作,在这里用户可以定义不同的读者类型,不同类型的读者具有不同的借书限制同时每一类图书的可借册数不能超过借书总数。读者借阅图书的时间不能超过可借天数;2
11、读者借书功能:自动审查读者的借书证件是否有效。并为读者办理借阅手续。先进行读者编号登录,自动显示出该读者所借的图书,然后在输入要借图书的编号,按登录,单击“借书”即可。3读者还书功能:自动审查读者的借书证件是否有效。并为读者办理还书手续. 利用查阅借书人的借书证件还书(通过输入借书证号的方法),或利用借书人所借书的条码号或书名的方法。输入要还图书的编号,会显示出该图书的借出时间,还书时间,超期会提醒你等。点击“还书”即可。4图书续借功能:续借图书,当有读者需更多时间去浏览此书,可通过图书续借去使用更长的时间.本子系统提供了只要通过修改借书日期的方式实现简单的续借程序。先输入读者编号登录,自动显
12、示出该读者所借的图书,然后单击要续借的图书,将时间该为即可5图书流通统计功能: 图书流通统计主要是对借阅图书的统计,借阅情况的统计对研究文献流通数量方面发展变化的程度和规律具有参考价值,并能为实现文献流通工作的目标管理提供了科学的手段和方法。6查询对图书库进行查询,以便用户快速知道试卷合订本的具体信息.数据字典名字:用户号描述: 此用户在图书馆中 的惟一的标识.定义:1数字8.位置: 用户信息 名字:图书号描述: 此书在图书馆中的惟一的标识.定义:1数字8.位置: 图书信息 借阅信息名字:借阅号描述:用户在图书馆中借还书的惟一的标识.定义:1数字8.位置: 借阅信息名字:管理员号描述:管理员在
13、图书馆中的惟一的标识.定义:1数字5.位置: 管理员信息名字:图书信息描述:描述图书馆所有已录入的书目信息及该书的库存情况.定义:图书号+图书名+图书作者+出版时间+索取号+价格+图书条码。位置:事务名字:密码描述:用户和管理员进入管理系统的条件.定义:1数字或字符8.位置: 管理员信息 用户信息名字:管理员信息描述:描述管理员身份和密码.定义:管理员ID+密码。位置:事务第三章 图书馆管理系统的具体实现3.1模块化的开发环境的简介3.1.1 VISUAL BASIC简介VB简介VISUAL BASIC是微软公司出品的一个快速可视化程序开发工具软件。借助微软在操作系统和办公自动化软件的垄断地位
14、,VB在短短的几年内风靡全球。VB是极具特色和功能强大的软件,主要表现:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,教易维护的代码。同时众多的ACTIVE控件,提高了软件的使用效率。VB应用程序语言的基本特点:1 可视化界面设计:VB为用户提供大量的界面元素(在VB中称为控件对象),这些控件对象对于熟悉WINDOWS应用程序的用户来说是一点也不陌生,如“窗体”,“菜单”,“命令按扭”,“工具按扭”,“检查框”等等,用户只要利用鼠标、键盘把这些控件对象拖动到合适的位置,设置其大小、形状、属性等,就可以设计出所需的应用程序界面。2 事件驱动编程在使用VB设计应用程序是,必须首先确
15、定应用程序如何同用户进行交互。例如发生鼠标单击、键盘输入等事件是,由用户编写代码控制这些事件的响应,这就是所谓的事件驱动编程。3与数据库的连接性 VISUAL BASIC提供了与底层数据库系统紧密的连接。 VISUAL BASIC支持不同的关系数据库管理系统并充分发挥每一个数据库的特长.开发人员和利用内置的高性能数据库引擎-JET生成独立应用或脱离服务器运行的服务以上的应用,在开发该图书馆管理系统时,笔者就是使用该种数据库引擎.VISUAL BASIC存取数据库的方式有两种: 通过使用的ODBC接口。(ODBC(开放数据库连接)是微软公司的数据库连接标准)通过使用由VISUAL BASIC提供
16、的专用的直接与数据库相连的接口32图书馆管理系统流通子模块中用到的数据库:数据只有用数据库来管理才能有自动化管理的可能。数据的结构将影响整个管理机制的应用,而且一但建立以后要修改常会出现麻烦。所以一开始就要仔细慎重地搭建一个完整而合理的结构.对于我们用简单易操作的Microsoft Access数据库是比较适合的。我的范例中的数据库文件就是Access类型的数据库.数据库中共有七个数据表“图书总表(对试卷合订本总概括,如条形码号、编号、合订本名称、分类等字段)和“图书分表”(对试卷合订本里边的内容的简单介绍,如编号,试卷代码、试卷名称、页号等字段)、“读者“(存储读者的一些基本信息,如姓名、学
17、生证号,班级等一些字段)、”借书流水表“、”还书流水表“、借书历史表“,读者在借阅过程中管理员要对这三个表进行修改。还有就是管理员的登录时用到的”密码“表.(如图下图).3.3系统模块的具体实现 在本系统中有四个子模块组成。它们分别是登录小模块、借阅小模块、流通统计小模块和查询小模块、,下面就开发这几个模块的过程及所遇到的问题分别加以介绍。该模块主要完成新书的录入、查询、统计及借阅功能。在此模块中定义了四个主要窗口:借阅窗口、新书录入窗口和条件查询窗口,流通统计窗口。当你第一次启动本图书馆信息管理系统时,系统将出现如图所示界面,用户只要选择自己的用户名称,同时输入相对应的密码按确定即可以进入图
18、书馆信息管理系统的主控界面,此时你作为超级用户对整个系统具有控制权,你首先应该做的就是更改密码.登录子模块有“用户名称“,”用户口令“,”当前日期“等字段。用户还可以在管理员小模块对用户进行增加、修改、删除等功能。登录子模块的界面:查询子模块主要对“图书总表“和”图书分表“两个数据库进行查询,根据两个数据库中的编号相同进行查询来得到结果,组合查询提供所有可检索字段(包括条形码号、编号、类别、合订本名称、试卷代号、试卷名称、页码、第几册等)的任意组合条件检索,功能强大,能保证一定的查准、查全率;同时提供你”并且“和”或者“两种查询方式.查询子模块界面:新书录入窗口中显示的是员工必要信息.可供用户
19、增加、修改、删除、查询等功能。向数据库中添加新的记录、删除不需要的记录、修改错误的记录、对数据库中的信息进行查询。当用户想修改某条记录时,只要双击MSFLEGRID控件中您要修改的记录,就会自动弹出详细信息窗体,该窗体已经显示了你要得信息,你就可以对其该条记录进行修改了。本系统的一大特点可以直接在MSFLEGRID中进行数据修改,只要双击MSFLEGRID,他就会出现TEXT文本框,COMBOL下拉列表框形式然后再其中输入数据,按ENTER键即可完成修改,并保存在数据库中。同时可以向“图书总表“和”图书分表“数据库增加数据。新书录入的界面:该模块主要根据图书流通情况进行统计,同时可以根据试卷合
20、订本的登记时间段对数据库中的数据进行统计,然后按“图书总表“中”统计“字段对统计结果进行排序,同时还可以根据选择“FRAME框的OPTION控件选择一种关系,然后在TEXT框中输入数字,按”显示“按钮,MSFLEGRID中”统计“字段的满足该关系的数据显示为红色,以便用户容易浏览。流通统计子模块:该模块主要完成读者借阅功能,也是最重要的一项功能,图书馆管理员可以根据读者的借书 证号来完成借阅功能,同时根据条形码号进行还书,管理员输入读者借书证号,按登录按钮后,读者上次的借阅情况就会在MSFLEGRID中显示出来,以便管理员能核对一下,以免出错,假如你已经超过最大的借阅量,系统还会自动提醒管理员
21、该读者已经不能继续借书了。同时还可以进行简单的续借功能,只要单击MSFLEGRID中想要续借的记录项,按“保存“按钮即可更改借书日期.在借书在个界面中,只要你输入借书证号,按“登录”按钮,其他文本框中的信息就会自动弹出,同时输入条形码号,按“借书”即可完成借书功能.在还书界面中只要输入条形码号,按“还书”按钮就可完成还书功能。当你借书超期时,系统自动弹出对话框提醒用户超期.借阅子模块的界面:3。4 利用DATA控件访问数据库该软件是利用ACCESS数据库,操作方便,简单.在ACCESS数据库中不需要创建数据连接,因为它是VB中默认的数据库形式。以归纳为以下几步:1创建数据库源名(DATABAS
22、E)2创建数据对象3操作数据库4关闭数据对象和链接每一步的作法如下:一、 创建数据源名先进行定义:DIM DB AS DATABASESet db = OpenDatabase(”e:图书馆管理系统sjhdb。mdb”)也可以直接在DATA控件的属性中的DATABASENAME直接进行连接。二、创建数据对象(Record Set)ADO中的数据对象通常保存的是查询结果。Record Set是ADO中最复杂的对象,有许多属性和方法。Record Set保存的是一行行的记录,并标有一个当前记录。以下是创建方法:可以直接利用DATA控件直接绑定,在DATA控件的属性中的RECORDSOURCE对数据
23、表进行连接。Set Record Set=DB.Openrecordset(sqtStr)这条语句创建并打开了对象Record Set,其中db是先前创建的链接对象,sqtStr是一个字串,代表一条标准的SQL语句。例如:sqlStr=“SELECT * FROM tab1Set Record Set=DB.Openrecordset(sqtStr)这条语句执行后,对象Record Set中就保存了表tab1中的所有记录。三、操作数据库我们通过调用链接对象的openrecordset方法来将查询结果返回给一个数据对象或进行插入、删除等操作。例如:修改:sql1 = ”select from 图
24、书总表 where 条形码号= Text3(3)。Text ”If sql1 ” ThenSet rec = db。OpenRecordset(sql1)rec.Editrec。Fields(8)。Value = CDate(DTPicker3.Value)rec.Fields(5).Value = CBool(a)rec.Fields(6)。Value = Text3(8).Textrec。Updaterec.CloseEnd If删除:Data2.Recordset。MoveFirst Data2。Recordset。Move MSFlexGrid2。RowSel - 1 Dim s As
25、 Integer s = MsgBox(”确定删除这组记录吗?删除后将不能恢复数据!”, vbYesNo + vbQuestion, ”删除确定”) If s = 6 Then Data2.Recordset.Delete Data2.Refresh Data2.Recordset.MoveNext增加:Set rs = db。OpenRecordset(借书流水表”)rs。AddNewa = Falsers。Fields(0).Value = Trim(Text1(0).Text)rs。Fields(1)。Value = Trim(Text1(1)。Text)rs.Updaters.Clos
26、e四、关闭数据对象和链接对象在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。通过调用方法close实现关闭,然后再释放它.Record Set.closeSet Record Set=Nothing/关闭创建的数据对象mConn.closeSet mConn=Nothing/关闭创建的链接对象35显示数据库中的内容我利用MSFLEGRID控件来显示数据库中的内容,可以直接通过DATA控件来实现操作,也可以利用代码来完成相关的操作。第一种方法:设置MSFLGRID控件的属性Datasource属性第二种方法: sql = ”select * from 借书流水表 where 借书证
27、号= & Text1(0)。Text & ” If sql ” Then Set rs = db。OpenRecordset(sql) End IfIf Not (rs。BOF And rs。EOF) ThenDo While Not rs.EOFMSFlexGrid1。TextMatrix(0, 0) = ”MSFlexGrid1。TextMatrix(0, 1) = ”借书证号”MSFlexGrid1.TextMatrix(0, 2) = 姓名MSFlexGrid1。AddItem vbTab rs.Fields(0).Value & vbTab rs.Fields(1).Value &
28、vbTab & rs.Fields(2) rs.MoveNextLoopEnd Ifrs。Close/以上是完成查询结果的数据显示36下面举例对SQL语句进行详细说明:一个访问数据库的程序段,对于不同的用户以及一个用户的不同行为,要其执行的SQL语句是不同的,其不同主要表现在查询、插入或更新时的参数不同,于是我们将SQL语句定义为含变量的字符串(dim sql as string),通过赋予变量不同的值便产生出适合的SQL语句串,再通过数据对象的相应方法来执行它,完成所需的数据操作.这一方法的运用详见下面部分.第一 对登录界面进行简单介绍(我在这段程序中使用ADODB数据源)/用SQL语句从数
29、据库中的密码表中取得用户名称和相应的密码sql = select * from 密码 where 用户名称= txtUserName。Text & and 密码= txtPassword.Text ”Set rs = conn。Execute(sql)/用一个循环语句将密码表中的所有用户名显示在登录界面的用户名称下拉列表框中供用户选择conn。Open connstrrs。Open ”select 用户名称 from 密码, conn, adOpenStatic, adLockReadOnlyDim i As String For t = 0 To Val(rs。RecordCount) -
30、1 i = Trim(rs.Fields(”用户名称”).Value) rs.MoveNext txtUserName。AddItem i Next trs.Close第二 对查询界面进行简单介绍Private Sub Command1_Click()strSQl = ”/以下语句实现或者查询模式If Option2。Value = True Then If Check1。Value = vbChecked Then strSQl = 图书总表.编号=” Text1(0).Text & ” End If If Check2.Value = vbChecked Then If strSQl =
31、” Then strSQl = 图书分表。类别=” & Combo1。Text & ” Else strSQl = strSQl or 图书分表.类别= & Combo1.Text & End If End IfEnd ifmake the search、/以下是用SQL语句对图书分表和图书总表按编号相同进行查询:sql1 = SELECT 图书总表.,图书分表.试卷代号,图书分表。试卷名称,图书分表.页号sql1 = sql1 FROM 图书总表,图书分表”sql1 = sql1 ” WHERE & strSQl & and 图书总表.编号 = 图书分表.编号End If show the
32、found records/对查询结果创建数据RECORDSET对象:If sql1 Then Set rs = db.OpenRecordset(sql1) Set Data1。Recordset = rs End If Data1。Refresh show number of rsords found Me.Caption = ”总共找到 & CStr(rs。RecordCount) ” 记录 close the rsordset rs。Close Exit SubEnd sub第四章 结束语通过本次系统的设计分析,加深了对管理信息系统这门课程的认识和理解。进一步了解了信息系统的功能和作用
33、,掌握了管理信息系统开发和建立的要点,通过学习,初步掌握开发管理信息系统和在管理中应用计算机的基础能力。管理信息系统是一个社会技术系统,它在应用过程中涉及管理制度、权力结构和人的习惯等等,因此它不但技术要求高,而且影响因素众多,是一个极其复杂的系统。由此,我们以后对于管理信息系统的学习中,应该尽量联系生产实际,通过实际操作获得对感性认识,提高应用能力和在实践中解决问题的能力及在团队中的协作能力.致 谢在论文完成之际,我要感谢我的指导老师茹兴旺老师。茹老师在选题和论文的撰写,都给了我精心的指导。他严谨的做事态度感染着我,使我难以忘怀。特别是论文紧张的撰写过程中,茹老师的严格要求使我得以顺利完成论
34、文.在本次毕业设计中,我从指导老师身上学到了很多东西。他深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助。同时也感谢学校的老师们,正是有了他们的悉心教导,才使我能够日益进步,逐渐成长。另外,还要感谢我的家人,是他们对我无私的爱和莫大的支持,使我具有了克服困难的勇气。最后,感谢茹兴旺老师对我的论文的悉心批评和指正!参考文献1 Visual Basic 6.0 程序设计教程(高等教育出版社) 龚沛曾 陆慰民 杨志强 编著2 MSDN - Microstft Developers Network Microst
35、ft 1998 Microstft 编著3Visual Basic 企业办公系统开发实例导航(人民邮电出版社)刘萌 周学明 郭安源 编著4Visual Basic 程序设计教程(北方交通大学出版社) 李振亭 编著 5Visual Basic 用户编程手册(人民邮电出版社) 林永 张乐强 编著6数据库系统概论(高等教育出版社) 萨师煊 王珊 编著7现代软件工程(北京希望电子出版社) 孙涌 编著8Visual Basic数据库系统开发实例导航(人民邮电出版社)9VB控件应用编程实例教程(北京希望电子出版社)张学忠 王福成 编著10Office 2000中文版(清华大学出版社) 东方人华 编著11VB数据库程序设计高手(科学出版社) 温贤发 编著12软件需求(电子工业出版社) Soren Lauesen 编著 刘晓晖 译13VB6.0中文版教程(电子工作出版社) 新智工作室14VB编程技巧280例(上海科学普及出版社) 源江科技15visual bisic数据库实用程序设计100例 人民邮电出版社 段兴 主编 吴德胜、齐晓亮、肖仁华编著28