版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕 业 论 文题 目:基于Java图书馆管理系统的设计和实现 专 业: 班 级: 姓 名: 学 号: 指导教师: 日 期: 目 录摘 要III1. 绪 论11.1毕业设计主要任务11.2目前图书管理系统存在的问题11.3课题意义11.4论文的工作和安排22.图书借阅管理需求分析32.1 可行性分析32.1.1.技术可行性32.1.2.经济可行性32.2 图书借阅管理系统需求概述3系统目标3用户类和用户特性42.3 图书借阅管理系统需求模型4功能描述4图书管理员详细功能描述5读者详细功能描述5主要用例的用例描述63.总体设计83.1 数据库设计8数据库设计概述8图书信息表结构设计9学生用户信息表
2、结构设计9管理员信息表结构设计10图书状态信息表结构设计10图书超期信息表结构设计10图书预约信息表结构设计11图书挂失信息表结构设计113.2 系统总体结构设计12图书管理系统总体结构图123.2.2 系统管理员模块功能123.2.3 学生用户管理模块功能133.2.4 图书管理模块功能133.2.5 图书借阅预约模块功能133.2.6 图书归还挂失模块功能143.2.7 图书查询模块功能153.2.8 缴纳超期罚款模块功能154.程序设计与编码164.1开发平台与工具164.1.1 J2SE平台164.1.2 开发系统的工具164.2程序设计16程序设计概述16数据库的连接17登录模块程序
3、设计18系统管理员功能模块的实现19学生用户管理功能模块的实现20图书管理功能模块的实现20图书借阅预约功能模块的实现20图书归还挂失模块的实现21摘 要系统开发的总的设计目标是实现图书借阅的系统化、规范化和自动化,实现对图书资料的集中统一的管理,以及实现用户在网上的对图书的查询与借阅。本论文主要对图书馆管理系统开发的技术要求,及可行性进行了分析。对整个系统及数据库做出了需求分析,并对数据库的结构及数据表的建立依据分析与设计加以概括。在论文中简单描述了系统的基本功能要求,包括管理员、用户、书籍信息的管理,图书借阅及还入功能的实施方法。经过仔细分析之后,对于系统的功能与实现流程也做了详细的概述。
4、其中,采用结构图对系统所包含的模块进行了描述,对于各模块中数据的操作,则是用数据流程图来表示的。最后,在系统实现的描述中加入了一些关键模块的代码及效果图以便能更好将整个系统所采用的语言及功能表达出来。设计的实现主要应用了Java语言编写系统,以MySql作为数据库。本系统经过了多次测试,基本功能都已实现,完成了图书借阅所需要满足的要求,设计任务圆满完成。【关键词】:Java;c/s;MySql;数据库设计;数据查询 1. 绪 论1.1毕业设计主要任务 1.实现图书馆对所藏图书的按类别、书名等多方面的查询,最大的方便读者和图书馆工作人员对所需图书的查询;2.建立图书馆外借读者数据库,方便工作人员
5、对读者进行有效管理;3.建立图书馆工作人员数据库,限定每个工作人员对软件操作的权限,最大限度的保护数据库;4.实现图书馆对新书入库,旧书注销的简单处理,并且建立书籍档案,方便进货;5.实现图书馆1.2目前图书管理系统存在的问题1)检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。2)借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜
6、任的。而且经常会出现这样那样的差错。3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。我校也是一所发展中的高校,近儿年的发展速度很快,图书馆的规模和藏书数量也不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。1.3课题意义随着计算机的广泛应用,其逐步成为现代化的标志。图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互
7、作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的1。图书管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化。围绕这一主要功能,本系统涉及到以下核心功能:查询图书,借阅预约图书,归还挂失图书。除了这些核心功能外,还包括一些基本和辅助功能,它们是:学生用户管理、图书管理和管理员管理。1.4论文的工作和安排本次设计的目标是,开发一个图书馆管理系统。借助
8、该系统,管理员通过快捷可靠的数据库管理,方便的管理图书馆的信息资料,规范化的管理读者用户,设定不同用户权限,并能通过互联网向读者提供更为方便的在线查询服务,方便读者的使用,最终达到提高图书馆资源利用效率的目的。论文设计实现了图书馆管理系统,可以根据用户的不同权限,对图书馆的的各种信息进行添加、删除、修改或查询操作。论文分为五个部分:第一章即本章绪论,简述图书馆借阅管理系统这个课题的背景情况以及开发本系统的意义。第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。第三章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体
9、界面的设计方案。 第四章为程序设计与编码各主要功能模块的实现方法和部分关键代码,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。第五章是软件测试,测试系统功能实现并对测试结果进行记录分析第六章为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。2.图书借阅管理需求分析2.1 可行性分析采用现代化统一的计算机信息系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的服务。开发本系统的可行性研究如下: 技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用Java开发出友好的人机界面,便于用户理解、操
10、作。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。.经济可行性鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的。2.2 图书借阅管理系统需求概述系统目标该系统主要建立一个基于C/S模式的图书馆借阅管理系统,面对当起很多小型图
11、书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现:1.对于读者在本系统的应用下可实现按照各种方式(如:书名,出版社,作者)查询图书馆的藏书清单,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。2.对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。3.对于系统管理员可以对图书馆信息进行修改更新操作,对系统用户进行添加、修改、删除、
12、权限设置等操作。2.2.2用户类和用户特性图书借阅管理系统是一个基于C/S模式的对图书馆进行高效率管理的应用系统,它的用户主要是读者和图书管理员,学生通过该系统进行图书查询进而对自己需要的图书进行借阅及自己的借阅情况进行查询,图书管理员则通过本系统实现对图书及读者的高效管理,除此之外,还需要一个系统管理员对不同的用户进行权限的设置等操作。三类用户的具体描述如下表所示:表2.1用户具体描述用户类描述学生用户读者是该系统的重要的使用角色,他们通过该系统查询自己需要的图书信息,并像图书管理员提出借阅图书的申请进而借阅自己所需的图书,还可以通过对自己借阅情况进行查询。图书管理员图书管理员是该系统的另一
13、个重要使用者,图书管理员通过该系统进行图书的增加,修改,删除,分类管理等操作,实现对读者借阅归还续接图书的方便操作,实现对系统中图书,读者,读者借阅情况的查询,信息更改维护等操作,管理读者类型,对不同类型读者可借阅的图书数量进行设置等图书馆的基本操作。系统员系统管理员主要是图书馆管理系统中对用户的管理,实现用户添加修改删除以及用户权限设置等操作,实现对图书馆基本信息的修改维护等操作。2.3 图书借阅管理系统需求模型功能描述图书借阅管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项基本操作,系统管理员是管理用户设置权限等操作,从图2.1可以看出图书借阅管理
14、系统要完成一下功能:1. 登录。学生用户、图书管理员,系统管理员进入该系统必须登录,身份验证正确了才可以进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。2.用户管理功能:对系统用户进行添加,修改,删除,权限设置等操作。3.查询功能:对图书馆的馆藏图书,借阅历史,读者用户等信息进行查询。4.其他功能系统管理员可以修改自己的密码,并且拥有其他用户所拥有的所有功能。下面的系统用例图描述了整个系统用户之间的动作联系,及功能模块的概述。学生用户系统查询系统管理员登录系统管理用户管理借阅预约管理归还挂失管理借还管理续借管理图书管理员读者信息管理读者管理读者类型管理图书信息管理图书管理图书状态
15、管理 图2.1系统用例图图书管理员详细功能描述1. 读者管理功能:对读者的类型和读者档案进行管理,包括添加,修改,删除读者类型和读者用户的相关信息,管理不同类型读者借阅图书的数量。2. 图书管理功能:包括对图书类型和具体图书信息的管理,可以增加,修改,删除图书,丰富具体图书的信息,对不同图书进行分类操作。3. 图书借阅功能:可以完成对读者借阅,续接和还书的操作。4. 系统查询功能:查询图书相关资料,借阅历史和借阅到期信息。5. 修改密码功能:可以修改自己的登录密码。读者详细功能描述1) 修改登陆密码:修改自己的登录密码。2) 查询功能:对图书馆图书信息进行查询,对自己当前借阅书籍进行查询,对图
16、书归还到期信息进行查看。主要用例的用例描述图书借阅借阅管理系统涉及到的用例包括:图书借阅,图书归还,读书查询,学生用户信息管理,图书信息管理,用户管理等,现就系统的主要用例图书借阅,图书归还,图书查询进行详细分析。1)用例“图书借阅”用例名称图书借阅参与者学生用户,图书管理员描述读书可以通过查询等方式获得自己想借阅的图书的名称,编号,等其他可唯一识别的信息,向图书管理员提出借阅请求,管理员在系统中记录相应信息,将图书交给读者,借阅成功。前置条件1.登录;2.进入图书借阅的页面后置条件更新图书借阅列表 过程借阅图书1.读者请求借阅图书,并提供自己的编号2.学生用户提供想借阅的图书的标号3.系统存
17、储学生用户和借阅的图书,并将之存储到数据库中4.系统更新借阅表优先级高 2)用例“图书归还”用例名称图书归还参与者学生用户,图书管理员描述学生用户将自己借阅的图书归还图书馆。前置条件1.登录;2.进入图书归还页面后置条件更新图书归还列表; 过程图书归还1.读者请求归还借阅的图书并提供自己的编号2.系统显示该读者的借阅信息表3.学生用户将要归还的图书交给管理员4.管理员点击要归还的图书并提交,系统存储归还信息,并将之存储到数据库中5.系统更新图书归还列表优先级高3)用例“图书查询”用例名称图书查询参与者学生用户,图书管理员描述学生用户通过图书的名称,出版社等信息对相应的图书进行查询。前置条件1.
18、登录; 2.转到图书查询页面后置条件查询页面显示相应的图书的信息主干过程图书查询1.读者输入想要查询的图书信息2.系统显示相应的图书信息3.读者点击读书名称,跳转到图书详细信息链接页面分支过程1输入信息时(第2步后)1.系统显示:请选择查询依据2.用户进行相应选择重新查询(第2步后)1.系统已经显示了相应图书信息2.读者想查询其他图书分支过程2查询的图书不存在(第2步后)1. 读者输入的图书信息不能在数据库中查询到2. 系统显示暂时无该图书信息优先级高3.总体设计3.1 数据库设计3.1.1数据库设计概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进
19、行专门阐述。数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。
20、数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。整个
21、系统所包括的信息有图书信息、学生用户信息、管理员信息、图书状态信息、图书超期信息、图书预约信息、图书挂失信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:1)图书信息(编号,图书名称,作者,出版社,入库时间,借阅状态,预约状态)2)学生用户信息(编号,姓名,性别,所在班级,所在院系,密码,借书权限)3)管理员信息(编号,管理权限,密码)4)图书状态信息(图书编号,学生编号,借阅时间,归还时间,是否借出,是否预约)5)图书超期信息(学生编号,图书编号,图书名称,超期时间)6)图书预约信息(图书编号,学生姓名,班级,图书名称,学生编号,图书作者)7)图书挂失信息(丢失图书编号,学生编号,图
22、书编号,图书名称)注:带下划线表示主键3.1.2图书信息表结构设计 图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入库时由图书管理员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,系统用户根据图书的某个属性进行查询,便可得知图书的其他相关信息。表的具体结果如下:表3.1图书信息表book字段名称数据类型字段长度可否为空说明BookNOintDefaultNo(Key)图书编号BookNamevarchar50Yes 书名Authorvarchar50Yes作者Publishmentvarchar50Yes 出版社ButTimevarchar50Yes 图书
23、入库时间Borrowedvarchar50Yes 借阅状态Orderedvarchar50Yes 预约状态3.1.3 学生用户信息表结构设计学生用户信息表的设计是为了图书馆管理员对学生进行管理,其中学生StuNO号码都是唯一的,是学生在借阅图书时需要输入对读者身份进行识别的信息,读者班级、院系等信息是为了与读者进行联系,借阅权限决定了读者是否可借阅图书。表的具体结构设计如下:表3.2学生用户信息表student字段名称数据类型字段长度可否为空说明StuNOintDefaultNo(Key)学生编号StuNamevarchar50Yes姓名StuSexvarchar50Yes性别Classvar
24、char50Yes班级Departmentvarchar50Yes院系Passwordvarchar20Yes密码Permittedvarchar50Yes借阅权限3.1.4管理员信息表结构设计此表的设计是为了对不同身份的管理员进行分类,根据管理需求的不同对其权限进行的设置,用于规定不同类型管理员的管理权限,表的具体结构设计如下:表3.3 管理员信息表manager字段名称数据类型字段长度可否为空说明mgNO intDefaultNo(Key)管理员编号permittedvarchar50Yes 管理员权限Passwordvarchar50Yes 密码3.1.5图书状态信息表结构设计该表的设计
25、是用于对学生借阅图书进行管理,表中图书BookNO属性是对借阅图书的唯一性识别标识,学生StuNO号记录借阅的相应学生,借出时间记录了相应的归还时间,Borrowed和Ordered字段用来判断图书是否被借出和是否被预约,表的具体结构设计如下:表 3.4 图书状态信息表record字段名称数据类型字段长度可否为空说明BookNOintDefaultNo(Key)图书编号StuNOintDefaultYes 学生编号BorrowTimevarchar50Yes借阅时间ReturnTimevarchar50Yes 应还时间Borrowedvarchar50Yes 是否借阅Orderedvarcha
26、r50Yes 是否预约3.1.6图书超期信息表结构设计该表的设计除了像上表一样把借阅的图书与相应的借阅者进行对应的联系以外还记录了读者超期图书的时间,以此判断读者应缴纳的超期罚金,表的具体结构设计如下:表 3.5图书超期信息表exceedtime字段名称数据类型字段长度可否为空说明StuNO intDefaultNo(Key)学生编号BookNOintDefaultYes 图书编号BookNamevarchar50No (Key)图书名称DelayTimeintDefaultYes 超期时间3.1.7图书预约信息表结构设计该表的设计用于记录图书被预约的信息,被预约的图书不能被其他学生借阅,表的
27、具体结构设计如下:表 3.6图书预约信息表orderreport字段名称数据类型字段长度可否为空说明BookNO intDefaultNo(Key)图书编号StuNamevarchar50Yes学生姓名Classvarchar50Yes 班级BookNamevarchar50Yes预约书名StuNOintDefaultYes学生编号Authorvarchar50Yes图书作者3.1.8图书挂失信息表结构设计该表包含了丢失图书的名称,书号,学生编号信息,是对丢失图书的记录,表的具体结构设计如下:表3.7图书挂失信息表 losebook字段名称数据类型字段长度可否为空说明LBNOintDefaul
28、tNo(Key)挂失图书编号StuNOintDefaultYes学生编号BookNOintDefaultYes图书编号BookNamevarchar50Yes图书名称数据库表间关系图实现图书馆管理系统需要如下几张表,book存储图书信息,student存储学生用户信息,manager存储管理员信息,record存储图书状态记录信息,exceedtime存储图书超期信息,orderreport存储图书预约信息,losebook存储图书挂失信息。数据表之间的关系图如图3.8所示。图3.8表间关系图3.2 系统总体结构设计该系统在Windows98/2000/XP环境下,主要采用Java语言开发,M
29、ySQL数据库来设计,开发过程与成果应符合GB/T 11457-1995软件工程术语,GB/T 8567-1988计算机软件产品开发文件编制指南等。3.2.1图书管理系统总体结构图绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图。系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。本系统的结构图如下:图3.9 系统功能结构图图书馆管理系统学生端预约图书挂失图书管理端查询图书查询图书借阅预约图书归还挂失图书缴纳超期罚款管理员管理图书管理学生用户管理根据需求分析的结果,按照
30、“低耦合、高内聚”的原则,本系统将划分为以下主要功能模块:管理员管理功能模块,学生用户管理功能模块,图书管理功能模块,图书借阅预约功能模块,图书归还挂失功能模块,图书查询功能模块,缴纳超期罚款功能模块。 系统管理员模块功能该模块主要包括管理管理员,查看管理员信息。1.管理管理员该功能选项用于系统管理员对图书管理员的信息的管理更新,以便于在人员流动时进行图书管理员用户的添加、删除和修改其管理权限。该功能是对manager表进行维护修改等操作,修改后的信息将被保存在该表中。2.查看管理员信息通过此子模块的功能实现可以对图书管理员用户进行信息的查看操作,该操作是对manager表进行查询操作。 学生
31、用户管理模块功能该模块主要包含学生用户信息管理的子模块:学生用户信息管理该子模块是对学生用户的基本信息进行管理,可以对读者的基本信息进行添加、修改、删除、查询操作, 并对其借书权限进行修改,这些操作均是对student表进行的,并将操作后的结果保存在该表中。 图书管理模块功能 图书管理功能模块的实现如下面表中所示:表3.10 图书管理描述图书管理功能描述对图书进行基本操作和信息管理访问的数据库表图书信息表: book图书状态信息表:record进行的操作图书入库、修改、删除图书,对图书的编号、出版社、书名等基本信息进行管理产生的结果 对图书基本操作管理,对不同图书参数进行各自信息的设置管理结果
32、存储位置或输出 结果存储在图书信息表(book)中,结果在当前页面和图书查询页面均可输出 图书借阅预约模块功能该功能模块主要实现对学生用户借阅、预约图书的操作,其中子模块各自的描述如下各表所列:表3.11 图书借阅描述图书借阅管理功能描述对读者借阅图书进行基本操作和信息管理访问的数据库表图书信息表: book学生用户信息表:student图书状态信息表:record进行的操作对学生用户借阅图书进行管理产生的结果 学生用户借阅成功,系统对借阅信息进行记录结果存储位置或输出 结果存储在图书状态信息表(record)中,结果在图书借阅页面输出表3.12图书预约描述图书预约管理功能描述对学生用户预约图
33、书进行操作访问的数据库表图书信息表: book学生用户信息表:student图书状态信息表:record图书预约信息表:orderreport进行的操作学生用户对图书进行预约产生的结果 图书被预定,其他用户不可进行此图书的借阅结果存储位置或输出 结果存储在图书状态信息表(record)和图书预约信息表(orderreport)中 图书归还挂失模块功能该功能模块主要实现对学生用户归还、挂失图书的操作,其中子模块各自的描述如下各表所列:表3.13图书归还描述图书归还管理功能描述对学生用户归还图书进行基本操作和信息管理访问的数据库表图书信息表:book图书状态信息表: record进行的操作对学生用
34、户归还图书进行管理产生的结果 学生用户归还成功,系统对归还信息进行记录结果存储位置或输出 结果存储在图书信息表(book)和图书状态信息表(record)中表3.14图书挂失描述图书挂失管理功能描述对学生用户挂失图书进行基本操作和信息管理访问的数据库表图书信息表:book图书状态信息表: record图书预约信息表:orderreport图书超期表:exceedtime图书挂失表:losebook进行的操作对学生用户归还图书进行管理产生的结果 学生用户挂失成功,系统对挂失信息进行记录结果存储位置或输出 结果存储在图书挂失表(losebook)并删除与之相关的表的记录 图书查询模块功能该模块包括
35、对图书馆藏书进行查询,对图书的借阅预约情况进行查询,其子模块的实现如下所示:表3.15 图书查询描述图书查询功能描述系统用户对馆藏图书信息进行查询操作访问的数据库表图书信息表: book进行的操作用户通过图书的作者,出版社等信息对图书进行相关查询产生的结果 用户查询到相应的图书或系统提醒查询的图书不存在结果存储位置或输出结果在图书查询页面输出 缴纳超期罚款模块功能该模块包括对超期欠费查询,对超期欠费款数进行缴纳,其两个子模块的实现如下所示:表3.16 超期欠费查询描述超期欠费查询功能描述用户针对学生借阅图书进行超期欠费查询操作访问的数据库表图书超期信息表: exceedtime学生用户信息表:
36、student进行的操作用户通过学生用户编号对学生用户借阅图书进行超期欠费查询,并交纳欠费产生的结果 用户查询到相应的学生用户超期欠费,学生用户在查询欠费情况下进行交费结果存储位置或输出结果在超期欠费查询页面输出4.程序设计与编码4.1开发平台与工具 J2SE平台J2SE是Java 2 standard edition是Java2的标准版,主要用于桌面应用软件的编程,Standard Edition(标准版) J2SE 包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络编程。 开发系统用的工具表4.1 系统开发平台和工具工具名称用途JDK MyEclipse MyS
37、QLJava 开发工具包J2EE集成开发环境中小型关系数据库管理系统4.1. 开发中使用的类与接口的描述1.开发图形界面所用类:JFrame:Swing 的三个基本构造块:标签、按钮和文本字段;但是现在需要个地方安放它们,并希望用户知道如何处理它们。JFrame 类就是解决这个问题的它是一个容器,允许程序员把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。JPanel:JPanel是一个容器,可以向其中添加其他的GUI组件(如按钮JButton组件);但是JPanel不是顶层容器,因此在屏幕上显示JPanel,必须将它添加到一个顶层容器(如JFrame)中。JSplitPane:Sp
38、lit Pane(分割面版)一次可将两个组件同时显示在两个显示区中,若你想要同时在多个显示区显示组件,你便必须同时使用多个Split Pane。JLabel: 用于短文本字符串或图像或二者的显示区。JTextField:是一个轻量级组件,它允许编辑单行文本。JTextArea:是一个显示纯文本的多行区域。JPasswordField:JPasswordField 是一个轻量级组件,允许编辑单行文本,其视图指示键入内容,但不显示原始字符。JButton: push 按钮的实现。 通过 Action 可配置按钮,并进行一定程度的控制。JScrollpane:提供轻量级组件的 scrollable
39、视图。JScrollPane 管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口。JComboBox:将按钮或可编辑字段与下拉列表组合的组件。用户可以从下拉列表中选择值,下拉列表在用户请求时显示。JRadioButton:实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。ButtonGroup:此类用于为一组按钮创建一个多斥(multiple-exclusion)作用域。使用相同的 ButtonGroup 对象创建一组按钮意味着“开启”其中一个按钮时,将关闭组中的其他所有按钮。2.开发表格接收数据并显示所使用的类:Vector:可以实现可增长的对象数组。与数组一样,它包
40、含可以使用整数索引进行访问的组件。但是,Vector 的大小可以根据需要增大或缩小,以适应创建 Vector 后进行添加或移除项的操作。DefaultTableModel:这是 TableModel 的一个实现,它使用一个 Vector 来存储单元格的值对象,该 Vector 由多个 Vector 组成。JTable: 用来显示和编辑常规二维单元表。3.开发树状结构目录所使用的类:DefaultMutableTreeNode:是树数据结构中的通用节点。为检查和修改节点的父节点和子节点提供操作,也为检查节点所属的树提供操作。DefaultTreeModel:使用 TreeNodes 的简单树数据
41、模型。JTree:将分层数据集显示为轮廓的控件。树中特定的节点可以由 TreePath(封装节点及其所有祖先的对象)标识,或由其显示行(其中显示区域中的每一行都显示一个节点)标识。4.开发数据库连接所使用的类:Connection:与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。 Connection 对象的数据库能够提供描述其表、所支持的 SQL 语法、存储过程、此连接功能等等的信息。Statement:Statement 对象表示基本语句,其中将单个方法应用于某一目标和一组参数,以返回结果。ResultSet:表示数据库结果集的数据表,通常通过执行查询数据库的语句生
42、成。5.开发对事件响应所实现的接口:ActionListener:用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的 addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的 actionPerformed 方法。MouseListener:用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。然后使用组件的 addMouseListener 方法将从该类所创建的侦听器对象向该组件注册。当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠标事件。发生鼠标
43、事件时,将调用该侦听器对象中的相应方法,并将 MouseEvent 传递给该方法。TreeSelectionListener:当 TreeSelectionModel 中的选择发生更改时收到通知的侦听器。4.2程序设计程序设计概述本系统是窗口式应用软件,采用C/S模式来设计,所以各个模块内的每一个功能都要用窗口来显示。为了体现程序的封装性,每个窗口用一个类来实现。为实现窗口视图,应用的类都有继承窗口类对象,并实现事件响应监听接口,以便使用时产生相应功能的事件响应。为体现窗口界面风格,在个窗口上各个控件的布局应当一致,用于显示的字体设置为同一字体,各窗口界面颜色须保持一致,以保证对用户的友好界面
44、。具体实现过程现举例如下。数据库的连接与关闭利用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
45、 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.I
46、NFORMATION_MESSAGE);public void dbClose() / 声明close方法try con.close(); catch (Exception e) e.printStackTrace();登录模块程序设计本模块主要是用户通过图书管理系统的首页登录进入该系统。用户输入正确的用户名和密码,系统会根据用户的身份进行相应权限划分;如果登录信息有错误,则系统提示登入错误的信息,并且禁止系统用户进行任何操作。图书借阅管理系统的登录主页面如图4.1所示。图4.1 图书管理系统登录首页用户在登录页面写好用户名和密码,选择登录,登录成功则跳转到系统的首页,否则提示错误信息。进行用
47、户身份验证的程序流程图如图4.2程序流程图所示图4.2用户登录流程图实现此登陆模块的类与方法:此模块命名为Login,继承了JFrame类,并实现ActionListener接口,使用JComponent的子类JPanel作为容器,以便加入GUI组件,实现ActionListener接口中的actionPerformed方法,在构造函数中进行了容器及相应标签和按钮等的布局,并针对相应的组件调用事件相应的方法。其主要的对象及方法如下表:主要对象与方法功能与作用jp对象以便向该模块中添加GUI组件jlArray对象用于显示标签组(如:用户名和密码等标签)jbArray对象创建的按钮组(如:学生登录
48、和管理员登录按钮)jtxtArray对象创建的文本框,用于接收键盘向其输入的字符串jpassword对象创建的密码框,用于接收键盘输入的密码并以特殊字符显示Login()方法此为该类的构造函数,对组件的布局及方法的调用封装在这里actionPerformed( ActionEvent e)方法实现事件响应监听器接口中的方法,其响应的事件源有文本框、密码框和布局在此类中的按钮main()方法程序的入口,JVM识别此main方法从而编译该程序生成.class文件表4.3 Login类主要对象与方法系统管理员功能模块的实现本模块中最主要的是管理系统用户,设置图书馆信息等操作,其中管理系统用户包括对他
49、们进行添加,修改,删除及权限划分操作。其中系统管理员对系统用户进行管理的操作页面如下图所示:图4.4 系统管理员管理用户操作界面其中对系统用户权限的设置是该操作的重要部分也是系统提高效率的关键所在,其主要实现代码为:public void actionPerformed(ActionEvent e)sql=select permitted from manager where mgNo=+mgNo+;db=new DataBase();db.selectDb(sql);/查询管理员权限String string=;trywhile(db.rs.next()/取到结果集string=db.rs.
50、getString(1).trim();int p=0;if(string.equals(1) p+;String jtxt=jtxtArray0.getText().trim();if(jtxt.equals()/当输入为空,提示JOptionPane.showMessageDialog(this, 请输入管理员名!, 消息,JOptionPane.INFORMATION_MESSAGE); return;if(p=0) /判断该管理员是普通管理员,没有修改管理员信息的权限jtxtArray0.requestDefaultFocus();String jtxt=jtxtArray0.getT
51、ext().trim();catch(Exception ex)ex.printStackTrace();db.dbClose();/关闭数据库链接实现此管理员管理模块的类与方法:此模块命名为Manager,继承了JPanel类,并实现ActionListener接口,使用JPanel作为容器,以便加入GUI组件,实现ActionListener接口中的actionPerformed方法,在构造函数中进行了容器及相应标签和按钮等的布局,并针对相应的事件编写了相应的方法,如:insertManager()方法编写了添加管理员的动作,其结果反应到数据库中的Manager表中,并在显示界面的JTab
52、le实例的对象中反应给用户。其主要的对象及方法如下表:主要对象与方法功能与作用jsp对象将面板分割为两个显示区域,上半部分为输入区,下半部分为向用户显示结果的区域jpt对象以便向该模块中添加GUI组件str1对象接收文本框中的String字符串的数组jtxtArray对象创建的文本框,用于接收键盘向其输入的字符串jlArray对象用于显示标签组(如:管理员名和权限等标签)jbArray对象创建的按钮组(如:添加管理员和删除管理员按钮)head对象由Vector实例化的对象,用于对显示给用户的表格创建表头data对象由Vector实例化的对象,用于存储表中数据的数组dtm对象由DefaultTableModel实例化的对象,用于创建表格模型的对象jt对象JTable的对象,用于显示给用户可见的结果jspn对象将JTable封装到滚动表格Manager(String mgNo)方法Manager类的构造函数,封装了此模块的界面布局actionPerformed( ActionEvent e)方法实现事件响应监听器接口中的方法,其响应的事件源有文本框和布局在此类中的按钮。并调用了此类中设计的方法insertManager()方法此方法实现了对管理员进行添加,其功能有判断管理员名格式是否正确的功能、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工绩效评估与激励方案指南
- 电子商务合同管理规则
- 企业仓库物资盘点制度及实操指南
- 企业知识管理体系构建与应用
- 物流配送效率优化管理方法
- 初中阶段英语听力训练题库
- 外贸业务合同签订风险控制
- 物流运输车辆维修保养记录模板
- 英语六年级上册牛津版同步教案设计
- 施工机械进场及使用承诺书范本
- 2026院感知识考试题及答案
- 《红楼梦》导读 (教学课件) -高中语文人教统编版必修下册
- 安徽省九师联盟2025-2026学年高三(1月)第五次质量检测英语(含答案)
- (2025年)四川省自贡市纪委监委公开遴选公务员笔试试题及答案解析
- 2025年度骨科护理部年终工作总结及工作计划
- 2026安徽省农村信用社联合社面向社会招聘农商银行高级管理人员参考考试试题及答案解析
- 室外供热管道安装监理实施细则
- 岩板采购合同范本
- popchrio欧可芮小红书营销方案
- (零模)2026届广州市高三年级调研测试英语试卷(含答案解析)
- 1例低血糖昏迷的护理查房
评论
0/150
提交评论