图书馆管理信息系统.docx

上传人:b****7 文档编号:9771903 上传时间:2023-02-06 格式:DOCX 页数:25 大小:413.37KB
下载 相关 举报
图书馆管理信息系统.docx_第1页
第1页 / 共25页
图书馆管理信息系统.docx_第2页
第2页 / 共25页
图书馆管理信息系统.docx_第3页
第3页 / 共25页
图书馆管理信息系统.docx_第4页
第4页 / 共25页
图书馆管理信息系统.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

图书馆管理信息系统.docx

《图书馆管理信息系统.docx》由会员分享,可在线阅读,更多相关《图书馆管理信息系统.docx(25页珍藏版)》请在冰豆网上搜索。

图书馆管理信息系统.docx

图书馆管理信息系统

绪论

当今时代是飞速发展的信息时代。

在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。

计算机的最大好处在于利用它能够进行信息管理。

使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。

计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。

本系统就是为了管理好图书馆信息而设计的。

图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。

根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。

数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。

总的来说,缺乏系统,规范的信息管理手段。

尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。

数据处理手工操作,工作量大,出错率高,出错后不易更改。

图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。

如要对很长时间以前的图书进行更改就更加困难了。

基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。

本套系统正是为解决高校学生管理问题而开发的。

由于能力有限和时间的限制,系统的设计难免会存在不足之处,敬请各位老师不吝赐教。

 

第一章概述

本系统全称为图书馆管理信息系统。

根据开发要求,它主要应用于教育系统,完成对学校图书的信息管理。

开发图书管理信息系统可使学校图书管理职员工减轻工作压力,比较系统地对学生借阅还书的各项信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及各部门关于信息化的步伐,使各项管理更加规范化。

目前,学校工作繁杂、图书资料重多,特别是学生借阅图书流动大,对图书管理的重要性更要引起足够的重视。

目前,图书管理信息系统进入各个学校,减少了许多不必要的人工操作,但目前很多系统还存在一定的不足之处、因此,开发一套适和大众的、兼容性好的系统是很有必要的。

本系统管理内容广泛,全面涉及了图书管理各方面的信息,包括信息查询,借阅还书信息,在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。

在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究,系统设计和系统实施几个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。

在开发工具的选择上,主要利用VisualBasic编程语言进行开发,使用Access自带的数据库,从而保证了数据的完整性与一致性。

本论文主要从系统分析、系统设计、系统实施与使用等几个方面进行介绍掌握Access基本用法,能手工创建和维护简单的Access数据库,掌握基本的SQL语法。

 

第二章总体设计

一、总体流程图

图书管理信息系统

图2.1

二、项目说明

该图书馆决定将其业务处理计算机化,该系统的功能和技术要求如下。

1、功能要求

(1)用户支付150元人民币的会员年费就可以成为该图书馆的会员。

但是,会员资格必须每年重新办理。

用户的会员资格将从加入日期/重新办理日期开始算起,一年后到期。

(2)书的借期为一个月

(3)如果用户在一个月内未还书,那么将向用户收取每天0.5元的罚金

(4)图书馆将维护有关书籍、作者和出版商的详细信息

(5)图书馆将维护会员的详细信息

(6)需要考虑一本书可能会有两个作者的情况

2、技术要求

(1)有关图书馆的会员和书籍的详细信息应可更新

(2)系统应能提供更新有关书籍作者和出版商的相关信息的方法

(3)需要提供根据书籍名称搜索功能

(4)可以根据会员ID和会员姓名检索会员的相关信息

(5)系统应提供相关报表

三、设计目标

1、设计出一个功能强大,界面友好,使用方便的学生信息管理系统。

2、能够很好的对信息进行维护,以及用户权限的管理和维护。

 

第三章系统设计和实现

一、数据库设计

根据系统的功能需求,本系统数据库采用MicrosoftAccess,它不但适合工作的需求,而且它所支持的数据类型十分丰富,维护简单,费用较低,人员素质要求不是很高,容易升级。

在图书信息管理系统的数据库中,需要包含图书会员表、书籍类别表、书籍信息表、书籍作者表、书籍出版商表、用户登录表、罚金表及借阅书籍事务表。

1、创建表结构

数据表定义:

数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:

属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。

关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。

数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。

单击数据库中的“表”对象,单击右侧的“使用设计器设计表”完成以下的表结构。

总表

序号

表名称

用途

1

Users

图书馆的会员/用户信息

2

bookcategories

书籍类别信息

3

bookInformation

各种馆藏书籍的详细信息

4

authors

馆藏书籍的作者详细资料

5

publishers

馆藏书籍的出版商详细资料

6

issues

借出书籍的详细信息

7

fakuan

罚款计算的详细信息

表3.1

Users(会员表)

序号

列名称

数据类型

说明

1

userID

自动编号

用户ID

2

userName

文本

用户姓名

3

userAddress

备注

用户地址

4

userContactNo

文本

用户联系电话

5

userMobileNo

文本

用户手机号码

6

userEmailID

文本

用户电子邮件地址

7

DOJ

日期/时间

用户作为会员加入图书馆的日期

8

DOR

日期/时间

预期会员资格到期日期

9

LibRees

是/否

用户是否已为本年度会员资格付费

表3.2

bookcategories(书籍类别表)

序号

列名称

数据类型

说明

1

catCode

文本

3位类别代码

2

catName

文本

类别名称

3

catDesc

备注

类别的说明

表3.3

bookInformation(书籍信息表)

序号

列名称

数据类型

说明

1

bookID

自动编号

书籍ID

2

bookName

文本

书名

3

bookDesc

备注

书籍说明

4

bookISBN

文本

书籍ISBN编号

5

bookCount

数字

馆藏书籍册数

6

bookPrice

小数

书籍价格

7

publishID

数字

出版商ID

8

cateCode

文本

书籍的第一级或第二级类别代码

9

authorID1

数字

作者1的ID

10

authorID2

数字

作者2的ID

11

purchaseDate

日期

购书日期

表3.4

authors(作者)

序号

列名称

数据类型

说明

1

authorID

自动编号

作者ID

2

authorName

文本

作者姓名

3

authorEmailID

文本

作者电子邮件地址

表3.5

publishers(出版商)

序号

列名称

数据类型

说明

1

publishID

自动编号

出版商ID

2

publishName

文本

出版商名称

3

publishAddress

备注

出版商地址

4

publishContactNo

文本

出版商联系电话

5

publishMobilNo

文本

出版商手机号码

6

publishEmailID

文本

出版商电子邮件地址

表3.6

issues(借书/还书)

序号

列名称

数据类型

说明

1

issueID

自动编号

借出事务处理ID

2

issueDate

日期/时间

书籍借出日期

3

userID

数字

借书用户的ID

4

bookID

数字

借出书籍的ID

6

dueDate

日期/时间

书籍到期日期

7

returnDate

日期/时间

还书日期

表3.7

fakuan(罚金表)

序号

列名称

数据类型

说明

1

issueID

数字

出现罚款的借出事务处理ID

2

fakuanDate

日期/时间

罚款交付日期

3

fakuanMoney

数字–小数

罚款金额

表3.8

2、建立表关系

为了表现这种逻辑关系。

在数据库图书馆管理系统中还需要建立表相应字段的关系,定义参照完整性。

一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在关系。

若有关系,进一步确定是1:

多,多:

多,还是1:

1。

还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。

如:

一个借阅者(用户)只能具有一种身份,而一种身份可被多个借阅者所具有;一本图书只能属于一种图书类别(类别),而一种图书类别可以包含多本图书;一个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所借阅。

各个表之间的关系

图3.1

3、输入表记录

如图:

作者信息表

图3.2

二、创建窗体

利用Access中的“工具箱”和“属性设置”,针对数据库中的各个数据表创建不同的窗体,让其窗体对后台数据进行联接。

操作具体方法如下:

第一步:

选择数据库中的“窗体”对象,选择“新建”命令按钮。

第二步:

在弹出的“新建窗体”对话框中(如下图所示),单击“设计视图”,选择该对象数据的来源表或查询,单击“确定”按钮。

“新建窗体”对话框中

图3.3

第三步:

在新建窗体中把相关的字段列表拖放到舞台,更改其属性,如名称、标题、数据源、控件来源、导航按钮、记录选择器、分隔线等。

第四步:

利用工具箱添加相关的控件按钮。

第五步:

进行窗体整体布局,如对齐方式、控件摆放位置等。

窗体分别如下:

会员信息窗体书籍信息窗体

图3.4图3.5

出版商信息窗体作者详细信息窗体

图3.6图3.7

 

借阅还书窗体罚金信息窗体

图3.8图3.9

查询窗体增加书籍窗体

图3.10图3.11

三、编写窗体代码

因Access中具有导航记录功能按钮,所以对于上述窗体的部分按钮只需通过向导控件即可完成。

少部分按钮完成代码的编写,实现人机交互的功能。

1、会员信息窗体

“查找”按钮:

DimstDocNameAsString

DimstLinkCriteriaAsString

stDocName="frmfindusers"

DoCmd.OpenFormstDocName,,,stLinkCriteria

“打印会员卡号”按钮:

DimstDocNameAsString

stDocName="printuserinformation"

DoCmd.OpenReportstDocName,acPreview

“每年会员人数统计”按钮:

DimstDocNameAsString

stDocName="printyearusercount"

DoCmd.OpenReportstDocName,acPreview

“本月需缴会费的会员”按钮:

DimstDocNameAsString

stDocName="printmonthjiaofeirenyuan"

DoCmd.OpenReportstDocName,acPreview

2、书籍信息窗体

“增加”按钮:

PrivateSubcmdaddbook_Click()

DimstDocNameAsString

DimstLinkCriteriaAsString

stDocName="frmaddbook"

DoCmd.OpenFormstDocName,,,stLinkCriteria

EndSub

3、查询窗体

首先定义申明如下:

OptionCompareDatabase

DimconnAsADODB.Connection

DimrsAsADODB.Recordset

其实在“查询”按钮编写代码:

在本系统中,任何人都有权限使用查询功能,不做任何限制。

由于实现的查询功能有多种,如按图书编号、图书名称等字段进行完全匹配查找和部分匹配的模糊查找,还有按多个条件进行逻辑与或是逻辑或的多条件查找。

其中实现的方法者差不多,所以只给出多条件查找的代码。

在这个功能中可以在(会员查找)中输入会员姓名,点查找按钮后就会在各个相应的组件中显示出信息,或按会员名称模糊查找到所要的记录,在各个相应的组件中显示第一条记录的信息在各个相应的组件中也会显示所选记录的信息

PrivateSubcmdquery_Click()

DimstrsqlAsString

IfIsNull(txtusername.Value)Then

strsql="select*fromusers"

Else

strsql="select*fromuserswhereuserNamelike'%"&txtusername.Value&"%'"

EndIf

Debug.Printstrsql

Setrs=NewADODB.Recordset

rs.Openstrsql,conn,3,3

MsgBox("共查询到"&rs.RecordCount&"条记录")

Calldisplay

EndSub

PrivateSubdisplay()

If(rs.BOF=False)Then

txtuserID.Value=rs.Fields("userID").Value

txtusername.Value=rs.Fields("userName").Value

txtname.Value=rs.Fields("userName").Value

txtaddress.Value=rs.Fields("userAddress").Value

txtcontactno.Value=rs.Fields("userContactNo").Value

txtmobil.Value=rs.Fields("userMobileNo").Value

txtemail.Value=rs.Fields("userEmailID").Value

txtDOJ.Value=rs.Fields("DOJ").Value

txtDOR.Value=rs.Fields("DOR").Value

txtnowrecord.Value=rs.AbsolutePosition

txtrecordcount.Value=rs.RecordCount

Ifrs.Fields("LibRees").ValueThen

chkmoney.Value=True

Else

chkmoney.Value=False

EndIf

Else

MsgBox"没有查询到记录"

rs.Close

EndIf

EndSub

4、借阅还书窗体

当借阅者正确登录到系统后,此功能将被激活,使用户能查看到自身的借阅情况。

 

首先定义申明如下:

OptionCompareDatabase

DimconnAsADODB.Connection

DimrsAsADODB.Recordset

“借阅”按钮:

IfIsNull(Me.txtbookID.Value)OrNotIsNumeric(Me.txtbookID.Value)ThenMsgBox("您的书籍ID号未输入或书籍ID号格式不对")

ExitSub

ElseSetrs=NewADODB.Recordset

rs.Open"select*fromissues",cn,3,3

rs.AddNew

rs("bookID")=CInt(txtbookID.Value)

rs("userID")=CInt(txtuserID.Value)

rs.Update

rs.Close

Setrs=Nothing

MsgBox("您可以借阅")

EndIf

“归还”按钮:

DimflagAsBoolean

DimissidAsInteger

DimduedateAsDate

DimstrsqlAsString

strsql="select*fromissueswherebookID="&(txtbookID.Value)&"anduserId="&(txtuserID.Value)&"andreturnDateisNull"

Setrs=NewADODB.Recordset

rs.Openstrsql,cn,3,3

IfNotrs.EOFThen

flag=True

issid=rs("issueID")

duedate=rs("duedate")

Else

MsgBox("错误")

flag=False

EndIf

rs.Close

Setrs=Nothing

Ifflag=FalseThen

MsgBox("您输入的书籍ID或会员ID错误!

")

Else

strsql="updateissuessetreturnDate="&Date&"whereissid="&issid&""

'cn.Execute(strsql)

MsgBox("归还成功!

")

'bookID.Value=""

'userID.Value=""

IfCDate(duedate)

MsgBox("您借书时间超过了1个月,请缴纳罚金!

事务ID号为:

"&issid)

EndIf

EndIf

 

四、登录系统

1、界面设计

按照上述方法在工程中添加“图书馆管理信息系统登录”的窗体,命名为登录窗口,并对此窗体进行相关的属性设置,将“密码”文本框的属性“输入掩码”设定为“密码”,运行时该文本框将以*号输入。

登录窗口

图3.12

2、登录功能实现

使用本系统的用户只能是管理员。

所以在设计登录窗体时,一定要以图书管理员身份才可登录。

如果用户输入的用户名及密码口令和数据库中对应的用户名和密码吻合,则用户登录成功,此时系统会自动退出登录窗体,并进入到欢迎窗体界面。

 

欢迎界面

图3.13

如果用户所输入的用户名和口令,没有通过数据库验证,则用户登录失败。

用户需要重新输入用户和口令。

3、编写登录代码

将“用户”文本框中将此命名重命名为txtuser,“密码”文本框命名为txtpassword,“确定”按钮命名为cmdOK,对cmdOK按钮编写代码,如下:

OptionCompareDatabase

OptionExplicit

PrivateSubcmdOK_Click()

Iftxtuser.Value=DLookup("loadname","loadtable")Andtxtpassword.Value=DLookup("password","loadtable")Then

DoCmd.OpenForm("index")

Else

MsgBox("您输入的用户名或密码有错,请重新输入!

")

EndIf

EndSub

五、创建主界面

本系统采取切换面换来组织系统中各个窗体。

该界面是一种Windows用户界面标准,它有一个父窗体和多个子窗体。

在典型情况下,父窗体可用来显示子窗体。

它能够以便捷的方式导航数据库,单击切换面板上的按钮可以打开窗体、报表或打开其他切换面板以打开另外的窗体和报表,甚至可以退出MicrosoftAccess。

1、主切换面板的界面设计

在窗体对象中新建一个窗体,命名为主切换面板。

它是整个系统的框架和基础,所有的窗体的展现都将在这里得以实现。

1选择菜单项“工具”中的“数据库实用工具”中的“切换面板管理器”。

2单击“编辑”按钮,选择“新建”命令按钮,在相应的对话框中选择相应的文本、命令及窗体,最后单击“确定”按钮。

3重复上述操作,将不同的窗体都添加到切换面板中。

4此时单击切换面板上相应的按钮可以分别打开窗体、报表或退出应用程序。

主切换面板

图3.14

2、界面工作流程

主切换面板窗体的作用主要是作为整个系统中的各个功能窗体的父窗体。

每个子窗体中都有一个“退出”向导按钮,单击此按钮均可实现退出此窗体的操作。

若用户想退出数据库界面,则可以通过主切换面板中的“退出”切换按钮即可实现。

为防止用户不小心无意退出的可能性,故创建一个“退出”窗体对话框。

如图所示:

退出对话框

图3.15

代码编写如下:

OptionCompareDatabase

PrivateSubcmdno_Click()

DoCmd.Close

EndSub

PrivateSubcmdyes_Click()

DoCmd.Quit

EndSub

 

六、整个程序运行效果的实现

因为要执行Access的运行程序,其相对其它开发应用程序有着不可避免的缺陷,不可生成可执行文件,所以为使整个窗体在运行时能够美观大方,所以最后进行了一步宏的操作,让其不但可以自动执行窗体操作,并能以最大化展示出界面。

操作方法如下:

1、通过从数据库窗口中的对象列表选择“宏”对象,新建一个宏。

2、在宏设计窗口中,将第一个操作指定为Maximize,在执行下个操作之前,此操作会将活动窗口最大化,将下下个操作指定为OpenForm,然后将要打的窗体批定为“登录窗口”。

3、将宏以“AutoExec”名称保存,因此,在下

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 设计艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1