图书管理系统设计报告_第1页
图书管理系统设计报告_第2页
图书管理系统设计报告_第3页
图书管理系统设计报告_第4页
图书管理系统设计报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图书管理系统设计报告学生姓名:陈德敏 指导老师:叶枫 摘要:图书管理系统主要由密码管理模块,图书检索模块,图书信息录入模块,读者管理模块,借还管理模块等组成。其中又分成图书去向检索,图书信息检索,读者查询,读者信息管理,借书管理,还书管理等子模块。我在第一步的需求分析中概括设计出各个功能的模块图和系统总模块的数据流图,列出数据流信息以及数据字典;第二步在需求分析的基础上画出ER图表示数据以及相互间的联系;第三步在access2010的设计环境下设计出图书管理系统。 关键字:数据库,vb语言,access2010,图书管理系统目录一 系统分析 1.1项目内容概要 1.2功能模块图1.3数据流图1.4数据字典二 系统设计2.1 ER图2.2数据库设计 2.21 启动access 2.22 建立表格 2.23 表间关系 2.24窗体设计 1)登录窗体 2)切换窗体 3)密码管理窗体 4)图书检索窗体 5)读者管理窗体 6)借还管理窗体三 程序运行说明书四 个人总结一、 系统分析在进行一个项目的设计之前,先要进行必要的系统分析。1.1 项目内容概要现某图书馆需要管理其读者和图书信息,希望实现办公的信息化,通立一个图书管理系统来管理图书。将系统分为以下几个模块:密码管理模块,图书检索模块,图书信息录入模块,读者管理模块,借还管理模块。其主要功能如下:(1) 密码管理模块管理员能够在该功能模块中修改当前登录号的密码。(2) 图书检索模块:该模块包括图书去向检索和图书信息检索两个子模块,图书去向检索能够提供管理员查询图书去向的功能,图书信息检索提供管理员查询图书基本信息的功能。(3) 图书信息录入该模块在新书入库时,提供管理员录入新进图书的基本信息。(4) 读者管理模块该模块包括读者查询和读者信息管理两个子模块,分别提供根据读者证号查询读者的基本信息的功能和管理员修改读者信息的功能。(5) 借还管理模块该模块包括借书和还书两个子模块,并且能够满足一定条件的借还书操作,如:在借书时,检查借阅证是否有效,借书额是否已满,所借图书是否过期等,若不合格,系统拒借;还书时,若超期则显示读者超期天数和罚款金额。 1.2功能模块图系统的功能模块图如图1所示。 图1功能模块图1.3数据流图,如图2 图2数据流图1.4数据字典参数名类型长度取值范围别名意义读者证号文本255ZH姓名文本50XM性别文本50XB单位文本50DW地址文本50DZ电话文本50DH已借本书数字64YJ借阅编号自动编号64JYBH书号文本255SH借书日期日期/时间yy-mm-ddJSRQ借还标志是/否2BZ还书日期日期/时间yy-mm-ddHSRQ书名文本50SM作者文本50ZZ出版社文本50CBS出版时间日期/时间yy-mm-ddCBSJ入库时间日期/时间yy-mm-ddRKSJ类别文本50LB主题词文本50ZYC价格货币¥#,#0.00;¥-#,#0.00JG来源文本50LY征订书目文本50ZDSM借阅状态是/否2JYZT是或否编号(图书赔偿)数字64BH赔偿金额货币¥#,#0.00;¥-#,#0.00PCJE用户名文本50YHM密码文本50MM二 系统设计2.1 ER图,如图3 图3 ER图2.2数据库设计建立access数据库 2.21启动access建立一个空的数据库 管理信息系统.mdb,如图4 图4 建立空数据库2.22建立表格根据要求建立系统需要的表格如下读者库,如图5图5 读者库书库,如图6 图6,书库图书表,如图7图7,图书表用户登录表,如图8 图8,用户登录表借还书登记库,如图9如图9图书赔偿表,如图10图10,图书赔偿表2.23 表间关系,如图11 图11表间关系2.24窗体的创建1)登录窗体因为所有的功能的使用都需要以登录为前提,所以我先设计了登录窗体。该窗体用于管理员的登录,只有管理员权限的人才能登录图书管理系统进行操作,如图13,只有输入正确的用户名和密码才能进入下一个窗体进行操作。设计完成后,图示如图12。该部分的界面设计比较简单,但是需要阿爸捕鱼判定用户名和密码是否正确,才能决定是否打开系统的主要部分,故 “确定”按钮的实现需要代码的支持。图12 登陆窗体该窗体的代码如下:Option Compare DatabasePrivate Sub 命令16_Click()On Error GoTo Err_命令16_Click DoCmd.CloseExit_命令16_Click: Exit SubErr_命令16_Click: MsgBox Err.Description Resume Exit_命令16_Click End SubPrivate Sub d_Click()End SubPrivate Sub 取消_Click()On Error GoTo Err_取消_Click If Me.Dirty Then Me.Dirty = False DoCmd.CloseExit_取消_Click: Exit SubErr_取消_Click: MsgBox Err.Description Resume Exit_取消_Click End SubPrivate Sub 确定_Click()On Error GoTo Err_确定_ClickIf Trim(Nz(Txt_Password) = Trim(Nz(DLookup(密码, 用户登录表, 用户名= & & Combo28 & ) And Me.Combo28 Then Me.TimerInterval = 0 Me.Visible = False DoCmd.OpenForm 切换窗体, acNormal, , , acFormReadOnly, acWindowNormalElse MsgBox 用户名或者密码错误!请重试!, , 请重新输入 Me.Combo28.SetFocus Me.Txt_Password = End If Exit_确定_Click: Exit SubErr_确定_Click: MsgBox Err.Description Resume Exit_确定_ClickEnd Sub2)切换窗体 该窗体实现对各个功能块的连接,算是系统的一个中转站各个按钮对应各个功能,这些按钮会在最后系统完成时指向各自的功能模块,实现各自的功能,该部分代码分别如下: 退出系统按钮Private Sub Command31_Click()On Error GoTo Err_Command31_Click If Me.Dirty Then Me.Dirty = False DoCmd.CloseExit_Command31_Click: Exit SubErr_Command31_Click: MsgBox Err.Description Resume Exit_Command31_Click End Sub密码管理按钮Private Sub Command34_Click()On Error GoTo Err_Command34_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(23494) & ChrW(30721) & ChrW(31649) & ChrW(29702) DoCmd.OpenForm stDocName, , , stLinkCriteriaExit_Command34_Click: Exit SubErr_Command34_Click: MsgBox Err.Description Resume Exit_Command34_Click End Sub图书检索按钮Private Sub Command36_Click()On Error GoTo Err_Command36_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(22270) & ChrW(20070) & ChrW(21435) & ChrW(21521) & ChrW(26816) & ChrW(32034) DoCmd.OpenForm stDocName, , , stLinkCriteriaExit_Command36_Click: Exit SubErr_Command36_Click: MsgBox Err.Description Resume Exit_Command36_Click End Sub其他按钮雷同,不做过多介绍。3)密码管理窗体密码维护窗体是提供管理员修改密码的功能的,只需要设计简单的窗体,将用户名直接获取登录时的用户名,旧密码和新密码都设定为掩码,只要在确定按钮设计简单的代码即可,设计图如下: 本窗体运用到部分代码设计,代码如下:Option Compare DatabasePrivate Sub 确认_Click()Dim stsql As StringIf 旧密码 = DLookup(密码, 用户登录表, 用户名= & username & ) Then DoCmd.SetWarnings False 屏蔽系统错误 DoCmd.RunSQL update 用户登录表 SET 密码 = & 新密码 & where 用户名= & username & DoCmd.SetWarnings True MsgBox 密码更改成功,欢迎使用本系统!, vbInformation DoCmd.Close acForm, 密码维护窗体Else MsgBox 操作有误,请重新输入!, vbInformation Me.旧密码 = Me.新密码 = Me.旧密码.SetFocusEnd IfEnd SubPrivate Sub 取消_Click()On Error GoTo Exit_Err DoCmd.Close acForm, 密码管理 Forms!登录.Visible = TrueExit_Err: Exit SubEnd SubPrivate Sub 主体_Click()End Sub4)图书检索窗体 图书检索包括了对图书去向的检索和图书信息的检索两个部分,故我在该窗体又设计的几个子窗体图示如下: 该部分比较简单,设计代码如下:Private Sub Command3_Click()On Error GoTo Err_Command3_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(25353) & ChrW(20070) & ChrW(21495) & ChrW(26597) & ChrW(22270) & ChrW(20070) & ChrW(21435) & ChrW(21521) DoCmd.OpenForm stDocName, , , stLinkCriteriaExit_Command3_Click: Exit SubErr_Command3_Click: MsgBox Err.Description Resume Exit_Command3_Click End SubPrivate Sub Command4_Click()On Error GoTo Err_Command4_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(25353) & ChrW(20070) & ChrW(21517) & ChrW(26597) & ChrW(22270) & ChrW(20070) & ChrW(21435) & ChrW(21521) DoCmd.OpenForm stDocName, , , stLinkCriteriaExit_Command4_Click: Exit SubErr_Command4_Click: MsgBox Err.Description Resume Exit_Command4_Click End SubPrivate Sub 主体_Click()End Suba图书去向检索 在该窗体设计2个查询,点击按钮可以在跳出的窗口输入参数值进行图书去向的检索。开始时完全不知道该怎么做查询,看了老师给的例子,依样画葫芦做了这样两个查询 按书号查询图书去向 按书名查询图书去向完成后点击出现以下两个窗口 该部分设计代码如下:Private Sub Command3_Click()On Error GoTo Err_Command3_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(22270) & ChrW(20070) & ChrW(26816) & ChrW(32034) DoCmd.OpenForm stDocName, , , stLinkCriteriaExit_Command3_Click: Exit SubErr_Command3_Click: MsgBox Err.Description Resume Exit_Command3_Click End SubPrivate Sub Command4_Click()On Error GoTo Err_Command4_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(22270) & ChrW(20070) & ChrW(20449) & ChrW(24687) & ChrW(26816) & ChrW(32034) DoCmd.OpenForm stDocName, , , stLinkCriteriaExit_Command4_Click: Exit SubErr_Command4_Click: MsgBox Err.Description Resume Exit_Command4_Click End Subb图书信息检索该窗体也是设计了2个查询在跳出的窗口输入参数值进行图书信息的检索。与上面基本雷同,不做过多介绍。5)图书登记窗体 该窗体实现了对书库的图书信息进行查阅和添加删除图书信息的功能 点击下面的4个按钮可以对书库的图书信息逐一进行浏览在这里,设计2个按钮,一个添加记录一个删除记录。点击添加记录则会转到空的记录,在此输入新进图书的信息即可点击删除记录则会删除当前图书的信息。 添加删除记录的代码分别如下:Private Sub 添加记录_Click()On Error GoTo Err_添加记录_Click DoCmd.GoToRecord , , acNewRecExit_添加记录_Click: Exit SubErr_添加记录_Click: MsgBox Err.Description Resume Exit_添加记录_Click End SubPrivate Sub 删除记录_Click()On Error GoTo Err_删除记录_Click DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdDeleteRecordExit_删除记录_Click: Exit SubErr_删除记录_Click: MsgBox Err.Description Resume Exit_删除记录_Click End Sub6)读者管理窗体该窗体包括读者查询和读者信息管理两个子窗体。点击各个按钮则分别进入对应的子窗体。a 读者查询窗体该窗体分为2个部分的查询,一个是读者基本信息的查询,另一个则是读者惩罚查询当输入读者证号时,则跳出读者基本信息的情况,若读者收到惩罚,也会跳出读者需要收到惩罚的一些情况两个查询的设计图如下: 读者基本信息查询 读者赔偿查询当输入0后跳出b读者信息管理窗体该窗体包括两个子窗体,一个是读者信息浏览,另一共是读者添加删除。当点击读者信息浏览对应的按钮时,则可以进入读者库对读者信息逐一浏览。当点击读者添加删除对应的按钮时,则可以对读者进行添加新读者和删除读者的操作7)借还管理窗体该窗体包含借书和还书两个子窗体a 借书窗体当点击借书后进入借书窗体如下在进行借书操作时,首先需要点击的是借阅登记,进入当输入完各个信息后点击确定借阅。在该窗体,借阅书籍需要满足一定的条件:其中包括借阅证是否有效,借书额是否已满,所借图书是否过期等,若不合格,系统拒借,并显示拒借原因设计的代码如下:Private Sub 确定借阅_Click()On Error GoTo Err_确定借阅_ClickIf (DLookup(已借本数, 读者库, 读者证号= & Combo3 & ) = 5) Then MsgBox 借书额已满!, vbInformationElsea = DLookup(超期天数, 在借图书超期查询, 读者证号= & 读者证号 & )If (a = 1) ThenMsgBox 您有在借图书已超期,请先归还!Else DoCmd.SetWarnings False 屏蔽系统错误 DoCmd.RunSQL insert into 借还书登记(读者证号,登录号,借书日期,应还日期) values ( & Combo读者证号 & , & Text书本号 & ,a,b,False) DoCmd.RunSQL update 读者库 SET 已借本数 = 已借本数+1 where 读者证号= & Combo3 & DoCmd.RunSQL update 书库 SET 借阅状态 = True where 书号= & Combo5 & DoCmd.SetWarnings True MsgBox 借阅成功,欢迎使用本系统!, vbInformation DoCmd.CloseEnd IfEnd If Screen.PreviousControl.SetFocus DoCmd.FindNextExit_确定借阅_Click: Exit SubErr_确定借阅_Click: MsgBox Err.Description Resume Exit_确定借阅_Click End SubPrivate Sub 退出_Click()On Error GoTo Err_退出_Click If Me.Dirty Then Me.Dirty = False DoCmd.CloseExit_退出_Click: Exit SubErr_退出_Click: MsgBox Err.Description Resume Exit_退出_Click End SubPrivate Sub 借阅登记_Click()On Error GoTo Err_借阅登记_Click DoCmd.GoToRecord , , acNewRecExit_借阅登记_Click: Exit SubErr_借阅登记_Click: MsgBox Err.Description Resume Exit_借阅登记_Click End SubPrivate Sub 主体_Click()End Subb还书窗体在设计该窗体前,我先设计了一个还书查询,在进入该窗体前,首先要先输入借阅编号,跳转到该借阅情况的窗口再点击还书登记按钮,还书时若逾期,也需要进行赔偿,设计还书按钮的时候进行代码的设计,设计代码如下:Option Compare DatabasePrivate Sub Command13_Click()a = DLookup(借书日期, 借还书登记库, 书号= & 书号 & )b = Datec = DateDiff(d, b, a) - 15d = c * 0.1If c 0 Then DoCmd.SetWarnings False 屏蔽系统错误 DoCmd.RunSQL update 读者库 SET 已借本数 = 已借本数-1 where 读者证号= & 读者证号 & DoCmd.RunSQL update 书库 SET 借阅状态 = False where 书号= & 书号 & DoCmd.SetWarnings True MsgBox 还书成功,欢迎使用本系统!, vbInformation ElseMsgBox 此书已超期, vbInformationDoCmd.OpenForm 读者赔偿查询End If DoCmd.RunCommand acCmdSaveRecord DoCmd.CloseEnd SubPrivate Sub Command15_Click()On Error GoTo Err_Command15_Click DoCmd.RunCommand acCmdSaveRecordExit_Command15_Click: Exit SubErr_Command15_Click: MsgBox Err.Description Resume Exit_Command15_Click En

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论