图书管理系统的设计与实现

上传人:muw****50 文档编号:99740448 上传时间:2022-06-01 格式:DOC 页数:33 大小:404.42KB
收藏 版权申诉 举报 下载
图书管理系统的设计与实现_第1页
第1页 / 共33页
图书管理系统的设计与实现_第2页
第2页 / 共33页
图书管理系统的设计与实现_第3页
第3页 / 共33页
资源描述:

《图书管理系统的设计与实现》由会员分享,可在线阅读,更多相关《图书管理系统的设计与实现(33页珍藏版)》请在装配图网上搜索。

1、图书管理系统的设计与实现作者 孙鑫 指导教师 朱帅【摘要】图书馆借阅信息管理系统应该能够为用户提供充足的信息和快捷的查询手段,但一直以来人们使用传统人工的方式管理图书、期刊、试卷合订本等查询信息。这种查询管理方式存在着许多缺点, 如: 效率低、保密性差, 另外时间一长, 将产生大量的文件和数据, 这对于查找、更新和维护都带来了不少的困难。系统运行结果证明,本文所设计的图书管理系统可以满足读者、管理员双方面的需要。实现了数据库表的浏览,记录的添加、删除和修改,实现了多种条件查询,实现了读者锁定功能等。设计充分利用 J2EE、SQL 2000 数据库技术的强大力量,提高了编程效率和可靠性。【关键词

2、】图书管理;MIS;J2EEThe Design and Implementation of Library Management System Based on J2EE【Abstract】Library management system should provide enough information and method which can help to search quickly. But people always manage books and periodicals through traditional artificial way. Such information

3、 query way has many shortcomings, such as low efficiency, bad secrecy. Whats more, longer time will produce massive documents and data which brings a lot of difficulties for search, renewal and maintenance. Result which system runs show that the design of management system in this paper will meet th

4、e need of members and administrators. It realizes browse of database table , adding, deleting and amending records, achieving various inquiries under differentcondition and function lock about readers. It takes full advantage of powerful force of J2EE, SQL 2000 database technology to improve the eff

5、iciency and reliability of programming in this design.【Keywords】 library management MIS J2EE目 录引言1第一章 概要11.1 研究背景及意义11.1.1 研究背景11.1.2 研究意义21.2系统调研与可行性分析21.2.1 现状调研31.2.2可行性分析3第二章 需求分析32.1 业务流程与设计目标42.1.1 业务流程42.1.2 设计目标42.2 系统需求分析52.2.1 功能需求52.2.2 性能需求82.2.3 运行需求8第三章 总体设计93.1 功能设计93.1.1 功能模块设计93.1.2

6、 功能模块总体结构图103.2 数据库设计103.2.1 数据库系统概述103.2.2 图书信息表结构设计123.2.3 读者信息表结构设计133.2.4 读者信息表结构设计133.2.5 借书还书信息表结构设计13第四章 详细设计与实现144.1数据库连接模块144.1.1数据库连接模块概述144.1.2 数据库连接模块实现154.2 系统登录模块154.2.1系统登录模块概述154.2.2系统登录模块实现164.3 借书登记界面模块174.3.1 借书登记界面模块概述174.3.2 借书登记界面模块实现184.4 还书登记界面模块194.4.1 还书登记界面模块概述194.4.2 还书登记

7、界面模块实现204.5 续借登记界面模块204.5.1 续借登记界面模块概述204.5.2 续借登记界面模块实现214.6 读者设置模块224.6.1 读者设置模块概述224.6.2 读者设置模块实现22第五章 系统测试245.1 软件测试方法与步骤245.2 测试环境245.3 功能测试255.4 集成测试265.5 评价27结束语27参考文献28致谢29引言当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管

8、理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查

9、找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书

10、管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。第一章 概要1.1 研究背景及意义1.1.1 研究背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书信息而设计的。本图书管理系统是针对学校的图书馆日常操作

11、业务而开发的管理软件。根据管理员、读者借阅的需求,实现图书、读者之间的有序化、信息化管理。本系统主要由这几个模块组成:日常借阅管理、读者管理、图书管理、系统设置等。图书管理系统通过录入图书的详细资料,建立读者档案、系统用户资料,设置各类参数(如:超期期限、人员类别、图书类别等),找出图书与读者之间的对应关系,实现日常的借阅操作。基于这些得到的基础数据,系统自行生成相应的统计数据供管理员查询、分析。另外,管理员还可以对这些基本信息进行定期的数据更新和数据库维护;为读者借阅时提供图书是否在馆,以及自己借书、还书等情况的查询功能,图书管理系统力求给图书管理员提供操作简单、方便快捷的途径去管理这些庞大

12、,繁琐的信息和图书。1.1.2 研究意义图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本,表格等纸介质的手工处理,对于图书借阅情况(如借书天数,超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限,以及借阅天数等用人工计算,手抄进行。数据处理工作量大,容易出错。由于数据繁多。容易丢失,且不易查找。总的来说。缺乏系统规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置

13、比较突出,这就是管理信息系统的开发的潜在应用环境。基于这个问题,本人认为有必要建立一个图书管理系统,使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性, 能够及时、准确、有效的查询和修改图书情况。1.2系统调研与可行性分析1.2.1 现状调研一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书管理系统广泛使用之前,借书和还书过程主要依靠手工。手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。本系统正是基于改变这种现状的一

14、个尝试,用SQL 2000 数据库实现,用JAVA语言开发,界面友好,操作简单,利用本系统来处理这些流程无疑会极大程度地提高效率和处理能力。我们将会看到排队等候借书、还书的队伍不再那么长,管理员出错的概率也小了,读者可以花更多的时间在选择书和看书上。1.2.2可行性分析本次毕业设计题目:“图书管理系统的设计与实现 ”主要目的是利用数据库软件编制一个管理软件,用以实现图书管理员对图书的多项管理。同时对整个系统的分析、设计过程给出一个完整论证。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。对图书和读者的管理,其实是对图书和读者数据的管理。本系统的建成无疑会为图书管理员提供极大的帮助。本

15、系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计和系统输入/输出设计等。做这些工作需对数据库知识有足够认识,并深入的了解 SQL 2000的使用和管理系统的相关知识。在信息时代的今天,人类需要对在政治、经济、军事、文化、科研、教育等领域产生的大量信息进行管理,并对数据进行加工处理,数据库技术则是信息管理与数据处理的先进技术。随着信息量的不断增加,作为计算机的三大主要应用(科学计算、过程控制和数据处理)之一的数据处理,已迅速上升为计算机应用的主要方面,数据库技术则成为人们日常生活中处理数据不可缺少的有力工具,并且现代的信息管理系统几乎都以数据库技术作为核心。

16、第二章 需求分析目前,客户机/服务器结构(C/S)已成为组网的标准模型,也是管理信息系统采用的主流方式。这种结构采用分布式数据库管理系统为基础,对数据的处理分前台和后台,客户机完成屏幕交互和输入、输出等前台任务,而服务器则完成大量的数据处理及存储管理等后台任务,使后台处理的数据不需要在前后台间频繁传输。众所周知,所有应用软件系统的开发和设计,它们的最终的目的是实现能够对数据进行加工和处理,也就是说要将某些特定形式的数据加工处理转换成为用户所能接受的数据形式。对于计算机程序所处理的数据,它的信息模块一般包括原始数据的内容、数据的流向和数据结构。通常所说的数据的内容就是数据项。通常所说的数据流指的

17、是数据经过一个应用程序系统的时候它的变化方式。录入的原始数据首先要转换成系统的中间数据,最后再转换成输出数据,并且在这个过程中允许从已经存储在系统数据库中的数据中引进附加数据。对数据进行加工、处理和转换应该是应用程序中需要具备的功能或者是子功能,数据转换功能之间的数据传递,确定了各个功能模块之间的接口。2.1 业务流程与设计目标2.1.1 业务流程图书管理系统业务流程主要为系统管理流程、图书业务流程和读者业务流程。(1)系统管理员输入用户名和密码后登录系统,出现系统主界面,菜单栏出现6个子菜单包括了系统的所有功能。选择了系统管理菜单后,管理员可以对管理员用户信息进行添加、删除和修改密码管理操作

18、。(2)选择了图书管理子菜单后,管理员可以进行对图书信息管理的各种操作。例如,图书馆添置新的图书后,可以进行新书入库。读者借书时管理员进行借书操作。读者还书时管理员进行还书操作。读者续借时管理员进行续借操作。当图书信息需要修改或删除时管理员进行图书信息修改或删除操作。(3)选择了读者管理子菜单后,管理员可以进行对读者信息管理的各种操作。例如,有了新的读者后,管理员可以进行添加新读者操作。当读者信息需要修改时,管理员可以进行修改读者信息操作。当读者信息需要删除时,管理员可以进行删除读者信息操作。2.1.2 设计目标系统的最终目标是辅助工作人员实现图书管理的自动化和规范化。(1)能够对图书进行注册

19、登记,添置新图书时录入基本信息,方便管理人员上架和读者查询。(2)对读者进行登记,录入新读者的注册信息,并自动赋予新读者一个唯一的读者编号。(3)简洁方便的图书查询方法,比如:按图书编号、书名、类别、作者和出版社等单独对需要的图书信息进行查询。(4)管理员对读者的借阅信息进行查询管理,简洁的处理借出、还入图书和续借等操作。 (5)简洁方便的图书管理功能,方便管理员对图书的信息修改等操作。(6)系统具有友好的用户操作界面,交互接口。流程准确、可靠,符合现行管理的基本模型和工作习惯。2.2 系统需求分析2.2.1 功能需求图书借阅管理系统的主要任务是实现读者迅速检索查询。方便借阅归还图书,图书管理

20、员高效的完成系统的各项基本操作,系统管理员是管理用户设置权限等操作,从可以看出图书管理系统要完成以下功能:(1)查询功能:对于需要查询的数据可以通过三种方式查找,按照图书相应的属性查询,按照读者相应属性查询,书目和读者相关匹配查询。(2)插入功能:可以对需要添加到图书管理系统中新的信息进行添加,增加一个图书记录,增加一个读者。(3)修改功能:对图书管理系统中的信息可以进行变更,修改某一已存在的记录内容。(4)删除功能:对系统中错误或无效的信息进行删除,删除后台数据库中的记录。(5)浏览功能:对系统中已有的信息进行查看,管理员可以浏览所有的图书信息和读者信息。系统管理用例如图2.1所示:图2.1

21、 系统功能用例图其中,“查询功能”用例描述如表2.1所示:表2.1查询功能用例描述用例编号UC001用例名称查询功能用例概述管理员可以根据图书编号和读者号分别查询图书信息和读者信息读者可以对需要的图书进行查询。范围登录系统的管理员主参与者管理员次要参与者读者前置条件管理员登陆成功进入查询界面后置条件读者提供图书编号或读者号成功保证提供信息正确基本事件流步骤活动1进入读者查询界面2进入图书查询界面规则与约束管理员登录本系统,读者提供查询信息 “插入功能”用例描述如表2.2所示:表2.2 插入功能用例描述用例编号UC002用例名称插入功能用例概述管理员可以增加新的图书和读者信息。范围登录系统的管理

22、员主参与者管理员次要参与者读者前置条件管理员登陆成功进入新书入库界面和添加读者界面后置条件新读者个人信息和新图书信息成功保证提供信息正确基本事件流步骤活动1添加新书的信息2添加新读者的信息规则与约束管理员登录本系统,新读者提供信息 “修改功能”用例描述如表2.3所示:表2.3 修改功能用例描述用例编号UC003用例名称修改功能用例概述管理员可以修改已有的图书和读者信息。范围登录系统的管理员主参与者管理员次要参与者读者前置条件管理员登陆成功进入修改图书界面和修改读者界面后置条件读者修改的个人信息和图书修改信息成功保证提供信息正确基本事件流步骤活动1添加修改图书的信息2添加修改读者的信息规则与约束

23、管理员登录本系统,读者提供正确修改信息 “删除功能”用例描述如表2.4所示:表2.4 删除功能用例描述用例编号UC004用例名称删除功能用例概述管理员可以删除图书和读者信息。范围登录系统的管理员主参与者管理员次要参与者读者前置条件管理员登陆成功进入删除图书界面和删除读者界面后置条件需要删除的读者信息和图书信息成功保证提供信息正确基本事件流步骤活动1删除图书信息2删除读者信息规则与约束管理员登录本系统,删除信息正确 2.2.2 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求:1.系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在

24、系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。2.系统的开放性和系统的可扩充性:图书管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。3.系统的易用性和易维护性:图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。4.系统的标准性:系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。5.系统的响应速度:图书管理系统系统在日常处理中的响应速度为秒级,达到实时要求,

25、以及时反馈信息。一般操作的响应时间应在1-2秒内。2.2.3 运行需求1.用户界面该系统采用窗体和对话框的可视化用户交互方式使用方便。2.硬件接口:支持各种 x86 系列 PC 机。3.软件接口:运行于 Windows95/98 及更高版本具有 WIN32 API 的操作系统之上。4.故障处理:正常使用时不应出错,对于用户的输入错误应给出适当的改正提示。若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。第三章 总体设计该系统在Windows98/2000/XP环境下,主要采用Jbuilder2006开发工具,SQL2000数据库来设计,开发过程与成果应符合GB/T 11457-1995

26、软件工程术语,GB/T 8567-1988计算机软件产品开发文件编制指南等。3.1 功能设计3.1.1 功能模块设计根据系统的功能需求分析,可以将本系统的主要功能划分为4个功能模块,分别为系统管理、信息管理、读者设置、图书管理。1.系统管理模块:系统管理模块可划分为修改删除管理员、修改密码和退出三个子模块。修改删除管理员包括对系统管理员的基本信息添加、修改和删除等操作;修改密码主要是对已有的管理员信息的密码进行修改;退出是对整个系统进行退出关闭操作。2.信息管理模块:信息管理模块可以划分为读者检索、图书检索和已借图书三个子模块。读者检索包含对已有的读者信息根据约束条件进行按编号、姓名和电话三种

27、检索方式;图书检索包含对已有的图书信息进行根据约束条件按编号、书名、类别、作者、价格和出版社六种检索方式;已借图书主要是对现有的借出的全部图书信息进行查看。3.读者设置模块:读者设置模块可以划分为添加读者和读者管理两个子模块。添加读者主要是对新的读者信息进行添加入库并自动赋予一个读者编号;读者管理是对已有的读者信息进行查看、修改和删除操作。4.读书管理模块:图书管理模块可以划分为新书入库、借书、还书、续借和图书管理五个子模块。新书入库是对新的图书进行信息的添加入库;借书是管理员对读者要借的图书进行借书信息的添加入库;还书是管理员对读者要还的图书进行还书信息的添加入库;续借是管理员对读者要续借图

28、书进行续借信息的添加入库;图书管理是管理员对已有的图书的信息进行查看、修改和删除的管理操作。3.1.2 功能模块总体结构图绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图。系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。本系统的结构图如图3.1所示:图3.1 系统总体结构图3.2 数据库设计3.2.1 数据库系统概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。数据库是数据管理的最新技术。十多年来数据库管理系统

29、已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程

30、,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。整个系统所包括的信息有图书信息、读者信息、管理员信息、借书还书信息。可

31、将这些信息抽象为下列系统所需要的数据项和数据结构:(1)管理员信息(用户名,密码) (2)借书还书信息(图书号,读者号,价格,借书时间,借书期限,还书状态是否续借) (3)、图书信息(图书号,图书名称,简介,类别,出版社,库存量,作者,入库时间)(4)、读者信息(读者号,姓名,性别,电话,地址,余额,注册时间,状态)在本系统的实体中,“管理员”与“图书”和“读者”间的对应关系为一对多;“图书”与“读者”之间的对应关系为多对多。实体之间的对应及从属关系如图3.2所示:图3.2 实体关系E-R图3.2.2 图书信息表结构设计图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在新书入

32、库时由操作员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,系统用户根据图书的某个属性进行查询,便可得知图书的其他相关信息。具体结果如下表3.1所示:表3.1 图书信息表:Books字段数据类型备注BidInt图书号BnameVarchar书名BpreviewVarchar简介BsortVarchar类别BpublisherVarchar出版社BsumInt库存量BauthorVarchar作者BregtimeDatetime入库时间3.2.3 读者信息表结构设计读者信息表的设计是为了图书馆管理员对读者进行管理,其中读者编号是唯一的,是读者在借阅图书时需要输入对读者身份进行识别的信

33、息,读者电话地址等信息是为了与读者进行联系,读者余额信息决定了读者一次性可借阅的图书的数量,注册时间可用于查询计算读者身份有效的期限,状态决定了读者当前是否有已借的超期图书而再借新书。具体结构设计如下表3.2所示:表3.2 读者信息表:Users字段数据类型备注UidInt读者号UnameVarchar姓名UsexChar性别UphoneVarchar电话UaddressVarchar地址UyueMoney余额表3.3 读者信息表:Users(续)UregtimeDatetime注册日期UstateChar状态3.2.4 读者信息表结构设计该表的设计用于记录图书管理系统用户的信息,方便对用户的

34、管理,表中包括用户名和用户的登录密码。具体结构设计如下表3.3所示:表3.3 管理员表:Admin字段数据类型备注AnameVarchar用户名ApwdVarchar密码3.2.5 借书还书信息表结构设计该表的设计是用于对读者借阅图书信息进行管理,表中图书号属性是对借阅图书的唯一性识别标识,读者号记录借阅的相应读者,借书时间记录了相应的借书日期,借书期限可以判断是否超时, 还书状态可查询当前读书是否被归还, 价格是图书丢失后赔偿的依据,是否续借表示图书续借的状态。具体结构设计如下表3.4所示:表3.4 借书还书表表:Outbooks字段数据类型备注ObidInt图书号OuidInt读者号Obp

35、riceMoney价格ObotimeDatetime借书时间ObrenttimeInt借书期限ObstateChar还书状态ObkeepChar是否续借第四章 详细设计与实现系统实现主要涉及到本管理系统用户界面的规划制作以及功能代码的添加和编写。在实现时需要综合考虑用户界面的适应性、界面结构的合理性、关键代码的高效性及健壮性、系统数据及访问控制的安全性和系统所占存储容量等问题。尽量使整个系统的综合性能达到最优12。本系统是在WindowsXP环境下,使用Jbuilder2006开发完成,这是一个基于对话框的程序项目,整个用户界面由若干个不同类型的对话框组成。在系统开发过程中力争只使用Jbuil

36、der的常用组件,同时参考了一些讲开发技巧的书籍,以便更加灵活的应用各控件。本系统的实现主要分以下的几个模块。4.1数据库连接模块4.1.1数据库连接模块概述数据库连接模块是本系统实现中的关键环节,是把后台已创建完成的数据库与前台用户程序界面相联合从而协调工作的过程,本系统使用的是JDBC技术实现功能。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。在Java语言中,访问数据库的基本步骤是:首先装载驱动程序,然后建立连接,第三步是访问数据库,即执行SQL指令,第四步处理结果集,最后关闭结果集、断开连

37、接13。4.1.2 数据库连接模块实现为了体现JAVA的面向对象特点,本系统中将数据库的所有操作都封装成了一个类“DBC”,这用封装提高了数据库操作的独立性,也提供了调用数据库的便捷性。在此类中主要用到了三个数据库功能函数,它们在类中的原型及功能如下:public void getConnection() public boolean executeUpdate(String sql)public ResultSet executeQuery(String sql)1.函数getConnection此函数用于初始化数据库连接,在执行其他数据库操作之前,这是必须首先被执行的函数。在函数中首先调用

38、DriverManager类来负责加载、注册JDBC驱动程序,管理应用程序和已注册的驱动程序的连接。加载和注册驱动程序用Class类的forName方法完成。创建一个connection连接到数据源中的数据库db,连接失败则弹出一个异常对话框14。 2.函数executeQuery此函数用于执行由参数传入的SQL语句。在执行查询前将结果集对象是为NULL,随后根据传入SQL语句将执行后的结果放入结果集对象中。如果执行失败则弹出异常对话框。 3.函数executeUpdate此函数用于对数据库进行更新,设置一个整型变量i用于对更新成功与否来进行判断。首先建立对数据库的连接,成功之后进行数据的更新

39、,更新后断开数据库连接。如果出现异常将会弹出异常对话框。4.2 系统登录模块4.2.1系统登录模块概述该模块主要用于首次运行系统的用户名和密码的输入鉴定,当用户的用户名和密码输入正确就将进入到系统的主界面,否则,会提示错误并返回到登录界面。该模块的主要流程如下:1.要求管理员输入用户名及密码。2.建立与数据库的连接,检验。3.显示主对话框(即主界面),进入主流程。系统登录模块的运行过程可以用程序流程图来展现,登录系统流程图如4.1所示:图4.1 登录系统流程图4.2.2系统登录模块实现为了完成登录系统模块的功能,需要对数据库中的“管理员”数据表进行访问。同样为了体现Java的面向对象特性和系统

40、数据库安全性,在实现时把管理员的数据成员和数据管理封装成一个类“Login”。在用户登录时,需要通过调用登录界面上控件的事件代码取得相应的用户密码,以便进行比对验证。在该类中通过对”登录”按钮控件的事件调用来执行对登录的用户名和密码的验证功能。首先对输入框进行判断如果为空,则弹出异常对话框并提示为空,不为空则连接数据库对输入的数据进行比对,如果比对成功则进入主界面,否则弹出异常对话框提示错误并清空输入返回登录界面直到输入比对正确。在该类中通过对”退出”按钮控件的事件调用来执行对整个系统的退出操作。(1)用户名输入文本框:此控件用户接受用户键盘输入的用户名数据,并可以通过getText()方法传

41、递给name变量用于调用事件时进行比对。(2)密码输入文本框:此控件用户接受用户键盘输入的密码数据用“*”字符进行替换,并可以通过getText()方法传递给pwd变量用于调用事件时进行比对。(3)登录按钮:此控件用户接受用户的鼠标事件,当用户对该控件进行左击时调用btnLogin_actionPerformed(ActionEvent e)事件。首先,调用用户名和密码文本框的getText()方法获得用户输入的用户名和密码。当发现其中一项为空时,弹出提示对话框并将用户名和密码文本框重新置空。不为空则将获得的用户名和密码数据赋给变量name和pdw,之后通过结果集方法dbc.executeQu

42、ery(SELECT * FROM Admin)查询管理员数据表,并对其中数据项进行一一比对。当发现两项数据全部比对成功后,调用方法进入主界面。否则,弹出提示用户名或密码错误的提示框。登录界面如图4.2所示:图4.2 登录系统界面图(4)ctionPerformed(ActionEvent e)事件通过System.exit(0)方法退出系统。4.3 借书登记界面模块4.3.1 借书登记界面模块概述该模块主要功能用于已有图书的借阅,根据查验输入的读者号和图书编号,检查输入信息的正确性,如果正确则获取该读者以及图书的相关信息,并可继续进行相应的借书操作,借书成功将会弹出相应的提示。该模块主要流程

43、如下:(1)要求管理员输入书编号,读者号。(2)检验书编号和读者号是否存在。(3)确认存在后提交借书请求,更新信息,把借书信息写入数据库,显示借书操作结果。(4)如为退出操作,结束借书流程。借书登记界面模块流程图如4.3所示:图4.3 借书登记界面模块流程图4.3.2 借书登记界面模块实现该模块实现图书的借阅功能,读者向图书管理员提供自己的编号会显示出读者当前的借阅情况,再提供要借阅的图书编号和借阅的期限,图书管理员将信息记录在系统中,借阅成功。首先,进入界面后在根据约束条件输入框中分别输入对应的信息,先对输入数据的类型进行判断,如果不为数字型则会弹出异常。然后在数据库中对读者号和书编号进行比

44、对来验证是否已在数据库中存在,如果该书的库存量不为零,则可以借阅并将该书的库存量减一,全部验证成功后会对“借书还书”数据表进行更新,否则会弹出异常信息提示错误。(1)图书编号文本框:此控件用户接受用户键盘输入的图书编号数据,并可以通过getText()方法传递给book变量用于调用事件时进行比对。(2)读者编号文本框:此控件用户接受用户键盘输入的读者编号数据,并可以通过getText()方法传递给uyue变量用于调用事件时进行比对。(3)借书期限文本框:此控件用户接受用户键盘输入的读者借书时间数据,并可以通过getText()方法传递给time变量用于调用事件时进行比对。(4)确定按钮:此控件

45、用户接受用户的鼠标事件,当用户对该控件进行左击时调用btnSure_actionPerformed(ActionEvent e)事件。首先,调用图书编号、读者编号和借书期限文本框的getText()方法获得用户输入的图书编号、读者编号和借书时间。当发现其中一项为空时,弹出提示对话框并将所有文本框重新置空。不为空则将获得的图书编号、读者编号和借书时间数据赋给变量,之后通过结果集方法dbc.executeQuery(SELECT * FROM Books)查询图书数据表,并对其中数据项进行一一的比对数据值。当发现三项的数据全部符合约束条件的要求后,调用dbc.executeUpdate(INSER

46、T OutBooks)方法将其添加到借书还书表。否则,弹出提示借书失败提示框。(5)取消按钮:此控件用于实现借书登记界面窗体的关闭,当用户单击调用this.setVisible(false)方法将界面设置为隐藏。4.4 还书登记界面模块4.4.1 还书登记界面模块概述该模块主要功能用于读者对借出图书的归还,根据查验输入的读者号和图书编号,检查输入信息的正确性,如果正确则获取该读者以及图书的相关信息,并可继续进行相应的还书操作,还书成功将会弹出相应的提示。该模块主要流程如下:(1)要求管理员输入书编号,读者号。(2)检验借书信息是否存在。(3)确认存在后提交还书请求,更新信息,把还书信息写入数据

47、库。(4)如为退出操作,结束还书流程。还书登记界面模块流程图如4.4所示:图4.4 还书登记界面模块流程图4.4.2 还书登记界面模块实现该模块实现系统的图书归还功能,读者向图书管理员提供自己的编号,再提供要归还的图书编号,图书管理员将信息记录在系统中,归还成功。将还书模块封装为一个“Return”类,在“确定”按钮的事件中来实现模块的主要功能。首先,进入界面后在根据约束条件输入框中分别输入对应的信息,先对输入数据的类型进行判断,如果不为数字型则会弹出异常。然后在数据库中对读者号和书编号进行比对来验证是否已在“借书还书”数据表中存在,全部验证成功后会对“借书还书”数据表进行更新,并将该书的库存

48、量加一,否则会弹出异常信息提示错误。(1)图书编号文本框:此控件用户接受用户键盘输入的图书编号数据,并可以通过getText()方法传递给book变量用于调用事件时进行比对。(2)读者编号文本框:此控件用户接受用户键盘输入的读者编号数据,并可以通过getText()方法传递给uyue变量用于调用事件时进行比对。(3)提交按钮:此控件用户接受用户的鼠标事件,当用户对该控件进行左击时调用btnSubmit_actionPerformed(ActionEvent e)事件。首先,调用图书编号和读者编号文本框的getText()方法获得用户输入的图书编号和读者编号。当发现其中一项为空时,弹出提示对话框

49、并将所有文本框重新置空。不为空则将获得的图书编号和读者编号数据赋给变量book和uyue,之后通过结果集方法dbc.executeQuery查询图书数据表和读者数据表,并对其中数据项进行一一比对。当发现两项数据全部符合约束条件后,调用dbc.executeUpdate方法更新到借书还书表。否则,弹出提示还书失败提示框。(4)取消按钮:此控件用于实现还书登记界面窗体的关闭,当用户单击调用this.setVisible(false)方法将界面设置为隐藏。4.5 续借登记界面模块4.5.1 续借登记界面模块概述该模块主要功能用于读者对借出图书的续借,根据查验输入的读者号和图书编号,检查输入信息的正确

50、性,如果正确则获取该读者以及图书的相关信息,并可继续进行相应的续借操作,续借成功将会弹出相应的提示。该模块主要流程如下:(1)要求管理员输入书编号,读者号。(2)检验借书信息是否存在。(3)确认存在后提交续借请求,更新信息,把续借信息写入数据库,显示续借操作结果。(4)如为退出操作,结束续借流程。借书登记界面模块流程图4.5所示:图4.5 续借登记界面模块流程图4.5.2 续借登记界面模块实现该模块实现系统的图书续借功能,读者向图书管理员提供自己的编号,再提供要续借的图书编号和续借的时间,图书管理员将信息记录在系统中,续借成功。将续借模块封装为一个“Keep”类,在“提交”按钮的事件中来实现模

51、块的主要功能。首先,进入界面后在根据约束条件输入框中分别输入对应的信息,先对输入数据的类型进行判断,如果不为数字型则会弹出异常。然后在数据库中对读者号和书编号进行比对来验证是否已在“借书还书”数据表中存在,然后验证图书状态是否能续借并检验该书是否归还,全部验证成功后会对“借书还书”数据表进行更新,否则会弹出异常信息提示错误。(1)图书编号文本框:此控件用户接受用户键盘输入的图书编号数据,并可以通过getText()方法传递给book变量用于调用事件时进行比对。(2)读者编号文本框:此控件用户接受用户键盘输入的读者编号数据,并可以通过getText()方法传递给uyue变量用于调用事件时进行比对

52、。(3)借书期限文本框:此控件用户接受用户键盘输入的读者借书时间数据,并可以通过getText()方法传递给time变量用于调用事件时进行比对。(4)确定按钮:此控件用户接受用户的鼠标事件,当用户对该控件进行左击时调用btnSubmit_actionPerformed(ActionEvent e)事件。首先,调用图书编号、读者编号和借书期限文本框的getText()方法获得用户输入的图书编号、读者编号和借书时间。当发现其中一项为空时,弹出提示对话框并将所有文本框重新置空。不为空则将获得的图书编号、读者编号和借书时间数据赋给变量,之后通过结果集方法dbc.executeQuery(SELECT

53、* FROM Books)查询图书数据表并结果集方法,并对其中数据项进行一一比对。当发现三项的数据全部符合约束条件后,调用dbc.executeUpdate(INSERT OutBooks)方法将其更新到借书还书表。否则,弹出提示续书失败提示框。(5)取消按钮:此控件用于实现续借登记界面窗体的关闭,当用户单击调用this.setVisible(false)方法将界面设置为隐藏。4.6 读者设置模块4.6.1 读者设置模块概述该模块用于对读者的各种信息的管理操作,主要包括“添加读者”、“修改读者” 、“删除读者”和“读者检索”四个主要功能。这些功能处理的信息使一个读者存在的根本依据,读者对图书的

54、借阅的各种操作也是基于这些信息。在使用本系统之前,管理员应在本模块对读者的信息进行预先添加入库。该模块主要流程如下:(1)通过菜单进入读者设置界面。(2)在读者信息表中选中目标信息。(3)选中信息后,通过界面中的“添加读者”、“修改读者” 、“删除读者”和“读者检索”四个主要功能的按钮进行选择操作。(4)如为关闭操作,结束退回主界面。4.6.2 读者设置模块实现系统在此模块中用到了对数据库的存取操作,在读者管理的窗体控件上添加一个JdbTable控件用于从数据库中读取出已有的全部读者信息,管理员可以在JdbTable控件中对显示的读者信息用鼠标进行选择。当管理员选定某一读者后,该读者的信息将出

55、现阴影,表明该读者已被选定,然后在窗体上分别点击“添加读者” 、“修改读者” 、“删除读者”和“检索读者”四个主要功能按钮将会对选定的读者信息进行相应的操作。1.“添加读者”按钮用于实现对新读者的信息进行添加入库。当管理员点击该按钮后将会调用添加新读者功能窗体,在该窗体中可以根据约束条件对新读者的“姓名” 、“性别” 、“地址”和“联系电话”等信息进行添加入读者数据表,添加的新读者将自动得到一个唯一的读者编号。首先,调用所有文本框的getText()方法获得用户输入的数据。当发现其中一项为空时,弹出提示对话框并将所有文本框重新置空。不为空则将获得的数据进行判断查看是否符合约束条件,如果不符合则

56、弹出提示。当发现所有数据全部符合约束条件后,调用dbc.executeUpdate方法将其更新到读者信息表。否则,弹出提示添加失败提示框。2.“修改读者”按钮用于对在JdbTable中选定的读者的信息进行修改操作。当管理员在选定修改的读者信息后点击“修改读者”按钮将会调用读者信息修改窗体,在该窗体中管理员可以根据约束条件对读者信息进行更新修改操作。读者信息的修改是受限修改,一个读者的“姓名” 、“编号” 、“性别”和“注册时间”在第一次添加入库后将不可在修改,以后管理员只可对读者的“电话”和“地址”易变信息进行修改操作。(1)调用读者修改界面,根据读者选定的读者信息通过结果集方法dbc.exe

57、cuteQuery查询图书信息表,将返回的数据通过getString()方法提取并分别通过setText()方法设置给所有的文本框,并将不可修改的文本框可用性设置为false。用户在修改信息后。(2)单击确定按钮调用btnSure_actionPerformed(ActionEvent e)事件,对输入信息进行验证,如未通过则弹出提示并重置。通过则调用dbc.executeUpdate方法对读者信息表进行更新。(3)“删除读者”按钮用于对在JdbTable中选定的读者的信息进行删除操作。当管理员在选定修改的读者信息后点击“删除读者”按钮将会调用该按钮的单击事件代码。执行后将直接将选中的读者信息

58、在读者数据表中进行删除操作。首先,通过getSelectedRow()方法判断当前管理员是否选定一个读者信息,选定后通过dbc.executeUpdate(DELETE FROM Users”)方法对读者表中对应的信息进行删除操作。(4)“检索读者”按钮用于当读者信息过多时管理员对需要查询的读者信息从中进行检索操作。读者的检索方式可以在读者检索窗体进行选择,分为按“编号” 、“姓名”和“电话”三种检索方式。选定好检索方式后管理员需要根据相应的方式根据约束条件在“查找”文本框中填入要检索读者的相应信息进行检索。如果输入的检索信息正确且相应的读者信息存在于数据库中,系统将会把检索到的读者显示在Jd

59、bTable中。第五章 系统测试5.1 软件测试方法与步骤该系统在本地服务器上进行运行和调试,鉴于对系统的内部结构和处理算法的完全了解以及对系统功能的全面掌握对系统进行的白盒测试和黑盒测试。在开发软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。测试目的在于:发现错误而执行一个程序的过程,测试重要发现一个发现其中尚未发现的错误。本系统的测试阶段信息流程下图5.1所示。 图5.1 测试阶段信息流程图为了设计出有效地测试方案按照下面准则进行测试:所有测试都应追溯到用户需求;在完成了需求模型就要着手制定测试计划,在编码之前所有测试工作进行计划和设计;运用

60、Pareto原理着重对占出现错误80%的容易出错的20%的模块进行测试,从小规模开始逐步进行大规模测试,通常先重点测试单个程序模块再转向集成的模块簇;精心设计测试方案,尽可能充分覆盖程序逻辑使之达到要求的可靠性15。5.2 测试环境下表5.1列出了测试的系统环境:表5.1 测试系统环境软件环境(相关软件、操作系统等)Jbulider2006MS Server 2000Windows XP操作系统硬件环境(网络、设备等)Intel 奔腾4处理器系统内存: 2GB; 主硬盘: 160GBIPV4 网络5.3 功能测试按照软件工程的观点,软件测试(主要是指多模块程序的测试)共包括4个层次。1.单元测

61、试。单元测试的用例从单元详细设计中导出。在单元测试中可以采用功能性测试和结构性测试两种。2.集成测试和确认测试。这一阶段的任务,是通过了单元测试的模块逐步组装起来,通过测试与纠错,最终得到一个满足需求的目标软件。3.验证测试。在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试。在整个测试中,采用了白盒测试和黑盒测试相结合的方法。登录测试用例如下表5.2所示:表5.2 登录模块用例测试项目/软件图书管理系统功能模块名主要功能模块测试用例编号测试1编制时间2012.04.26功能特性管理员系统管理测试目的主界面中各个模块的功能实现,模块间的跳转和功能的衔接测试数据用户号:123,用户密码:123测试步骤操作描述输入数据预期结果实际结果测试状态1管理员登录用户名:123密码:123点击登录跳转到主界面跳转到登录界面正常2删除管理员用户名:123删除管理员123删除管理员123正常3修改密码密码123,321,321密码改为321密码改为321正常4借书书编号:10001000借书成功1000借书成功正常5还书书编号:10001000还书成功1000还书成功正常6读者检索读者名:张三张三查找成功张

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!