图书管理系统.docx
- 文档编号:10256037
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:33
- 大小:419.09KB
图书管理系统.docx
《图书管理系统.docx》由会员分享,可在线阅读,更多相关《图书管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
图书管理系统
题目:
姓名:
专业:
计算机应用专业
指导教师:
学校:
丽水
日期:
目录
摘要
第一章 开发图书馆管理系统的总叙述·
图书馆管理系统的简介
第二章 图书馆管理系统的分析和设计
2.1图书馆管理系统的分析与概要设计
2.2图书馆管理系统的数据库设计
·
第三章 图书馆管理系统的具体实现
3.1模块的开发环境的简介VISUALBASIC
3.2图书馆管理系统流通子模块中用到的数据库:
3.3系统模块的具体实现
3.4利用DATA控件访问数据库
3.5.显示数据库中的内容
3.6举例分析说明
3.7出错处理
第四章操作常识说明
第五章 结束语
致谢
参考文献
摘要
图书馆管理系统是一些单位不可缺少的部分,书籍是人类不可缺少的精神食粮,尤其对一些学校来说,尤其重要。
所以图书馆管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理图书、期刊、试卷合订本等,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对图书资源信息进行管理,具有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高图书馆管理的效率,也是企业、学校的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套图书馆管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
图书馆管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强.数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析如此情况,我们使用微软公司的VISUALBASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
第一章开发图书馆管理系统的总叙述
本系统基于好用、易用、美观的原则为用户定制了一套统一的人机界面。
系统各模块按功能主要分为两大类:
编辑类完成以编辑为主的功能,如增加、删除、修改等;浏览类完成以再现为主的功能,如查询、浏览、统计等。
由于它们完成功能的侧重点不同,所以在界面布置上就有一定的差别。
系统的每一模块根据需要又具有查询等功能。
本图书馆的业务范围及工作特点,设计了采购子系统、编目子系统、检索统计子系统、流通信息子系统及系统维护子系统(但本人只负责流通这一块),这几个子系统包括了图书馆的主要业务工作,可以全面实现对图书馆的采购、编目、检索、统计和流通等业务的计算机管理。
它能使图书馆工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高图书馆的管理效率及服务质量,从而使图书馆管理水平和业务水平跃上一个新的台阶。
该系统适用于各类专业、中、小型图书馆,各类大中专院校、中小学校、企事业单位的图书馆和资料室的现代化综合管理。
本人负责对流通子模块的总特点:
具有以下特点:
----任何类型的读者针对任何类型的文献可采用不同的借阅制度,对读者借某一类型的书多少有限制。
----在借书、还书中采用手工输入或IC卡方式。
----在借书、还书、续借中自动提示还书日期。
----读者在办理借书证件后立即可以借书。
-功能:
1.数据智能查询模块;
2.数据自由统计功能;
3.数据统计图;
4.借书限定功能;
5.借书超期自动提示功能;
6.直接SQL语句查询数据;
7.修改表功能;
8.动态用户授权管理。
操作界面:
1.简捷一致的用户界面,傻瓜式操作方式;
2.全部采用图形按钮立体汉字提示;
3.表格中文字和图形同时显示、操作。
新的性能:
1.完全的可执行文件、更快更稳定的执行速度;
2.全面的容错处理、使数据更安全;
3.动态表加密,保护数据环境。
项目名称初步定为图书馆管理系统(lmslibrarymanagementsystem)。
分为五个子功能模块:
采购模块、编目模块、流通模块、检索与统计模块、系统维护模块(本人只负责流通子模块)。
本项目的任务提出者为丽水电大图书室,开发者为本组成员。
本项目设计过程中参考了慧尔、用易图书馆管理系统。
本软件旨在为读者和图书馆管理人员提供一个功能齐全、使用快截的图书馆管理系统,以代替传统的手工卡片管理系统。
硬件环境:
服务器:
PII26664M2G以上
客户机:
PII13316M网卡等
网络带宽:
10M以上
软件环境:
服务器端:
NT4.0以上,IIS4.0以上
客户端:
WINDOWS9X,IE4.0以上
采用WIN98/2000/XP
本图书馆管理系统将提供一个既可以存储信息又可以进行增加,删除,修改,查询,同时该系统适用于各类专业、中、小型图书馆,各类大中专院校、中小学校、企事业单位的图
书馆和资料室的现代化综合管理。
第二章图书馆管理系统的分析和设计
2.1图书馆管理系统的分析和概要设计
根据实际情况,我们使用原型法(RapidPrototyping)即以少量代价快速地构造一个可执行的软件系统模型。
使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。
此时模块也发展成为最终产品了。
通过对用户需求的分析,我们可以分析出该图书馆管理系统流通子模块大致可以分为
四个小模块:
借书模块、还书模块、续借模块、查询模块、流通统计、同时我还增加了新书录入模块和用户口令模块。
下图说明五者的关系
以上是方框图
以上是流程图
1.新书录入
新书录入设置主要是为图书流通环节(如借书、还书等)做准备工作,在这里用户可以定义不同的读者类型,不同类型的读者具有不同的借书限制同时每一类图书的可借册数不能超过借书总数。
读者借阅图书的时间不能超过可借天数;
2.读者借书
功能:
自动审查读者的借书证件是否有效。
并为读者办理借阅手续。
先进行读者编号登录,自动显示出该读者所借的图书,然后在输入要借图书的编号,按登录,单击“借书”即可。
3.读者还书
功能:
自动审查读者的借书证件是否有效。
并为读者办理还书手续。
利用查阅借书人的借书证件还书(通过输入借书证号的方法),或利用借书人所借书的条码号或书名的方法。
输入要还图书的编号,会显示出该图书的借出时间,还书时间,超期会提醒你等。
点击“还书”即可。
4.图书续借
功能:
续借图书,当有读者需更多时间去浏览此书,可通过图书续借去使用更长的时间。
本子系统提供了只要通过修改借书日期的方式实现简单的续借程序。
先输入读者编号登录,自动显示出该读者所借的图书,然后单击要续借的图书,将时间该为即可
5.图书流通统计
功能:
图书流通统计主要是对借阅图书的统计,借阅情况的统计对研究文献流通数量方面发展变化的程度和规律具有参考价值,并能为实现文献流通工作的目标管理提供了科学的手段和方法。
6.查询
对图书库进行查询,以便用户快速知道试卷合订本的具体信息
用户界面
采用windows的通用图形界面,对用户友好,且必须对鼠标和键盘提供支持,界面设计应遵循如下规则:
1.界面要有一致性;
2.提供简单的错误处理;
3.提供信息反馈;
4.操作可逆,其动作可以是单个的操作,或者是一个相对独立的操作序列;
5.设计良好的联机帮助
6.显示启动画面,画面简洁明快;
但本系统采用新的用户操作界面:
1.简捷一致的用户界面,傻瓜式操作方式;
2.全部采用图形按钮立体汉字提示;
3.表格中文字和图形同时显示、操作
硬件接口
支持一般的pentium4或更高档微机,笔记本电脑。
软件接口
运行于windows98/2000/xp
通信接口
本软件应提供对条形码扫描仪等的支持。
故障处理
正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库的完好无损。
1.功能设置适应性强
系统设置灵活,具有局部管理与全面管理的功能,整个系统由几个子系统组成,可分、可合,每个子系统既可单独运行,又是有机联系的一体,可适应不同人员配置条件的图书馆;同时系统既可在高档机、大内存下使用,又可在低档机、小内存上使用,可满足不同经济条件的图书馆。
2.检索功能强
系统提供组合查询。
组合查询提供所有可检索字段(包括条形码号、编号、类别、合订本名称、试卷代号、试卷名称、页码、第几册等)的任意组合条件检索,功能强大,能保证一定的查准、查全率;系统采用复合索引技术,检索响应速度快,20万册藏书记录中检索一条记录在几秒之内即可完成。
3.流通方式多样化
使用该系统在进行借还图书时,图书馆可根据学校资金实际情况,可采用普通借还书方式、条形码借还书方式。
4.数据安全性好
系统通过对数据库的加密和用户权限的设置保证了系统的安全。
加密后的数据库只有本系统才能对其进行维护,任何直接对数据库的操作都将无效,从而保证了数据库入口的唯一性,避免了来自外界的破坏;本系统操作人员只能对自己权限范围内的数据进行维护,从而避免了来自内部的破坏。
5.数据录入直观方便
系统采用屏幕格式输入,简洁、直观,符合情报人员习惯;屏幕设计风格统一,用户易于掌握。
系统对复本图书的重复数据,由用户输入复本数后,就可完成对重复数据的自动追加,较好地解决了数据冗余度的问题,提高了录入速度,节省了工作时间。
6.时间特性
一般操作的响应时间应在1~2秒内,对软磁盘和打印机的操作,以及数据的导入和导出也应在可接受的时间内完成。
第三章图书馆管理系统的具体实现
3.1模块化的开发环境的简介
3.1.1VISUALBASIC简介
VISUALBASIC是微软公司出品的一个快速可视化程序开发工具软件。
借助微软在操作系统和办公自动化软件的垄断地位,VB在短短的几年内风靡全球。
VB是极具特色和功能强大的软件,主要表现:
所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,教易维护的代码。
同时众多的ACTIVE控件,提高了软件的使用效率。
VB应用程序语言的基本特点:
1.可视化界面设计:
VB为用户提供大量的界面元素(在VB中称为控件对象),这些控件对象对于熟悉WINDOWS应用程序的用户来说是一点也不陌生,如“窗体”,“菜单”,“命令按扭”,“工具按扭”,“检查框”等等,用户只要利用鼠标、键盘把这些控件对象拖动到合适的位置,设置其大小、形状、属性等,就可以设计出所需的应用程序界面。
2.事件驱动编程
在使用VB设计应用程序是,必须首先确定应用程序如何同用户进行交互。
例如发生鼠标单击、键盘输入等事件是,由用户编写代码控制这些事件的响应,这就是所谓的事件驱动编程。
3.与数据库的连接性
VISUALBASIC提供了与底层数据库系统紧密的连接。
VISUALBASIC支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。
开发人员和利用内置的高性能数据库引擎——JET生成独立应用或脱离服务器运行的服务以上的应用,在开发该图书馆管理系统时,笔者就是使用该种数据库引擎。
VISUALBASIC存取数据库的方式有两种:
·通过使用的ODBC接口。
(ODBC(开放数据库连接)是微软公司的数据库连接标准)
·通过使用由VISUALBASIC提供的专用的直接与数据库相连的接口
以下进行图例说明:
VISUALBASIC
ODBC
接口
SYBASE接口
ORACLE
接口
INFORMIX
接口
值得一提的是VISUALBASIC拥有可视化数据管理器窗口,可以直接利用他进行数据库设计。
3.2图书馆管理系统流通子模块中用到的数据库:
数据只有用数据库来管理才能有自动化管理的可能。
数据的结构将影响整个管理机制的应用,而且一但建立以后要修改常会出现麻烦。
所以一开始就要仔细慎重地搭建一个完整而合理的结构。
对于我们用简单易操作的MicrosoftAccess数据库是比较适合的。
我的范例中的数据库文件就是Access类型的数据库。
数据库中共有七个数据表“图书总表”(对试卷合订本总概括,如条形码号、编号、合订本名称、分类等字段)和“图书分表”(对试卷合订本里边的内容的简单介绍,如编号,试卷代码、试卷名称、页号等字段)、“读者“(存储读者的一些基本信息,如姓名、学生证号,班级等一些字段)、”借书流水表“、”还书流水表“、”借书历史表“,读者在借阅过程中管理员要对这三个表进行修改。
还有就是管理员的登录时用到的”密码“表。
(如图下图)。
3.3系统模块的具体实现
在本系统中有四个子模块组成。
它们分别是登录小模块、借阅小模块、流通统计小模块和查询小模块、,下面就开发这几个模块的过程及所遇到的问题分别加以介绍。
该模块主要完成新书的录入、查询、统计及借阅功能。
在此模块中定义了四个主要窗口:
借阅窗口、新书录入窗口和条件查询窗口,流通统计窗口。
当你第一次启动本图书馆信息管理系统时,系统将出现如图所示界面,用户只要选择自己的用户名称,同时输入相对应的密码按[确定]即可以进入图书馆信息管理系统的主控界面,此时你作为超级用户对整个系统具有控制权,你首先应该做的就是更改密码。
登录子模块有“用户名称“,”用户口令“,”当前日期“等字段。
用户还可以在管理员小模块对用户进行增加、修改、删除等功能。
登录子模块的界面:
书籍查询对图书的管理是相当重要的,尤其对试卷合订本来说,假如读者要对试卷合订本中的内容进行了解时就可以用到查询子模块。
查询子模块主要对“图书总表“和”图书分表“两个数据库进行查询,根据两个数据库中的编号相同进行查询来得到结果,组合查询提供所有可检索字段(包括条形码号、编号、类别、合订本名称、试卷代号、试卷名称、页码、第几册等)的任意组合条件检索,功能强大,能保证一定的查准、查全率;同时提供你”并且“和”或者“两种查询方式。
查询子模块界面:
新书录入窗口中显示的是员工必要信息。
可供用户增加、修改、删除、查询等功能。
向数据库中添加新的记录、删除不需要的记录、修改错误的记录、对数据库中的信息进行查询。
当用户想修改某条记录时,只要双击MSFLEGRID控件中您要修改的记录,就会自动弹出详细信息窗体,该窗体已经显示了你要得信息,你就可以对其该条记录进行修改了。
本系统的一大特点可以直接在MSFLEGRID中进行数据修改,只要双击MSFLEGRID,他就会出现TEXT文本框,COMBOL下拉列表框形式然后再其中输入数据,按ENTER键即可完成修改,并保存在数据库中。
同时可以向“图书总表“和”图书分表“数据库增加数据。
新书录入的界面:
该模块主要根据图书流通情况进行统计,同时可以根据试卷合订本的登记时间段对数据库中的数据进行统计,然后按“图书总表“中”统计“字段对统计结果进行排序,同时还可以根据”选择“FRAME框的OPTION控件选择一种关系,然后在TEXT框中输入数字,按”显示“按钮,MSFLEGRID中”统计“字段的满足该关系的数据显示为红色,以便用户容易浏览。
流通统计子模块:
该模块主要完成读者借阅功能,也是最重要的一项功能,图书馆管理员可以根据读者的借书证号来完成借阅功能,同时根据条形码号进行还书,管理员输入读者借书证号,按登录按钮后,读者上次的借阅情况就会在MSFLEGRID中显示出来,以便管理员能核对一下,以免出错,假如你已经超过最大的借阅量,系统还会自动提醒管理员该读者已经不能继续借书了。
同时还可以进行简单的续借功能,只要单击MSFLEGRID中想要续借的记录项,按“保存“按钮即可更改借书日期。
在借书在个界面中,只要你输入借书证号,按“登录”按钮,其他文本框中的信息就会自动弹出,同时输入条形码号,按“借书”即可完成借书功能。
在还书界面中只要输入条形码号,按“还书”按钮就可完成还书功能。
当你借书超期时,系统自动弹出对话框提醒用户超期。
借阅子模块的界面:
3.4利用DATA控件访问数据库
该软件是利用ACCESS数据库,操作方便,简单。
在ACCESS数据库中不需要创建数据连接,因为它是VB中默认的数据库形式。
以归纳为以下几步:
1.创建数据库源名(DATABASE)
2.创建数据对象
3.操作数据库
4.关闭数据对象和链接
每一步的作法如下:
一、创建数据源名
先进行定义:
DIMDBASDATABASE
Setdb=OpenDatabase("e:
\图书馆管理系统\sjhdb.mdb")
也可以直接在DATA控件的属性中的DATABASENAME直接进行连接。
二、创建数据对象(RecordSet)
ADO中的数据对象通常保存的是查询结果。
RecordSet是ADO中最复杂的对象,有许多属性和方法。
RecordSet保存的是一行行的记录,并标有一个当前记录。
以下是创建方法:
可以直接利用DATA控件直接绑定,在DATA控件的属性中的RECORDSOURCE对数据表进行连接。
SetRecordSet=DB.Openrecordset(sqtStr)
这条语句创建并打开了对象RecordSet,其中db是先前创建的链接对象,sqtStr是一个字串,代表一条标准的SQL语句。
例如:
sqlStr=“SELECT*FROMtab1”
SetRecordSet=DB.Openrecordset(sqtStr)
这条语句执行后,对象RecordSet中就保存了表tab1中的所有记录。
三、操作数据库
我们通过调用链接对象的openrecordset方法来将查询结果返回给一个数据对象或进行插入、删除等操作。
例如:
修改:
sql1="select*from图书总表where条形码号='"&Text3(3).Text&"'"
Ifsql1<>""Then
Setrec=db.OpenRecordset(sql1)
rec.Edit
rec.Fields(8).Value=CDate(DTPicker3.Value)
rec.Fields(5).Value=CBool(a)
rec.Fields(6).Value=Text3(8).Text
rec.Update
rec.Close
EndIf
删除:
Data2.Recordset.MoveFirst
Data2.Recordset.MoveMSFlexGrid2.RowSel-1
DimsAsInteger
s=MsgBox("确定删除这组记录吗?
删除后将不能恢复数据!
",vbYesNo+vbQuestion,"删除确定")
Ifs=6Then
Data2.Recordset.Delete
Data2.Refresh
Data2.Recordset.MoveNext
增加:
Setrs=db.OpenRecordset("借书流水表")
rs.AddNew
a=False
rs.Fields(0).Value=Trim(Text1(0).Text)
rs.Fields
(1).Value=Trim(Text1
(1).Text)
rs.Update
rs.Close
四、关闭数据对象和链接对象
在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。
通过调用方法close实现关闭,然后再释放它。
RecordSet.close
SetRecordSet=Nothing
/关闭创建的数据对象
mConn.close
SetmConn=Nothing
/关闭创建的链接对象
3.5.显示数据库中的内容
我利用MSFLEGRID控件来显示数据库中的内容,可以直接通过DATA控件来实现操作,也可以利用代码来完成相关的操作。
第一种方法:
设置MSFLGRID控件的属性Datasource属性
第二种方法:
sql="select*from借书流水表where借书证号='"&Text1(0).Text&"'"
Ifsql<>""Then
Setrs=db.OpenRecordset(sql)
EndIf
IfNot(rs.BOFAndrs.EOF)Then
DoWhileNotrs.EOF
MSFlexGrid1.TextMatrix(0,0)=""
MSFlexGrid1.TextMatrix(0,1)="借书证号"
MSFlexGrid1.TextMatrix(0,2)="姓名"
MSFlexGrid1.AddItemvbTab&rs.Fields(0).Value&vbTab&rs.Fields
(1).Value&vbTab&rs.Fields
(2)
rs.MoveNext
Loop
EndIf
rs.Close/以上是完成查询结果的数据显示
3.6下面举例对SQL语句进行详细说明:
一个访问数据库的程序段,对于不同的用户以及一个用户的不同行为,要其执行的SQL语句是不同的,其不同主要表现在查询、插入或更新时的参数不同,于是我们将SQL语句定义为含变量的字符串(dimsqlasstring),通过赋予变量不同的值便产生出适合的SQL语句串,再通过数据对象的相应方法来执行它,完成所需的数据操作。
这一方法的运用详见下面部分。
第一.对登录界面进行简单介绍(我在这段程序中使用ADODB数据源)
/用SQL语句从数据库中的密码表中取得用户名称和相应的密码
sql="select*from密码where用户名称='"&txtUserName.Text&"'and密码='"&txtPassword.Text&"'"
Setrs=conn.Execute(sql)
/用一个循环语句将密码表中的所有用户名显示在登录界面的用户名称下拉列表框中供用户选择
conn.Openconnstr
rs.Open"select用户名称from密码",conn,adOpenStatic,adLockReadOnly
DimiAsString
Fort=0ToVal(rs.RecordCount)-1
i=Trim(rs.Fields("用户名称").Value)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统