


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-图书管理系统设计方案目录1、引言.12、需求分析.13、系统设计.23.1、设计图书管理系统的功能构造.23.2、图书管理系统的用户管理实体关系.23.3、图书管理系统的借阅管理实体关系.23.4、图书管理系统的读者管理实体关系.33.5、图书管理系统的图书库管理实体关系.34、系统详细设计.44.1、数据库的设计.44.2、管理模块的具体设计.64.3、数据库和管理模块的连接.115、软件调试.125.1、管理员权限操作.125.2、普通用户操作.176、设计总结及分析.187、课程设计体会.188、设计中所用到的程序代码汇总.191 / 35-一、引言随着人们对物质需求的逐步满足,精神文
2、明的追求日益增加,大大小小的书店,图书馆到处可见,特别是一些规模较大的学校,图书馆的数量以及规模都在增大。随着各图书馆的图书的数量不断增多和图书馆规模的不断扩大,管理这些庞大的体系非常困难的,因为图书的情况是随时改变的,因此必需对图书进展动态的管理,而这对于一个管理人员来说是一件比拟复杂的事情,存储、查询、借阅是必不可少的业务。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进展人工管理,由于信息比拟多,图书借阅信息的管理工作混乱而又复杂;基于这一点,开发了这个图书管理系统,它将图书借还这一传统方式进展信息化。我们这一系统满足了对日常的图书管理;图书的出租
3、与归还的管理;图书的总量;图书是否借出查询一数据库系统根本实现了对图书的数据库管理,大大的提高了工作效率和图书的遗失率。二、需求分析用户的需求具体表达在各种信息的提供、保存、更新和查询,这就要求数据库构造能充分满足各种信息的输出和输入。收集根本数据、数据构造以及数据处理的流程,组成一份详尽的数据字典,为以后的具体设计打下根底。针对一般图书馆管理信息系统的需求,通过对图书馆管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据构造:1.读者信息,包括的数据项有:读者编号、读者XX、联系、所属部门。2.书库,包括的数据项有:书号、书名、作者、单价、类别、在库状态。3.借阅记录,包括的数据项
4、有:序号、书号、书名、借出时间、归还时间、读者XX。4.系统设置,包括的数据项有:用户名、密码、权限。本系统具有的功能:1、实现读者的新增、编辑和删除功能。2、实现图书的新增、编辑和删除功能。3、实现图书的查询功能。4、实现图书借出和归还管理功能。5、实现借阅历史信息的查询功能。6、实现两种不同权限用户的登录功能:普通用户和管理级用户。7、实现用户管理功能,可以通过管理级用户添加新用户,具有权限级别及密码修改功能。有了上面的数据构造、数据项和数据流程,就可以进展下面的数据库设计了。2-三、系统设计3.1、设计图书管理系统的功能构造:管理员用户图书管理系统库图系统管理读者管理图书库管理借阅管理书
5、查询图用软退图图节读读读图图书户件出书书约者书者者书归管系借查信编编删新删新还理息统辑出询辑除除增增图书管理系统的功能构造3.2、图书管理系统的用户管理实体关系:用户管理实体关系3.3、图书管理系统的借阅管理实体关系:3-借阅管理实体-关系3.4、图书管理系统的读者管理实体关系:读者管理实体关系3.5、图书管理系统的图书库管理实体关系:图示管理实体关系如上的实体关系图,设计出功能模块以及说明:1.系统管理模块:用于登录、增加用户、修改用户密码等操作。2.读者管理模块:用于新增读者、编辑读者和删除读者的操作。3.图书库管理模块:用于新增图书、编辑图书和删除图书操作。4.图书查询管理模块:用于库中
6、图书的查询操作。5.图书借阅管理模块:用于图书借出、图书归还和图书借阅记录查询操作。6.系统信息模块:用于显示软件信息和退出操作。4-四、系统详细设计4.1、数据库的设计数据表的设计。本系统的数据表共有四X,分别是“系统设置数据表、“读者库数据表、“书库数据表和“借阅记录数据表。数据库表4.1.1、“系统设置数据表主要用于存储用户信息,包括用户名、密码、权限三个字段。5-4.1.2、“读者库数据表主要是用于存储读者信息,只有等级的读者才具有借阅资格。包括:读者编号、读者XX、联系、所属部门,四个字段。4.1.3、“书库数据表主要是用于存储图书信息,包括:书号、书名、作者、单价、类别、在库状态,
7、七个字段。6-4.1.4、“借阅记录数据表用于存储读者借出归还的历史记录,包括:序号、书号、书名、借出时间、归还时间、读者编号、读者XX,七个字段。7-4.2、管理模块的具体设计4.2.1主窗体模块设计主窗体模块指的是所以模块的操作界面,在本系统中使用多文档窗体及菜单方式来实现,创立主窗体的步骤:1、在工程中创立MDI窗体,然后在选定的MDI窗体的前提下,从菜单栏中选择,从而进展菜单编辑。2、在菜单编辑器中依次创立系统管理、新增用户、修改密码、分割线、关于软件、分割线、退出系统、读者管理、读者新增、读者编辑、读者删除、图书库管理、图书新增、图书编辑、图书删除、图书查询、借阅管理、图书接触、图书
8、归还、借阅查询等菜单。3、菜单设计完成后,返回MDI窗体,显示如以下图。4.2.2、系统管理模块设计系统管理模块包括登陆模块窗体、新增用户窗体模块和密码修改模块窗体。用户登录模块的功能是防止不合法用户的登录;增加用户窗体模块用于实现新增用户功能;密码修改模块用于实现合法用户修改密码的功能。具体设计如下:1、在空白的窗体上,添加标签控件、文本框控件、命令按钮等并调整大小及位置然后设置其各自的属性,显示如下。8-2、对以下事件编程,为登录窗体调价启动事件,为定时器添加timer事件,为登陆窗体添加启动事件,为登录窗体添加“登录按钮事件,为在登录窗体中实现权限设置在公共模块添加代码。具体代码见附件3
9、、创立新增用户窗体,添加标签控件、文本框控件、文本框控件以及组合框控件以及命令按钮控件,调整大小以及位置显示如下。4、在窗体中将新用户、密码和权限添加到数据库中。代码见附件。5、创立修改密码窗体模块,即只要知道用户名和正确密码前提下,修改登录密码。在窗体上添加各控件并设置相应属性后显示如下。6、设置“提交按钮功能,实现修改密码的目的,代码见附件4.2.3、读者管理模块设计1、在创立读者新增窗体模块,即在一个空白的窗体上添加Frame控件、标签控件、文本框控件以及命令控件,调整窗体大小以及其他控件的属性,显示如下。9-2、设置窗体启动事件,主要实现连接数据库并初始化读者编号等功能,代码见附件3、
10、设置“确定按钮,用于实现登录新的图纸信息的目的,具体代码见附件。4、同上创立读者编辑窗体以及读者删除窗体。显示如下。代码见附件4.2.3、图书库管理模块设计如上述的步骤建立图书库管理模块,显示如下代码见附件10-4.2.4、图书查询模块以及图书借阅管理模块设计如上述的步骤建立,显示如下代码见附件11-12-4.3数据库和管理模块的连接4.3.1、准备工作主要包括ADO库文件的导入以及模块中SubMain的设置,具体操作步骤如下:第一步:新建EXE标准工程,并保存为“图书管理系统工程。从菜单栏中选择【工程】【引用】命令,弹出【引用】对话框。第二步:在【引用】对话框中的列表框内选中Microsof
11、tActiveXDataObjects2.8Library复选框。第三步:单击【确定】按钮返回集成开发环境,即完成ADO库文件的导入工作。接着在模块中设置SubMain,即在工程资源管理窗口中完成模块的添加操作后,接着便为模块添加代码,即在工程资源管理窗口中双击新建的模块图标,进入模块的代码编辑窗口,在其中输入如下代码:SubMain()OnErrorGoToErr,使用错误处理语句Cn.Open“Provider=Microsoft.Jet.oledb.4.0;DataSource=&App.Path&JXC.mdbfrmLogin.ShowExitSubErr:MsgBox
12、数据库连接错误!,vbCritical,警告EndEndSub第四步:在工程属性中设置启动对象,即从菜单栏中选择【工程】【属性】命令,在弹出的【工程属性】对话框中的【通用】选项下,将“启动对象设置为SubMain,单击【确定】按钮,即可完成进图书系统的数据库连接准备工作。4.3.2、用户的权限及实现方法定义权限,即普通用户权限不能增加新用户、不能使用图书管理模块和借阅管理模块,而管理级用户可以使用全部功能。13-第一步在公共模块中定义一个布尔变量并声明一个函数,代码编写如下:PublicFunctionQuanXian(blnDJAsBoolean)IfblnDJ=TrueThen,当为Tru
13、e时,即管理级用户MDIForm1.mnuAddNew=TrueMDIForm1.mnuIn=TrueMDIForm1.mnuOut=TrueElse,否那么为普通用户MDIForm1.mnuAddNew=False,响应的菜单呈无用状态MDIForm1.mnuIn=FalseMDIForm1.mnuOut=FalseEndIfEndFunction第二步在登录窗体中添加获取登录时用户的应有权限。rs2.Open"Select权限From系统Where用户名='"&Combo1.Text&"'",_cn,adOpenKey
14、set,adLockOptimisticIfrs2.Fields(0)="System"ThenblnDJ=TrueIfrs2.Fields(0)="Guest"ThenblnDJ=Falsers2.Close第三步在主窗体MDI窗体下响应登录窗体中用户权限的选择,即在主窗体的启动事件中添加如下代码即可。CallQuanxian(blnDJ)五、软件的调试分为两个局部进展,一是管理员,二是用户。14-5.1、管理员权限登录操作5.1.1新增用户15-5.1.2、修改密码5.1.3、读者新增16-5.1.4、读者编辑17-5.1.5、图书新增5.1.6、图
15、书编辑5.1.7、图书删除18-5.1.8、图书搜索5.1.9、图书借出19-5.1.10、图书归还5.1.11、借阅查询5.2、普通用户权限登录5.2.1修改密码20-5.2.2、搜索六、设计总结及分析6.1.1、功能:软件根本完成上述所分析要求的功能。6.1.2、界面设计1.界面友好:本系统的界面很群众化,功能不复杂,管理人员和用户可以较好的把握各自对应权限所有的功能。2.界面美观:本系统界面比拟粗糙,设计一些大方得体的图片,图表等使得界面更加的美丽,给人感觉更亲近。七、课程设计体会21-图书管理系统的使用,大大增加了图书管理员的效率,这次我们设计的系统虽然完成,但依然存在一定问题:1.功
16、能还比拟简单;2.没有经过大量用户的实践检验,无法保证完全满足用户各方面的要求;3.功能有待在使用过程中完善提高。在程序的设计过程中,通过各种资料的阅读,更深一步的了解了图书馆管理信息系统、数据库系统的的概念,为今后开发和设计信息系统和数据库系统打下了深厚的根底。在开发软件的过程中,对编程工具VisualBasic从一无所知到能够简单的应用,不仅新学会了一种功能强大的编程语言,而且提高了独立自学的能力。在学习过程中,遇到了许多的问题,经过努力,我终于冲破了这些难点。由于每个软件的自身设计思路是不一样的,在各种功能的实现上多存在着差异,这使我走了许多的弯路。但同时使我了解了一种新的思路,使我获益
17、匪浅。学到的知识是有限的,面对的实践应用是多种多样的,所学很可能无法满足所用,必须在实践中、在应用中不断学习不断提高,这次完成毕业设计的过程中我学到了许多从前闻所未闻的知识和技能。八、设计中所用到的程序代码汇总OptionExplicitPrivateSubcmdOk_Click()UnloadMeEndSubPrivateSubForm_Load()frmAbout.Icon=LoadPicture(App.Path&"SX.ico")'Image1.Picture=LoadPicture(App.Path&"PIC1.jpg"
18、)EndSub/背景图片PrivateSubLabel1_Click()EndSubOptionExplicitDimrsAsNewADODB.RecordsetPrivateSubcmdNo_Click()UnloadMeEndSub/标签PrivateSubcmdOk_Click()Iftxt(0).Text=""Ortxt(1).Text=""OrCombo1.Text=""Then22-MsgBox"请输入完成的信息!"Elsers.Open"Select*From系统设置Where用户名=
19、9;"&txt(0).Text&"'",cn,adOpenKeyset,adLockOptimisticIfrs.EOF=FalseThen'Ifrs.RecordCount<>0ThenMsgBox"有重名!",vbCritical,"警告"rs.CloseExitSubEndIfrs.CloseIftxt(2).Text=txt(1).TextThenrs.Open"系统设置",cn,adOpenKeyset,adLockOptimisticrs.AddNe
20、wrs.Fields(0)=txt(0).Textrs.Fields(1)=txt(1).Textrs.Fields(2)=Combo1.Textrs.Updaters.CloseMsgBox"添加新用户成功!","恭喜"txt(0).Text=""txt(1).Text=""txt(2).Text=""Combo1.ListIndex=-1ElseMsgBox"两次输入的密码不一样,请确认后重新输入",vbCritical,"警告"EndIfEndIfE
21、ndSub/注册PrivateSubForm_Load()Combo1.AddItem"System"Combo1.AddItem"Guest"cn.Open"Provider=Microsoft.Jet.oledb.4.0;DataSource="&App.Path&"Library.mdb"Icon=LoadPicture(App.Path&"SX.ico")EndSub/权限23-PrivateSubForm_Unload(CancelAsInteger)cn.Cl
22、oseEndSubOptionExplicitPrivateSubcmdCancel_Click()UnloadMeEndSubPrivateSubcmdOk_Click()DimiAsIntegerIftxt(0).Text=""Ortxt(1).Text=""Ortxt(2).Text=""Ortxt(3).Text=""ThenMsgBox"请输入完整的信息!"Elsers1.Open"读者库",cn,adOpenKeyset,adLockOptimisticrs1.A
23、ddNewFori=0To3rs1.Fields(i)=txt(i).TextNextirs1.UpdateMsgBox"添加新用户成功!","恭喜"txt(0).Text=rs1.Fields(0)+1Fori=1To3txt(i).Text=""NextiEndIfEndSubPrivateSubForm_Load()cn.Open"Provider=Microsoft.Jet.oledb.4.0;DataSource="&App.Path&"Library.mdb"rs1.
24、Open"读者库",cn,adOpenKeyset,adLockOptimisticIfrs1.RecordCount=0Thentxt(0).Text=1Elsers1.MoveLast24-txt(0).Text=rs1.Fields(0)+1'自动设置读者编号防止读者编号重复EndIfrs1.Closetxt(0).Enabled=FalseIcon=LoadPicture(App.Path&"SX.ico")EndSubPrivateSubForm_Unload(CancelAsInteger)cn.CloseEndSubOpti
25、onExplicitPrivateSubcmdAdd_Click()DimiAsIntegerIftxt(0).Text=""Ortxt(1).Text=""Ortxt(2).Text=""Ortxt(3).Text=""Ortxt(4).Text=""OrCombo1.Text=""ThenMsgBox"请输入完整的信息!",vbCritical,"警告"ExitSubElsers1.AddNewFori=0To4rs1.Fields
26、(i)=txt(i).TextNextirs1.Fields(5)=Combo1.Textrs1.Fields(6)="Yes"rs1.UpdateBatchadAffectCurrentEndIfMsgBox"图书新增成功!","提示"txt(0).Text="ISBN-"&Right(rs1.Fields(0),1)+1Fori=1To4txt(i).Text=""NextiCombo1.ListIndex=-1EndSubPrivateSubcmdCancel_Click()Unl
27、oadMe25-EndSubPrivateSubForm_Load()cn.Open"Provider=Microsoft.Jet.oledb.4.0;DataSource="&App.Path&"Library.mdb"rs1.Open"书库",cn,adOpenKeyset,adLockOptimisticrs1.MoveLasttxt(0).Text="ISBN-"&Right(rs1.Fields(0),1)+1txt(0).Enabled=FalseCombo1.AddItem&q
28、uot;技术类"Combo1.AddItem"非技术类"Icon=LoadPicture(App.Path&"SX.ico")EndSubPrivateSubForm_Unload(CancelAsInteger)rs1.Closecn.CloseEndSubOptionExplicitPrivateSubcmdB_Click()IfText1(0).Text=""OrText2(0).Text=""OrText3.Text=""ThenMsgBox"请输入完整的数据
29、!",vbCritical,"警告"ExitSubElsers1.Open"Select*From书库Where书号='"&Text1(0).Text&"'",cn,adOpenKeyset,adLockOptimisticIfrs1.Fields(6)="Yes"Thenrs1.CloseDimtemp1AsString,temp2AsStringrs1.Open"Select*From书库Where书号='"&Text1(0).Tex
30、t&"'",cn,adOpenKeyset,adLockOptimistictemp1=rs1.Fields(1)rs1.Closers1.Open"Select*From读者库Where读者编号='"&Text2(0).Text&"'",cn,adOpenKeyset,adLockOptimistic26-temp2=rs1.Fields(1)rs1.Closers1.Open"借阅记录",cn,adOpenKeyset,adLockOptimisticrs1.Ad
31、dNewrs1.Fields(1)=Text1(0).Textrs1.Fields(2)=temp1rs1.Fields(3)=Text3.Textrs1.Fields(5)=Text2(0).Textrs1.Fields(6)=temp2rs1.UpdateBatchadAffectCurrentrs1.Closers1.Open"Select*From书库Where书号='"&Text1(0).Text&"'",cn,adOpenKeyset,adLockOptimisticrs1.Fields(6)="No
32、"rs1.UpdateBatchadAffectCurrentrs1.CloseMsgBox"已办理好借阅手续!","提示"ElseMsgBox"该书已经被借出",vbCritical,"提示"rs1.CloseEndIfEndIfEndSubPrivateSubcmdCancel_Click()UnloadMeEndSubPrivateSubForm_Load()cn.Open"Provider=Microsoft.Jet.oledb.4.0;DataSource="&App
33、.Path&"Library.mdb"Text3.Text=DateText3.Enabled=FalseIcon=LoadPicture(App.Path&"SX.ico")EndSubPrivateSubForm_Unload(CancelAsInteger)cn.Close27-EndSubOptionExplicitPrivateSubcmdCancel_Click()UnloadMeEndSubPrivateSubcmdDelete_Click()Iftxt(0).Text=""Ortxt(1)="
34、"Ortxt(2)=""Ortxt(3)=""Ortxt(4)=""OrCombo1.Text=""ThenMsgBox"请单击行标选择需要修改的图书行",vbCritical,"提示"ExitSubElseIftxt(0)<>rs1.Fields(0)ThenMsgBox"请单击行标选择需要修改的图书行",vbCritical,"提示"ElseIfMsgBox("确认删除读者么?",vbYes
35、No,"提示")=vbYesThenrs1.DeleteadAffectCurrent'rs1.UpdateBatchadAffectCurrentrs1.MoveLastDimiAsIntegerFori=0To4txt(i)=""NextiCombo1.ListIndex=-1EndIfMsgBox"删除成功!","提示"EndIfEndIfEndSubPrivateSubDataGrid1_Click()DimiAsIntegerFori=0To428-txt(i).Text=rs1.Fields(i
36、)NextiCombo1.Text=rs1.Fields(5)EndSubPrivateSubForm_Load()cn.Open"Provider=Microsoft.Jet.oledb.4.0;DataSource="&App.Path&"Library.mdb"rs1.CursorLocation=adUseClientrs1.Open"书库",cn,adOpenKeyset,adLockOptimisticSetDataGrid1.DataSource=rs1txt(0).Enabled=FalseIcon=L
37、oadPicture(App.Path&"SX.ico")EndSubPrivateSubForm_Unload(CancelAsInteger)rs1.Closecn.CloseEndSubOptionExplicitPrivateSubcmdCancel_Click()UnloadMeEndSubPrivateSubcmdEdit_Click()Iftxt(0).Text=""Ortxt(1)=""Ortxt(2)=""Ortxt(3)=""Ortxt(4)=""
38、OrCombo1.Text=""ThenMsgBox"请单击行标选择需要修改的图书行",vbCritical,"提示"ExitSubElseIftxt(0)<>rs1.Fields(0)ThenMsgBox"请单击行标选择需要修改的图书行",vbCritical,"提示"ElseIfMsgBox("确认要修改么?",vbYesNo,"提示")=vbYesThenDimiAsIntegerFori=0To4rs1.Fields(i)=txt(i)
39、.Text29-Nextirs1.Fields(5)=Combo1.Textrs1.UpdateBatchadAffectCurrentMsgBox"修改成功","提示"EndIfEndIfEndIfEndSubPrivateSubDataGrid1_Click()DimiAsIntegerFori=0To4txt(i).Text=rs1.Fields(i)NextiCombo1.Text=rs1.Fields(5)EndSubPrivateSubForm_Load()cn.Open"Provider=Microsoft.Jet.oledb.4
40、.0;DataSource="&App.Path&"Library.mdb"rs1.CursorLocation=adUseClientrs1.Open"书库",cn,adOpenKeyset,adLockOptimisticSetDataGrid1.DataSource=rs1txt(0).Enabled=FalseIcon=LoadPicture(App.Path&"SX.ico")EndSubPrivateSubForm_Unload(CancelAsInteger)rs1.Closecn.Cl
41、oseEndSubOptionExplicitPrivateSubcmdSearch_Click()OnErrorResumeNextrs1.Close30-rs1.CursorLocation=adUseClientrs1.Open"Select*From书库Where"&Combo1.Text&"='"&txt_Search.Text&"'",cn,adOpenKeyset,adLockOptimisticSetDataGrid1.DataSource=rs1Ifrs1.RecordCount=0ThenMsgBox"查无此书"EndSubPrivateSubForm_Load()cn.Open"Provider=Microsoft.Jet.oledb.4.0;DataSource="&App.Path&"Library.mdb"Combo1.AddItem"书号"Combo1.AddItem"书名"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼类增养殖学知到课后答案智慧树章节测试答案2025年春烟台大学
- 2024年西咸新区秦汉第四学校招聘真题
- 2024年山东中胶阿胶有限公司招聘真题
- 2024年磐石市市属事业单位考试真题
- 2024年昆明行知中学高中教师招聘真题
- 2024年湖北华中科技大学招聘专职辅导员真题
- 2024年安庆市宜城科技学校专任教师招聘真题
- 搭积木 教案2024-2025学年数学一年级上册 北师大版
- 室内设计协议标准版本(2025年版)
- 商房屋租凭合同范本
- 第九届全国大学生测井技能大赛备赛试题库-中(多选题)
- 公交驾驶员心理素质培训考核试卷
- 二下音乐《阿西里西(简谱、五线谱)》公开课课件
- 2024版全新购销鸡饲料合同
- 中医食疗学智慧树知到答案2024年陕西中医药大学
- NB-T33009-2021电动汽车充换电设施建设技术导则
- 南通2024年江苏南通市公安局苏锡通园区分局警务辅助人员招聘12人笔试历年典型考题及考点附答案解析
- SYT 6968-2021 油气输送管道工程水平定向钻穿越设计规范-PDF解密
- 人美版初中美术知识点汇总八年级全册
- 工地图文广告清单及报价(2家)
- 如果国宝会说话中国历史文物介绍
评论
0/150
提交评论