图书管理系统.doc_第1页
图书管理系统.doc_第2页
图书管理系统.doc_第3页
图书管理系统.doc_第4页
图书管理系统.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1 目目 录录 第一章 综述 2 1.1 图书馆管理系统开发背景.2 1.2 图书馆管理系统的目的和意义.3 第二章 系统分析设计.4 2.1 系统功能分析.4 2.2 系统功能模块设计.4 第三章 数据库分析与设计.6 3.1 数据库需求分析.6 3.2 数据库概念结构设计.6 3.3 数据库逻辑结构设计.8 3.3.1 书籍信息表.8 3.3.2 读者信息表.9 3.3.3 借阅信息表.9 3.3.4 读者类别表.9 3.3.5 用户表.9 3.4 读者借书过程的数据流图和数据词典.10 3.4.1 数据流图.10 3.4.2 数据词典.10 3.5 读者还书过程的数据流图和数据词典.13 3.5.1 数据流图.13 3.5.2 数据词典.14 第四章 系统详细设计与实现.16 4.1 图书馆管理信息系统主窗体的创建.16 4.2 系统用户管理模块的创建.17 4.3 添加读者种类窗体的创建.21 4.4 查询图书信息与借书窗体的创建.23 参考文献.29 . 精选范本 第一章 综述 随着各图书馆的图书的数量不断增多和图书馆规模的不断扩大,管理这些庞大的体 系非常困难的,因为图书的情况是随时改变的,因此必需对图书进行动态的管理,而这 对于一个管理人员来说是一件比较复杂的事情,存储、查询、借阅是必不可少的业务。 为了能让管理员从繁重的工作中解脱出来,使管理员在使用一个软件以后能极其容 易地对所有图书进行管理,并且准确无误,轻松自如。因此开发一个图书馆管理系统软 件是当务之急,也是本毕业设计选题的重要意义和研究宗旨。 图书馆管理系统的流通部分是所有图书馆系统中最重要的部分,流通系统将读者与 图书、读者与管理员、读者与读者相互间联系起来,而且流通系统处理的数据类型多, 数量大,精细且频繁,因而需要系统应具备较完善的检验防错功能,从而根据系统的运 行及反馈信息高质量,高效率地管理系统流通部门的全部功能。 由于时间仓促和本人水平有限,不当之处在所难免,请各位老师批评指正。 1.11.1 图书馆管理系统开发背景 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被 广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使 用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理 与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理 好图书馆信息而设计的。 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数 据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管 理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工 处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往 往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、 手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。 总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于 信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本 环境。 数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式 对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复 杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作 . 精选范本 人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资 料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加 困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化, 系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、 准确、有效的查询和修改图书情况。 1.2 图书馆管理系统的目的和意义 我们要实现科学技术现代化,图书情报工作的现代化是极其重要的,又由于科学和技 术的不断发展和进步,现代技术是一个动态的概念.第二次世界大战以来,以计算机技术为 代表的现代技术有了巨大的发展,而且还在迅速的变化发展之中,70 年代后期,出现图书情 报工作的 “联机革命”,使计算机更广泛地,更有效的应用到各个角落,发达国家较重 视这一领域的发展,我国尚存在较大的差距。所以我们说,图书情报工作计算机化是提 高我国科学技术水平的一项带有重大战略意义的措施,它是图书情报工作现代化的重要 标志。 计算机技术是现代技术的一部分,图书自动化也只是图书馆现代化的一部分,它们 之间是部分和整体的关系,但由于计算机技术是信息技术的心脏,现代社会的骄子,信 息社会的科技主角,所以在图书馆现代技术中,计算机技术处于核心地位,它对于其他 现代化设备起控制,连接和转换的作用,而图书馆自动化是图书馆现代化的核心和主导 部分。图书情报的计算机管理系统能提高图书馆本身管理水平,能代替工作人员进行图 书情报资料的某些加工处理,把工作人员从繁重的手工劳动,重复劳动中解放出来。 总之,建立图书馆的计算机自动化管理系统,不但可以大大提高图书馆图书流通率, 而且推动了社会文化生活的进步。 本论文以图书馆管理信息系统的需求分析及概念设计为切入点,运用理论与实际相 结合的方法,构建一个包含读者信息,书籍信息和借阅信息的图书馆管理系统。图书馆 管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前 端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性 好的库。而对于后者则要求应用程序功能完备,易使用等特点。 . 精选范本 第二章 系统分析设计 2.1 系统功能分析 系统开发的总体任务是实现各种信息的系统化、规范化和自动化。 系统功能分析是在系统开发的总体任务的基础上完成。本设计中的图书馆管理信息系 统需要完成功能主要有: 1.有关读者种类标准的制定、种类信息的输入,包括种类编号、种类名称、借书数 量、借书期限等。 2.读者种类信息的修改、查询等。 3.读者基本信息的输入,包括读者编号、读者姓名、读者种类、读者性别、工作单 位、家庭住址、电话号码、办证日期等。 4.读者基本信息的查询、修改,包括读者编号、读者姓名、读者种类、读者性别、 工作单位、家庭住址、电话号码、办证日期等。 5.书籍信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、 出版日期、登记日期等。 6.书籍信息的查询、修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版 社名称、出版日期、登记日期等。 7.借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名 称、借书日期等。 8.借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、 书籍名称、借书日期等。 9.还书信息的输入,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名 称、借书日期、还书日期等。 10.还书信息查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书 籍名称、借书日期、还书日期等。 2.2 系统功能模块设计 对上述各项功能进行集中、模块划分,按照结构化程序设计的要求,得到如图 2.1 所示的系统功能模块图。 . 精选范本 图书馆管理信息系统 借 阅 信 息 管 理 书 籍 信 息 管 理 读 者 信 息 管 理 用 户 管 理 密 码 管 理 设 置 读 者 种 类 设 置 读 者 信 息 设 置 书 籍 种 类 设 置 书 籍 信 息 借 书 信 息 管 理 还 书 信 息 管 理 读 者 种 类 添 加 读 者 信 息 查 询 书 籍 类 别 修 改 读 者 信 息 修 改 读 者 信 息 添 加 书 籍 信 息 修 改 借 书 信 息 添 加 书 籍 信 息 添 加 书 籍 类 别 添 加 借 书 信 息 查 询 还 书 信 息 修 改 书 籍 信 息 查 询 读 者 种 类 修 改 借 书 信 息 修 改 还 书 信 息 添 加 还 书 信 息 查 询 系 统 管 理 图 2.1 系统功能模块图 . 精选范本 第三章 数据库分析与设计 3.1 数据库需求分析 用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能 充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成 一份详尽的数据字典,为以后的具体设计打下基础。 针对一般图书馆管理信息系统的需求,通过对图书馆管理工作过程的内容和数据流程 分析,设计如下面所示的数据项和数据结构: 1.读者种类信息,包括的数据项有:种类编号、种类名称、借书数量、借书期限、 有效期限等。 2.读者信息,包括的数据项有:读者编号、读者姓名、读者种类、读者性别、工作 单位、家庭住址、电话号码、办证日期等。 3.书籍类别信息,包括的数据项有:类别编号、类别名称等。 4.书籍信息,包括的数据项有:包括书籍编号、书籍名称、书籍类别、作者姓名、 出版社名称、出版日期、登记日期等。 5.借阅信息,包括的数据项有:借阅信息编号、读者编号、读者姓名、书籍编号、 书籍名称、借书日期、还书日期等。 有了上面的数据结构、数据项和数据流程,就可以进行下面的数据库设计了。 3.2 数据库概念结构设计 得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以 及它们之间的关系,为后面的逻辑结构设计打下基础。 本实例根据上面的设计规划出的实体有:读者类别信息实体、读者信息实体、书籍类 别信息实体、书籍信息实体、借阅信息实体。各个实体具体的描述 E-R 图如下。 读者类别信息实体 E-R 图如图 3.1 所示。 读者类别信息实体 种类编号种类名称借书期限借书数量 图 3.1 读者类别信息实体 E-R 图 . 精选范本 读者信息实体 E-R 图如图 3.2 所示。 读者信息实体 读者编号读者姓名读者类别办证日期 图3.2 读者信息实体 E-R 图 书籍类别信息实体 E-R 图如图 3.3 所示。 书籍类别信息实体 类别编号类别名称关键词备注信息 图 3.3 书籍类别信息实体 E-R 图 书籍信息实体 E-R 图如图 3.4 所示。 书籍信息实体 书籍编号书籍名称书籍类别出版社 图 3.4 书籍信息实体 E-R 图 借阅信息实体 E-R 图如图 3.5 所示。 . 精选范本 借阅信息实体 借阅信息编号读者信息书籍信息借书日期 图 3.5 借阅信息实体 E-R 图 实体之间相互关系的 E-R 图如图 3.6 所示。 读者类别信息书籍类别信息 书籍信息管理读者信息管理 借阅书籍 借阅信息管理 读者信息登记书籍信息登记 图 3.6 实体之间关系的 E-R 图 3.3 数据库逻辑结构设计 3.3.1 书籍信息表 由多个图书记录构成。 图书记录的数据结构如下: . 精选范本 图书编号(BookID)整数(唯一标示符) 图书书名(BookName)变长字符串 图书作者(Author)变长字符串 图书出版社(Publisher)变长字符串 3.3.2 读者信息表 由多个读者记录构成 读者记录的数据结构如下: 读者证号(ReaderID)整数(唯一标示符) 读者姓名(ReaderName)变长字符串 读者联系方法(Address)变长字符串 3.3.3 借阅信息表 由若干个借书记录构成 借书记录的数据结构如下: 借阅图书(BookID)整数(与图书库中的图书编号对应)(唯一标示符) 借阅者(ReaderID)整数(与读者库中的图书编号对应) 借阅时间(BorrowDate)日期 3.3.4 读者类别表 有单个系统设置记录构成 系统设置记录的数据结构如下: 记录号(id)整数(系统自动生成,唯一标示符) 最多可借图书数(MaxBLNum)整数 最多借书天数(MaxBLDays)整数 3.3.5 用户表 由若干个系统操作员记录构成 系统操作员记录的数据结构如下: 记录序号(id)整数(系统自动生成,唯一标示符) 账号(Addminister)变长字符串 口令(Password)变长字符串 权限级别(Level)变长字符串 3.4 读者借书过程的数据流图和数据词典 3.4.1 数据流图 读者借书过程数据流程如图 3.7 所示。 . 精选范本 日历 读者 1 借书 检验 2 借书 登记 选定图书 读者库图书库图书是否被借出 图书信息 检验 图 3.7 读者借书过程 3.4.2 数据词典 1.1.数据源点及汇点描述: 名称:读者 简要描述:借书、还书、查询及登记注册 有关数据流:借书证;所借书本 名称:日历 简要描述:当日日期 有关数据流:年月日 2.2.加工逻辑词条描述: 加工名:借书检验 加工编号: 简要描述:检验读者身份、图书是否入库、读者还能借多少书以此判定读者是否能 借书 输入数据流:借书证;所借书本,读者信息,图书信息,图书访问记录,日期 输出数据流:借书错误信息,借书信息 加工逻辑:IF 借书证未登记入库 THEN 发出“借书错误” ELSE IF 图书未登记入库 THEN 发出“借书错误” . 精选范本 ELSE IF 读者已借图书和现借图书多于限制数 THEN 发出“借书错误” ELSE IF 读者已借图书中有超期 THEN 发出“借书错误” ELSE 发出“借书信息” ENDIF ENDIF ENDIF ENDIF 加工名:借书登记 加工编号: 简要描述:将“借书信息”登记到“图书访问记录库图书访问记录”中,完成后将 书本递交读者 输入数据流:借书信息,日期 输出数据流:图书访问记录,图书 加工逻辑:将借书信息及日期写入图书访问记录; 3.3.数据流名词条描述: 数据流名:借书证 说明:用以携带读者的唯一识别标识 数据流来源:读者 数据流去向:借书检验 数据流组成:借书证借书证号姓名联系方法 借书证号“000000001”.“999999999” 姓名2字母24 联系方法4字母50 数据流名:图书 说明:记录图书的主要相关信息 数据流来源:读者 数据流去向:借书检验 数据流组成:图书书号书名作者出版社 书号“000000001”.“999999999” 书名2字母24 作者2字母24 出版社2字母24 数据流名:检验错误 说明:用于指示读者借书错误信息 数据流来源:借书检验 . 精选范本 数据流去向:读者 数据流组成:检验错误2字母40 数据流名:借书信息 说明:用于传递读者号和图书号 数据流来源:借书检验 数据流去向:借书登记 数据流组成:借书信息借书证号书号 数据流名:日期 说明:提供当前日期信息 数据流来源:日历 数据流去向:借书检验,借书登记 数据流组成:日期年月日 年“0000”.“9999” 月“01”.“12” 日“01”.“31” 数据流名:图书访问记录 说明:用于记录读者借书信息 数据流来源:图书访问记录库,借书登记 数据流去向:借书检验 数据流组成:图书访问记录书号借阅证号借书日期 借书日期日期 数据流名:读者信息 说明:用于记录登记入库的读者信息 数据流来源:读者库 数据流去向:借书检验 数据流组成:读者信息借书证号姓名联系方法 数据流名:图书信息 说明:用于记录登记入库的图书信息 数据流来源:图书库 数据流去向:借书检验 数据流组成:图书信息书号书名作者出版社价格摘要状态 4.4.数据文件词条描述: 数据文件名:读者库 简述:存放读者信息 输入数据:无 输出数据:读者信息 . 精选范本 数据文件组成:读者库由“读者信息”组成 数据文件名:图书库 简述:存放图书信息 输入数据:无 输出数据:图书信息 数据文件组成:图书库由“图书信息”组成 数据文件名:图书访问记录库 简述:存放图书访问记录信息 输入数据:图书访问记录 输出数据:图书访问记录 数据文件组成:图书访问记录库由“图书访问记录”组成 3.5 读者还书过程的数据流图和数据词典 3.5.1 数据流图 读者还书过程数据流程如图 3.8 所示。 日历 读者 3 还书 检验 4 还书 登记 图书 还书返回信息 还书信息 图书访问记录 检验错误 图 3.8 读者还书过程 3.5.2 数据词典 1.1.加工逻辑词条描述: 加工名:还书检验 加工编号:3 简要描述:检验图书是否图书室外借图书 输入数据流:图书,图书访问记录 . 精选范本 输出数据流:检验错误,还书信息 加工逻辑:IF 书号与数据库数据不符 THEN 发出“检验错误” ELSE 发出“还书信息” ENDIF 加工名:还书登记 加工编号:4 简要描述:删除读者对该图书的借书信息,如果超期给出警告及天数 输入数据流:还书信息,日期 输出数据流:图书访问纪录,还书成功 加工逻辑:IF 所还图书超期 THEN 统计超期天数 生成含警告的返回信息 ELSE 删除图书访问记录库中相应的借书记录 生成成功信息 ENDIF 给出还书返回信息 2.2.数据流名词条描述: 数据流名:还书信息 说明:用于传递图书书号 数据流来源:还书检验 数据流去向:还书登记 数据流组成:还书信息书号 数据流名:还书成功 说明:用于通知还书成功 数据流来源:还书登记 数据流去向:读者 数据流组成:还书成功2字母10 数据文件词条描述:(前面已描述) . 精选范本 第四章 系统详细设计与实现 4.1 图书馆管理信息系统主窗体的创建 这个项目使用多文档界面,单击工具栏中的 ADD MDI Form 按钮,生成一个窗体。 在这个窗体上添加所需的控件,窗体和控件的属性设置见表 4-1 所示。 表 4-1 主窗体及其控件属性设置 控件属性属性取值 NameFrmMain Caption 王登伟毕业设计-图书馆管理系统 StartUpPositon 2-屏幕中心 frmMain(Form) WindowStateMaximized NameSbStatusBar Panels(1)StyleSbrText Panels(2)StyleSbrDate SbStatusBar(StatusBar) Panels(3)StyleSbrTime 在窗体中加入状态栏控件,可以实时反映系统中各个状态的变化。状态栏控件需要在 通常的属性窗口中设置一般属性,还需要在其特有的弹出式菜单中进行设置。选中状态 栏控件,单击鼠标右键,选中 Property 菜单,然后设置属性。创建好的主窗体如图 4.1 所 示。 图 4.1 图书馆管理系统主窗体 在 Visual Basic 中使用公用模块来存放整个工程项目公用函数、过程和全局变量等。 这样可以极大地提高代码的效率。 在录入有关信息时,需要回车来进入下一个文本框,这样对软件使用者非常方便。在 所有的功能模块都需要这个函数,所以将它放在公用模块中,代码如下: Public Sub EnterToTab(Keyasc As Integer) 判断是否为回车键 If Keyasc=13 Then 转换成 Tab 键 SendKeys”TAB” . 精选范本 End If End Sub Keyasc 用来保存当前按键,SendKeys 函数用来指定的按键。一旦单击回车键,将返 回 Tab 键,下一个控件自动获得输入焦点。 添加全局变量,用来记录各个窗体的读写状态,代码如下: Pubic flagRTedit As Boolean Pubic gintRTmode As Integer Pubic flag Redit As Boolean Pubic gintRmode As Integer Pubic flagBTedit As Boolean Pubic gintBTmode As Integer Pubic flagBedit As Boolean Pubic gintBmode As Integer Pubic flagBOedit As Boolean Pubic gintBOmode As Integer Pubic flagBBedit As Boolean Pubic gintBBmode As Integer gintRTmode 变量用来记录是添加状态还是修改状态,赋值 1 为添加,赋值 2 为修改。 flagRTedit 变量用来标示是否进入修改的窗体。其他全局变量同理。 由于图书馆管理信息系统启动后,需要对用户进行判断。如果登陆者是授权用户,将 进入系统,否则将停止程序的执行。这个判断需要在系统运行的最初进行,因此将代码 放在公用模块中。 4.2 系统用户管理模块的创建 登录窗体如图 4.2 所示,用户首先输入用户名,然后输入密码。如果用户 3 次输入的 密码不正确,将退出程序。 . 精选范本 图 4.2 用户登录窗体 用户登录窗体中放置了两个文本框(TextBox) ,用来输入用户名和密码;两个按钮 (CommandButton)用来确定或者取消登录;3 个标签用来标志窗体的信息。这些控件的 属性设置见表 4-2 所示。 表 4-2 登录窗体中各个控件的属性设置 控件属性属性取值 NamefrmLogin Caption 身份验证 StartUpPositonCenterScreen frmLogin(Form) WindowStateNomal txtUserNameNametxtUserName NametxtPasswordtxtPassword PasswordChar* NamecmdOKcmdOK Caption 确定 NamecmdCance1cmdCance1 Caption 取消 Label1Caption 用户名 Label2Caption 密码 Label3Caption 注意:如果您的身份验证三次未正确,系统 将自动关闭! 文本框 txtPassword 的 PasswordChar 属性是用指定字符来掩盖用户名输入密码。 为窗体定义全局变量 OK,用来判断登录是否成功;定义 Cnt,用来记载输入密码的 次数,并且在载入窗体时初始化这两个全局变量,代码如下: 强制变量声明 Option Explicit Pubic OK As Boolean 记录确定次数 Dim miscount As Integer Private Sub Form_Load() OK=False miscount=0 End Sub . 精选范本 Option Explicit 是用来规定所有变量使用前必须定义。这样可以避免由于输入错误而 产生的新变量。 当用户输入完用户名和用户密码,单击 cmdOK 按钮将对用户输入信息进行判断。用 户单击该按钮,将触发按钮 cmdOK 的 Click 事件,连接数据库中用户表如图 4.4 所示。 图 4.4 用户表 代码如下: Option Explicit Dim cnt As Integer 记录确定次数 Private Sub cmdCancle_Click() Unload Me End Sub Private Sub cmdOK_Click() Dim sql As String Dim rs_login As New ADODB.Recordset Dim conn As New ADODB.Connection conn.Open provider=Microsoft.Jet.OLEDB.4.0; data source= Persist Security Info=false;data source

温馨提示

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

评论

0/150

提交评论