图书借阅管理系统课程设计报告-课程设计.doc_第1页
图书借阅管理系统课程设计报告-课程设计.doc_第2页
图书借阅管理系统课程设计报告-课程设计.doc_第3页
图书借阅管理系统课程设计报告-课程设计.doc_第4页
图书借阅管理系统课程设计报告-课程设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

图书借阅管理系统课程设计报告-课程设计随着计算机技术的发展和计算机网络的逐渐普及,信息的交换和信息的流通特别重要。因此,图书馆使用计算机来管理成为必然。 本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,图书,借阅的信息等。本系统结构分为工作管理模块,资料维护模块,借阅信息管理模块,系统管理模块。工作管理部分就是对借阅图书的管理;资料维护可以对读者信息和图书信息进行维护。查询管理可以对当前的图书进行查询。利用数据流图和代码设计等对图书进行设计。本系统主要解决的问题是利用关键字对数据库进行查询。一、系统分析1.可行性分析图书借阅系统的建立,需要进行用户需求调查和分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节,要想使学生能够有效的借阅,功能上对系统的要求是全面的。因此对用户的需求可分为四个方面:一方面是图书管理人员对需要进行图书借阅的同学进行信息注册,获得借书证:二方面是学生通过计算机进行图书浏览:三方面是学生通过计算机进行图书借阅:四方面是打印输出学生信息。这四个方面形成图书借阅的一个工作整体,利用计算机的自动化处理,课方便快捷的共享信息、交流信息,高效的协同工作。在软硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很方便简单的进行图书借阅信息管理。硬件的配置要求不能太高。这要可以很好的适应当前学校的图书馆的借阅。借阅系统的建立,是图书的借阅从管理和技术上都得以发挥。在经济上,也会更加省时,省力,使图书管理工作更加简便有效,并且减少错误记录,无形中借阅了钱财。因此通过分析,建立借阅系统是十分有必要的。 2.系统功能分析3.由上述数据流程图,配套出数据字典(1).数据结构和数据项字典图书信息表:本表主要用于存储图书信息字段名数据类型可否为空说明编号 CHAR(10)NOT NULL主键(唯一标识) 书名 CHAR(20)NOT NULL 作者CHAR(10)NOT NULL 出版社 CHAR(20)NOT NULL 是否借出 CHAR(2)NOT NULL 默认否(是,否)价格MONEY(8)NOT NULL 页码 CHAR(10)NOT NULL 类别CHAR(10)NOT NULL 进货日期Datatime(8)NOT NULL 出版日期 Datatime(8)NOT NULL 主码为:(图书)编号借书卡表:本表主要用于存储读者信息:字段名数据类型可否为空说明卡号 CHAR(10)NOT NULL 主键姓名 CHAR(10)NOT NULL 密码CHAR(10)NOT NULL 性别CHAR(2)NOT NULL 默认男(男,女)班级CHAR(10) NOT NULL 借书数目INTNOT NULL默认0 到期Datatime(8)NOT NULL 超期天数CHAR(10)NOT NULL默认0 书籍编号CHAR(10)NOT NULL 费用MONEY(8)NOT NULL默认0 家庭住址CHAR(10)NOT NULL 联系电话CHAR(15)NOT NULL 主码为:卡号借还信息表:本表主要用于存储借阅书信息字段名数据类型可否为空说明编号 CHAR(10)NOT NULL主键 卡号 CHAR(10)NOT NULL 主键借书日期Datatime(8) NOT NULL 还书日期 Datatime(8)NOT NULL 主码为:(图书)编号、卡号图书位置表:字段名数据类型可否为空说明编号 CHAR(10)NOT NULL 主键图书室 CHAR(10)NOT NULL 书架CHAR(10)NOT NULL 工作人员CHAR(10)NOT NULL 主码为: (图书)编号报表信息表:字段名数据类型可否为空说明起始月份INTNOT NULL主键截止月份INTNOT NULL主键借出册数 CHAR(10)NULL 新增册数 CHAR(10)NULL 罚款CHAR(10)NULL 管理人员登陆表:字段名数据类型可否为空说明帐号 CHAR(10)NOT NULL主键 密码 CHAR(10)NOT NULL 姓名CHAR(10)NOT NULL528图书借阅管理系统课程设计报告性别CHAR(2)NOT NULL默认男(男,女)工作人员登陆表:字段名数据类型可否为空说明帐号 CHAR(10)NOT NULL主键密码 CHAR(10)NOT NULL 姓名CHAR(10)NOT NULL性别CHAR(2)NOT NULL默认男(男,女)(2).数据流字典名称说明位置定义登陆验证验证ID号,合法用户可以登陆 管理员登陆处理1工作人员登陆处理2借书人员(借书卡)登陆处理3登陆验证=用户名+密码验证结果是否为合法用户,并验证以何种身份进入窗口登陆处理1 管理员登陆处理2工作人员登陆处理3借书人员验证结果=登陆成功 / 无此用户名/ 密码错误查询信息借书人员可查看个人情况;管理员和工作员可查看所有情况基本信息图书信息图书信息维护图书信息 / 借书卡信息 / 工作人员信息查询信息=查询个人信息 / 查询所有信息添加信息只有管理员才能进行添加信息图书信息维护图书信息 借书卡信息维护借书卡信息工作员信息维护工作员信息添加信息=添加图书信息/借书卡信息修改信息只有管理员才能进行修改信息借书人员只能改部分信息图书信息维护图书信息 借书卡信息维护借书卡信息工作员信息维护工作员信息修改信息=修改图书信息/借书卡信息删除信息只有管理员才能进行删除信息图书信息维护图书信息 借书卡信息维护借书卡信息工作员信息维护工作员信息删除信息=删除图书信息/借书卡信息(3).数据存储字典:名称说明输入输出管理员信息审核时需查看的信息登陆处理1工作人员信息由管理员维护管理员登陆处理2 图书信息由管理员或工作员维护管理员,工作人员图书借书卡信息由管理员或借书员维护管理员,借书人员登陆处理3和借书卡报表信息由管理员维护;由所有人员查看 管理员报表借还信息由工作人员维护 工作人员图书二、系统设计1.模块结构设计图书管理系统需要实现的功能主要有四大块:“日常工作管理”、“基本资料维护”、“查询”、“系统管理”模块。其中日常工作管理和基本资料维护是整个系统的核心。1)“工作管理”模块: 结束处理:主要功能是记录借阅证编号和图书编号,进行结束过程。在数据库中插入一条街数记录,该记录包括读者学好、图书编号、结束日期、还书期限、操作员姓名。 还书处理:主要功能是输入借阅证编号、图书编号,在借阅登记表中找到相应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除,并保存在借阅历史记录表中。 续借处理:当读者的节约状态满足条件,可以对图书进行续接操作,自动将当前日期加上借阅期限,生成新的归还日期,更新借阅信息,完成续借工作。 缴纳罚金:输入读者学号,显示该读者的姓名、图书编号、罚款金额和罚款原因,如果读者缴纳了罚金,则将借阅登记表的允许借阅标志置为“Y”。删除罚款记录表中该读者对应的记录。2)“资料维护模块”: 图书资料维护:包括新书的入库,以及现有书籍资料的修改,删除。 读者资料维护:包括读者的资料入库,以及县有读者资料的修改和删除3)“查询”模块: 图书资料查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:“图书分类”、“图书号”、“图书名称”、“作者”。 读者资料查询:根据相应的读者资料惊醒所需查询。次查询包括:“借阅证号”、“读者姓名”。 借阅历史记录查询:根据相应的借阅信息进行所需查询。此查询包括:“借阅证号”、“图书号”、“结束日期”、“还书日期”。 罚款历史记录查询:根据相应的罚款信息进行查询。此查询包括:“借阅证号”、“罚款日期”、“罚款原因”。4)“系统管理”模块: 员工管理:包括员工信息的录入,密码的修改以及员工信息的删除。 数据备份:对现有的数据库信息的保存。 数据恢复:对数据库信息的恢复。2.代码设计(使用VB)Splash界面:其中时钟控制它只有2秒的显示状态代码:Private Sub Form_Click()login.ShowUnload MeEnd SubPrivate Sub Label1_Click(Index As Integer)login.ShowUnload MeEnd SubPrivate Sub Label2_Click(Index As Integer)login.ShowUnload MeEnd SubPrivate Sub Timer1_Timer()login.ShowUnload MeEnd Sub登陆界面:分别为4个不同用户登陆代码:Private Sub Command1_Click()If Text1.Text = Or Text2.Text = Then MsgBox 用户名或密码为空!, 48, 警告Else Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆 Adodc1.RecordSource = select * from 工作人员登陆 where 帐号= & Trim(Text1.Text) & and 密码= & Text2.Text & Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox 用户名或密码不正确,重新输入!, 48, 警告 Text1.Text = Text2.Text = Text1.SetFocus Else borrow.Show Unload Me End IfEnd IfEnd SubPrivate Sub Command2_Click()a = MsgBox(真的要退出吗?, 1 + 32, 提示)If a = vbOK ThenUnload MeEnd IfEnd SubPrivate Sub Command3_Click()If Text3.Text = Or Text4.Text = Then MsgBox 用户名或密码为空!, 48, 警告Else Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆 Adodc1.RecordSource = select 卡号 ,密码 from 借书卡表 where 卡号= & Trim(Text3.Text) & and 密码= & Text4.Text & Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox 用户名或密码不正确,重新输入!, 48, 警告 Text3.Text = Text4.Text = Text3.SetFocus Else card_in.Show Unload Me End IfEnd IfEnd SubPrivate Sub Command4_Click()528图书借阅管理系统课程设计报告a = MsgBox(真的要退出吗?, 1 + 32, 提示)If a = vbOK ThenUnload MeEnd IfEnd SubPrivate Sub Command5_Click()If Text5.Text = Or Text6.Text = Then MsgBox 用户名或密码为空!, 48, 警告Else Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆 Adodc1.RecordSource = select * from 管理人员登陆 where 帐号= & Trim(Text5.Text) & and 密码= & Text6.Text & Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox 用户名或密码不正确,重新输入!, 48, 警告 Text5.Text = Text6.Text = Text5.SetFocus Else select_into.Show Unload Me End IfEnd IfEnd SubPrivate Sub Command6_Click()a = MsgBox(真的要退出吗?, 1 + 32, 提示)If a = vbOK ThenUnload MeEnd IfEnd SubPrivate Sub Command7_Click()mes_search.ShowUnload MeEnd SubPrivate Sub Command8_Click()baobiao.ShowEnd Sub查询图书信息界面:代码Private Sub Command1_Click()If Text1.Text = Or Text2.Text = Then MsgBox 用户名或密码为空!, 48, 警告Else Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆 Adodc1.RecordSource = select * from 工作人员登陆 where 帐号= & Trim(Text1.Text) & and 密码= & Text2.Text & Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox 用户名或密码不正确,重新输入!, 48, 警告 Text1.Text = Text2.Text = Text1.SetFocus Else borrow.Show Unload Me End IfEnd IfEnd SubPrivate Sub Command2_Click()a = MsgBox(真的要退出吗?, 1 + 32, 提示)If a = vbOK ThenUnload MeEnd IfEnd SubPrivate Sub Command3_Click()If Text3.Text = Or Text4.Text = Then MsgBox 用户名或密码为空!, 48, 警告Else Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆 Adodc1.RecordSource = select 卡号 ,密码 from 借书卡表 where 卡号= & Trim(Text3.Text) & and 密码= & Text4.Text & Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox 用户名或密码不正确,重新输入!, 48, 警告 Text3.Text = Text4.Text = Text3.SetFocus Else card_in.Show Unload Me End IfEnd IfEnd SubPrivate Sub Command4_Click()a = MsgBox(真的要退出吗?, 1 + 32, 提示)If a = vbOK ThenUnload MeEnd IfEnd SubPrivate Sub Command5_Click()If Text5.Text = Or Text6.Text = Then MsgBox 用户名或密码为空!, 48, 警告Else Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆 Adodc1.RecordSource = select * from 管理人员登陆 where 帐号= & Trim(Text5.Text) & and 密码= & Text6.Text & Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox 用户名或密码不正确,重新输入!, 48, 警告 Text5.Text = Text6.Text = Text5.SetFocus Else select_into.Show Unload Me End IfEnd IfEnd SubPrivate Sub Command6_Click()a = MsgBox(真的要退出吗?, 1 + 32, 提示)If a = vbOK ThenUnload MeEnd IfEnd SubPrivate Sub Command7_Click()mes_search.ShowUnload MeEnd SubPrivate Sub Command8_Click()baobiao.ShowEnd Sub查询图书信息界面:图书借阅管理系统课程设计报告Private Sub Command1_Click()n = MsgBox(确认借出此书!, 64 + 1, 提示)If n = vbOK ThenAdodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆Adodc1.RecordSource = select * from 借书卡表 where 卡号= & Text1.Text & Adodc1.RefreshIf Text1.Text = Or Text2.Text = Or Text3.Text = ThenMsgBox 输入不完整!, 64, 提示Else If Adodc1.Recordset.EOF Then MsgBox 无此卡号!, 48, 警告 Else If Adodc1.Recordset.Fields(借书数目) = 5 Then MsgBox 此卡以达最大借书数目,不能再借书!, 48, 警告 Else With Adodc1.Recordset .Fields(书籍编号) = Text2.Text .Fields(借书数目) = .Fields(借书数目) + 1 .Update End With Adodc1.RecordSource = select * from 图书信息 where 编号= & Text2.Text & Adodc1.Refresh If Adodc1.Recordset.EOF Then MsgBox 无此图书编号!, 48, 警告 Else If Adodc1.Recordset.Fields(是否借出) = 是 Then MsgBox 此书已借出!, 16, 错误Else With Adodc1.Recordset .Fields(是否借出) = 是 .Update End With Adodc1.RecordSource = select * from 借还信息 Adodc1.Refresh With Adodc1.Recordset .AddNew .Fields(卡号) = Text1.Text .Fields(编号) = Text2.Text .Fields(借书日期) = Text3.Text .Update End With End If End If End If End If End IfEnd IfEnd Sub Private Sub Command2_Click()Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆Adodc1.RecordSource = select * from 借还信息 where 卡号= & Text1.Text & and 编号= & Text2.Text & Adodc1.RefreshIf Text1.Text = Or Text2.Text = Or Text4.Text = Then MsgBox 输入不完整!, 64, 提示Else If Adodc1.Recordset.EOF Then MsgBox 此卡没有借此书!, 16, 错误 Else With Adodc1.Recordset .Delete .Update End With Adodc1.RecordSource = select * from 图书信息 where 编号= & Text2.Text & Adodc1.Refresh With Adodc1.Recordset .Fields(是否借出) = 否 .Update End With Adodc1.RecordSource = select * from 借书卡表 where 卡号= & Text1.Text & Adodc1.Refresh With Adodc1.Recordset .Fields(借书数目) = .Fields(借书数目) - 1 .Fields(书籍编号) = 空 .Update End With a = Format(Text3, yy,mm,dd) b = Format(Text4, yy,mm,dd) c = Month(b) - Month(a) d = Day(b) - Day(a) e = 30 * c + d - 30 If e 0 Then MsgBox 此书已超期!, 48, 警告 With Adodc1.Recordset .Fields(超期天数) = e .Fields(费用) = .Fields(费用) - 0.5 * e .Update End With End If MsgBox 此书已还回!, 64, 提示 End IfEnd IfEnd SubPrivate Sub Command3_Click()Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆Adodc1.RecordSource = select * from 借还信息 where 卡号= & Text1.Text & and 编号= & Text2.Text & Adodc1.RefreshSet Text3.DataSource = Adodc1Text3.DataField = 借书日期End SubPrivate Sub Command4_Click()Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆Adodc1.RecordSource = select * from 借书卡表 where 卡号= & Text1.Text & Adodc1.RefreshIf Adodc1.Recordset.EOF ThenMsgBox 无此借书卡!, 48, 警告ElseMsgBox 此借书卡费用为 & Trim(Adodc1.Recordset.Fields(费用) & 元!, 64, 费用查询End IfEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.KeyCase denglulogin.ShowUnload MeCase chayuemes_search.ShowUnload MeCase jieyuelogin.ShowUnload MeCase guanlilogin.ShowUnload MeCase jieshukalogin.ShowUnload MeCase exitUnload MeCase helpaboutus.Showaboutsubject.ShowEnd SelectEnd Sub报表生成系统界面:图书借阅管理系统课程设计报告代码:Private Sub Command1_Click()Dim a As IntegerDim b As IntegerDim d As IntegerIf Not IsNumeric(Text1) ThenMsgBox 输入为空或输入格式不正确!, 64, 提示Else If Val(Text1.Text) 12 Then MsgBox 请输入1-12的数字!, 64, 提示 Else Adodc1.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书馆 Adodc1.RecordSource = select 借书数目,费用 from 借书卡表 Adodc1.Refresh If Not Adodc1.Recordset.EOF Then a = a + Adodc1.Recordset.Fields(借书数目) b = b + Adodc1.Recordset.Fields(费用) b = -b Adodc1.Recordset.MoveNext End If If Text1.Text = Or Text2.Text = Then MsgBox 输入不完整!, 64, 提示 Else Adodc1.RecordSource = select * from 图书信息 Adodc1.Refresh Do While Not Adodc1.Recordset.EOF c = Format(Adodc1.Recordset.Fields(进货日期), yyyy,mm,dd) If Val(Mid(c, 1, 4) = Val(Mid(Label4.Caption, 1, 4) And Mid(c, 6, 2) = Val(Text1.Text) And Mid(c,

温馨提示

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

最新文档

评论

0/150

提交评论