图书馆信息管理系统.docx

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

图书馆信息管理系统.docx

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

图书馆信息管理系统.docx

图书馆信息管理系统

补充2:

ADO+Access实现图书馆管理信息系统

图书管理系统是一个常见的信息管理系统(MIS),典型的图书管理系统包括会员管理、书籍管理、借书、续借、丢失及赔偿等功能。

本章将详细分析一个完整的图书管理系统的实施过程,包括需求分析、系统框架、系统建模、数据库建模、程序实现和系统维护等。

2.1技术要点

本章的知识要点可以分成两个部分,一个是系统分析层次的知识点,一个是程序员层次的知识点。

对一个完整的系统来说,这两个方面是必不可少的,而更加重要的是系统分析这个层次,只有系统分析做好了,程序模块设计和代码编写才能够做得更好。

本章主要介绍以下知识点:

●图书馆管理系统的整个管理流程

●图书馆管理系统的数据库设计

●控件动态绑定技术:

介绍在数据库字段比较多的时候,如何使用控件数组及控件动态绑定到数据库技术,减少在显示数据时的大量重复代码。

●数据控件DataCombo的使用技术:

介绍使用少量代码利用DataCombo控件显示数据表中某字段存在的信息的技术。

●DataReport报表组件使用技术:

介绍快速报表组件的使用技巧及动态绑定报表到数据库的技术。

●ADO组件使用技术及技巧:

介绍如何通过Connection对象连接后端数据库,使用Recordset对象实现对数据表的添加、修改、删除、查询技术。

●公用窗体技术:

介绍如何使用一个窗体提供几种主要业务,便于控件和窗体的共用,减少编程强度。

●模拟Data控件技术:

介绍使用4个按钮控件和1个标签(Label)控件模拟出Data控件的使用效果。

●其他高级技术。

2.2系统概况

图书管理系统是一套功能完整、操作简便的图书管理及借书管理软件,包括图书管理系统、书籍管理系统、员工管理系统、会员管理系统、借书系统、罚款支付系统、系统设置与维护7大功能,实现了书籍及借书的自动管理。

图书管理系统可广泛适用于中小型图书馆和资料室。

2.2.1软件配置

操作系统:

Windows2000中文版、WindowsXP中文版或更高;

数据库选择:

MicrosoftAccess2000;

开发平台:

VisualBasic6.0。

2.2.2硬件配置

CPU:

Pentium4;

内存:

256M或以上;

硬盘:

80G以上;

扫描仪:

扫描精度1200dpi以上

显示器:

CRT或液晶;

外设:

报表打印机等。

2.3需求分析

需求分析是成功实施一个管理系统的基础,只有弄清楚客户的需求,才能真正开发出满足客户需求的管理信息系统,也才能够真正让整个系统发挥其相应的作用。

接下来就针对图书管理系统的总体需求做分析,在实际开发过程中,可以在本系统需求分析中继续完善。

2.3.1总体功能要求

在经过对图书管理流程进行详细了解与分析后,可以看出一个功能完整的图书管理系统必须包几个管理系统。

(1)图书信息管理系统

考虑到图书馆书籍的特殊性,图书信息有其特殊的层次结构,如图2.1所示。

主题

书籍3

书籍1

书籍2

书本1

书本3

书本2

书本1

书本2

书本1

书本2

图2-1图书信息的树状结构

往往由一些书籍(Titles)组成主题(Subjects),而每一书籍在图书馆中又有若干副本(书本,即Books)。

因此,图书管理系统中包括主题信息管理(包括主题信息的添加、修改、删除及查找操作)、书籍信息管理(包括书籍信息的添加、.修改、删除及查询操作)、书本信息管理(包括书本信息的添加、删除及查询操作)。

(2)员工信息管理系统

这个管理系统包括图书馆工作人员基本信息的添加、修改、删除及查询功能。

(3)会员信息管理系统

这个管理系统包括会员信息的添加、修改、删除及查询功能。

(4)借书管理系统

这个管理系统包括借书、还书、预订书籍等功能。

(5)罚款管理系统

这个管理系统包括丢失书籍罚款、会员支付罚款等功能。

(6)系统设置系统

在这个系统中,可以设置会员最大借书数量、会员最大预订书数量、会员费、会员资格持续时间等系统参数。

(7)用户登录系统

用户分为三类:

管理员、图书馆工作人员和会员,不同的用户根据不同的密码及用户类型登录,具有不同的权限。

(8)查询系统

分为书本查询和会员查询,可进行多个条件的组合查询,可进行精确和模糊查询。

(9)用户管理系统

可添加或删除用户,更改用户密码,变更用户身份类型等。

系统的功能需求可用图2-2来表示。

 

图书管理系统

用户登录

会员

图书馆工作人员

管理员

图书信息管理系统

系统设置系统

会员信息管理系统

用户管理系统

雇员信息管理系统

借书管理系统

罚款管理系统

查询系统

 

图2-2系统功能需求

2.3.2性能的需求

(1)精度要求

图书管理系统对精度要求较低,仅需满足整型数据输入、存储和输出即可。

(2)时间特性要求

在软件方面,响应时间、更新处理时间都要求比较快且迅速,以满足要求。

(3)灵活性

当用户需求,如操作方式、运行环境、结果精度、数据结构与其他软件接口等发生变化时,设计的软件要求能做适当调整。

(4)规模

适用于中小规模图书馆及资料室的图书管理工作。

2.4数据库设计及配置

2.4.1数据库设计

数据库设计对于一个信息管理系统的顺利开发和运行是十分重要的,其目标为结构合理、易于维护、查询便捷、冗余信息少等。

本系统的数据库由8张表组成:

Subjects(主题信息表)、Titles(书籍信息表)、Books(书本信息表)、Members(会员信息表)、Employees(员工信息表)、Fine(罚款支付信息表)、GlobalVariables(系统配置信息表)和Users(用户信息表)。

它们之间的关系如图2-3所示。

图2-3关系图

下面对数据表进行逐一介绍。

Subjects表存储主题信息,其结构如表2.1所示。

表2—1主题信息表

字段名

类型

大小

必填字段

索引

是否主键

意义

Subject

文本

50

有(无重复)

主题名

IssueDays

数字

整型

出借期限

NoOfBooks

数字

整型

该主题下书籍数目

FineCharge

数字

单精度型

罚款费用(每天)

ReverseCharge

数字

单精度型

预订费用

Titles表中存储书籍的基本信息,其结构如表2.2所示。

表2—2书籍信息表

字段名

类型

大小

必填字段

索引

是否主键

意义

TitleID

文本

50

有(无重复)

书籍编号

Subject

文本

50

所属主题

Author

文本

50

作者

Title

文本

50

书籍名称

Price

数字

单精度型

价格

Quantity

数字

整型

数量

AddOn

文本

50

附加信息

 

Books表中存储书本的基本信息,其结构如表2.3所示。

字段名

类型

大小

必填字段

索引

是否主键

意义

TitleID

文本

50

所属书籍编号

BookID

文本

50

有(无重复)

书本编号

IsIn

是/否

是否在图书馆中

TypeIssue

是/否

范本出借

Condition

文本

50

书本状况

MemberID

文本

50

借阅会员编号

ReserveId

文本

50

预订会员编号

ReturnDate

日期/时间

归还日期

IssueCount

数字

整型

借出次数

Members表中存储会员基本信息,其结构如表2—4所示。

表2—4会员信息表

字段名

类型

大小

必填字段

索引

是否主键

意义

MemberId

文本

50

有(无重复)

会员编号

DateOfJoining

日期/时间

加入日期

DateOfExpire

日期/时间

会员资格过期日期

FirstName

文本

50

LastName

文本

50

BooksInHand

数字

整型

当前借书数量

FineBal

数字

单精度型

罚款余额

Address

文本

50

地址

Tel

文本

50

电话号码

Email

文本

50

Email地址

Employees表中存储员工基本信息,其结构如表2-5所示。

表2—5员工信息表

字段名

类型

大小

必填字段

索引

是否主键

意义

EmployeeId

文本

50

有(无重复)

员工编号

FirstName

文本

50

LastName

文本

50

Address

文本

50

地址

Tel

文本

50

电话号码

Email

文本

50

Email地址

fine表中存储会员罚款支付信息,其结构如表2—6所示。

表2—6罚款支付信息表

字段名

类型

大小

必填字段

索引

是否主键

意义

MemberId

文本

50

有(无重复)

会员编号

FineAmount

数字

单精度型

支付罚款金额

PayDate

日期/时间

支付日期

GlobalVariables表中存储系统配置信息,其结构如表2-7所示。

表2-7系统配置信息表

字段名

类型

大小

必填字段

索引

是否主键

意义

TotallssueBooks

数字

整型

最大借书数量

RenewalCounter

数字

整型

最大续借数量

MaxFineBal

数字

单精度型

最大罚款额度

MembershipDuration

数字

整型

会员资格持续时间

MembershipFee

数字

单精度型

会费

RenewalFees

数字

单精度型

续借费用

Users表中存储用户信息,其结构如表2—8所示。

表2—8用户信息表

字段名

类型

大小

必填字段

索引

是否主键

意义

UserName

文本

50

有(无重复)

用户名

UserPassword

文本

50

用户密码

UserType

数字

整型

用户类型

2.4.2数据库建立

本例使用的后端数据库是MicrosoftAccess2000,数据库及其表的建立比较简单,可参考前面相关内容,在此不多叙述。

2.5系统程序实现

2.5.1设计概况

为了让读者对本系统有一个大致了解,首先列举出本程序包含的窗体和模块及说明。

窗体信息如下:

frmLogin(系统登录窗体):

对用户名、用户密码、用户类型进行验证。

MDIForm1(程序主窗体):

将系统提供的各种功能集中呈现于用户面前。

frmSubiects(主题信息管理窗体):

提供对书籍主题信息的添加、修改、删除、浏览、查询等功能。

frmTitles(书籍信息管理窗体):

提供书籍基本信息的添加、修改、删除、浏览、查询等功能。

frmBooks(书本信息管理窗体):

提供对书本基本信息的添加、修改、删除、浏览、查询等功能。

frmMembers(会员信息管理窗体):

提供对会员基本信息的管理功能,如添加会员、删除会员、修改会员信息、查询特定会员等。

frmEmployees(员工信息管理窗体):

提供对员工基本信息的管理功能,如添加员工、删除员工、修改员工信息、查询特定员工等。

frmlssue(业务窗体):

本窗体实现的功能比较多,如借阅书籍、还书、续借书籍、丢失书籍、赔款、预订书籍等。

它也是本系统的最重要的窗体,大部分图书管理的业务逻辑均存在于这个窗体中。

frmOptions(系统配置窗体):

提供对系统的一些配置选项,如会员最大借书数量、会员最大预定数量、最大罚款金额、会员资格持续时间、会员费用、会员续办费用等。

frmFindBook(书籍查询窗体):

按书籍编号、书籍名称、作者、主题、价格等进行精确或模糊查询。

frmFindMember(会员查询窗体):

按会员编号、姓、名、电话、地址、email等进行精确或模糊查询。

frmUser(用户管理窗体):

提供用户添加、删除、更改密码、更改用户类型的管理功能。

frmAbout(关于窗体):

提供软件的名称、版本、版权、作者、维护等信息。

以上介绍的是程序的重要窗体,其中frmSubjects、frmTitles、frmBooks、frmMembers和frmEmployee均是信息管理系统的标准窗体设计,具有一定相似性和代表性,可以依照这几个窗体的模式编写出适合其它信息系统的管理窗口。

还有一个部分即模块文件,具体为:

m.bas(主模块):

主要功能为将系统配置信息从GlobalVariables表中读入系统。

在阅读下面的具体程序以前,可先了解每个窗体的大致功能,这对了解整个程序的开发实施是非常有益的。

在后面的具体程序实现中,由于篇幅的限制,不会时所有的代码都进行详细分析,而只是针对关键的模块和技术进行介绍。

2.5.2系统登录窗体

1.登录窗体的功能

系统登录模块是由系统登录窗体(frmLogin)构成,界面如图2-4所示。

本系统是一个基于不同用户的系统。

在本系统中有3类不同的用户:

管理人员、图书馆工作人员和会员。

因此,在系统启动时,需要显示一个登录窗口,以供用户选择不同类型的身份登录,然后根据不同的用户身份,来显示不同的功能。

图2-4frmLogin窗体的设计示意图

2.登录窗体的设计

登录窗体的主要控件及其属性如表2-9所示。

表2-9登录窗体主要控件及其属性设置

控件

名称

属性设置

Form

frmLogin

BorderStyle属性设为3,Caption属性设为“请登录”

Frame

fraLogin

Caption属性设为“登录”

Label

lblLabels

Caption属性设为“用户名:

”,Index属性为0

TextBox

txtUser

Text属性设为空

Label

lblLabels

Caption属性为“口令:

”,Index属性为l

TextBox

txtPwd

Text属性设为空

Label

lblLabels

Caption属性为“选择身份:

”,Index属性为2

ComboBox

cboUserType

Style属性为“2-DropdownList”

CommandButton

cmdOK

Caption属性设为“确定”,Default属性为True

CommandButton

cmdCancel

Caption属性设为“取消”,Cancel属性为False

3.窗体的工作流程/方式

系统开始运行时,首先会登录窗体。

由于本窗体是一个面向多用户的系统,不同的用户在使用统时,将会拥有不同的功能。

登录窗体的作用就是确定当前使用系统的用户的类型。

当窗体运行时,用户首先要在用户名和口令这两个文本框中输入其用户名和口令,然后在身份组合框中选择不同的身份(管理人员、图书馆工作人员和会员)。

在窗体的Load事件中,首先就是需要将用户的3种不同的身份添加到cboUserType中,以供用户选择其身份之用。

在“确定”按钮的Click事件响应中,程序将会根据用户输入的用户名和口令,及其选择的用户身份,在数据库中的Users表中查找对应的用户。

在Users中,“用户名”字段对应用户输入的用户名,“用户密码”字段对应用户输入的口令,“用户类型”字段对应用户所选择的身份。

·如果在UserList表中找到了对应的用户,则退出登录窗体,并进入到MDI主窗体,并根据不同的用户身份,来向用户开放不同的功能。

·如果在Users表中没有找到对应的用户,则提示用户再次输入,如果超过3次,还不能找到用户,则表示用户无权使用本系统,并退出系统。

4.编写窗体代码

(1)本系统需要打开数据库及记录集,以及根据不同的用户来显示不同的功能,需要添加全局性变量和过程。

因此在标准模块m.bas中添加变量和过程如下:

PubliccnnAsNewADODB.Connection'数据库连接对象

Publicg_sqlAsString'要执行的SQL语句

PublicrsAsNewADODB.Recordset'记录集对象

Publicg_UsertypeAsInteger'用户类型

Publicg_userNameAsString'用户名

PublicSubopenDatabase()

cnn.Open"provider=Microsoft.Jet.OLEDB.4.0;DataSource="&_

App.Path&"\library.mdb;PersistSecurityInfo=False"

'打开与数据库的连接

EndSub

(2)在frmLogin窗体模块中,处理Form的Load事件。

在该事件响应中,初始化cboUserType的内容,代码如下:

PrivateSubForm_Load()

CallopenDatabase

cboUserType.Clear

cboUserType.AddItem"管理员",0

cboUserType.AddItem"图书馆工作人员",1

cboUserType.AddItem"借阅者",2

cboUserType.ListIndex=0

txtUser.Text=""

txtPwd.Text=""

EndSub

(3)在frmLogin窗体中,处理cmdOK的Click事件。

在该事件响应中,验证用户所输入的用户名、口令和身份是否匹配。

代码如下:

PrivateSubcmdOK_Click()

IfTrim(txtUser.Text)=""OrTrim(txtPwd.Text)=""Then

MsgBox"请先输入用户名及其密码!

",vbInformation,"注意"

ExitSub

EndIf

'取得用户类型和用户名,保存在标准模块m.bas的全局变量'g_userType和g_userName中

g_Usertype=cboUserType.ListIndex

g_userName=txtUser.Text

'根据用户名及密码在数据库中搜索

Dimrs1AsNewADODB.Recordset

rs1.Open"select*fromUserswhereUserName='"&_

Trim(txtUser.Text)&"'anduserpassword='"&_

Trim(txtPwd.Text)&"'andUserType="&_

g_Usertype,cnn,adOpenDynamic,adLockOptimistic

'用户名密码错误次数,超过3次,则退出系统

StaticcountAsInteger

Ifrs1.EOFThen'登录失败

MsgBox"对不起,无此用户或者密码不正确或者用户类型不正确!

_

请重新输入!

",vbInformation,"错误"

txtUser.SetFocus

count=count+1

Ifcount>=3Then

MsgBox"您无权操作本系统!

再见!

",vbCritical,"无权限"

UnloadMe

'关闭数据库连接

cnn.Close

EndIf

Else'登录成功

MsgBox"登录成功!

欢迎使用本系统!

",vbInformation,"欢迎"

UnloadMe

MDIForm1.Show

EndIf

EndSub

(4)在frmLogin窗体中,处理cmdCancel的Click事件。

PrivateSubcmdCancel_Click()

cnn.Close

'关闭数据库连接

UnloadMe

EndSub

2.5.3系统主界面

1.窗体的功能

主窗体(MDIForm1)的设计采用多文档(MDI)技术(在工程资源管理器中鼠标右键点击当前工程,然后在“插入”中选择“MDI窗体”,就可以创建MDIForm对象设置主窗体)。

一个工程中主窗体是唯一的,多文档界面子窗体的MDIChid属性为True,如下介绍的主题信息管理窗体(frmSubjects)、书籍信息管理窗体(frmTitles)、书本信息管理窗体(frmBooks)、会员信息管理窗体(frmMembers)和员工信息管理窗体(frmEmployees)都是MDI子窗体,打开此类窗体使用的是Show函数。

再设置主窗体的WindowsState属性为wsMaximized,主窗体以最大化方式显示。

系统的主窗体MDIForm1如图2-5所示。

图2-5系统主界面

2.菜单项

系统功能模块的调用是通过主界面的菜单实现的,系统菜单设计如表2-10。

表2-10主菜单设计

标题

名称

功能

数据库(&D)

mnuDB

…主题信息管理

mnuSubjects

调用书籍主题管理模块

…书籍信息管理

mnuTitles

调用书籍信息管理模块

…书本信息管理

mnuB00ks

调用书本信息管理模块

…会员信息管理

mnuMembers

调用会员信息管理模块

…员工信息管理

mnuEmployees

调用员工信息管理模块

…配置

mnuOptions

调用系统配置模块

管理(&M)

mallTrallSaCtions

…借出书籍

mnuIssue

本菜单和接下来的5个菜单都调用业务窗体(业务模块),但实现不同功能

…续借书籍

munRenewal

同上

…归还书籍

munReturn

同上

…预订书籍

mtmRes

同上

…丢失书籍

munMiss

同上。

…购买书籍

munCha

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

当前位置:首页 > 农林牧渔 > 林学

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

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