图书管理系统本科毕业设计论文.doc

上传人:小小飞 文档编号:3918176 上传时间:2019-10-10 格式:DOC 页数:30 大小:532.02KB
返回 下载 相关 举报
图书管理系统本科毕业设计论文.doc_第1页
第1页 / 共30页
图书管理系统本科毕业设计论文.doc_第2页
第2页 / 共30页
图书管理系统本科毕业设计论文.doc_第3页
第3页 / 共30页
图书管理系统本科毕业设计论文.doc_第4页
第4页 / 共30页
图书管理系统本科毕业设计论文.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《图书管理系统本科毕业设计论文.doc》由会员分享,可在线阅读,更多相关《图书管理系统本科毕业设计论文.doc(30页珍藏版)》请在三一文库上搜索。

1、图书管理系统摘要图书管理服务促进了信息的传播,利用及再生产的增殖能力,人们掌握了信息,使之转变为技术,成为作用于社会经济的生产力,促进了社会经济的发展,这就是信息管理服务的价值体现。图书室的信息服务已成为21世纪的主导发展机制之一。图书管理系统开发的总体目的是在图书信息管理中实现管理的系统化、自动化,减少工作量,增加效率及可靠性。本系统主要实现的功能为图书管理管理读者的登记、图书的购入、借出、归还以及注销等。管理人员还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计和表格说明,以全面掌握图书的流通情况。本文从图书管理系统的意义和发展入手,随后进行了系统需求分析,接着进行了系统总

2、体结构设计和数据库设计,最后给出系统的详细设计和实现。关键字:信息服务,图书馆,Delphi,AccessAbstractThe development and realization of the information management system in libraries, Information service in libraries promotes the spread, the use and reproduction of information, People get information and turn it into technology,It becomes

3、 productivity having effects on social economy and promotes the development of economy. The information service in libraries has become the main developing system in the use century, The aim of the systems development is to realize systematic and automatic management, reduces the amount of work, and

4、 improve efficiency and reliability.The function that system realizes mainly is that the book manages readers register , the book buying, lending out, returning and canceling and so on. The handling crew can inquire about some reader , some book borrowing reviewing condition , borrow the condition r

5、eviewing condition giving a few out statistics and table explanation , circulating in order to grasping a books all round to present.This thesis begins with the library management system and the significance of the development , followed by a systematic analysis of needs, and then carrys out the ove

6、rall structure of the system design and database design, given the detailed design and realization.Key Words: Information service,The libraries,Delphi, Access目录摘要1Abstract2第1章 绪论31.1 课题背景41.2 开发图书管理系统的意义51.3 系统开发技术介绍61.3.1 数据库技术的应用61.3.2 数据库应用的解决方案71.3.3 数据库应用系统开发简介7第二章 系统需求分析82.1 业务分析82.2 现行系统存在问题的

7、分析及解决方案10第三章 系统总体结构设计113.1 系统目标设计113.2 系统功能分析123.3系统各功能模块设计123.4数据流图13第四章 数据库设计174.1数据库需求分析174.2 数据库逻辑结构设计184.3软件系统与数据库的关系224.4 数据库的建立23第五章 图书管理系统详细设计和实现265.1 结构模块设计265.2具体实现265.2.1 登陆界面与主界面的实现265.2.2 查询模块实现295.2.3 新书入库实现305.2.4 图书借还实现32总 结34致 谢35参考文献36第1章 绪论1.1 课题背景 图书馆是文献情报中心,是为教学和科研服务的学术性机构。它履行搜集

8、、加工、存贮和传播知识信息的职能,与各系资料室互为补充,共同承担为教学和科研提供文献情报资料保障的任务。图书馆的自动化经历了三个时期:发展初期、发展时期和网络化时期。19世纪末到20世纪40年代是图书馆自动化发展的早期阶段,这一时期的主要特点是利用部分机械装置替代人力从事部分图书馆工作,减轻人员的劳动强度。自1946年首台电子计算机问世后,就有人开始研究计算机应用于图书馆管理的可能性。1954年,美国海军兵器中心图书馆使用IBM701型计算机实现了单元词组配检索,成为最早使用计算机的图书馆。但随着各大管理系统的相继应用,单独一台计算机处理复杂图书馆业务的弊病日渐明显,于是出现了图书馆的网络化。

9、美国俄亥俄州立大学图书馆在1967年建成了第一个书目联机检索系统,成为图书馆管理进入网络化时期的标志。网络化使各协作网的成员降低了文献情报数据处理的费用,同时网络内的情报资源也得到了平衡。我国图书馆自动化的发展起步较晚,从70年代中期开始,经历了如下几个阶段: 发展初期、单向业务系统阶段和集成系统阶段。自70年代,我国开始研究图书馆的自动化。到1980年,我国陆续引进了多种国外文献磁带数据库,利用这些磁带开展联机检索服务,是我国图书馆自动化的发展初期。从80年代中期开始进入单项业务系统阶段。由于经费充足和技术力量雄厚,高校图书馆的自动化工作进展最为迅速,但开发的系统多为单业务系统,并且有一大部

10、分只能处理西文图书与期刊。随着微机价格的下降和中文系统平台开发成功,图书馆管理也进入了集成系统的开发阶段。进入90年代以来,计算机网络迅速发展,几乎所有的国家都建成了国家级的教育科研计算机网络,并互相连接成国际性网络。而我国计算机网络也日渐成熟,数字数据网可满足多媒体通讯和组建高速计算机通信网的需要,各类专业广域网纷纷建成并投入使用,如教育科研网CERNET主干网已经连通并投入使用。计算机网络全球性互连,对图书馆系统自动化的影响远远超出人们的始料,它决定了图书馆自动化发展的方向。目前许多图书馆根据联网技术要求都对自己的自动化系统进行改造。计算机网络给图书馆自动化发展带来了更好的前景。1.2 开

11、发图书管理系统的意义目前,我国有不少的大型图书馆实现了图书管理的计算机化,与此同时,在计算机软件市场上不断涌现出一批功能优异的应用于图书馆的自动化集成软件。另一方面,现在学校正在应用的系统,界面单调、操作乏味、效率低。基于这种局面,开发一个应用于Windows平台上的、具有先进的图形界面的中小型图书信息管理系统是我们面临的一项重要课题。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超

12、过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它

13、比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这个问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1.3 系统开发技术介绍1.3.1 数据库技术的应用数据库技术的应用,也叫数据库应用技术,是应用数据库开发工具进行数据管理(包括采集、处理、存储、查询、统计、传输、报表)的技术。在任何应用领域,任何数据管理需求层次,任何档次的机型,都可以采用数据库技术。实际上,各行各业的信息系统,甚至是

14、国际互联网的信息系统都是基于数据库技术的。可以说,数据库已成为信息社会的重要基础设施,在计算机应用领域堪称最有应用价值和市场前景的技术。数据库技术的具体应用过程,是一个典型的把数据转换成信息的过程。具体来说,就是围绕各用户单位日常手工操作的业务数据、管理数据,在数据库管理系统环境下,运用数据处理技术,开发出相应的业务处理及管理决策系统,并利用系统派生出的高附加值信息,达到提高业务或管理效率、避免浪费或失误、并辅助领导决策的目的。数据库技术的应用,由于其派生信息的巨大价值,一般都具有很高的投入产出比,并产生可观的经济效益和社会效益。数据库技术可以开发面向业务处理和综合决策的管理信息系统,比如财务

15、、人事、库存、资料、资产设备、销售、日程、以及会议活动等任何涉及大量规则数据管理方面的程序。图书资料管理是其中最典型的应用之一。1.3.2 数据库应用的解决方案数据库应用的解决方案包括软件工程的基本思想、数据库理论、用户前端访问界面等三方面的重要内容。本方案以数据库理论为指导,贯穿软件工程思想,注重用户界面的设计。方案中的数据流分析对应到软件工程中的需求分析,实体关系图及相应的用户前端访问界面划分对应到软件工程中的概要设计。1.3.3 数据库应用系统开发简介 在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解

16、和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。第二章 系统需求分析整个软件生命周期中,开发所占的费用和时间都很小。后期维护工作一般要占整个软件生命周期的80% 以上。所以系统分析很重要,一个好的系统分析可以减少很多后期维护工作。2.1 业务分析下面以一所学校的图书馆为例子进行分析,画出图书馆的组织结构图2.1如下:馆 长采编组书库阅览室工具书室目录厅借阅室图2.1 图书馆的组织结构图该图书馆各个部门负责的主要业务如下:(1)采编组主要负责

17、图书采编工作,包括购置新书、打印编目、增加数量。(2)目录厅主要负责读者查询工作,包括可借图书(按图书类别、图书名称或图书作者查询);新书目录(按图书类别、日期查询)。 (3)借阅组主要负责图书流通、查询统计、借阅查询等工作。(4)阅览室、工具书室主要负责读者阅览工作,包括:阅览各种杂志、报纸、阅览各种工具书。下面绘制出图书馆流通业务中借书的流程图:(1)读者在目录厅查阅索引卡;(2)读者写出所借图书的分类号、种次号、交给图书管理员,并出示本人的借书证;(3)图书管理员根据图书的分类号、种次号到书库找书;(4)将图书交给读者,并由读者填写所借图书的借书卡。(5)图书管理员把借书卡保存到写有该读

18、者借书证号的口袋里。得出该图书馆业务流程图2.2如下所示:图2.2 业务流程图2.2 现行系统存在问题的分析及解决方案该图书馆工作大部分还是进行着手工管理,工作起来效率很低,由于不可避免的人为因素,经常造成数据的遗漏、误报。计算机信息化管理有着储存信息量大、速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。图书馆信息系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。学校图

19、书馆规模相对于商业图书馆小,但要有着完善的图书信息,对每一册书要有详细的记录信息,功能上对系统的需求是全面的。因此对用户的需求可分为四个方面:一方面是图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应学生的需求;二方面是学生们能通过计算机来查询浏览图书馆中的图书,来确定自己需要的书籍,为借阅做好准备;三方面是工作人员对学生们的借书证发放;四方面也是图书馆的核心工作,对图书的借阅管理。这四个方面形成了学校图书馆一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很

20、简单方便管理信息。硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆。在开发方式上对系统的需求,由于学校图书馆是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。第三章 系统总体结构设计如果要完成一个完整的图书管理系统,需要的相关信息很多。由于种种条件的限制,同时考虑到开发成本,所以本系统仅实现基本的管理功能。并不能完全满足上面例子所描述的图书馆,使用前应进行二次开发。3.1 系统目标设计系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是将图书的基本信息(如:书名

21、、作者、价格等)预先存入数据库中,供以后检索。能够对借阅人进行注册登记,包括记录借阅人的姓名、地址、电话等信息。提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。提供统计分析功能。可以展现出图书类型比例、库存与借出比例。提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。提供较为完善的差错控制与友好的用户界面,尽量避免误操作。3.2 系统

22、功能分析根据以上功能,将图书管理系统的数据分为:数据输入部分:主要包括图书基本信息的录入、借阅人基本信息的录入、用户基本信息的录入。数据输出部分:主要是各种统计查询,包括:根据图书信息(如书名、作者、出版社等)查阅图书及其借阅信息、统计输出图书类型比例等。数据处理部分:主要涉及借阅和归还的处理,如一本书借出后,必须在数据库中将该书标记为已借出,以防出现数据库中有书但图书馆无书的情况;一本书归还后,同样必须在数据库中将其标记为已经归还,以便再次借出。3.3系统各功能模块设计在系统功能分析的基础上,考虑Delphi程序编制的特点,得到如图3.1所示的系统功能模块图:图书借阅管理系统数据输入子系统数

23、据输出子系统数据管理子系统 图3.1 系统功能模块图3.4数据流图(1) 图书基本信息登记/修改图书信息出版社信息库图书分类信息库出版社信息分类信息得到完整的图书信息图书信息库图3.2 图书基本信息登记/修改 说明:出版社信息人工录入后,存放在出版社信息库中,便于今后书籍信息的录入以及出版社信息的查询。分类信息由图书馆进行分类定制,存放在图书分类信息库中,用于图书的分类管理。登记新书时,当涉及到出版社和分类的填写时,只需做相应的选择即可,并存放在图书信息库中。如图3.2所示。(2) 借阅人基本信息登记/修改借阅人基本信息借阅人信息库 图3.3 图书基本信息登记/修改 说明:录入借阅人基本信息后

24、存放在借阅人信息库中。如图3.3所示。(3) 图书查询查询条件图书信息库信息查询图书查询结果 图3.4 图书查询说明:输入查询条件后,检索图书信息库,并反应出查询结果。如图3.4所示。(4) 图书统计统计条件图书分类信息库信息统计图书统计结果图书信息库 图3.5 图书统计说明:根据选择的统计条件,检索图书分类信息库或图书信息库,并反应出统计结果。如图3.5所示。(5)图书借阅借阅人编号借阅人信息库借阅人信息认证图书信息库图书借出处理图书编号图书信息认证在借信息库图书在借状态修改图3.6 图书借阅说明:输入借阅人编号,通过检索借阅人信息库,核实借阅人身份。输入图书编号,通过检索图书信息库,核实图

25、书信息。进行图书借出处理后,在图书借阅库中进行登记,并将借出图书的在借标志设为“是”。 如图3.6所示。(5) 图书归还在借图书编号图书信息库借阅人信息库在借信息库图书归还处理图书在借状态修改在借信息库修改 图3.7 图书归还说明:输入图书编号,检索在借信息库,反应出图输借阅情况。进行归还操作后,修改在借信息库中相关条目,同时在图书信息库中修改相关图书在借标志为“否”。 如图3.7所示。第四章 数据库设计数据库的设计是MIS系统的核心部分,设计数据库,首先要进行需求分析,然后进行数据库的概念结构设计、逻辑结构设计、数据库结构实现等步骤。4.1数据库需求分析图4.1 实体/关系图根据以上的需求分

26、析和数据组织,开始设计数据结构,即根据需求勾画出实体/关系图(E/R)。在概念上,E/R图代表的是系统需要的数据及其这些数据之间的关系。身份证号借阅人借书证号姓名身份号性别别、借阅、登记书号图书基本信息出版日期作者书名出版社别、价格借出时间备注拥有者从图4.1中可以看出,在这个系统中实际存在的实体:图书和借阅人,其中借阅人和图书是多对多关系,针对本系统,通过对图书借阅管理的内容和数据流程分析,设计数据项和数据结构如下:图书基本信息,其数据项有图书编号、图书名称、作者、出版社等。借阅人基本信息,其数据项有借阅人编号借阅人姓名、电话等。图书借阅登记,其数据项有借阅序号、借阅图书编号、借阅人编号等。

27、为了实现图书信息录入的方便性与规范性以及相关的统计功能,还应增加出版社信息与图书分类信息:出版社信息,其数据项有出版社编号、出版社名称、地址、电话、传真等。图书分类信息,其数据项有分类编号、分类名称、同一类型图书数目。同时针对于本系统的多用户使用特点,增加用户信息表:4.2 数据库逻辑结构设计数据库设计有几个范式,一般我们要做到的是第三范式,即数据表中没有冗余字段以及同一个表中的字段没有函数依赖关系,冗余字段即在一个表中已经保存过的信息,在另一个表中就不应该存在,如果需要的话,可以通过表间的关联来得到,函数依赖性就是一个表中的字段间不应该有计算关系,如一个表中有单价字段、数量字段,就不应该有一

28、个总金额字段。如果程序运行过程中需要总金额,可以实时计算。不过在一些较常用的表中,我们可以适当地保留冗余字段,这样,在程序运行过程中可以减少由于表间互相关联而使用速度降低等问题。这就是所谓的第四范式。数据表设计时,最好不要使用用户输入的信息作为主键,每一个数据表自己定义一个主键,添加信息是由程序自动添加,这样就可以减少数据更新时产生的错误。表与表相关联的外键最好是由程序自动生成的主键,这样数据库就比较规范了。另外,数据表设计时一般都应该有一些标志字段,标志字段可以定义成CHAR(1)或BIT型。建议实际应用中定义成CHAR(1)字段可以存储多种可能的状态,在最初设计时,可能我们没有考虑到的一些

29、情况,在程序后来的开发中,可以通过设计标志字段为不同的 值来解决,这样就避免了修改数据库结构。数据库初期设计时一定要谨慎,把所有可能的情况都考虑进去,即使当时没有用到,也要将它留在数据库中作为备用字段以便将来扩充。程序一旦开始编码,就应该尽量避免再修改数据库。因为如果数据库结构一旦改变,所有与修改的数据表相关的业务都有可能受到影响,而某些影响还很难看到,这样就容易形成一个恶性循环。错误越改越多,越改越乱,最终导致程序的失败。PB的数据窗口与其他语言的数据控件不一样,它的很多东西是预编译的。即使你一个模块已经调试无误,但只要数据库结构改动。相应的模块就一定要重新修改,否则一定会出问题。图书借阅管

30、理系统数据库中各个表的设计结果如下面几个表格所示。每个表格表示为数据库中的一个表。用户基本信息表Reader,记录用户的基本情况,userid设为主键、索引。如表4.1所示。表4.1 用户基本信息表userid列名数据类型长度可否为空注释UseridChar15Not Null借阅人编号nameChar20Null借阅人姓名Sexvarchar6Null借阅人性别GroupidChar6Null借阅人类型IdcardChar20Null身份证号用户登陆和权限数据表,记录系统用户的用户名、密码与权限,id设为主键。如表4.2所示。表4.2 用户登陆和权限数据表列名数据类型长度可否为空注释idCh

31、ar长整形Not Null用户编号usernameChar30Null用户名passwordChar30Not Null密码Classchar长整形Not Null用户类型 图书基本信息表,记录图书基本信息,code设为主键、索引。如表4.3所示。 表4.3 图书基本信息表列名数据类型长度可否为空注释CodeChar15Not null图书编号ClassChar10Null图书类型NameChar50Null图书名称outdatedate-Null出版日期authorChar50Null作者ConcernChar50Null出版社Costnumeric19.4Null价格MemoChar50N

32、ull备注LostChar4Null借出时间此外还有图书分类数据表,如表4.4所示:表4.4 图书分类数据表列名数据类型长度可否为空注释ClassidChar10Not Null图书类别编号ClassnameChar50Null图书类别名称(1)规划有效的索引a.在组合表的列中创建索引,包括主关键字和外部关键字所在的列。b.在列或类组合中创建唯一的索引能增强唯一性。c.浏览索引并卸载不使用的索引。索引需要一定硬盘空间和时间来维护。具有较高数据插入操作频率的数据库最好不要索引。有较高读操作频率的数据库应该有更多的索引。d.避免在簇索引中包括不必要的列。在可能的情况下,使用较小的数据类型,例如用v

33、archar替代char。e.考虑使用簇索引来支持排序和范围化查询。在为数据检索优化表时,簇索引必须支持数据的分组索引。为簇关键字选择列或列组,簇关键字以经常需要的顺序排序数据或以必须被一起访问的记录而分组记录。f.创建支持一般查询的查找参数索引。具有高选择性的列是索引的最好候选列。具有高密度的列是索引糟糕的候选列。(2)使用约束实现数据的完整性PRIMARY KEY约束在表中定义了主关键字,它是行唯一的标识符,它可以强制实体完整性。在使用PRIMARY KEY约束时考虑以下事实:每个表只能有一个PRIMARY KEY约束。键入的值必须是唯一的。不允许有空值。PRIMARY KEY约束在指定的

34、列创建唯一的索引,可以指定簇索引和非簇索引(如果 非簇索引先前并不存在,簇索引是默认的)。UNIQUE约束指定,在一列中的两行不能有相同的值。该约束使用唯一的索引来强制实体的完整性。在已有一个主关键字时UNIQUE约束很有用,例如雇员号,但是必须保证其他标识符(例如,雇员驾驶证号)也是唯一的。在使用UNIQUE约束时,考虑以下事实;A.允许有空值。B.在一个表中可以设置多个UNIQUE约束。C.可以将UNIQUE约束运用于具有唯一值的单列或多列,但不能用于表的主关键字。D.通过在指定的列或列组中创建唯一的索引,可以使UNIQUE索引得到强制4.3软件系统与数据库的关系本系统采用单层数据库体系,

35、软件拥护或系统管理员通过前台界面进行相应操作,前台界面和后台数据库引擎进行调用以及返回相应结果。该系统与应用环境的关系如上图4.2所示:操作员用户信息图书管理系统ADO数据查询 图4.2 系统与应用环境关系图本系统属于管理信息系统(MIS)范畴,他是通过前台界面调用后台数据库操作实现的。4.4 数据库的建立一、 数据库首先进入Access2000主界面。新建一个数据库文件(文件名为db.mdb)。打开此数据库文件,在该文件下建立所需的全部数据表。二、 系统数据模块的建立由于本系统数据库表单较多,为避免向每个窗体中添加数据访问组件来访问数据库中的数据,我利用了Delphi中提供的数据模块窗体。在

36、其他窗体需要访问数据时,只需在其单元文件中引用数据模块的单元文件就可以直接访问到数据集中的数据了。三、 数据库详细表一览系统所需的数据按照如下思路设计,有用户基本信息表、用户登陆和权限数据表、图书信息数据表和图书分类信息表等多个表。主要表单如下:(1) 用户基本信息表reader,如图4.3所示:图4.3 用户基本信息表reader实现图(2)用户登陆和权限数据表operator,如图4.4所示:图4.4 用户登陆和权限数据表operator实现图(3)图书基本信息表book,如图4.5所示:图4.5 图书基本信息表book实现图(4)图书分类数据表class,如图4.6所示:图4.6 图书分

37、类数据表class实现图第五章 图书管理系统详细设计和实现5.1 结构模块设计 从软件结构观点来看,结构模块设计不仅包括一个系统的基本组建,整体连接,全局控制结构,通信的协议,同步化机智,数据存储方法,还包括:设计元件的功能,构成,物理分布,可扩展性与性能,系统变革的尺度等。我们的这个图书管理系统,是属于单层数据库。也就是桌面型数据库系统,它是指数据库应用程序与数据库在同一台计算机上,没有涉及到计算机网络,也没用到数据库服务器,数据以数据文件的文件形式提供。它的优点是安全性高,数据存取效率高。5.2具体实现5.2.1 登陆界面与主界面的实现用Delphi设计界面是完全可视化,编程人员只须简单的

38、把各组件组合,设置相应属性既可设计出美观的应用程序环境。运行本程序,我们首先进入的是登陆界面,系统要求用户输入正确的用户名和密码。用户必须输入正确,才能进入下一级主界面,如果密码输入有误,应用程序会提示错误信息。用户如果连续三次输入错误,应用程序会强迫使用者退出并终止应用程序的运行。 登陆界面如图5-1 所示: 图5-1 登陆界面图 /登陆验证/procedure TfrmLogin.btnOKClick(Sender: TObject);var Query : TADOQuery;begin /如果验证输入的口令正确,则进入主操作界面 try /检查操作人员表中是否有匹配记录 Query :

39、= TADOQuery.Create(nil); Query.Connection := dm.ADOConnection1 ; Query.SQL.Add(select * from Operator where UserName=:UserName and userpwd=:userpwd); Query.Parameters.ParamByName(UserName).Value := cmbUsername.Text ; Query.Parameters.ParamByName(userpwd).Value := 在编码时,首先设定了一个私有变量,用于检查密码输入是否正确和密码输入次数

40、。当用户单击用户名下拉列表框时,编写代码以实现从数据库中读取用户名信息。验证用户名与密码的基本思路是从预设的数据库中得到用户的密码,然后与用户在密码框中输入的相比较,如果输入密码一致的话,就正确向下执行程序,如果不一致的话要提示用户密码错误,密码输入的密码输入的记数次数加一,如果连续三次输入错误,提醒用户已经没有进入系统的权限了,应用程序将自动退出。如果用户的用户名和密码输入正确,则允许此用户登陆,并记录当前登陆用户的登陆时间和登陆日期,同时初始化主窗体,根据用户身份决定那些功能对该用户可用,那些功能对用户不可用。主窗体如图5-2所示: 图5-2 主窗体 /主窗体/ procedure Tfr

41、mMain.FormCreate(Sender: TObject);begin if frmLogin = nil then frmLogin := TfrmLogin.Create(nil); frmLogin.ShowModal;end;procedure TfrmMain.bntUserClick(Sender: TObject);begin if frmRightSetting = nil then frmRightSetting := TfrmRightSetting.Create(nil); frmRightSetting.ShowModal ;end;5.2.2 查询模块实现“图

42、书管理查询”窗体是用语查询数据记录的。操做时可以选择搜索内容,可以按书名,书号,出版社,图书类别查询,也可模糊查询。窗体界面如图5-3所示:图5-3 图书查询图/图书查询/procedure TfrmBookSearch.SetBookParam(var Query: TADOQuery;Param : string);begin if chkSearch.Checked and chkSearch.Enabled then Param := Param +%; if radioBookCode.Checked then Query.Parameters.ParamByName(Code).V

43、alue := Param; if radioBookName.Checked then Query.Parameters.ParamByName(Name).Value := Param; if radioPublisher.Checked then Query.Parameters.ParamByName(Concern).Value := Param; if radioAuthor.Checked then Query.Parameters.ParamByName(Author).Value := Param; if radioClass.Checked then Query.Parameters.ParamByName(Class).Value := Param;end;5.2.3 新书入库实现“新书入库”窗体是通过输入图书信息,将图书存入图书馆的过程窗体界面如图5-4所示:图5-4 新书入库图/

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1