基于Java图书馆管理系统的设计和实现.doc_第1页
基于Java图书馆管理系统的设计和实现.doc_第2页
基于Java图书馆管理系统的设计和实现.doc_第3页
基于Java图书馆管理系统的设计和实现.doc_第4页
基于Java图书馆管理系统的设计和实现.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

需要本论文完整程序源代码,答辩 PPT 或者更多毕业论文联系 799523222 毕 业 论 文 题 目:基于 Java 图书馆管理系统的设计和实现 专 业: 班 级: 姓 名: 学 号: 指导教师: 日 期: 需要本论文完整程序源代码,答辩 PPT 或者更多毕业论文联系 799523222 I 目 录 摘 要 .III 1. 绪 论 .1 1.1 毕业设计主要任务 .1 1.2 目前图书管理系统存在的问题 .1 1.3 课题意义 .1 1.4 论文的工作和安排 .2 2.图书借阅管理需求分析 .3 2.1 可行性分析.3 2.1.1.技术可行性 .3 2.1.2.经济可行性 .3 2.2 图书借阅管理系统需求概述.3 2.2.1 系统目标 .3 2.2.2 用户类和用户特性 .4 2.3 图书借阅管理系统需求模型.4 2.3.1 功能描述 .4 2.3.2 图书管理员详细功能描述 .5 2.3.3 读者详细功能描述 .5 2.3.4 主要用例的用例描述 .6 3.总体设计 .8 3.1 数据库设计.8 3.1.1 数据库设计概述 .8 3.1.2 图书信息表结构设计 .9 3.1.3 学生用户信息表结构设计 .9 3.1.4 管理员信息表结构设计 .10 3.1.5 图书状态信息表结构设计 .10 3.1.6 图书超期信息表结构设计 .10 3.1.7 图书预约信息表结构设计 .11 3.1.8 图书挂失信息表结构设计 .11 3.2 系统总体结构设计.12 3.2.1 图书管理系统总体结构图 .12 3.2.2 系统管理员模块功能 .12 3.2.3 学生用户管理模块功能 .13 3.2.4 图书管理模块功能 .13 需要本论文完整程序源代码,答辩 PPT 或者更多毕业论文联系 799523222 II 3.2.5 图书借阅预约模块功能 .13 3.2.6 图书归还挂失模块功能 .14 3.2.7 图书查询模块功能 .15 3.2.8 缴纳超期罚款模块功能 .15 4.程序设计与编码 .16 4.1 开发平台与工具 .16 4.1.1 J2SE 平台 .16 4.1.2 开发系统的工具 .16 4.2 程序设计 .16 4.2.1 程序设计概述 .16 4.2.2 数据库的连接 .17 4.2.3 登录模块程序设计 .18 4.2.4 系统管理员功能模块的实现 .19 4.2.5 学生用户管理功能模块的实现 .20 4.2.6 图书管理功能模块的实现 .20 4.2.7 图书借阅预约功能模块的实现 .20 4.2.8 图书归还挂失模块的实现 .21 III 摘 要 系统开发的总的设计目标是实现图书借阅的系统化、规范化和自动化,实现对图书 资料的集中统一的管理,以及实现用户在网上的对图书的查询与借阅。本论文主要对图 书馆管理系统开发的技术要求,及可行性进行了分析。对整个系统及数据库做出了需求 分析,并对数据库的结构及数据表的建立依据分析与设计加以概括。在论文中简单描述 了系统的基本功能要求,包括管理员、用户、书籍信息的管理,图书借阅及还入功能的 实施方法。经过仔细分析之后,对于系统的功能与实现流程也做了详细的概述。其中, 采用结构图对系统所包含的模块进行了描述,对于各模块中数据的操作,则是用数据流 程图来表示的。最后,在系统实现的描述中加入了一些关键模块的代码及效果图以便能 更好将整个系统所采用的语言及功能表达出来。 设计的实现主要应用了 Java 语言编写系统,以 MySql 作为数据库。本系统经过了多 次测试,基本功能都已实现,完成了图书借阅所需要满足的要求,设计任务圆满完成。 【关键词】:Java;c/s;MySql;数据库设计;数据查询 1 1.1. 绪绪 论论 1.1 毕业设计主要任务 1.实现图书馆对所藏图书的按类别、书名等多方面的查询,最大的方便读者和图书馆 工作人员对所需图书的查询; 2.建立图书馆外借读者数据库,方便工作人员对读者进行有效管理; 3.建立图书馆工作人员数据库,限定每个工作人员对软件操作的权限,最大限度的保 护数据库; 4.实现图书馆对新书入库,旧书注销的简单处理,并且建立书籍档案,方便进货; 5.实现图书馆 1.2 目前图书管理系统存在的问题 1)检索速度慢、效率低 因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行 非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。图书馆的规模 越大,这个问题越突出。 2)借书、还书工作量大 借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书 登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工 操作所难以胜任的。而且经常会出现这样那样的差错。 3)图书统计工作难、藏书更新不能及时完成。 图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于 藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时 完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。 我校也是一所发展中的高校,近儿年的发展速度很快,图书馆的规模和藏书数量也 不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。 1.3 课题意义 随着计算机的广泛应用,其逐步成为现代化的标志。图书馆或者一些企业内部,甚 至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产 生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行 管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了 提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求, 提高各种工作的效率,现对其设计相应的系统,以达到上述的目的1。 图书管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化。围绕这一 2 主要功能,本系统涉及到以下核心功能:查询图书,借阅预约图书,归还挂失图书。除了 这些核心功能外,还包括一些基本和辅助功能,它们是:学生用户管理、图书管理和管理 员管理。 1.4 论文的工作和安排 本次设计的目标是,开发一个图书馆管理系统。借助该系统,管理员通过快捷可靠 的数据库管理,方便的管理图书馆的信息资料,规范化的管理读者用户,设定不同用户 权限,并能通过互联网向读者提供更为方便的在线查询服务,方便读者的使用,最终达 到提高图书馆资源利用效率的目的。 论文设计实现了图书馆管理系统,可以根据用户的不同权限,对图书馆的的各种信 息进行添加、删除、修改或查询操作。论文分为五个部分: 第一章即本章绪论,简述图书馆借阅管理系统这个课题的背景情况以及开发本系统 的意义。 第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介 绍根据系统的需求选择的开发工具和技术的概况。 第三章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体界 面的设计方案。 第四章为程序设计与编码各主要功能模块的实现方法和部分关键代码,同时提供了 个主要界面运行的参考图片,以更直观了解系统的实现情况。 第五章是软件测试,测试系统功能实现并对测试结果进行记录分析 第六章为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。 3 2.图书借阅管理需求分析 2.1 可行性分析 采用现代化统一的计算机信息系统,能够有效优化图书馆管理系统,使其高效的发 挥最大作用,能够迅捷的为读者提供相应的服务。开发本系统的可行性研究如下: 2.1.1 技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足 需要。本系统采用 Java 开发出友好的人机界面,便于用户理解、操作。数据库管理系统 采用 MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发 平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越 来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。 2.1.2.经济可行性 鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发 这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理 发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的。 2.2 图书借阅管理系统需求概述 2.2.1 系统目标 该系统主要建立一个基于 C/S 模式的图书馆借阅管理系统,面对当起很多小型图书管 理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书 不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现: 1.对于读者在本系统的应用下可实现按照各种方式(如:书名,出版社,作者)查询图书 馆的藏书清单,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。 2.对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者借阅情况查 询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操 作,对读者信息进行相关添加,修改,分类管理等操作。 3.对于系统管理员可以对图书馆信息进行修改更新操作,对系统用户进行添加、修改、 删除、权限设置等操作。 4 2.2.2 用户类和用户特性 图书借阅管理系统是一个基于 C/S 模式的对图书馆进行高效率管理的应用系统,它的 用户主要是读者和图书管理员,学生通过该系统进行图书查询进而对自己需要的图书进行 借阅及自己的借阅情况进行查询,图书管理员则通过本系统实现对图书及读者的高效管理,除 此之外,还需要一个系统管理员对不同的用户进行权限的设置等操作。 三类用户的具体描述如下表所示: 表 2.1 用户具体描述 用户类描述 学生用 户 读者是该系统的重要的使用角色,他们通过该系统查询自己需要 的图书信息,并像图书管理员提出借阅图书的申请进而借阅自己所需 的图书,还可以通过对自己借阅情况进行查询。 图书管 理员 图书管理员是该系统的另一个重要使用者,图书管理员通过该系 统进行图书的增加,修改,删除,分类管理等操作,实现对读者借阅归还 续接图书的方便操作,实现对系统中图书,读者,读者借阅情况的查询, 信息更改维护等操作,管理读者类型,对不同类型读者可借阅的图书数 量进行设置等图书馆的基本操作。 系统员系统管理员主要是图书馆管理系统中对用户的管理,实现用户添 加修改删除以及用户权限设置等操作,实现对图书馆基本信息的修改 维护等操作。 2.3 图书借阅管理系统需求模型 2.3.1 功能描述 图书借阅管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理 员高效的完成系统的各项基本操作,系统管理员是管理用户设置权限等操作,从图 2.1 可 以看出图书借阅管理系统要完成一下功能: 1. 登录。 学生用户、图书管理员,系统管理员进入该系统必须登录,身份验证正确了才可以进 入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。 2.用户管理功能: 对系统用户进行添加,修改,删除,权限设置等操作。 3.查询功能: 对图书馆的馆藏图书,借阅历史,读者用户等信息进行查询。 4.其他功能 系统管理员可以修改自己的密码,并且拥有其他用户所拥有的所有功能。 5 下面的系统用例图描述了整个系统用户之间的动作联系,及功能模块的概述。 学生用户 系统查询 系统管理员 登录 系统管理 用户管理 借阅预约管理 归还挂失管理 借还管理 续借管理 图书管理员 读者信息管理 读者管理 读者类型管理图书信息管理 图书管理 图书状态管理 图 2.1 系统用例图 2.3.2 图书管理员详细功能描述 1.读者管理功能: 对读者的类型和读者档案进行管理,包括添加,修改,删除读者类型和读者用户的相关信 息,管理不同类型读者借阅图书的数量。 2. 图书管理功能: 包括对图书类型和具体图书信息的管理,可以增加,修改,删除图书,丰富具体图书的信息, 对不同图书进行分类操作。 3. 图书借阅功能: 可以完成对读者借阅,续接和还书的操作。 4. 系统查询功能: 查询图书相关资料,借阅历史和借阅到期信息。 5. 修改密码功能: 可以修改自己的登录密码。 2.3.3 读者详细功能描述 1) 修改登陆密码: 修改自己的登录密码。 2) 查询功能: 对图书馆图书信息进行查询,对自己当前借阅书籍进行查询,对图书归还到期信息进行 6 查看。 2.3.4 主要用例的用例描述 图书借阅借阅管理系统涉及到的用例包括:图书借阅,图书归还,读书查询,学生用户 信息管理,图书信息管理,用户管理等,现就系统的主要用例图书借阅,图书归还,图书查询 进行详细分析。 1)用例“图书借阅” 用例名称图书借阅 参与者学生用户,图书管理员 描述读书可以通过查询等方式获得自己想借阅的图书的名称,编号,等 其他可唯一识别的信息,向图书管理员提出借阅请求,管理员在系统中 记录相应信息,将图书交给读者,借阅成功。 前置条件1.登录;2.进入图书借阅的页面 后置条件更新图书借阅列表 过程借阅图书 1.读者请求借阅图书,并提供自己的编号 2.学生用户提供想借阅的图书的标号 3.系统存储学生用户和借阅的图书,并将之存储到数据库中 4.系统更新借阅表 优先级高 2)用例“图书归还” 用例名称图书归还 参与者学生用户,图书管理员 描述学生用户将自己借阅的图书归还图书馆。 前置条件1.登录;2.进入图书归还页面 后置条件更新图书归还列表; 过程图书归还 1.读者请求归还借阅的图书并提供自己的编号 7 2.系统显示该读者的借阅信息表 3.学生用户将要归还的图书交给管理员 4.管理员点击要归还的图书并提交,系统存储归还信息,并将之存储 到数据库中 5.系统更新图书归还列表 优先级高 3)用例“图书查询” 用例名称图书查询 参与者学生用户,图书管理员 描述学生用户通过图书的名称,出版社等信息对相应的图书进行查询。 前置条件1.登录; 2.转到图书查询页面 后置条件查询页面显示相应的图书的信息 主干过程图书查询 1.读者输入想要查询的图书信息 2.系统显示相应的图书信息 3.读者点击读书名称,跳转到图书详细信息链接页面 分支过程 1输入信息时(第 2 步后) 1.系统显示:请选择查询依据 2.用户进行相应选择 重新查询(第 2 步后) 1.系统已经显示了相应图书信息 2.读者想查询其他图书 分支过程 2查询的图书不存在(第 2 步后) 1. 读者输入的图书信息不能在数据库中查询到 2. 系统显示暂时无该图书信息 优先级高 8 3.总体设计 3.1 数据库设计 3.1.1 数据库设计概述 数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节 对数据库的设计进行专门阐述。 数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展 成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独 立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之 上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统。 数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为 中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了 数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不 可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。 数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立 数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础 之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高 数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地 存储用户的数据,方便用户进行数据处理。 设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是 符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表 中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储 空间,同时加快了增、删、改的速度。 整个系统所包括的信息有图书信息、学生用户信息、管理员信息、图书状态信息、 图书超期信息、图书预约信息、图书挂失信息。可将这些信息抽象为下列系统所需要的 数据项和数据结构: 1)图书信息(编号,图书名称,作者,出版社,入库时间,借阅状态,预约状态) 2)学生用户信息(编号,姓名,性别,所在班级,所在院系,密码,借书权限) 3)管理员信息(编号,管理权限,密码) 4)图书状态信息(图书编号,学生编号,借阅时间,归还时间,是否借出,是否预 约) 5)图书超期信息(学生编号,图书编号,图书名称,超期时间) 6)图书预约信息(图书编号,学生姓名,班级,图书名称,学生编号,图书作者) 7)图书挂失信息(丢失图书编号,学生编号,图书编号,图书名称) 9 注:带下划线表示主键 3.1.2 图书信息表结构设计 图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入 库时由图书管理员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,系 统用户根据图书的某个属性进行查询,便可得知图书的其他相关信息。表的具体结果如下: 表 3.1 图书信息表 book 字段名称数据类型字段长度可否为空说明 BookNOintDefaultNo (Key)图书编号 BookNamevarchar50Yes 书名 Authorvarchar50Yes 作者 Publishmentvarchar50Yes 出版社 ButTimevarchar50Yes 图书入库时间 Borrowedvarchar50Yes 借阅状态 Orderedvarchar50Yes 预约状态 3.1.3 学生用户信息表结构设计 学生用户信息表的设计是为了图书馆管理员对学生进行管理,其中学生 StuNO 号码都 是唯一的,是学生在借阅图书时需要输入对读者身份进行识别的信息,读者班级、院系等 信息是为了与读者进行联系,借阅权限决定了读者是否可借阅图书。表的具体结构设计如 下: 表 3.2 学生用户信息表 student 字段名称数据类型字段长度可否为空说明 StuNOintDefaultNo (Key)学生编号 StuNamevarchar50Yes 姓名 StuSexvarchar50Yes 性别 Classvarchar50Yes 班级 Departmentvarchar50Yes 院系 Passwordvarchar20Yes 密码 Permittedvarchar50Yes 借阅权限 10 3.1.4 管理员信息表结构设计 此表的设计是为了对不同身份的管理员进行分类,根据管理需求的不同对其权限进行 的设置,用于规定不同类型管理员的管理权限,表的具体结构设计如下: 表 3.3 管理员信息表 manager 字段名称数据类型字段长度可否为空说明 mgNO int Default No (Key)管理员编 号 permittedvarchar50Yes 管理员权限 Passwordvarchar50Yes 密码 3.1.5 图书状态信息表结构设计 该表的设计是用于对学生借阅图书进行管理,表中图书 BookNO 属性是对借阅图书的 唯一性识别标识,学生 StuNO 号记录借阅的相应学生,借出时间记录了相应的归还时间, Borrowed 和 Ordered 字段用来判断图书是否被借出和是否被预约,表的具体结构设计如 下: 表 3.4 图书状态信息表 record 字段名称数据类型字段长度可否为空说明 BookNOintDefaultNo (Key)图书编号 StuNOintDefaultYes 学生编号 BorrowTimevarchar50Yes 借阅时间 ReturnTimevarchar50Yes 应还时间 Borrowedvarchar50Yes 是否借阅 Orderedvarchar50Yes 是否预约 3.1.6 图书超期信息表结构设计 该表的设计除了像上表一样把借阅的图书与相应的借阅者进行对应的联系以外还记 录了读者超期图书的时间,以此判断读者应缴纳的超期罚金,表的具体结构设计如下: 11 表 3.5 图书超期信息表 exceedtime 字段名称数据类型字段长度可否为空说明 StuNO intDefaultNo (Key)学生编号 BookNOintDefaultYes 图书编号 BookNamevarchar 50 No (Key)图书名 称 DelayTimeintDefaultYes 超期时间 3.1.7 图书预约信息表结构设计 该表的设计用于记录图书被预约的信息,被预约的图书不能被其他学生借阅,表的具 体结构设计如下: 表 3.6 图书预约信息表 orderreport 字段名称数据类型字段长度可否为空说明 BookNO int Default No (Key)图书编号 StuNamevarchar 50 Yes 学生姓名 Classvarchar 50 Yes 班级 BookNamevarchar 50 Yes 预约书名 StuNOint Default Yes 学生编号 Authorvarchar 50 Yes 图书作者 3.1.8 图书挂失信息表结构设计 该表包含了丢失图书的名称,书号,学生编号信息,是对丢失图书的记录,表的具 体结构设计如下: 表 3.7 图书挂失信息表 losebook 字段名称数据类型字段长度可否为空说明 LBNOintDefaultNo (Key)挂失图书编号 StuNOintDefaultYes 学生编号 BookNOintDefaultYes 图书编号 12 BookNamevarchar50Yes 图书名称 3.1.9 数据库表间关系图 实现图书馆管理系统需要如下几张表,book 存储图书信息,student 存储学生用户 信息,manager 存储管理员信息,record 存储图书状态记录信息,exceedtime 存储图书 超期信息,orderreport 存储图书预约信息,losebook 存储图书挂失信息。数据表之间 的关系图如图 3.8 所示。 图 3.8 表间关系图 3.2 系统总体结构设计 该系统在 Windows98/2000/XP 环境下,主要采用 Java 语言开发,MySQL 数据库来设 计,开发过程与成果应符合 GB/T 11457-1995 软件工程术语,GB/T 8567-1988 计算机软 件产品开发文件编制指南等。 3.2.1 图书管理系统总体结构图 绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理 地将数据流程图转变为所需要的系统结构图。 系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能 的结构,能很好地方便用户使用和理解整个系统。 13 本系统的结构图如下: 图 3.9 系统功能结构图 图书馆管理系统 学生端 预约图书 挂失图书 管理端 查询图书 查询图书 借阅预约图书 归还挂失图书 缴纳超期罚款 管理员管理 图书管理 学生用户管理 根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下主要 功能模块:管理员管理功能模块,学生用户管理功能模块,图书管理功能模块,图书借 阅预约功能模块,图书归还挂失功能模块,图书查询功能模块,缴纳超期罚款功能模块。 3.2.2 系统管理员模块功能 该模块主要包括管理管理员,查看管理员信息。 1.管理管理员 该功能选项用于系统管理员对图书管理员的信息的管理更新,以便于在人员流动时进 行图书管理员用户的添加、删除和修改其管理权限。该功能是对 manager 表进行维护修 改等操作,修改后的信息将被保存在该表中。 2.查看管理员信息 通过此子模块的功能实现可以对图书管理员用户进行信息的查看操作,该操作是对 manager 表进行查询操作。 3.2.3 学生用户管理模块功能 该模块主要包含学生用户信息管理的子模块: 学生用户信息管理 该子模块是对学生用户的基本信息进行管理,可以对读者的基本信息进行添加、修 改、删除、查询操作, 并对其借书权限进行修改,这些操作均是对 student 表进行的, 并将操作后的结果保存在该表中。 14 3.2.4 图书管理模块功能 图书管理功能模块的实现如下面表中所示: 表 3.10 图书管理描述 图书管理 功能描述对图书进行基本操作和信息管理 访问的数据库表图书信息表: book 图书状态信息表:record 进行的操作图书入库、修改、删除图书,对图书的编号、出版 社、书名等基本信息进行管理 产生的结果 对图书基本操作管理,对不同图书参数进行各自信 息的设置管理 结果存储位置或输出 结果存储在图书信息表(book)中,结果在当前页面 和图书查询页面均可输出 3.2.5 图书借阅预约模块功能 该功能模块主要实现对学生用户借阅、预约图书的操作,其中子模块各自的描述如下 各表所列: 表 3.11 图书借阅描述 图书借阅管理 功能描述对读者借阅图书进行基本操作和信息管理 访问的数据库表图书信息表: book 学生用户信息表:student 图书状态信息表:record 进行的操作对学生用户借阅图书进行管理 产生的结果 学生用户借阅成功,系统对借阅信息进行记录 结果存储位置或输出 结果存储在图书状态信息表(record)中,结果在 图书借阅页面输出 表 3.12 图书预约描述 图书预约管理 功能描述对学生用户预约图书进行操作 访问的数据库表图书信息表: book 15 学生用户信息表:student 图书状态信息表:record 图书预约信息表:orderreport 进行的操作学生用户对图书进行预约 产生的结果 图书被预定,其他用户不可进行此图书的借阅 结果存储位置或输出 结果存储在图书状态信息表(record)和 图书预约信息表(orderreport)中 3.2.6 图书归还挂失模块功能 该功能模块主要实现对学生用户归还、挂失图书的操作,其中子模块各自的描述如下 各表所列: 表 3.13 图书归还描述 图书归还管理 功能描述对学生用户归还图书进行基本操作和信息管理 访问的数据库表图书信息表:book 图书状态信息表: record 进行的操作对学生用户归还图书进行管理 产生的结果 学生用户归还成功,系统对归还信息进行记录 结果存储位置或输出 结果存储在图书信息表(book)和图书状态信息 表(record)中 表 3.14 图书挂失描述 图书挂失管理 功能描述对学生用户挂失图书进行基本操作和信息管理 访问的数据库表图书信息表:book 图书状态信息表: record 图书预约信息表:orderreport 图书超期表:exceedtime 图书挂失表:losebook 进行的操作对学生用户归还图书进行管理 产生的结果 学生用户挂失成功,系统对挂失信息进行记录 结果存储位置或输出 结果存储在图书挂失表(losebook)并删除与之 16 相关的表的记录 3.2.7 图书查询模块功能 该模块包括对图书馆藏书进行查询,对图书的借阅预约情况进行查询,其子模块的实 现如下所示: 表 3.15 图书查询描述 图书查询 功能描述系统用户对馆藏图书信息进行查询操作 访问的数据库表图书信息表: book 进行的操作用户通过图书的作者,出版社等信息对图书进 行相关查询 产生的结果 用户查询到相应的图书或系统提醒查询的图书 不存在 结果存储位置或输出结果在图书查询页面输出 3.2.8 缴纳超期罚款模块功能 该模块包括对超期欠费查询,对超期欠费款数进行缴纳,其两个子模块的实现如下所 示: 表 3.16 超期欠费查询描述 超期欠费查询 功能描述用户针对学生借阅图书进行超期欠费查询操作 访问的数据库表图书超期信息表: exceedtime 学生用户信息表:student 进行的操作用户通过学生用户编号对学生用户借阅图书进 行超期欠费查询,并交纳欠费 产生的结果 用户查询到相应的学生用户超期欠费,学生用 户在查询欠费情况下进行交费 结果存储位置或输出结果在超期欠费查询页面输出 17 4.程序设计与编码 4.1 开发平台与工具 4.1.1 J2SE 平台 J2SE 是 Java 2 standard edition 是 Java2 的标准版,主要用于桌面应用软件的编 程,Standard Edition(标准版) J2SE 包含那些构成 Java 语言核心的类。比如:数据库 连接、接口定义、输入/输出、网络编程。 4.1.2 开发系统用的工具 表 4.1 系统开发平台和工具 工具名称用途 JDK 1.6.0 MyEclipse MySQL Java 开发工具包 J2EE 集成开发环境 中小型关系数据库管理系统 4.1. 开发中使用的类与接口的描述 1.1.开发图形界面所用类:开发图形界面所用类: JFrame:Swing 的三个基本构造块:标签、按钮和文本字段;但是现在需要个地方安 放它们,并希望用户知道如何处理它们。JFrame 类就是解决这个问题的它是一个容 器,允许程序员把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。 JPanel:JPanel 是一个容器,可以向其中添加其他的 GUI 组件(如按钮 JButton 组件) ; 但是 JPanel 不是顶层容器,因此在屏幕上显示 JPanel,必须将它添加到一个顶层容器 (如 JFrame)中。 JSplitPane:Split Pane(分割面版)一次可将两个组件同时显示在两个显示区中,若你 想要同时在多个显示区显示组件,你便必须同时使用多个 Split Pane。 JLabel: 用于短文本字符串或图像或二者的显示区。 JTextField:是一个轻量级组件,它允许编辑单行文本。 JTextArea:是一个显示纯文本的多行区域。 JPasswordField:JPasswordField 是一个轻量级组件,允许编辑单行文本,其视图指示键入内 容,但不显示原始字符。 JButton: push 按钮的实现。 通过 Action 可配置按钮,并进行一定程度的控制。 JScrollpane:提供轻量级组件的 scrollable 视图。JScrollPane 管理视口、可选的垂直和水平 滚动条以及可选的行和列标题视口。 JComboBox:将按钮或可编辑字段与下拉列表组合的组件。用户可以从下拉列表中选择值,下拉 列表在用户请求时显示。 JRadioButton:实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。 ButtonGroup:此类用于为一组按钮创建一个多斥(multiple-exclusion)作用域。使用相同的 ButtonGroup 对象创建一组按钮意味着“开启”其中一个按钮时,将关闭组中的其他所有按钮。 18 2.2.开发表格接收数据并显示所使用的类:开发表格接收数据并显示所使用的类: Vector:可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。 但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。 DefaultTableModel:这是 TableModel 的一个实现,它使用一个 Vector 来存储单元格的值对 象,该 Vector 由多个 Vector 组成。 JTable: 用来显示和编辑常规二维单元表。 3.3.开发树状结构目录所使用的类:开发树状结构目录所使用的类: DefaultMutableTreeNode:是树数据结构中的通用节点。为检查和修改节点的父节点和子节点提 供操作,也为检查节点所属的树提供操作。 DefaultTreeModelDefaultTreeModel:使用 TreeNodes 的简单树数据模型。 JTreeJTree:将分层数据集显示为轮廓的控件。树中特定的节点可以由 TreePath(封装节点及其所 有祖先的对象)标识,或由其显示行(其中显示区域中的每一行都显示一个节点)标识。 4.4.开发数据库连接所使用的类:开发数据库连接所使用的类: ConnectionConnection:与特定数据库的连接(会话) 。在连接上下文中执行 SQL 语句并返回结果。 Connection 对象的数据库能够提供描述其表、所支持的 SQL 语法、存储过程、此连接功能等等的 信息。 Statement:Statement 对象表示基本语句,其中将单个方法应用于某一目标和一组参数,以返 回结果。 ResultSet:表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 5.5.开发对事件响应所实现的接口:开发对事件响应所实现的接口: ActionListenerActionListener:用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接 口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事 件时,调用该对象的 actionPerformed 方法。 MouseListenerMouseListener:用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦 听器接口。然后使用组件的 addMouseListener 方法将从该类所创建的侦听器对象向该组件注册。 当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠 标事件。发生鼠标事件时,将调用该侦听器对象中的相应方法,并将 MouseEvent 传递给该方法。 TreeSelectionListenerTreeSelectionListener:当 TreeSelectionModel 中的选择发生更改时收到通知的侦听器。 4.2 程序设计 4.2.1 程序设计概述 本系统是窗口式应用软件,采用 C/S 模式来设计,所以各个模块内的每一个功能都要 用窗口来显示。为了体现程序的封装性,每个窗口用一个类来实现。为实现窗口视图, 应用的类都有继承窗口类对象,并实现事件响应监听接口,以便使用时产生相应功能的 事件响应。 为体现窗口界面风格,在个窗口上各个控件的布局应当一致,用于显示的字体设置为 同一字体,各窗口界面颜色须保持一致,以保证对用户的友好界面。具体实现过程现举 例如下。 19 4.2.2 数据库的连接与关闭 利用 JDBC 访问数据库包含三个步骤: 1.建立与数据库的连接; 2.通过发送 SQL 语句对数据库进行读写; 3.处理语句的执行结果,特别是查询语句的返回数据。 数据库连接时采用连接池技术链接MySQL,具体代码实现如下: public class DataBase Connection con = null;/ 声明Connection引用 Statement stat; ResultSet rs; int count; public static String message;/ 声明一个静态成员变量 public static Login log; public DataBase() try / 加载MySQL的驱动类,并创建数据库连接 Class.forName(com.mysql.jdbc.Driver); con = DriverManager.getConnection(jdbc:mysql:/+message+/test, root, 123); stat = con.createStatement();/ 创建Statement对象 catch (Exception e) / 如果从Login类传的参数不对,则提示出错 JOptionPane.showMessageDialog(log, 用户IP或端口号错误!, 信息, JOptionPane.INFORMATION_MESSAGE); public void dbClose() / 声明close方法 try con.close(); catch (Exception e) e.printStack

温馨提示

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

评论

0/150

提交评论