图书管理系统的设计与实现论文.doc_第1页
图书管理系统的设计与实现论文.doc_第2页
图书管理系统的设计与实现论文.doc_第3页
图书管理系统的设计与实现论文.doc_第4页
图书管理系统的设计与实现论文.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

图书管理系统的设计与实现图书管理系统的设计与实现一绪论(一)课题背景:随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要。我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得迅速发展,特别是90年代以后,我国图书馆信息网络建设了较大发展,图书馆信息化建设迈向了一个新台阶。图书管理信息化是信息发展的必然趋势。通过对管理系统模型的研究,提出一套构造图书信息管理系统模块的方法,并利用数据库、信息系统分析所学的知识,结合其它图书管理业务常识,建立相关数据模型,利用面向对象开发工具对其进行设计与开发。建立一套有效的图书信息管理系统,可以减少工作量,将管理工作科学化、规范化,提高图书馆管理的工作质量和工作效率。(二)图书馆信息化管理:图书馆的信息化从最初的对图书馆业务管理实行信息化发展到对图书馆各个业务流程进行系统和网络化管理,并建立大规模以个体文献目录联机查询为主的资源共享系统。进入21世纪,充分利用计算机网络和信息技术,逐步实现不同载体的实体文献的信息化管理和多方位的联机查询。图书馆的计算机信息化管理,就是将传统图书馆业务的手工操作转变成由计算机管理,既图书馆的图书期刊、音像资料等各种载体文献的采编、典藏、流通、检索及常规业务管理等工作,利用计算机技术,进行高效、准确的信息化管理。其根本目的是实现区域内及地区、国家、国家间的资源共享。要达到资源共享的目的,必须制定一定的标准,只有各个系统都遵循这些标准,不同的系统间才可以实现联机查询、资源共享的效果。(三)系统设计目的和内容:图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理管理好用户的借还书信息。提高图书馆的工作效率,降低管理成本。其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发。前者要求建立起数据一致性各完整性强、数据安全性好的数据库。而后者则要求应用程序具有功能完备、易用等特点。因此本系统结合开放式图书馆的要求,采用Java技术和HSQLDB数据库进行系统的开发。二开发工具介绍(一)Java语言简介:Java语言诞生于20世纪90年代初,是由Sun公司推出的一种面向对象的新兴网络编程语言,其强大的网络功能是其他编程语言难以比拟的。Java语言特别适合开发Internet应用程序,已成为当前编写网络程序的首选工具之一。由于Java程序具有不依赖于机器结构、与平台无关、可靠性高、安全稳定和支持金线程等特点,因此在当今计算机网络中占据关键性地位。Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。(二)HSQLDB简介:HSQLDB是一个开放源代码的JAVA数据库,其具有标准的SQL语法和JAVA接口,它可以自由使用和分发,非常简洁和快速的。HSQLDB是由Tomas Muller的Hypersonic SQL后续开发出来的项目, hypersonic db 是纯 Java 所开发的数据库, 可以透过jdbc driver来存取,支持ANSI-92标准的 SQL 语法, 而且他占的空间很小, 大约只有 160K, 拥有快速的数据库引擎, 也提供了一些工具,例如web-server,缓冲查询,及一些管理工具.他是属于BSD的license, 可以自由下载, 并且可以安装使用在商业产品之上。Hsqldb的三种模式:1.Server模式;2.In-Process模式;3. Memry-Only数据库HSQLDB非常适合在用于快速的测试和演示的Java程序中。做单元测试也非常理想。(三)项目简介:此系统是基于Java和HSQLDB数据库设计和开发,在Window XP下运行的图书管理系统,要求根据图书馆的实际需求,主要负责借还书和查询信息及系统管理的设计及实现。系统采用C/S结构,由客户端捕捉动作和消息,将业务进行处理后,访问服务器端的数据库(进行数据的各种查询、填加、删除、检索等操作),最后将结果返回给客户端。系统要求界面简单,数据存储安全可靠,系统维护方便。_HSQLDB:参考:HSQLDB 用户指南三图书管理系统需求分析(一)可行性分析:1.技术可行性随着国内软件开发的日益发民壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。现在,市场上可以选购的应用开发产品很多,流行的出有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual BasicMicrosoft公司的Visual CBorland公司的DelphiPowersoft公司的PowerBuilderJava等等,这些大大提高了数据库应用软件开发的效率。2.经济可行性对于整个系统而言,在系统未运行之前,初期投资比较大。但是在整个系统投入运行之后,将会给用户带来前所未有的方便和快捷,而且可以给其带来更大的利润。总之,这个系统的经济效益远远大于开发成本,而同时又减少了数据的流通环节,不必要花费那么多的时间,就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,出避免了工作人员的流动赞成的收据丢失等问题,而且为用户提供了更多的文便,适应了当前的发展形式。3.管理可行性随着时代的发展,人员素质已逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。4.开发环境可行性采用Java开发工具。它是一种面向对象的新兴网络编程语言,其强大的网络功能是其他编程语言难以比拟的。Java语言特别适合开发Internet应用程序,已成为当前编写网络程序的首选工具之一。由于Java程序具有不依赖于机器结构、与平台无关、可靠性高、安全稳定和支持金线程等特点,因此在当今计算机网络中占据关键性地位。(二)需求分析:需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户问题的分析,确定系统的功能需求。这个步骤是对理解需求的升华,直接关系到该系统的质量。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通机制,因此,系统的需求分析也应该是开发人员和用户或客户一起完成的。1.系统性能要求(1).统一处理的准确性和及时性。(2).系统的开放性和可扩充性。(3).系统的易用性和易维护性。2.系统的数据要求(1).数据录入和处理的准确性和实时性。(2).数据的一致性与完整性。(3).数据的共享与独立性。(三)数据流图:数据流程图:数据流程图(简称DFD)是便于用户理解的系统数据流程的图形表示,它能精确的在逻辑上描述系统的功能,输入、输出和数据存储等,也是描述管理信息系统逻辑模型的最主要的工具。登录管理员admin借书还书续借添加修改删除图书读者borrowbookreaderbookreader管理员信息验证读者信息图3.1系统主要功能流程图(四)数据词典:1数据存储条目:表3.1定义管理员表数据储存名称管理员表简述存储管理员的基本信息数据流来源根据管理员的基本信息进行添加数据项组成id、name、password、date、phone、email关键字id表3.2定义图书信息表数据储存名称图书信息表简述存储图书的基本信息数据流来源根据图书的基本信息进行添加数据项组成id、isbn、title、author、publisher、price、amount、date关键字id表3.3定义借书信息表数据储存名称借书信息表简述存储借书的基本信息数据流来源根据借书的基本信息进行添加数据项组成reader_id、book_id、borrow_date、revertible_date关键字reader_id、book_id表3.4定义读者信息表数据储存名称读者信息表简述存储读者的基本信息数据流来源根据读者的基本信息进行添加数据项组成ieader_id、student_id、reader_name、age、sex、academy、department、register_date、book_amount、summary关键字ieader_id表3.5定义图书丢失信息表数据储存名称图书丢失信息表简述存储图书丢失的基本信息数据流来源根据图书丢失的基本信息进行添加数据项组成book_id、reader_id、loss_date关键字无2.数据流词条描述:(1)数据流名:管理员信息说明:管理员用来登录系统,进行操作的前提条件。数据流来源:管理员。数据流去向:登录。数据流组成:用户名、密码。(2)数据元素名:读者编号别名:ieader_id。类型:intege。长度:30。描述:读者的编号。相关的数据元素及数据结构:admin。(3)数据文件名:book简述:存放图书的基本信息。输入数据:图书名称、出版社、加入数量、标准ISBN、图书作者、图书价格等。输出数据:图书编号(自动生成)、图书名称、出版社、加入数量、标准ISBN、图书作者、图书价格、入馆时间(系统当前时间)。数据文件组成:id、isbn、title、author、publisher、price、amount、date。存储方式:顺序、直接、关键码。(4)加工名:登录加工编号:1。简要描述:管理员登录系统后才能进行操作。输入数据流:用户名和密码。输出数据流:管理员登录界面。加工逻辑:管理员输入用户名和密码,系统经过确认后,管理进入系统主界面,进行相关操作。(5)名称:读者简要描述:存放读者的基本信息。有关数据流:添加、修改、删除。数目:1。四系统总体设计(一)系统功能介绍:1.管理员登录:管理员根据用户和密码进入图书管理系统,进行相关操作。2.系统设置:(1)图书馆信息:图书馆信息的查询和修改,包含馆名、馆长、建馆时间、联系电话、联系邮箱、联系地址和简介等信息。(2)状态栏信息:状态栏信息的查询和修改,包括本系统的名称、版本、作者、电话、地址和邮箱等信息,系统将以上信息返回到状态栏进行显示。(3)更换背景图片:自定义登录后界面的背景图片,给用户(4)管理员设置:对管理员信息的添加、修改和删除操作。(5)修改密码:管理员根据管理员的用户名、原密码、新密码和确认密码修改管理员的密码。(6)切换用户:切换使用另一个管理员帐号,即切换另一个管理员。(7)离开挂起:图书管理系统正在运行时被锁定,只能由管理员进行解除,更安全和方便了管理员的使用。(8)退出系统:弹出退出提示,可直接退出本系统、可取消返回图书管理系统主界面、可切换用户和离开挂起。3.图书管理:(1)图书登记:根据图书编号(自动生成)、图书名称、出版社、加入数量、标准ISBN、图书作者、图书价格、入馆时间(系统当前时间)等信息为数据库添加新图书。(2)图书修改:从表中选择要修改的图书,或者直接输入正确的图书编号即可修改图书的相关信息,如图书名称、出版社、图书作者、图书价格等信息。(3)图书遗失:图书遗失处理,通过读者编号返回读者信息和读者借书信息,在读者借书信息中选择已遗失的图书,确认图书遗失。4.图书借还:(1)图书借阅:管理员根据读者编号返回读者基本信息,再根据图书编号选择图书,最后确认借书,借书成功,系统返回该读者所有已借图书。(2)图书归还:管理员根据读者编号返回读者基本信息,再输入图书编号,系统返回相关图书的信息,确认归还图书,归还成功,系统返回该读者所有已借图书。(3)图书续借:管理员根据读者编号返回读者基本信息,再根据图书编号返回读者所借的图书信息,续借图书,图书续借成功,还书期限延长一个月。5.读者管理:(1)读者信息:读者信息与借阅情况查询,管理员根据读者编号返回读者的基本信息、读者借书表和超期图书。(2)读者登记:添加读者,管理员输入编号(系统自动生成)、学号、姓名、日期(系统默认)、学院、系别、年龄、性别和简介等信息来注册读者。(3)读者修改:可从表中直接选择要修改的读者,或者直接输入正确的读者编号,即可返回读者信息,修改即可。(4)读者删除:可从表中直接选择要删除的读者,或者直接输入正确的读者编号,即可返回读者信息,删除即可。6.系统查询:(1)馆藏信息查询:图书统计(库存盘点/馆藏查询),统计图书馆总藏书数、借阅图书次数、现存图书数量、在借图书数量、超期图书数量、丢失图书数量等信息。(2)图书超期查询:系统返回所有超期的图书。(3)图书丢失查询:系统返回所有丢失的图书。(4)读者借阅查询:读者信息与借阅情况查询,管理员根据读者编号返回读者的基本信息、读者借书表和超期图书。(5)今日信息查询:统计当日图书馆的管理信息,如当日新进图书数量、当日注册读者数量、本馆读者总计数量、当日借出图书数量、当日超期图书数量、当日丢失图书数量等。7.统计排行:(1)图书借阅排行:返回系统图书借阅排行榜的前10位。(2)读者借阅排行:返回系统读者借书排行榜的前15位。8.系统帮助:(1)使用帮助:关于本系统的简介、主要特点、和系统配置。(2)关于:关于本系统的开发情况。(二)系统功能结构设计图:管理员登录系统设置读者管理系统查询统计排行图书借还管理读者信息读者登记读者修改读者删除图书借阅图书归还图书续借排行榜单图书借阅排行读者借阅排行图书管理图书登记图书修改图书删除退出系统设置图书馆信息状态栏信息更换背景图片管理员设置修改密码切换用户离开挂起馆藏信息查询今日信息查询图书查询读者借阅查询丢失查询超期查询图书管理系统图4.1图书管理系统功能模块图五数据库设计数据库表:1.本数据库有5个表,分别是管理员表(admin)、图书信息表(book)、借书信息表(borrowbook)、读者信息表(reader)、图书丢失信息表(lossbook)。表5.1管理员表列名数据类型长度允许空主键idinteger30nonamevarchar30nopasswordvarchar30nodatedatetime8nophonevarchar15yesemailvarchar80yes表5.2图书信息表列名数据类型长度允许空主键idvarchar30noisbnvarchar15notitlevarchar100noauthorvarchar100nopublishervarchar80nopricefloat30noamountinteger30nodatedatetime8no表5.3借书信息表列名数据类型长度允许空主键reader_idintege30nobook_idinteger30noborrow_datedatestamp8norevertible_datedatestamp8no表5.4读者信息表列名数据类型长度允许空主键reader_idintege30nostudent_idvarchar20noreader_namevarchar30noageintege30nosexchar3noacademyvarchar20nodepartmentvarchar30noregister_datedatestamp8nobook_amountintege30nosummaryvarchar300no表5.5图书丢失信息表列名数据类型长度允许空主键book_idintege30noreader_idintege30noloss_datedatestamp8no2.数据库表关系图:admin用户名管理员lossbook编号图书管理添加修改删除Book图书信息borrowbook借书还书reader编号学号图5.1数据库表关系图六系统详细设计(一)管理员登录界面1.管理员登录界面的实现:管理员输入用户名和密码才能进入系统主界面,进行相关操作。2.功能:管理员登录图书管理系统。实现要点:(1).输入项:管理员帐号和密码。例如:admin,密码为空。(2).输出项:信息提示(用户名/密码无效,请确认您拥有管理员帐号)或者进入系统主界面。(3).说明:管理员输入帐号和密码进入系统主界面进行相关操作。(4).窗体界面:图6.1所示。图6.1系统登录界面(二)读者注册登记界面:1.读者注册登记界面的实现:管理员通过输入读者的学号、姓名、学院、系别、年龄和性别等信息来注册读者。2.功能:注册读者。 实现要点:(1).输入项:读者的学号、姓名、学院、系别、年龄和性别。例如:学号(070112009)、姓名(高红梅)、学院(石家庄科技信息职业学院)、系别(信息科学系)、年龄(22)、性别(女)。(2).输出项:操作成功,读者注册成功,注册信息已导入数据库。或者信息提示:输入错误,为了更好的管理和提供服务,请输入完整的读者信息。(3).说明:管理员输入读者的学号、姓名、学院、系别、年龄和性别等信息来注册读者。(5).窗体界面:图6.2所示。图6.2读者注册登记界面 (三)右键快捷菜单项:在主界面窗口内右击可显示快捷菜单项,如:图书借阅、图书归还、图书续借、读者信息、读者登记、读者删除、帮助信息、更换背景图片等,以方便读者使用。图6.3所示。图6.3右键快捷菜单(四)读者、图书借阅排行界面:本界面显示图书借阅排行榜的前10位和读者借书排行榜的前15位。方便管理员管理和浏览相关信息。图6.4所示。图6.4读者、图书借阅排行榜(五)删除或修改读者信息:1.删除或修改读者信息模块的实现:管理员输入正确的读者编号或者直接从读者列表中选择要删除或修改的读者,系统将返回读者的基本信息,然后进行修改或者删除操作。2.功能:对读者信息进行修改或删除。实现要点:(1)输入项:读者编号或者直接选择。如输入读者编号(0)、修改读者年龄(21)。(2)输出项:系统返回读者基本信息,系统信息提示:操作成功,成功修改读者信息,数据已导入数据库。如果没有读者信息,系统不返回任何信息。(3)说明:管理员输入读者编号或者直接选择读者,系统返回读者基本信息,然后对需要修改的信息进行修改,修改成功;管理员输入读者编号或者直接选择读者,系统返回读者信息,然后删除,删除成功。(4)窗体界面:图6.5所示。图6.5删除或修改读者信息 (六)今日信息查询:查看系统当日的信息,如当日新进图书数量、当日注册读者数量、本馆读者总计数量、今日借出图书数量、今日超期图书数量、今日丢失图书数量等内容。如图6.6所示。图6.6今日信息查询(七)图书续借管理模块:1.图书续借管理模块的实现:管理员输入读者编号后回车,系统返回读者基本信息,根据图书编号或直接从读者借书表中选择需要续借的图书,然后进行续借图书操作,操作成功,续借图书成功。2.功能:管理员对读者已借的图书进行续借管理。 实现要点:(1)输入项:读者编号、图书编号。例如:输入0、0。 (2)输出项:系统返回读者基本信息,返回图书基本信息。信息提示:续借成功,图书续借成功,还书期限延长一个月,请牢记还书日期;信息提示:操作失败,请提供读者和图书完整信息,否则无法续借。 (3)说明:管理员输入读者编号,系统返回读者基本信息,然后管理员输入图书编号,系统返回图书基本信息,或者从读者借书表中直接选择读者要进行续借的图书,然后续借图书,续借成功。 (4)窗体界面:图6.7所示。图6.7读者续借管理界面(八)系统退出模块: 1.系统退出模块的实现:当用户退出或关闭系统时,系统弹出退出提示窗口:直接退出、取消返回、切换用户和离开挂起等提示供用户选择。2.功能:管理员可以选择系统的退出方式。3.说明:管理员退出或关闭系统时,系统提示管理员退出方式:直接退出、取消返回、切换用户和离开挂起。4.窗体界面:图6.8所示。图6.8退出提示(九)图书归还管理模块:1.图书归还管理模块的实现:管理员根据读者编号,返回读者的基本信息,再根据图书编号选择读者要归还的图书,或者直接从读者借书表中选择要归还的图书,选择归还图书按钮,归还图书成功。2.功能:管理员完成对读者所借图书的归还操作。实现要点:(1)输入项:读者编号、图书编号。如输入读者编号:0、图书编号:0;或者直接选择图书。(2)输出项:系统返回读者的基本信息,系统返回图书的基本信息。 系统提示:操作完成,还书操作成功完成。 系统提示:输入错误,请提供读者和要归还的图书的详细信息,否则无法操作。(3)说明:管理员输入读者编号,系统返回读者的基本信息,管理员再输入图书编号选择读者要归还的图书,或者直接从读者借书表中选择要归还的图书,选择归还图书按钮,归还图书成功。(4)窗体界面:图6.9所示。图6.9图书归还管理七系统测试(一)功能测试:本系统主要介绍黑盒测试法。主要测试登录界面、读者注册登记模块和读者信息模块。1.登录窗口测试有1个用户(管理员),用户名是admin,密码是空。(1).测试重点:当用户名和密码都正确时才能进入系统主界面,其它的用户名和密码都不能进入系统主界面,都为空时也不能进入系统主界面。(2).测试数据:表7.1登录界面测试数据输入条件测试内容测试用例预期结果用户名和密码输入管理员的用户名和密码admin,空进入系统主界面错误的用户名或密码或者全错显示错误警告2. 读者注册登记模块的实现(1).测试重点:输入符号类型都正确的读者信息时,读者注册登记成功;当输入符号类型不匹配时系统自动删除符号类型不匹配的字段,并提示输入完整的信息。(2).测试数据:表7.2读者注册登记测试数据输入条件测试内容测试用例预期结果读者的学号、姓名、学院、系别、年龄、性别输入读者的学号、姓名、学院、系别、年龄、性别070112009,高红梅,石家庄科技信息职业学院,信息科学系,22,女系统提示操作成功,读者登记成功,注册信息已导入数据库。070112009,高红梅,石家庄科技信息职业学院,信息科学系,ghm,女系统提示输入错误,请输入完整的读者信息。3.读者信息模块的实现(1).测试重点:输入读者编号时,系统返回读者的基本信息、读者借书表和超期图书表等信息。(2).测试数据:表7.3读者信息模块测试数据输入条件测试内容测试用例预期结果读者的编号输入读者的编号0系统返回读者的基本信息、读者借书表和超期图书表等信息。6系统不返回任何读者信息。(二)系统测试:系统测试是将已经确认的软件与其他元素结合在一起,进行信息系统的各种组装测试和确认测试,通过与系统的需求相比较,发现所开发的系统与需求不符或矛盾的地方,从而提出更加完善的方案。它的任务是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统做得怎么样?。(三)测试结论:本系统经过测试基本上已达到预期的效果,测试中的错误和不足之处已修改且已完善,提高了软件系统的可靠性与完整性,可以投入使用。结 束 语本系统是一个小型图书管理系统,具有一定的实用性的信息管理系统。它主要完成对图书馆图书的一系列管理,包括对图书的管理以及对读者的管理,还添加了数据统计的功能。本系统采用当前流行的面向对象的开发工具Java来完成整个系统的设计,在数据库的设计上利用了HSQLDB的便利性和实用性。 本系统具有一定的实用功能。在查询方面,系统实现了简单方便的查询操作,且信息完整,使用方便。在图书的管理之间建立了良好的链接关系,某一部分地修改均会自动引发系统对与其相关的部分进行连锁修改。在用户管理方面,系统较好地实现了用户注册,用户注销和密码修改等各项功能。 系统在设计过程中不可避免地遇到了各种各样的问题,由于整个系统完全都是我们自行设计的,有关Java许多细节问题都要靠自己去摸索,加之我们水平有限,并没有完全地理解Java的强大功能,而且还存在着许多不足之处。通过本次的毕业设计,我学到了很多的东西,让我更进一步地了解了Java编程语言,对HSQLDB数据库也有了更进一步的了解。不仅使我的知识面有所扩充,对于图书馆业务流程也熟悉了,而且也很好的应用了系统设计相关的软件。更好的将理论知识应用于实践中,在实践中能够及时的发现问题、解决问题。同时也阅读了大量相关书籍,提高了动手制作能力,同时也体会到了团队的力量是不可缺少的,也提高了团队协作的效率,为以后的工作打下了很好的基础。通过自己的直接实践积累了项目设计的经验,而且还培养了自己运用所学知识独立完成和解决课题的能力,提高了程序设计能力,而且还达到事半功倍的效果,这是从书本上所学不到的。在实习中培养了我们勇于探索,严谨推理,实事求是,有过必改的学习态度,这在我们今后的学习中,和以后的工作中都是一种很好的工作态度,也是科学技术人员应具有的素质。在本次的毕业设计中,也深深地体会到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,而我在很多方面还有欠缺。只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。最后,感谢老师和同学们在本系统的设计过程中给予我的支持和帮助。致 谢通过本次毕业课题的设计研究,使我受益匪浅,通过对Java语言程序设计的各方面知识的学习,让自己学到了很多有关Java编程的知识和分析研究的能力,在将近两个月的毕业设计中,在指导老师的帮助下,我们基本上完成了毕业设计任务,在毕业设计的完成过程中,指导老师的细心指导,帮助我们解决了设计中许多的疑难和困惑,为我们完成设计提供了极大的帮助。在这段时间内,我们随时都能与老师取得联系询问相关问题,总是耐心的为我们作出解答,并多次给予热心地帮助。在学习中,一些网友也给了我很大的帮助,特别是在编程技巧方面,感谢他们给予我的帮助。我们的这次设计能够顺利完成离不开指导老师的帮助;还有班上的其他同学也为我们提供了不少的帮助,这里对所有给我支持与帮助的老师、同学和网友们衷心的道一声”谢谢”!有了大家的帮助,使我的毕业设计和毕业论文能更好、及时的完成。参 考 文 献1李明华.信息交流与现代图书馆系统.北京:北京大学出版社,2008.2常晋义.管理信息系统原理、方法与应用.北京:高等教育出版社,2007.3张奇. Java数据库项目案例导航.北京:清华大学出版社,2009.4 迟丽华.Java程序设计教程.第二版.北京:清华大学出版社,2008.5 Jacquie Barker. Java面向对象编程指南. 北京:电子工业出版社,2008.6 张为民.计算机软件产品开发文件编制指南.大连:大连理工大学出版社,2008.7 周之英.现代软件工程.北京:人民邮电出版社. 2007.8 唐任仲.工程应用软件开发技术.北京:化学工业出版社. 2009.9 李怀明.Java中文版详解.北京:清华大学出版社,2009.10 李善茂.Java高级编程技巧.北京:电子工业出版社. 2008.11 谭浩强.Java中文版提高与应用.北京:电子工业出版社.2008.附录附录11.管理员登录public class HmLibrary public static void main(String args) / check HmLibrary MIS is active.String lockFile = .lck;SingleApplicationLock appLock = new SingleApplicationLock(lockFile);if (appLock.isAppActive() / HmLibrary system is activeJOptionPane.showMessageDialog(Frame) null, HmLibraryAuthorInfo.getLibraryFullName()+ 已经运行, 同时只允许启动一个!, 系统错误, JOptionPane.ERROR_MESSAGE);System.exit(1); String javaVersion = System.getProperty(java.version);if (javaVpareTo(1.5) 0) System.err.println(You are running java Version: + javaVersion + .);System.err.println(hmLibrary requires java 1.5 or laters.);System.err.println(You need download a new one from + );System.exit(1); Properties prop = new Properties();try FileInputStream in = new FileInputStream(perties);prop.load(in);in.close(); catch (IOException e) System.out.println(数据库配置文件丢失!);System.out.println(重建配置文件.);SetupDB.createDBConfigFile();System.out.println(请重新启动本管理系统!);System.exit(1); String s = prop.getProperty(jdbc.ok);if (!s.equals(true) boolean success = SetupDB.setupDB();if (!success) System.out.println(数据库安装失败! 请重新启动本系统!);System.out.println(联系);System.exit(1);try UIManager.setLookAndFeel(com.birosoft.liquid.LiquidLookAndFeel); catch (Exception ex) / nothing need to doMainFrame frame = new MainFrame();frame.setExtendedState(JFrame.MAXIMIZED_BOTH);frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);/ show the Login dialog, 0 denote this is a LoginDialog.LoginDialog dialog = new LoginDialog(登录+HmLibraryAuthorInfo.getLibraryFullName (), 0);/ flash windowFlashWindow flashWindow = new FlashWindow();flashWindow.showWindow(frame, dialog); 2.数据库实现 public class SetupDB public static boolean setupDB() clearDatabase();System.out.println(开始创建数据库.); / test and get the database connection.Connection con = HmConnection.getConnection();/ create five tablesSystem.out.println(开始创建数据表.);int count = 0;try / create table admin.FileInputStream fis = new FileInputStream(create_admin.sql);Scanner in = new Scanner(fis);StringBuilder createAdmin = new StringBuilder();while (in.hasNextLine() createAdmin.append(in.nextLine();Statement stmt = con.createStatement();stmt.executeUpdate(createAdmin.toString();System.out.println(n成功创建admin表!);count+;/ create table book.fis = new FileInputStream(create_book.sql);in = new Scanner(fis);StringBuilder createBook = new StringBuilder();while (in.hasNextLine() createBook.append(in.nextLine();stmt.executeUpdate(createBook.toString();System.out.println(成功创建book表!);count+;/ create table lossbook.fis = new FileInputStream(create_lossbook.sql);in = new Scanner(fis);StringBuilder createLossBook = new StringBuilder();while (in.hasNextLine() createLossBook.append(in.nextLine();stmt.executeUpdate(createLossBook.toString();System.out.println(成功创建lossbook表!);count+; catch (IOException e) e.printStackTrace();System.out.println(建表SQL文件缺失或毁坏!); catch (SQLException e) e.printStackTrace();return count = 6 ? true : false; public static void createDBConfigFile() PrintWriter out = null;try out = new PrintWriter(new FileWriter(perties);out.println(#database connection config);out.println(#use the hsqldb in default);out.println(jdbc.url=jdbc:hsqldb:file:database/hmlibrary);out.println(jdbc.username=sa);out.println(jdbc.ok=true);out.println(jdbc.drivers=org.hsqldb.jdbcDriver);out.println(jdbc.password=);public static void clearDatabase() Connection con = HmConnection.getConnection();try Statement stmt = con.createStatement();stmt.executeUpdate(DROP TABLE admin IF EXISTS);stmt.executeUpdate(DROP TABLE book IF EXISTS);stmt.executeUpdate(DROP TABLE borrowbook IF EXISTS);stmt.executeUpdate(DROP TABLE lossbook IF EXISTS);stmt.executeUpdate(DROP TABLE reader IF EXISTS);附录2系统方法介绍:1.cloneprotected Object clone()创建并返回此对象的一个副本。“副本”的准确含义可能依赖于对象的类。一般来说,对于任何对象 x,如果表达式: x.clone() != x是正确的,则表达式: x.clone().getClass() = x.getClass()将为 true,但这些不是绝对条件。一般情况下是: x.clone().equals(x)将为 true,但这不是绝对条件。 按照惯例,返回的对象应该通过调用 super.clone 获得。如果一个类及其所有的超类(Object 除外)都遵守此约定,则 x.clone().getClass() = x.getClass()。 按照

温馨提示

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

评论

0/150

提交评论