图书管理系统设计方案.docx

上传人:b****5 文档编号:12127538 上传时间:2023-04-17 格式:DOCX 页数:31 大小:794.95KB
下载 相关 举报
图书管理系统设计方案.docx_第1页
第1页 / 共31页
图书管理系统设计方案.docx_第2页
第2页 / 共31页
图书管理系统设计方案.docx_第3页
第3页 / 共31页
图书管理系统设计方案.docx_第4页
第4页 / 共31页
图书管理系统设计方案.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

图书管理系统设计方案.docx

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

图书管理系统设计方案.docx

图书管理系统设计方案

图书管理系统设计方案

1、引

言12、需求分

析1

、设计图书管理系统的功能结构2

、图书管理系统的用户管理实体—关系2

、图书管理系统的借阅管理实体—关系2

、图书管理系统的读者管理实体—关系3

、图书管理系统的图书库管理实体—关系3

4、系统详细设计4

、数据库的设计4

、管理模块的具体设计6

、数据库和管理模块的连接11

5、软件调

试12

、管理员权限操作12

、普通用户操作17

6、设计总结及分

析18

7、课程设计体

、引言

随着人们对物质需求的逐步满足,精神文明的追求日益增加,大大小小的书店,图书馆到处可见,特别是一些规模较大的学校,图书馆的数量以及规模都在增大。

随着各图书馆的图书的数量不断增多和图书馆规模的不断扩大,管理这些庞大的体系非常困难的,因为图书的情况是随时改变的,因此必需对图书进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储、查询、借阅是必不可少的业务。

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

图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;基于这一点,开发了这个图书管理系统,它将图书借还这一传统方式进行信息化。

我们这一系统满足了对日常的图书管理;图书的出租与归还的管理;图书的总量;图书是否借出查询一数据库系统基本实现了对图书的数据库管理,大大的提高了工作效率和图书的遗失率。

二、需求分析

用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。

收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后的具体设计打下基础。

针对一般图书馆管理信息系统的需求,通过对图书馆管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:

1.读者信息,包括的数据项有:

读者编号、读者姓名、联系电话、所属部门。

2.书库,包括的数据项有:

书号、书名、作者、出版社、单价、类别、在库状态。

3.借阅记录,包括的数据项有:

序号、书号、书名、借出时间、归还时间、读者姓名。

4.系统设置,包括的数据项有:

用户名、密码、权限。

本系统具有的功能:

1、实现读者的新增、编辑和删除功能。

2、实现图书的新增、编辑和删除功能。

3、实现图书的查询功能。

4、实现图书借出和归还管理功能。

5、实现借阅历史信息的查询功能。

6、实现两种不同权限用户的登录功能:

普通用户和管理级用户。

7、实现用户管理功能,可以通过管理级用户添加新用户,具有权限级别及密码修改功能有了上面的数据结构、数据项和数据流程,就可以进行下面的数据库设计了

三、系统设计

、设计图书管理系统的功能结构:

、图书管理系统的用户管理实体—关系:

用户管理实体—关系、图书管理系统的借阅管理实体—关系:

借阅管理实体--关系

、图书管理系统的读者管理实体—关系:

读者管理实体—关系

、图书管理系统的图书库管理实体—关系:

图示管理实体—关系

如上的实体关系图,设计出功能模块以及说明:

1.系统管理模块:

用于登录、增加用户、修改用户密码等操作。

2.读者管理模块:

用于新增读者、编辑读者和删除读者的操作。

3.图书库管理模块:

用于新增图书、编辑图书和删除图书操作。

4.图书查询管理模块:

用于库中图书的查询操作。

5.图书借阅管理模块:

用于图书借出、图书归还和图书借阅记录查询操作。

6.系统信息模块:

用于显示软件信息和退出操作。

四、系统详细设计

、数据库的设计

数据表的设计。

本系统的数据表共有四张,分别是“系统设置”数据表、“读者库”数据表、“书库”数据表和“借阅记录”数据表。

数据库表

系统设置”数据表主要用于存储用户信息,包括用户名、密码、权限三个字段

 

、“读者库”数据表主要是用于存储读者信息,只有等级的读者才具有借阅资格。

包括:

读者编号、读者姓名、联系电话、所属部门,四个字段。

 

、“书库”数据表主要是用于存储图书信息,包括:

书号、书名、作者、出版社、单价、

类别、在库状态,七个字段

 

、“借阅记录”数据表用于存储读者借出归还的历史记录,包括:

序号、书号、书名、借出时间、归还时间、读者编号、读者姓名,七个字段。

 

、管理模块的具体设计

主窗体模块设计主窗体模块指的是所以模块的操作界面,在本系统中使用多文档窗体及菜单方式来实现,创建主窗体的步骤:

1、在工程中创建MDI窗体,然后在选定的MDI窗体的前提下,从菜单栏中选择,从而

 

2、在菜单编辑器中依次创建系统管理、新增用户、修改密码、分割线、关于软件、分割线、退出系统、读者管理、读者新增、读者编辑、读者删除、图书库管理、图书新增、图书编辑、图书删除、图书查询、借阅管理、图书接触、图书归还、借阅查询等菜单。

3、菜单设计完成后,返回MDI窗体,显示如下图。

、系统管理模块设计系统管理模块包括登陆模块窗体、新增用户窗体模块和密码修改模块窗体。

用户登录模块的功能是防止不合法用户的登录;增加用户窗体模块用于实现新增用户功能;密码修改模块用于实现合法用户修改密码的功能。

具体设计如下:

1、在空白的窗体上,添加标签控件、文本框控件、命令按钮等并调整大小及位置然后设置其各自的属性,显示如下。

2、对下列事件编程,为登录窗体调价启动事件,为定时器添加timer事件,为登陆窗体

添加启动事件,为登录窗体添加“登录”按钮事件,为在登录窗体中实现权限设置在公共模块添加代码。

具体代码见附件

3、创建新增用户窗体,添加标签控件、文本框控件、文本框控件以及组合框控件以及命令按钮控件,调整大小以及位置显示如下。

4、在窗体中将新用户、密码和权限添加到数据库中。

代码见附件。

5、创建修改密码窗体模块,即只要知道用户名和正确密码前提下,修改登录密码。

在窗体上添加各控件并设置相应属性后显示如下。

6、设置“提交”按钮功能,实现修改密码的目的,代码见附件

、读者管理模块设计

1、在创建读者新增窗体模块,即在一个空白的窗体上添加Frame控件、标签控件、文本

框控件以及命令控件,调整窗体大小以及其他控件的属性,显示如下。

2、设置窗体启动事件,主要实现连接数据库并初始化读者编号等功能,代码见附件

3、设置“确定”按钮,用于实现登录新的图纸信息的目的,具体代码见附件。

4、同上创建读者编辑窗体以及读者删除窗体。

显示如下。

(代码见附件)

、图书库管理模块设计

如上述的步骤建立图书库管理模块,显示如下(代码见附件)

 

、图书查询模块以及图书借阅管理模块设计

 

如上述的步骤建立,显示如下(代码见附件)

 

 

 

数据库和管理模块的连接

、准备工作主要包括ADO库文件的导入以及模块中SubMain的设置,具体操作步骤如下:

第一步:

新建EXE标准工程,并保存为“图书管理系统”工程。

从菜单栏中选择【工程】→【引用】命令,弹出【引用】对话框。

第二步:

在【引用】对话框中的列表框内选中MicrosoftActiveXDataObjects复选框。

第三步:

单击【确定】按钮返回集成开发环境,即完成ADO库文件的导入工作。

接着在模块中设置SubMain,即在工程资源管理窗口中完成模块的添加操作后,接着便为模块添加代码,即在工程资源管理窗口中双击新建的模块图标,进入模块的代码编辑窗口,在其中输入如下代码:

SubMain()

‘使用错误处理语句

OnErrorGoToErr

“Provider=Source=&&””

ExitSub

Err:

MsgBox”数据库连接错误!

”,vbCritical,”警告”

End

EndSub

第四步:

在工程属性中设置启动对象,即从菜单栏中选择【工程】→【属性】命令,在

弹出的【工程属性】对话框中的【通用】选项下,将“启动对象”设置为SubMain,单击【确

定】按钮,即可完成进图书系统的数据库连接准备工作。

、用户的权限及实现方法

定义权限,即普通用户权限不能增加新用户、不能使用图书管理模块和借阅管理模块,而管理级用户可以使用全部功能。

第一步在公共模块中定义一个布尔变量并声明一个函数,代码编写如下:

PublicFunctionQuanXian(blnDJAsBoolean)

‘当为True时,即管理级用户

‘否则为普通用户响应的菜单呈无用状态

IfblnDJ=TrueThen=True=True=True

Else

=False

=False

=False

EndIf

EndFunction

第二步在登录窗体中添加获取登录时用户的应有权限。

"Select权限From系统Where用户名='"&&"'",cn,adOpenKeyset,adLockOptimisticIf(0)="System"ThenblnDJ=TrueIf(0)="Guest"ThenblnDJ=False

第三步在主窗体(MDI)窗体下响应登录窗体中用户权限的选择,即在主窗体的启动事件中添加如下代码即可。

CallQuanxian(blnDJ)

五、软件的调试

分为两个部分进行,一是管理员,二是用户

 

、管理员权限登录操作

新增用户

、修改密码

、读者新增

、图书新增

 

、图书编辑

 

、图书删除

 

、图书搜索

 

、图书借出

 

、图书归还

、借阅查询

 

、普通用户权限登录

修改密码

 

5..、搜索

 

六、设计总结及分析

、功能:

软件基本完成上述所分析要求的功能。

、界面设计

1.界面友好:

本系统的界面很大众化,功能不复杂,管理人员和用户可以较好的把握各自对应权限所有的功能。

2.界面美观:

本系统界面比较粗糙,设计一些大方得体的图片,图表等使得界面更加的美丽,给人感觉更亲近。

七、课程设计体会

图书管理系统的使用,大大增加了图书管理员的效率,这次我们设计的系统虽然完成,但依然存在一定问题:

1.功能还比较简单;2.没有经过大量用户的实践检验,无法保证完全满足用户各方面的要求;3.功能有待在使用过程中完善提高。

在程序的设计过程中,通过各种资料的阅读,更深一步的了解了图书馆管理信息系统、数据库系统的的概念,为今后开发和设计信息系统和数据库系统打下了深厚的基础。

在开发软件的过程中,对编程工具VisualBasic从一无所知到能够简单的应用,不仅新学会了一种功能强大的编程语言,而且提高了独立自学的能力。

在学习过程中,遇到了许多的问题,经过努力,我终于冲破了这些难点。

由于每个软件的自身设计思路是不一样的,在各种功能的实现上多存在着差异,这使我走了许多的弯路。

但同时使我了解了一种新的思路,使我获益匪浅。

学到的知识是有限的,面对的实践应用是多种多样的,所学很可能无法满足所用,必须在实践中、在应用中不断学习不断提高,这次完成毕业设计的过程中我学到了许多从前闻所未闻的知识和技能。

八、设计中所用到的程序代码汇总

OptionExplicit

PrivateSubcmdOk_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

=LoadPicture&"\")

'=LoadPicture&"\PIC\")

EndSubext=""Ortxt

(1).Text=""Or=""Then

MsgBox"请输入完成的信息!

"

Else

"Select*From系统设置Where用户名='"&txt(0).Text&"'",cn,adOpenKeyset,adLockOptimistic

If=FalseThen

'If<>0Then

MsgBox"有重名!

",vbCritical,"警告"

ExitSub

EndIf

Iftxt

(2).Text=txt

(1).TextThen

"系统设置",cn,adOpenKeyset,adLockOptimistic

(0)=txt(0).Text

(1)=txt

(1).Text

(2)=

MsgBox"添加新用户成功!

",,"恭喜"txt(0).Text=""

txt

(1).Text=""

txt

(2).Text=""

=-1

Else

MsgBox"两次输入的密码不相同,请确认后重新输入",vbCritical,"警告"

EndIf

EndIf

EndSubext=""Ortxt

(1).Text=""Ortxt

(2).Text=""Ortxt(3).Text=""Then

MsgBox"请输入完整的信息!

"

Else

"读者库",cn,adOpenKeyset,adLockOptimistic

Fori=0To3

(i)=txt(i).Text

Nexti

MsgBox"添加新用户成功!

",,"恭喜"

txt(0).Text=(0)+1

Fori=1To3txt(i).Text=""

Nexti

EndIf

EndSub

PrivateSubForm_Load()

"Provider=Source="&&"\"

"读者库",cn,adOpenKeyset,adLockOptimistic

If=0Thentxt(0).Text=1

Else

txt(0).Text=(0)+1'自动设置读者编号避免读者编号重复

EndIf

txt(0).Enabled=False

Icon=LoadPicture&"\")

EndSub

PrivateSubForm_Unload(CancelAsInteger)

EndSub

OptionExplicit

PrivateSubcmdAdd_Click()

DimiAsInteger

=""Then

Iftxt(0).Text=""Ortxt

(1).Text=""Ortxt

(2).Text=""Ortxt(3).Text=""Ortxt(4).Text=""OrMsgBox"请输入完整的信息!

",vbCritical,"警告"

ExitSub

Else

Fori=0To4

(i)=txt(i).Text

Nexti

(5)=

(6)="Yes"adAffectCurrent

EndIf

MsgBox"图书新增成功!

",,"提示"

txt(0).Text="ISBN-"&Right(0),1)+1

Fori=1To4

txt(i).Text=""

Nexti

=-1

EndSub

PrivateSubcmdCancel_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

"Provider=Source="&&"\"

"书库",cn,adOpenKeyset,adLockOptimistic

txt(0).Text="ISBN-"&Right(0),1)+1txt(0).Enabled=False

"技术类"

"非技术类"

Icon=LoadPicture&"\")

EndSub

PrivateSubForm_Unload(CancelAsInteger)

EndSub

OptionExplicit

PrivateSubcmdB_Click()

IfText1(0).Text=""OrText2(0).Text=""Or=""Then

MsgBox"请输入完整的数据!

",vbCritical,"警告"

ExitSub

Else

"Select*From书库Where书号='"&Text1(0).Text&"'",cn,adOpenKeyset,adLockOptimisticIf(6)="Yes"Then

Dimtemp1AsString,temp2AsString

"Select*From书库Where书号='"&Text1(0).Text&"'",cn,adOpenKeyset,adLockOptimistictemp1=

(1)

"Select*From读者库Where读者编号='"&Text2(0).Text&"'",cn,adOpenKeyset,adLockOptimistic

temp2=

(1)

"借阅记录",cn,adOpenKeyset,adLockOptimistic

(1)=Text1(0).Text

(2)=temp1

(3)=

(5)=Text2(0).Text

(6)=temp2

adAffectCurrent

"Select*From书库Where书号='"&Text1(0).Text&"'",cn,adOpenKeyset,adLockOptimistic(6)="No"

adAffectCurrent

MsgBox"已办理好借阅手续!

",,"提示"

Else

MsgBox"该书已经被借出",vbCritical,"提示"

EndIf

EndIf

PrivateSubcmdCancel_Click()UnloadMe

EndSub

PrivateSubForm_Load()"Provider=Source="&&"\"=Date

=False

Icon=LoadPicture&"\")EndSub

PrivateSubForm_Unload(CancelAsInteger)

EndSub

OptionExplicit

PrivateSubcmdCancel_Click()

UnloadMe

EndSub

PrivateSubcmdDelete_Click()

Iftxt(0).Text=""Ortxt

(1)=""Ortxt

(2)=""Ortxt(3)=""Ortxt(4)=""Or=""Then

MsgBox"请单击行标选择需要修改的图书行",vbCritical,"提示"ExitSub

Else

Iftxt(0)<>(0)Then

MsgBox"请单击行标选择需要修改的图书行",vbCritical,"提示"

Else

IfMsgBox("确认删除读者么",vbYesNo,"提示")=vbYesThenadAffectCurrent

'adAffectCurrent

DimiAsInteger

Fori=0To4

txt(i)=""

Nexti

=-1

EndIf

MsgBox"删除成功!

",,"提示"

EndIf

EndIf

EndSub

PrivateSubDataGrid1_Click()DimiAsIntegerFori=0To4txt(i).Text=(i)

Nexti

=(5)

EndSub

PrivateSubForm_Load()

"Provider=Source="&&"\"

=adUseClient

"书库",cn,adOpenKeyset,adLockOptimistic

Set=rs1

txt(0).Enabled=False

Icon=LoadPicture&"\")EndSub

PrivateSubForm_Unload(CancelAsInteger)

EndSub

OptionExplicit

PrivateSubcmdCancel_Click()

UnloadMe

EndSub

PrivateSubcmdEdit_Click()

=""Then

Iftxt(0).Text=""Ortxt

(1)=""Ortxt

(2)=""Ortxt(3)=""Ortxt(4)=""Or

MsgBox"请单击行标选择需要修改的图书行",vbCritical,"提示"

Else

Iftxt(0)<>(0)Then

MsgBox"请单击行标选择需要修改的图书行",vbCritical,"提示"Else

IfMsgBox("确认要修改么",vbYesNo,"提示")=vbYesThen

DimiAsInteger

Fori=0To4

(i)=txt(i).Text

Nexti

(5)=

adAffectCurrent

MsgBox"修改成功",,"提示"

EndIf

EndIf

EndIf

EndSub

PrivateSubDataGrid1_Click()

DimiAsInteger

Fori=0To4

txt(i).Text=(i)

Nexti

=(5)

EndSub

PrivateSubForm_Load()

"Provider=Source="&&"\"

=adUseClient

"书库",cn,adOpenKeyset,adLockOptimistic

Set=rs1

txt(0).Enabled=False

Icon=LoadPicture&"\")

EndSub

PrivateSubForm_Unload(CancelAsInteger)

EndSub

OptionExplicit

PrivateSubcmdSearch_Click()

OnErrorResumeNext

=adUseClient

"Select*From书库Where"&&"='"&&"'",cn,adOpenKeyset,ad

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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