【本科毕业设计(论文)】基于java的图书管理系统设计与实现_第1页
【本科毕业设计(论文)】基于java的图书管理系统设计与实现_第2页
【本科毕业设计(论文)】基于java的图书管理系统设计与实现_第3页
【本科毕业设计(论文)】基于java的图书管理系统设计与实现_第4页
【本科毕业设计(论文)】基于java的图书管理系统设计与实现_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

【本科毕业设计(论文)】基于JAVA的图书管理系统设计与实现本科毕业设计(论文)题目基于JAVA的图书管理系统的设计和实现院系计算机科学系专业计算机科学与技术姓名学号指导教师教师职称填写日期2012年4月10日摘要图书管理系统是现在学校图书馆必不可少的系统。随着数字化信息技术的普及,将一些先进的信息技术结合运用到图书管的管理和服务中。促进图书馆各部门之间协调工作,提高图书馆的工作效率,清晰反映图书的库存与读者的借阅情况,是本系统的开发目的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的数据信息管理。现今,有很多的图书馆都是初步的开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式都是基于文本、表格等纸介质的手工处理,对于图书借阅情况的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行数据处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,所以图书管理系统的开发显得尤为重要。本系统使用到的开发工具是MYECLIPSE,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。使用J2SE进行界面设计,使用SQLSERVER2000建立数据库。本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。实现图书管理员对图书的分类、录入和新进图书的基本操作,对图书借阅情况的查询和对系统的维护等。本系统中包含6个功能模块管理员登录,读者管理,图书管理,图书借还,系统查询和系统维护。关键词图书管理系统;信息技术;MYECLIPSE;J2SEABSTRACTTHELIBRARYMANAGEMENTSYSTEMISANESSENTIALSYSTEMFORSCHOOLLIBRARYTODAYWITHTHEPOPULARIZEOFTHEDIGITALINFORMATIONTECHNOLOGY,SOMEADVANCEDINFORMATIONTECHNOLOGYARECOMBINEDWITHTHEMANAGEMENTANDSERVICEOFLIBRARYTOPROMOTETHEWORKBETWEENEVERYAPARTMENT,TOIMPROVETHEWORKINGEFFICIENCYANDTOREFLECTTHEINVENTORYOFLIBRARYANDTHEBORROWINGCLEARLYARETHEPURPOSEABOUTDEVELOPINGSUCHASYSTEMASAKINDOFCOLLECTINGANDDISTRIBUTINGCENTEROFINFORMATIONRESOURCES,LIBRARYCONTAINSAGREATNUMBEROFDATAABOUTTHELARGENUMBEROFMATERIALOFLIBRARYANDUSERBORROWINGNOWADAYS,THEREAREMANYLIBRARIESJUSTSTARTOREVENNOTUSECOMPUTERSTOMANAGEINFORMATIONBASEDONTHESURVEY,THEAUTHORGETSTHATTHEMAINWAYTOMANAGEINFORMATIONISDEALTMANUALLYWITHPAPERTEXTANDPAPERFORMSANDSOONFORTHESTATISTICSANDVERIFICATIONOFBORROWINGARECHECKEDMANUALLY,ASWELLASTHEBORROWINGPRIVILEGESANDDAYSCHECKINGMANUALLYHASMANYPROBLEMS,NOTONLYTHELARGEWORKLOADBUTALSORANGEOFDATAWHICHMAKEMISTAKESEASILY,ARELOSTEASILYANDAREDIFFICULTTOFINDTOTALLYSPEAKING,MANYLIBRARIESARESHORTOFSYSTEMATICALANDNORMATIVEMANAGEMENTMEASUREALTHOUGHSOMELIBRARIESHASCOMPUTERS,THEYARENOTUSEDFORINFORMATIONMANAGEMENTTHEREAREMANYIDLERESOURCES,SOITISVITALTODEVELOPTHELIBRARYMANAGEMENTSYSTEMTHESYSTEMUSEMYECLIPSEWHICHADOPTEDTHENEWESTTECHNOLOGYOFSOFTWAREATTHEPRESENTTHENEWESTONEHASMANYFEATURESINCLUDEDHIGHEFFICIENTDEVELOPMENT,FLXIBLEDESIGNANDBEAUTIFULSOFTWAREINTERFACETHESYSTEMWILLBEDESIGNEDBYJ2EE,ANDBUILDDATABASETHROUGHSQLSERVER2000THESYSTEMSOLVESMANYUSUALBASICPROBLEMSINSCHOOLLIBRARYMANAGEMENTSERVICESANDRELEVANTSTATISTICALWORKITMAKESTHEBASICOPERATIONOFLIBRARYCLASSIFICATIONANDNEWENTRYOFNEWBOOKSASWELLASQUERYFORBOOKLENDINGANDMAINTENANCEFORSYSTEMCOMETRUETHESYSTEMCONTAINSSIXFUNCTIONSINMODULEADMINLOGIN,AUDIENCEMANAGEMENT,LIBRARYMANAGEMENT,LIBRARYCIRCULATION,THESYSTEMQUERIESANDSYSTEMMAINTENANCEKEYWORDSLIBRARYMANAGEMENTSYSTEM;INFORMATIONTECHNOLOGY;MYECLIPSE;J2SE摘要IABSTRACTII第一章绪论1第一节毕业设计主要任务1第二节课题意义1第三节论文的工作和安排1第二章图书管理系统需求分析2第一节可行性分析2一、技术可行性2二、经济可行性2第二节图书管理系统需求概述3一、系统目标3三、用户类型和用户特性3第三节图书管理系统需求模型4一、功能描述4二、图书管理员详细功能描述4三、读者详细功能描述5四、主要用例和用例描述5第三章总体设计8第一节数据库设计8一、数据库设计概述8二、图书信息表结构设计9三、图书类型信息表结构设计9四、读者信息表结构设计10五、图书借阅信息表结构设计11六、用户信息表结构设计11七、数据库表间关系图12第二节、系统总体结构设计12一、图书管理系统总体结构图13二、系统管理员模块功能13三、读者管理模块功能14四、图书管理模块功能14五、图书借还模块功能15六、系统查询模块功能15第四章、程序设计与编码16第一节、开发平台与工具16一、J2SE平台16二、开发系统所有工具17三、开发中使用的类与接口的描述17第二节、程序设计18一、程序设计概述18二、数据库的连接与关闭19三、登录模块程序设计21四、系统管理员功能模块的实现22五、读者管理功能模块的实现25六、查询功能模块的实现26七、图书管理功能模块的实现27八、图书借阅功能模块的实现28第五章、软件测试30第一节、软件测试的方法与步骤30第二节、测试用例设计与测试用例的运行过程及测试结果分析31一、模块测试31二、集成测试32三、验收测试33第三节、评价33致谢34参考文献35第一章绪论第一节毕业设计主要任务1实现图书管理员对所藏图书的按类别、书名等多方面的添加、修改等管理;2建立图书馆外借读者数据库,方便工作人员对读者进行添加、修改和删除等管理;3实现新书订购管理,方便管理员订购新书和验收新书;4实现借阅管理,方便管理员和读者对图书的查询与归还;5实现图书管理系统的系统维护,方便管理员更改口令和对用户的添加、删除和修改的管理。第二节课题意义图书管理系统是现在学校图书馆必不可少的系统。随着数字化信息技术的普及,将一些先进的信息技术结合运用到图书管的管理和服务中。促进图书馆各部门之间协调工作,提高图书馆的工作效率,清晰反映图书的库存与读者的借阅情况,是本系统的开发目的。随着计算机的广泛应用,其逐步成为现代化的标志。图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。图书管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化。围绕这一主要功能,本系统涉及到以下核心功能查询图书,新书订购图书归还等。除了这些核心功能外,还包括一些基本和辅助功能,它们是管理员登录、读者管理、图书信息管理和借阅管理等。论文的工作和安排本次设计的目标是,促进图书馆各部门之间协调工作,提高图书馆的工作效率,清晰反映图书的库存与读者的借阅情况,规范化的管理读者用户,设定不同用户权限,实现图书管理员对图书的查询,添加,修改和删除等,方便读者的使用,最终达到提高图书馆资源利用效率。论文设计实现了图书馆管理系统,可以根据管理员的工作安排,对图书馆的的各种信息进行添加、删除、修改或查询操作。论文分为五个部分第一章即本章绪论,简述图书管理系统这个课题的背景情况以及开发本系统的意义。第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。第三章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体界面的设计方案。第四章为程序设计与编码各主要功能模块的实现方法和部分关键代码,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。第五章是软件测试,测试系统功能实现并对测试结果进行记录分析第二章图书管理系统需求分析第一节可行性分析采用现代化统一的计算机信息系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的服务。开发本系统的可行性研究如下一、技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用JAVA开发出友好的人机界面,便于用户理解、操作。使用MYECLIPSE作为开发工具,使用方面、规范性强。数据库管理系统采用SQLSERVER2000,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。二、经济可行性鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此该系统在经济可行性上是可行的。第二节图书管理系统需求概述一、系统目标该系统主要建立一个基于C/S模式的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现1对于管理员在本系统的应用下可实现按照各种方式如书名,出版社,作者查询图书馆的藏书清单,添加图书和对读者归还图书,借阅图书情况查询等;2对于图书馆工作人员能够便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作;3对于系统管理员可以对图书馆信息进行修改更新操作,对系统用户进行添加、修改、删除、权限设置等操作。三、用户类型和用户特性图书借阅管理系统是一个基于C/S模式的对图书馆进行高效率管理的应用系统,它的用户主要是读者和图书管理员,读者通过该系统进行图书查询进而对自己需要的图书进行借阅及自己的借阅情况进行查询,图书管理员则通过本系统实现对图书及读者的高效管理,除此之外,还需要一个系统管理员对不同的用户进行权限的设置等操作。三类用户的具体描述如下表所示表21用户类描述图书管理员图书管理员是该系统的另一个重要使用者,图书管理员通过该系统进行图书的增加,修改,删除,分类管理等操作,实现对读者借阅归还续接图书的方便操作,实现对系统中图书,读者,读者借阅情况的查询,信息更改维护等操作,管理读者类型,对不同类型读者可借阅的图书数量进行设置等图书馆的基本操作。系统员系统管理员主要是图书馆管理系统中对用户的管理,实现用户添加修改删除以及用户权限设置等操作,实现对图书馆基本信息的修改维护等操作。第三节图书管理系统需求模型一、功能描述通过图书管理员对图书的基本管理,如查询、录入、读者管理等,实现系统的基本功能管理员登录管理员输入用户名及密码,单击“登录”按钮,进入图书馆管理界面;读者管理通过“基础数据维护”菜单下的“读者信息管理”,对读者信息进行添加、修改、删除等操作;图书信息管理通过“基础数据维护”菜单下的“图书类别管理”,对图书类别信息进行添加、修改、添加、查询等操作;新书管理通过“新书订购管理”,对订购新书信息进行添加、验收等操作;借阅管理通过“借阅管理”,对图书借阅信息进行添加,图书归还信息进行添加,图书信息进行查询等操作;系统维护通过“系统维护”,对当前管理员的密码进行修改,对用户信息进行添加,对用户信息进行修改及删除等操作;退出系统通过“基础数据维护”菜单下的“退出系统”命令,退出当前操作系统。下面的系统用例图描述了整个系统用户之间的动作联系,及功能模块的概述。图21二、图书管理员详细功能描述管理员输入用户名及密码,单击“登录”按钮,进入图书馆管理界面;1读者管理功能对读者的类型和读者档案进行管理,包括添加,修改,删除读者类型和读者用户的相关信息,管理不同类型读者借阅图书的数量。2图书管理功能包括对图书类型和具体图书信息的管理,可以增加,修改,删除图书,丰富具体图书的信息,对不同图书进行分类操作。3图书借阅功能可以完成对读者查询、借阅和还书的操作。4新书管理功能新书订购和验收新书等操作。5系统维护功能可以修改自己的登录密码,添加用户和对用户进行修改和删除的操作。三、读者详细功能描述通过“基础数据维护”菜单下的“读者信息管理”,对读者信息进行添加、修改、删除等操作;1读者信息添加添加读者信息。2读者信息修改与删除对读者信息修改和删除,查看读者信息情况等。四、主要用例和用例描述图书管理系统涉及到的用例包括图书借阅,图书归还,读书查询,读者信息管理,图书信息管理,用户管理等,现就系统的主要用例图书借阅,图书归还,图书查询进行详细分析。用例“图书借阅”表22用例名称图书借阅参与者图书管理员,系统管理员描述图书管理员可以通过查询等方式获得读者想借阅的图书的名称,编号,等其他可唯一识别的信息,向读者提供借阅请求,管理员在系统中记录相应信息,将图书交给读者,借阅成功。前置条件1登录;2进入图书借阅的页面后置条件更新图书借阅列表过程借阅图书1读者请求借阅图书,并提供自己的编号2学生用户提供想借阅的图书的标号3系统存储学生用户和借阅的图书,并将之存储到数据库中4系统更新借阅表优先级高用例“图书归还”表23用例名称图书归还参与者图书管理员描述学生用户将自己借阅的图书归还图书馆。前置条件1登录;2进入图书归还页面后置条件更新图书归还列表;过程图书归还1读者请求归还借阅的图书并提供自己的编号2系统显示该读者的借阅信息表3学生用户将要归还的图书交给管理员4管理员点击要归还的图书并提交,系统存储归还信息,并将之存储到数据库中5系统更新图书归还列表优先级高3用例“图书查询”表24用例名称图书查询参与者图书管理员描述图书管理员通过读者提供的图书名称,出版社等信息对相应的图书进行查询。前置条件1登录;2转到图书查询页面后置条件查询页面显示相应的图书的信息主干过程图书查询1管理员输入想要查询的图书信息2系统显示相应的图书信息3管理员点击读书名称,跳转到图书详细信息链接页面分支过程1输入信息时第2步后1系统显示请选择查询依据2用户进行相应选择重新查询(第2步后)1系统已经显示了相应图书信息2读者想查询其他图书分支过程2查询的图书不存在(第2步后)1管理员输入的图书信息不能在数据库中查询到2系统显示暂时无该图书信息优先级高第三章总体设计第一节数据库设计一、数据库设计概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。整个系统所包括的信息有图书信息、读者信息、管理员信息、图书状态信息。可将这些信息抽象为下列系统所需要的数据项和数据结构1图书信息(编号,类别,图书名称,作者,出版社,译者,出版日期,单价)2学生用户信息(编号,姓名,性别,年龄,职业,有效证件,证件号码,最大借书量,电话,办证日期)3管理员信息(编号,姓名,性别,年龄,办证日期,押金,密码)4图书借阅信息(读者编号,姓名,押金,可借数量,图书编号,类别,名称,价格)注带下划线表示主键二、图书信息表结构设计图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入库时由图书管理员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,系统用户根据图书的某个属性进行查询,便可得知图书的其他相关信息。表的具体结果如下表31图书信息表TB_BOOKINFO字段名称数据类型字段长度可否为空说明ISBNVARCHARDEFAULTNO(KEY)图书编号BOOKNAMEVARCHAR50YES书名WRITERVARCHAR50YES作者TRANSLATORTVARCHAR50YES出版社DATEVARCHAR50YES图书入库时间PRICEVARCHAR50YES预约状态三、图书类型信息表结构设计该表的设计主要是方便对图书的分类,和对图书的查询,在实际应用中图书管理员就是根据图书类型的不同将之分列在不同的书架,以方便读者的借阅寻找,其中可借阅天数项设置了不同类型图书的借阅期限,可根据图书的具体情况进行不同的维护管理,表的具体结构设计如下表32图书类型信息表TB_BOOKTYPE字段名称数据类型字段长度是否为空说明IDINT10NOKEYTYPENAMEVARCHAR30NODAYSINT10NO可借阅天数四、读者信息表结构设计读者信息表的设计是为了图书馆管理员对读者进行管理,其中读者ID,不同类型证件的号码都是唯一的,是读者在借阅图书时需要输入对读者身份进行识别的信息,读者邮件电话等信息室为了与读者进行联系,读者类型信息决定了读者一次性可借阅的图书的数量,注册时间可用于查询计算读者身份有效的期限,操作员是为了便于对信息才操作的查询。表的具体结构设计如下表33读者信息表TB_READER字段名称数据类型字段长度是否为空说明IDINT10NOKEYNAMEVARCHAR20NOSEXVARCHAR4NOIDENTITYCARDVARCHAR30NOTELVARCHAR20YES电话PAPERTYPEVARCHAR10NO证件类型PAPERNOVARCHAR20NO证件号码BIRTHDAYDATEYESDZTIMEDATENO登记时间OPERATORVARCHAR30NO操作员五、图书借阅信息表结构设计该表的设计是用于对读者借阅图书进行管理,表中图书ID属性是对借阅图书的唯一性识别标识,读者ID号记录借阅的相应读者,结出时间记录了相应的归还时间,以及归还时是否超时,操作员是对借阅进行操作的人员的记录方便日后的查询,是否归还标识可查询当起读书是否被归还,表的具体结构设计如下表34图书借阅信息表TB_BORROW字段名称数据类型字段长度是否为空说明IDINT10NOKEYREADERISBNVARCHAR10NOBOOKISBNINT10NOBORROWDATEDATENO结出时间BACKDATEDATENO应归还时间六、用户信息表结构设计该表的设计用于记录图书管理系统用户的信息,方便对用户的管理,表中包括用户ID和用户的登录密码,表的具体结构设计如下表35系统用户信息表TB_ORDER字段名称数据类型字段长度是否为空说明ISBNINT10NOKEYNAMEVARCHAR30NONUMBERVARCHAR30NO七、数据库表间关系图实现图书馆管理系统需要如下几张表,TB_BOOKINFO存储图书信息,TB_READER存储学生用户信息,TB_OPERATOR存储管理员信息,TB_BORROW存储借阅信息,TB_BOOKTYPE存储图书类别信息,数据表之间的关系图如图31所示。图31表间关系图第二节、系统总体结构设计该系统在WINDOWS98/2000/XP环境下,主要采用JAVA语言开发,SQLSERVER2000数据库来设计,开发过程与成果应符合GB/T114571995软件工程术语,GB/T85671988计算机软件产品开发文件编制指南等。一、图书管理系统总体结构图绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图8。系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。本系统的结构图如下图32二、系统管理员模块功能该模块主要包括图书馆信息设置,用户管理,图书信息管理等。1图书馆信息设置该功能选项用于系统管理员对图书馆名称,地址,联系方式,简介等信息的管理更新,以便于读者和外界人士对图书馆的了解。2用户设置该功能子模块主要是系统管理员对系统用户的管理,通过此子模块的功能实现可以对用户进行添加、修改、删除、权限设置等操作,该子模块能将图书馆的不同工作细化到不同的相关人员,极大地提高了图书馆的工作效率。该操作是对TB_ORDER表进行操作,在对用户进行了相关的操作后把操作后的最新信息存放在该表中。3图书馆参数设置通过该子模块设置在图书馆办理临时读者证的费用及证件有效期限。该操作是对于TB_STOCKPILE表进行,并把操作后的最新数据存放在该表中。三、读者管理模块功能该模块主要包含读者类型管理和读者信息管理两个子模块图书类型管理该子模块是对图书馆系统用户图书的类型进行维护,修改等操作,在此模块中主要设置图书的类型,该操作是对于TB_BOOKTYPE表进行,并将操作结果保存在该表中。读者信息管理该子模块是对读者的基本信息进行管理,可以对读者的基本信息进行添加,修改,删除操作,这下操作均是对TB_READER表进行的,并将操作后的结果保存在该表中。四、图书管理模块功能图书管理功能模块的实现如下面表中所示表36图书管理描述图书管理功能描述对图书进行基本操作和信息管理访问的数据库表图书信息表TB_BOOKINFO图书状态信息表TB_BORROW进行的操作图书入库、修改、删除图书,对图书的编号、出版社、书名等基本信息进行管理产生的结果对图书基本操作管理,对不同图书参数进行各自信息的设置管理结果存储位置或输出结果存储在图书信息表BOOK中,结果在当前页面和图书查询页面均可输出五、图书借还模块功能该功能模块主要实现对学生用户借阅、预约图书的操作,其中子模块各自的描述如下各表所列表37图书借阅描述图书借阅管理功能描述对读者借阅图书进行基本操作和信息管理访问的数据库表图书信息表TB_BOOKINFO读者信息表TB_READER进行的操作对学生用户借阅图书进行管理产生的结果学生用户借阅成功,系统对借阅信息进行记录结果存储位置或输出结果存储在图书状态信息表RECORD中,结果在图书借阅页面输出六、系统查询模块功能该模块包括对图书馆藏书进行查询,对读者借阅情况进行查询,以及对借阅到期和超期的读者进行提醒的信息,其中三个子模块的各自实习如下所示表38图书查询描述图书查询功能描述系统用户对馆藏图书信息进行查询操作访问的数据库表图书信息表TB_BOOKINFO进行的操作用户通过图书的编号,作者,出版社等信息对图书进行相关查询产生的结果读者查询到相应的图书或系统提醒查询的图书不存在结果存储位置或输出结果在图书查询页面输出表317图书借阅查询描述图书借阅查询功能描述系统用户对读者借阅图书信息进行查询操作访问的数据库表图书借阅表TB_BORROW进行的操作用户通过图书的编号,读者编号等信息对摸个读者或某本图书的借阅情况进行相关查询产生的结果查询到相应的读者或图书得借阅情况结果存储位置或输出结果在图书查询页面输出表39图书借阅到期提醒描述图书借阅到期提醒管理功能描述对读者借阅的到期图书进行提醒访问的数据库表图书借阅表TB_BORROW读者信息表TB_READER进行的操作对借阅到期和超期的读者进行提醒产生的结果向借阅到期和借阅超期的读者发送邮件等提醒信息结果存储位置或输出结果存储在图书借阅到期提醒表第四章、程序设计与编码第一节、开发平台与工具一、J2SE平台J2SE是JAVA2STANDARDEDITION是JAVA2的标准版,主要用于桌面应用软件的编程STANDARDEDITION标准版J2SE包含那些构成JAVA语言核心的类。比如数据库连接、接口定义、输入/输出、网络编程JDK160MYECLIPSESQLSERVER2000LJAVA开发工具包J2EE集成开发环境中小型关系数据库管理系统三、开发中使用的类与接口的描述1开发图形界面所用类JFRAMESWING的三个基本构造块标签、按钮和文本字段;但是现在需要个地方安放它们,并希望用户知道如何处理它们。JFRAME类就是解决这个问题的它是一个容器,允许程序员把其他组件添加到它里面,把它们组织起来,并把它们呈现给用户。JPANELJPANEL是一个容器,可以向其中添加其他的GUI组件(如按钮JBUTTON组件);但是JPANEL不是顶层容器,因此在屏幕上显示JPANEL,必须将它添加到一个顶层容器(如JFRAME)中。JSPLITPANESPLITPANE分割面版一次可将两个组件同时显示在两个显示区中,若你想要同时在多个显示区显示组件,你便必须同时使用多个SPLITPANE。JLABEL用于短文本字符串或图像或二者的显示区。JTEXTFIELD是一个轻量级组件,它允许编辑单行文本。是一个显示纯文本的多行区域。JPASSWORDFIELDJPASSWORDFIELD是一个轻量级组件,允许编辑单行文本,其视图指示键入内容,但不显示原始字符。JBUTTON“PUSH“按钮的实现。通过ACTION可配置按钮,并进行一定程度的控制。JCROLLPANE提供轻量级组件的SCROLLABLE视图。JSCROLLPANE管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口。JCOMBOBOX将按钮或可编辑字段与下拉列表组合的组件。用户可以从下拉列表中选择值,下拉列表在用户请求时显示。JRADIOBUTTON实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。BUTTONGROUP此类用于为一组按钮创建一个多斥(MULTIPLEEXCLUSION)作用域。使用相同的BUTTONGROUP对象创建一组按钮意味着“开启”其中一个按钮时,将关闭组中的其他所有按钮。VECTOR可以实现可增长的对象数组。与数组一样,它包含可以使用整数索引进行访问的组件。但是,VECTOR的大小可以根据需要增大或缩小,以适应创建VECTOR后进行添加或移除项的操作。DEFAULTTABLEMODEL这是TABLEMODEL的一个实现,它使用一个VECTOR来存储单元格的值对象,该VECTOR由多个VECTOR组成。JTABLE用来显示和编辑常规二维单元表。DEFAULTMUTABLETREENODE是树数据结构中的通用节点。为检查和修改节点的父节点和子节点提供操作,也为检查节点所属的树提供操作。DEFAULTTREEMODEL使用TREENODES的简单树数据模型。JTREE将分层数据集显示为轮廓的控件。树中特定的节点可以由TREEPATH(封装节点及其所有祖先的对象)标识,或由其显示行(其中显示区域中的每一行都显示一个节点)标识。CONNECTION与特定数据库的连接(会话)。在连接上下文中执行SQL语句并返回结果。CONNECTION对象的数据库能够提供描述其表、所支持的SQL语法、存储过程、此连接功能等等的信息。STATEMENTSTATEMENT对象表示基本语句,其中将单个方法应用于某一目标和一组参数,以返回结果RESULTSET表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。ACTIONLISTENER用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的ADDACTIONLISTENER方法向该组件注册。在发生操作事件时,调用该对象的ACTIONPERFORMED方法。MOUSELISTENER用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。然后使用组件的ADDMOUSELISTENER方法将从该类所创建的侦听器对象向该组件注册。当按下、释放或单击(按下并释放)鼠标时会生成鼠标事件。鼠标光标进入或离开组件时也会生成鼠标事件。发生鼠标事件时,将调用该侦听器对象中的相应方法,并将MOUSEEVENT传递给该方法。TREESELECTIONLISTENER当TREESELECTIONMODEL中的选择发生更改时收到通知的侦听器。PACKAGECOMWSYDAOIMPORTJAVASQLCONNECTIONIMPORTJAVASQLDATEIMPORTJAVASQLDRIVERMANAGERIMPORTJAVASQLRESULTSETIMPORTJAVASQLSQLEXCEPTIONIMPORTJAVASQLTIMESTAMPIMPORTJAVAUTILARRAYLISTIMPORTJAVAUTILLISTIMPORTCOMWSYMODELBACKIMPORTCOMWSYMODELBOOKINFOIMPORTCOMWSYMODELBOOKTYPEIMPORTCOMWSYMODELBORROWIMPORTCOMWSYMODELOPERATERIMPORTCOMWSYMODELORDERIMPORTCOMWSYMODELORDERANDBOOKINFOIMPORTCOMWSYMODELREADERIMPORTCOMWSYMODELUSERPUBLICCLASSDAOPROTECTEDSTATICSTRINGDBCLASSNAME“COMMICROSOFTSQLSERVERJDBCSQLSERVERDRIVER“PROTECTEDSTATICSTRINGDBURL“JDBCDB_LIBRARY_DATASELECTMETHODCURSOR“PROTECTEDSTATICSTRINGDBUSER“SA“PROTECTEDSTATICSTRINGDBPWD“123“PROTECTEDSTATICSTRINGSECONDNULLPRIVATESTATICCONNECTIONCONNNULLPRIVATEDAOTRYIFCONNNULLCLASSFORNAMEDBCLASSNAMENEWINSTANCECONNDRIVERMANAGERGETCONNECTIONDBURL,DBUSER,DBPWDELSERETURNCATCHEXCEPTIONEEEEPRINTSTACKTRACEPRIVATESTATICRESULTSETEXECUTEQUERYSTRINGSQLTRYIFCONNNULLNEWDAORETURNCONNCREATESTATEMENTRESULTSETTYPE_SCROLL_SENSITIVE,RESULTSETCONCUR_UPDATABLEEXECUTEQUERYSQLCATCHSQLEXCEPTIONEEPRINTSTACKTRACERETURNNULLFINALLYPRIVATESTATICINTEXECUTEUPDATESTRINGSQLTRYIFCONNNULLNEWDAORETURNCONNCREATESTATEMENTEXECUTEUPDATESQLCATCHSQLEXCEPTIONESYSTEMOUTPRINTLNEGETMESSAGE/IFEGETMESSAGEEQUALS“MICROSOFTSQLSERVER2000DRIVERFORJDBCSQLSERVERDELETE语句与COLUMNREFERENCE约束FK_TB_BORRO_REFERENCE_TB_BOOKI冲突。该冲突发生于数据库DB_LIBRARY,表TB_BORROW,COLUMNBOOKISBN。“RETURN1FINALLY三、登录模块程序设计本模块主要是用户通过图书管理系统的首页登录进入该系统。用户输入正确的用户名和密码,系统会根据用户的身份进行相应权限划分;如果登录信息有错误,则系统提示登入错误的信息,并且禁止系统用户进行任何操作。图书借阅管理系统的登录主页面如图41所示。图41实现此登陆模块的类与方法此模块命名为LOGIN,继承了JFRAME类,并实现ACTIONLISTENER接口,使用JCOMPONENT的子类JPANEL作为容器,以便加入GUI组件,实现ACTIONLISTENER接口中的ACTIONPERFORMED方法,在构造函数中进行了容器及相应标签和按钮等的布局,并针对相应的组件调用事件相应的方法。其主要的对象及方法如下表表42主要对象与方法功能与作用JP对象JLARRAY对象JBARRAY对象JTXTARRAY对象LOGIN方法ACTIONPERFORMEDACTIONEVENTE方法MAIN方法图42其中对系统用户权限的设置是该操作的重要部分也是系统提高效率的关键所在,其主要实现代码为PUBLICSTATICLISTSELECTBOOKCATEGORYLISTLISTNEWARRAYLISTSTRINGSQL“SELECTFROMTB_BOOKTYPE“RESULTSETRSDAOEXECUTEQUERYSQLTRYWHILERSNEXTBOOKTYPEBOOKTYPENEWBOOKTYPEBOOKTYPESETIDRSGETSTRING“ID“BOOKTYPESETTYPENAMERSGETSTRING“TYPENAME“BOOKTYPESETDAYSRSGETSTRING“DAYS“BOOKTYPESETFKRSGETSTRING“FK“LISTADDBOOKTYPECATCHEXCEPTIONEEPRINTSTACKTRACEDAOCLOSERETURNLISTPUBLICSTATICLISTSELECTBOOKCATEGORYSTRINGBOOKTYPELISTLISTNEWARRAYLISTSTRINGSQL“SELECTDAYSFROMTB_BOOKTYPEWHERETYPENAME“BOOKTYPE“RESULTSETRSDAOEXECUTEQUERYSQLTRYWHILERSNEXTBOOKTYPETYPENEWBOOKTYPETYPESETDAYSRSGETSTRING“DAYS“LISTADDTYPECATCHEXCEPTIONEEPRINTSTACKTRACEDAOCLOSERETURNLIST实现此管理员管理模块的类与方法此模块命名为MANAGER,继承了JPANEL类,并实现ACTIONLISTENER接口,使用JPANEL作为容器,以便加入GUI组件,实现ACTIONLISTENER接口中的ACTIONPERFORMED方法,在构造函数中进行了容器及相应标签和按钮等的布局,并针对相应的事件编写了相应的方法,如INSERTMANAGER方法编写了添加管理员的动作,其结果反应到数据库中的MANAGER表中,并在显示界面的JTABLE实例的对象中反应给用户。其主要的对象及方法如下表表43主要对象与方法功能与作用JPT对象STR1对象JTXTARRAY对象JLARRAY对象JBARRAY对象HEAD对象DATA对象DTM对象DEFAULTTABLEMODEL实例化的对象,用于创建表格模型的对象JT对象JSPN对象MANAGERSTRINGMGNO方法ACTIONPERFORMEDACTIONEVENTE方法INSERTMANAGER方法DELETEMANAGER方法INSERTMANAGER方法类似,其不同之处为此方法操作为从数据库表中删除记录UPDATEMANAGER方法SELECTMANAGER方法MANAGER1方法查询管理员名文本框中输入内容是否存在于MANAGER表中TABLE方法MAIN方法图43该管理功能在设置学生信息时需要输入姓名,性别,年龄,职业,证件号码,电话和押金等。这些信息都为必填选项。此模块命名为STUDENT,继承了JPANEL类,并实现ACTIONLISTENER接口,使用JPANEL作为容器,以便加入GUI组件,实现ACTIONLISTENER接口中的ACTIONPERFORMED方法,在构造函数中进行了容器及相应标签和按钮等的布局,调用了事件响应监听事件,并针对相应的事件编写了相应的方法,如INSERTSTUDENT方法编写了添加学生用户的动作,其结果反应到数据库中的STUDENT表中,并在显示界面的JTABLE实例的对象中反应给用户。实现此学生用户管理模块的对象与方法表44主要对象与方法功能与作用JPT对象JCP对象JCOMBOBOX创建下拉列表框STR对象创建下拉列表框数据模型的字符串数组STR1对象JTXTARRAY对象JLARRAY对象JBARRAY对象HEAD对象DATA对象DTM对象DEFAULTTABLEMODEL实例化的对象,用于创建表格模型的对象JT对象JSPN对象STUDENT方法ACTIONPERFORMEDACTIONEVENTE方法INSERTSTUDENT方法DELETESTUDENT方法INSERTSTUDENT方法类似,其不同之处为此方法操作为从数据库表中删除记录UPDATESTUDENT方法SEARCHSTUDENT方法ACTIONLISTENER接口,使用JPANEL作为容器,以便加入GUI组件,实现ACTIONLISTENER接口中的ACTIONPERFORMED方法,在构造函数中进行了容器及相应标签和按钮等的布局,调用了事件响应监听事件,并针对相应的事件编写了相应的方法,如INSERTBOOK方法编写了添加图书信息的动作,其结果反应到数据库中的BOOK表中,并在显示界面的JTABLE实例的对象中反应给用户。由于设计此类的过程与MANAGER类的过程类似,其主要的对象及方法在此不做赘述。八、图书借阅功能模块的实现1图书归还。该子模块实现系统的图书归还功能,学生用户向图书管理员提供自己的编号会显示出学生当前的借阅情况,再提供要归还的图书编号,图书管理员将信息记录在系统中,归还成功。图书归还如下图所示图472图书搜索实现管理员通过读者提供的图书信息进行查询,如下图图48第五章、软件测试第一节、软件测试的方法与步骤该系统在本地服务器上进行运行和调试,鉴于对系统的内部结构和处理算法的完全了解以及对系统功能的全面掌握对系统进行白盒测试和黑盒测试。在开发软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存周期的每个阶段都不可避免地会产生错误。测试目的在于发现错误而执行一个程序的过程,测试重要发现一个发现其中尚未发现的错误。本系统的测试阶段信息流程下图所示15。图51测试阶段信息流程图为了设计出有效地测试方案按照下面准则进行测试所有测试都应追溯到用户需求;在完成了需求模型就要着手制定测试计划,在编码之前最所有测试工作进行计划和设计;运用PARETO原理着重对占出现错误80的容易出错的20的模块进行测试,从小规模开始逐步进行大规模测试,通常先重点测试单个程序模块再转向集成的模块簇精心设计测试方案,尽可能充分覆盖程序逻辑使之达到要求的可靠性15。按照软件工程的观点,软件测试(主要是指多模块程序的测试)共包括4个层次。1单元测试。单元测试的用例从单元详细设计中导出。在单元测试中可以采用功能性测试和结构性测试两种。2集成测试和确认测试。这一阶段的任务,是通过了单元测试的模块逐步组装起来,通过测试与纠错,最终得到一个满足需求的目标软件。3验证测试。在这个测试步骤中所发现的往往是需求规格说明的错误。一般来说,系统测试是功能性测试,不是结构性测试15。在整个测试中,采用了白盒测试和黑盒测试相结合的方法。第二节、测试用例设计与测试用例的运行过程及测试结果分析一、模块测试1登录模块测试表51登录模块用例测试用例测试数据预期结果UC1输入正确的用户名和密码用户名ADMIN密码ADMIN系统跳转到登陆成功页面UC2输入空用户名用户名请输入用户名UC3输入用户名和空密码用户名ADMIN密码请输入密码UC4输入用户名和错误的密码用户名ADMIN密码321FF您输入的用户名或密码错误当用户输入的用户名或密码错误是系统会跳转到出错页面并提示“您输入的用户名或密码错误”,用户点击确定,系统会重新返回登陆页面,其中错误信息提示页面如图51所示图51图52系统出错提示页面2更改密码模块测试用户登录系统后可对自己的登录密码进行更改,更改过程要求用户提供原始密码,输入新密码,重新输入新密码进行确认,如果用户输入的原始密码错误,或两次输入的新密码不一致将无法执行密码更新操作,系

温馨提示

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

评论

0/150

提交评论