1、 题 目: 高校图书馆管理系统 设计与实现 学 院: 计算机科学与技术学院 专 业: 计算机科学技术与应用 班 级: 学生姓名: 学 号: 指导教师: 目录 目录 2 内容摘要 4 引言 5 第一章 概论 6 1.1图书管理的现状 6 1.2图书管理的发展背景和意义 6 第二章 图书管理系统开发相关技术的介绍 6 2.1系统的关键技术详细介绍 6 2.1.1JSP技术 6 2.1.3 S
2、QL介绍 7 第三章 系统分析 7 3.1系统需求分析 7 3.2系统功能结构 8 3.3数据流程图 8 3.4可行性分析 9 3.4.1技术可行性 9 3.4.2经济可行性 10 3.4.3操作可行性 10 第四章 系统总体结构设计 10 4.1.系统结构设计 10 4.2数据库设计 11 4.2.1数据需求 11 4.2.2数据库概念结构设计 11 4.2.3创建数据库 12 第五章系统详细设计 15 5.1登录模块设计 15 5.2图书馆主界面模块的设计 16 5.3 日常工作功能模块的实现 18 5.3.1 借书处理 18 5.3.2还书处理 1
3、9 5.3.3 图书续借 20 5.4 读者资料维护功能模块的实现 21 5.4.1读者类型管理功能界面 21 5.4.2 读者档案管理功能界面: 22 5.5 图书资料维护功能模块的实现 24 5.5.1.图书类型管理界面: 24 5.5.2图书档案管理界面: 25 5.6 查询功能模块的实现 27 5.7 系统管理功能模块的实现 29 第六章 系统功能的测试与维护 31 6.1系统测试的方案与技术 31 6.1.1模块测试 31 6.1.2测试环境与配置 34 6.2测试总结 34 6.3系统维护 34 第七章 结论 35 参考文献 35
4、 高校图书馆管理系统的设计与实现 内容摘要 图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护,以及服务器端、客户端应用程序的开发两个方面。对于前者要求建 立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求web程序具有功能完备,易使用等特点。 本次课程设计利用MyEclipse开发工具和MySQL数据库来设计这个图书管理系统。该系统要解决的图书管理所要解决的问题,可以满足图书管理基本要求,包括添加、管理等功能。该系统能根据读者的需求,快捷方便的为读者提供借阅服务。 本系统解决了学校图书馆理事务中的常用
5、基本问题及相关统计工作。实现图书管理员对图书的分类、录入和新进图书的基本操作,对图书借阅情况的查询和对系统的维护等。本系统主要包含6个功能模块:管理员管理,读者管理,图书管理,图书借还,系统查询和系统维护。 关键词: 图书管理系统,MyEclipse,MySQL 引言 图书管理系统是专门针对学校图书管理而开发的通用型很强的管理系统。随着学校图书量的不断扩大,学生的频繁借书和还书操作,原来的手动记账已经远远不能满足现在的需要了,现今信息化的时代,图书管信息资源的有效管理已经成为学校学生获取图书信息的关键所在。应用信息化的技术对
6、图书进行管理,不仅简化了管理员的工作程序,而且保证了数据的准确信。系统主要的模块有图书管理,读者管理,借阅管理等,可实现图书管理业务,使得图书馆理系统极大限度的应用于现代化图书管理中。 第一章 概论 1.1图书管理的现状 随着计算机技术的快速发展,它已经成为我们在生活中不可或缺的一个得力助手。在一些高校,也相继采用了图书管理系统来管理图书,取得了很大的成效。使用计算机对图书信息进行管理,具有手工管理所无法比拟的优点。在现实生活中,随着数据库技术、网络技术和科学管理方法的发展,计算机在管理上的应用日益广泛,管理信息系统逐渐成熟起来
7、并且给管理带来了新的发展。介于目前学校图书数目剧增,图书信息量也呈暴增的形势,因此对图书管理系统的要求越来越高,图书管理系统也在此基础上有了很大的发展,但是各系统力求使其功能简单明了,而且齐全、易于操作。 1.2图书管理的发展背景和意义 当今计算机及网络技术的飞速发展,计算机应用在全球范围内日益普及,社会也正快速向信息化社会前进,信息系统的作用也越来越大。图书馆的图书馆理和借阅管理还停留在纸质的操作上,这样的管理已经不能适应时代的发展,因为浪费了很多的人力和物力,在信息发展的如今,这种传统的管理方法必然被以计算机为基础的信息管理所取代,因此根据图书馆目前的实际情况来开发一套新的图书管理系
8、统是十分必要的。通过对管理系统模型的研究,提出一构造图书信息管理系统模块的方法,并利用所学的知识,结合其他图书管理业务常识,建立一套有效的图书管理系统,可以减少工作量,将管理工作科学化、规范化,提高图书馆管理的工作质量和工作效率。 第二章 图书管理系统开发相关技术的介绍 2.1系统的关键技术详细介绍 2.1.1JSP技术 JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为
9、整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。 JSP与Serverlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。WEB服务器在遇到访问
10、JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 2.1.2 JavaScript技术 JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它是一种动态、弱类型、基于原型的语言,内置支持类。 2.1.3 SQL介绍 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常
11、用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。 由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。 第三章 系统分析 3.1系统需求分析 长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐。通过搜集资料,总结出了需求分析的结果,系统应满足一下的需求: 图书馆管理系统是一个供内部人员使用的系统。而图书馆的工作人员也分为两类,一类是普通管理员,一类
12、是超级管理员,根据不同管理员可设置相应的权限。 图书管理系统需要满足图书管理员对图书借阅者借书和还书记录进行操作的权限,在此模块中,图书馆管理员可以为图书借阅者加入借书记录或是还书记录,并生成相应的列表给用户查看和确认。图书管理员可以浏览、查询、统计、添加借阅图书的基本信息及删除已归还的图书的基本信息,当删除某条图书借阅的基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。 图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅者信息、读者信息和管理员的信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改图书的基本信息,浏览、查询、添加、删除、修改
13、图书借阅者的基本信息等。 3.2系统功能结构 根据图书馆管理系统的特点,可以将其分为系统设置、读者管理、图书管理、图书借还、系统查询等5个部分,其中各个部分及其包括的具体功能模块如下图所示。 图书馆管理系统 系统查询 图书管理 读者管理 系统设置 图书借还 图书借阅查询 更改口令 图书归还 图书续借 图书档案查询 推出系统 图书档案管理 图书类型管理 读者档案管理 读者类型管理 图书借阅 书架设置 管理员设置 图书馆信息 3.3数据流程图 数据流程图是描述实际业务管理系统工作流程的一种图形表示法。图
14、书管理系统主要是为了对图书,读者基本信息等进行计算机管理。根据系统的需求分析,画出图书馆管理系统的系统流程图,如下图所示。 读者 图书借阅 图书续借 图书归还 管理员 管理图书档案 管理读者档案信息 读者档案 获取读者信息 图书档案 图书借阅档案 根据读者信息获 取借阅信息 完成图书续借 完成图书借阅 归还相关图书 图书归还档案 3.4可行性分析 通过对该图书馆的各个方面进行了具体的了解之后,现对开发图书管理系统的可行性进行分析。 3.4.1技术可行性 技术可行性包括以下几个方面:硬件,软件,技术人员。针对这三个方面可行性都是没有问题的,本系统采
15、用MyEclipse开发工具加MySQL数据库。目前,数据库利用工具较多,每种工具都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及使用范围,选择最合适的。 3.4.1.1 MyEclipse MyEclipse 是一个开放源代码的、基于Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。 3.4.1.2MySQL 由于MySQL是一款免费的数据库,用MySQL作后台数据库来学习数据库编程,是非常方便使用的,且简单易学。一个普通的计算机用户可以很快的掌握它。 3.4.2经济可行性 本图书管理系统能为图书管理者提供
16、准确、及时的信息,对管理者的决策提供有利的支持;能够提高图书管理者的工作效率,减少手工人员及费用等,这些都是使用系统所带来的间接收益。同时也促进了学校信息化的进程,提高学校的管理效率。 3.4.3操作可行性 系统采用完全的图形化界面,易于管理,方便管理者查询设备信息,能够满足使用者的要求。该系统应该提供简单的操作界面,能够快速的实现查书、借书、还书功能。 综上所述,开发图书管理系统在技术上、经济上、操作上都是可行的。 第四章 系统总体结构设计 4.1.系统结构设计 图书管理系统包含图书信息编辑、读者管理、查询等功能,该系统执行时,先输入数据,然后根据输入的数据选择执行路径;购入
17、图书进行登记、编目调用图书信息编辑功能,借书、还书调用功能。图书馆管理系统属于事务型系统,其读者与管理员间的流图如下图所示: 图书馆管理系统 借书 读者 读者 拒绝借书 还书 借书信息 管理员 统计表 系统结构示意图如下: 图书馆管理系统 图书信息编辑 图书流通 图书查询 读者管理 还书 借书 输入图书信息 4.2数据库设计 4.2.1数据需求 通过对系统进行需求分析、系统流程图以及系统功能结构的确定,首先将要记录的信息分类,要记录的信息如下。 (1)读者信息:包括证号、姓
18、名、联系方式、已借书数目、读者类别和能否借书等。 (2)出版社信息:包括名称、地址、网址、E-mail等。 (3)书籍信息:包括书号、定价、出版社和书名等。 (4)借阅信息:包括借阅日期、应归还日期、能否续借、书号和证号等。 (5)管理者信息:包括管理者名称、对应密码和对应权限等。 根据这些需要,本系统需要“读者信息”表,“出版社信息”表,“书籍信息”表,“借阅信息”表和“管理者信息”表。 4.2.2数据库概念结构设计 根据规划出的实体有:图书信息实体、读者信息实体、图书借阅信息实体。各个实体具体的业务流程图如下: 读者信息 读者编号 …. ….. 密码 借
19、阅证号 读者编号 图2-1读者信息实体E-R图 图书信息 … … 入库日期 作者 书名 图书编号 图2-2图书信息实体E-R图 借阅信息 图书编号 归还日期 … … 作者 书名 图2-3借阅信息实体E-R图 4.2.3创建数据库 为了实现图书管理系统对数据的长期存储,并使数据安全。在MySQL软件中,创建数据库db_librarysys作为本软件保存数据的位置,共包含9张表。下面分别给出这些数据表的概要说明及主要数据表的结构。 管理员基本信息表tb_manager,
20、如表3-1所示。 当管理员登录图书馆管理系统时,需要通过登录窗口验证成功后才能进入系统主页。管理员信息实体,用于存储管理员的登录名称和登录密码。 表3-1 管理员信息表 字段名 数据类型 长度 主键否 描述 id int 10 是 管理员编号 name varchar 30 否 管理员名称 PWD varchar 30 否 管理员密码 图书馆管理员权限设置表tb_purview,如表3-2所示。 只有系统分配的用户才能操作图书馆管理系统,而用户的权限又各不相同。 表3-2 管理员权限设置表 字段名 数据类型 长度 主键否 描述 id
21、 int 11 是 管理员编号 sysset tinyint 1 否 系统设置 readerset tinyint 1 否 读者管理 bookset tinyint 1 否 图书管理 borrowback tinyint 1 否 图书借还 sysquery bit 1 否 系统查询 读者信息表tb_reader,如表3-3所示。 当有读者借阅图书时,要对读者的各项信息进行记录,以方便归还图书和已借阅图书的历史查询,读者信息实体,用于存储所有借阅图书的读者信息。 表3-3读者信息表 字段名 数据类型 长度 主键否 描述
22、id int 10 是 读者编号 name varchar 20 否 读者名称 sex varchar 4 否 性别 barcode varchar 30 否 读者条形码 vocation varchar 50 否 职业 birthday date 0 否 生日 paperType varchar 10 否 证件类型 paperNO varchar 20 否 证件号码 tel varchar 20 否 电话 email varchar 100 否 E-mail createDate date
23、 0 否 注册日期 图书信息表tb_bookinfo,如表3-4所示。 不同的图书,会有不同的图书信息。对这些图书信息进行详细的记录,方便了图书的分类和查询。图书信息实体,用于存储所有图书的相关信息。 表3-4 图书信息表 字段名 数据类型 长度 主键否 描述 barcode varchar 30 否 图书条形码 bookname varchar 70 否 图书名称 typeid int 10 否 图书类型 author varchar 30 否 作者 translator varchar 30 否 译者 ISBN va
24、rchar 20 否 作者名称 price float 8 否 图书价格 page int 10 否 页码 bookcase int 10 否 书架 inTime date 0 否 入馆时间 operator varchar 30 否 操作员 del tinyint 1 否 借阅次数 id int 11 是 图书编号 图书借阅和归还信息表tb_borrow,如表3-5所示。 图书借阅信息实体,用于存储所有图书借阅归还情况的信息,以准确
25、地记录每本图书的借阅归还信息。 表3-5 图书借阅表 字段名 数据类型 长度 主键否 描述 id int 10 是 借阅编号 readerid int 10 否 读者编号 bookid int 10 否 图书条形码 borrowTime date 0 否 借书时间 backTime date 0 否 还书时间 operator varchar 30 否 操作员 ifback tinyint 1 否 是否归还 书架信息表tb_bookcase,如表3-6所示。 图书馆对图书的分类,通常是将不同类型的图书分别放置
26、在相应类型的书架上。书架信息实体,用于存储图书馆中所有的书架信息。 表3-6 书架信息表 字段名 数据类型 长度 主键否 描述 id int 10 是 书架编号 name varchar 30 否 书架名称 图书类型信息表tb_booktype如表3-7所示。 图书馆会有不同类型的图书,为了避免图书归类发生混乱,必须建立一个图书类型信息实体,用于存储图书的类型信息。 表3-7 图书类型信息表 字段名 数据类型 长度 主键否 描述 id int 10 是 图书类型编号 typname varchar 30 否 类型名称 day
27、s int 10 否 可借天数 图书馆信息表tb_library,如表3-8所示。 每个事物都会有其自身的历史背景,图书馆也不例外。为了记录图书馆的历史背景及其相关的信息,需要建立一个图书馆信息实体,用于存储图书馆的有关信息。 表3-8图书馆信息表 字段名 数据类型 长度 主键否 描述 id int 10 是 编号 libraryname varchar 50 否 图书馆名称 curator varchar 10 否 馆长名称 tel varchar 20 否 联系电话 address varchar 100 否 联系地
28、址 email varchar 100 否 电子邮件 url varchar 100 否 网址 createDate date 0 否 建馆时间 introduce text 0 否 备注 读者类型信息表tb_readertype,如表3-9所示。 在读者群体中,会有不同的分类,例如借阅图书的读者可能是教师、学生等,所以对读者人群进行有效的分类是至关重要的。读者类型信息实体,用于存储读者的类型信息。 表3-9 读者类型信息表 字段名 数据类型 长度 主键否 描述 id int 10 是 类型编号 name varchar
29、50 否 类型名称 number int 4 否 可借数量 第五章系统详细设计 本系统的设计的最大的特色是采用了分层的设计思想,系统界面采用Web页面作为表现层和数据粘合层,为了进行一些常用的逻辑处理的需要还创建了业务逻辑层,为了为逻辑处理提供数据有创建了数据层,同时为了数据访问创建了数据模型层。在本节中示例的功能代码,都比较短并且不具体,那是因为很多功能都封装的功能类库里了,这里说明一下。具体请看系统源代码。 5.1登录模块设计 如果使用系统就必须先登录到系统,用户通过登录模块登录系统。具体操作为:打开浏览器,然后在地址栏中输入http://localhost:80
30、80/JspLibrary/,即看到系统首页了。根据输入用户名及其密码,进入系统。界面效果如图5-1: 图5-1 系统登录界面 主要处理代码如下: function check(form){ if (form.name.value==""){ alert("请输入管理员名称!");form.name.focus();return false; } if (form.pwd.value==""){ alert("请输入密码!");form.pwd.focus();return false; } } 5.2图书馆主界面模块的设计 在该图书馆管理系统主界面中有Bann
31、er信息栏(显示当前登录用户,并对页面可以及时刷新)、导航栏包括日常工作(下拉表中有借阅处理、还书处理、图书续借)、读者资料维护(读者类型管理、读者档案管理)、图书资料维护(图书类型设置、图书档案管理)、查询(图书资料查询、借阅历史记录查询、借阅到期提醒)、系统管理(图书馆信息、管理员管理、书架设置)、更改口令、退出系统。 系统首页主要显示了图书借阅排行榜。利于查看借阅情况,读者对哪些图书感兴趣,便于管理图书。图书馆主界面如下图5.2所示: 图5-2图书馆管理系统主界面 主要代码如下: if(coll_book!=null && !coll_book.isEmpty())
32、{ Iterator it_book=coll_book.iterator(); int i=1; int degree=0; String bookname=""; String typename=""; String barcode_book=""; String bookcase=""; String pub=""; String author=""; String translator=""; Float price=new Float(0); while(it_book.hasNext() && i<6){ BorrowForm borrowForm=(Bo
33、rrowForm)it_book.next(); bookname=borrowForm.getBookName(); barcode_book=borrowForm.getBookBarcode(); typename=borrowForm.getBookType(); degree=borrowForm.getDegree(); bookcase=borrowForm.getBookcaseName(); pub=borrowForm.getPubName(); author=borrowForm.getAuthor(); price=borrowForm.getPrice
34、); 5.3 日常工作功能模块的实现 日常功能模块主要有借书处理,还书处理,图书续借三个模块。 5.3.1 借书处理 主要是用来图书的借阅功能,在页面上输入读者的编号,就能查询读者的借阅情况。如果要借阅哪本书,再提供借阅的图书编号之后,确定之后图书借阅就成功了。其操作界面如下图: 图5.3 借图书之前操作界面 图5.4 借图书之后操作界面 如果读者要借的书不存在或者读者的借书量已经超过了能够借阅的最大数量时,则借阅不能成功。 其主要设计代码如下: function checkreader(form){ if(form.barcode.value==""){ ale
35、rt("请输入读者条形码!");form.barcode.focus();return; } form.submit(); } function checkbook(form){ if(form.barcode.value==""){ alert("请输入读者条形码!");form.barcode.focus();return; } if(form.inputkey.value==""){ alert("请输入查询关键字!");form.inputkey.focus();return; } if(form.number.value-form.borrowNumbe
36、r.value<=0){ alert("您不能再借阅其他图书了!");return; } form.submit(); } 5.3.2还书处理 与借书过程差不多,在面页中输入读者的编号,就能看到已借阅的图书信息,选择你要归还的图书,图书管理员将信息记录下来,其操作界面如下图: 5.5 还图书之前操作界面 图5.6 还图书之后操作界面 本次操作归还两本《打算》,完成成功。 其主要代码如下: function checkreader(form){ if(form.barcode.value==""){ alert("请输入读者条形码!");form.barco
37、de.focus();return; } form.submit(); } 5.3.3 图书续借 如果你借了一本书发现到期了之后,如果你想要到保有这本书,就可以向图书管理员提供你要续借的书名,由图书管理员操作完成,其操作界面如下图: 5.7 图书续借操作界面 其主要代码如下: function checkreader(form){ if(form.barcode.value==""){ alert("请输入读者条形码!");form.barcode.focus();return; } form.submit(); } 5.4 读者资料维护功能模块的实
38、现 读者资料维护有两个功能模块,分别为读者类型管理和读者信息管理。读者类型管理设置不同类型能够借阅图书的最大数量不一样,读者信息管理则是记录读者相关的信息,并且可以对这些信息进行添加、删除、修改等功能。其各自操作界面如下所示: 5.4.1读者类型管理功能界面 图5.8 读者类型管理操作界面 点击界面上的“添加读者类型信息”,出现图5.9,可以增加类型名称和其对应的借书数目;点击“修改”,可以修改学生类型名称和其对应的借书数目;点击“删除”,实现删除读者类型。 图5.9 添加读者类型操作界面 5.4.2 读者档案管理功能界面: 图5.10 读者档案管理界面 设置读
39、者信息的时候需要输入读者全面的信息,比如姓名,姓名,借阅证编号,选择读者类别,有效证件,证件号码,电话,e-mail等信息。而且证件的号码是必填的。 除此,可以添加读者信息,显示添加成功图标,还可以修改读者信息;如下图所示: 图5.11 添加读者详细信息 其主要代码如下: String str=null; ReaderTypeDAO readerTypeDAO=new ReaderTypeDAO(); Collection coll=(Collection)readerTypeDAO.query(str); if(coll==null || coll.isEmpty()){
40、 out.println(""); }else{ Iterator it=coll.iterator(); int ID=0; String name=""; function check(form){ if(form.name.value==""){ alert("请输入读者姓名!");form.name.focus();return false; } if(form.barcode.value==""){ alert("请输入条形码!");f
41、orm.barcode.focus();return false; } if(form.paperNO.value==""){ alert("请输入证件号码!");form.paperNO.focus();return false; } } 图5.12 添加成功图标 点击读者姓名(注:显现灰色即为可连接标识),可以查询查看读者详细资料,比如点击读者姓名wgh,查看他的详细资料,如下图5.13。 图5.13 读者详细资料 5.5 图书资料维护功能模块的实现 图书资料维护模块有两个模块: 图书类型管理:对图书进行分类,设置图书的借阅时间。 图书档案管理:对图书的相
42、关信息进行记录,设置图书基本信息。 5.5.1.图书类型管理界面: 图5.14 图书类型管理界面 在图书类型管理界面中,同样可以对图书类型实现增、删、改功能,如图5.15所示。 图5.15 添加、修改图书类型及可借天数 5.5.2图书档案管理界面: 图5.16 图书档案管理界面 图书档案包含很多与图书相关的信息,如图书编号,图书名称,图书类型,作者,译者,价格,出版社,所在书架等图书基本信息。此处,也可以实现增、删、改、查功能。 通过点击灰色标识的字体。点击“Java 学习指南”,出现此图书的详细信息界面,如下图5.17所示。点击图书《Java 学习指南》对应的
43、修改”,出现修改图书信息界面如下图5.18,点击“删除”,可实现删除此图书信息。 图5.17图书详细信息界面 图5.18 修改图书信息界面 其主要代码: String str=null; BookTypeDAO bookTypeDAO=new BookTypeDAO(); Collection coll_type=(Collection)bookTypeDAO.query(str); if(coll_type==null || coll_type.isEmpty()){ out.println(""); }else{ Iterator it_type=coll_type.iterator(); int typeID=0; String typename1=""; BookCaseDAO bookcaseDAO=new BookCaseDAO(); String str1=null; Collection coll_bookcase=(Collection)bookcaseDAO.query(str1); if(coll_bookcase==null || coll_bookcase.isEmp
45、ty()){ out.println(""); }else{ Iterator it_bookcase=coll_bookcase.iterator(); int bookcaseID=0; String bookcasename=""; PublishingDAO pubDAO=new PublishingDAO(); String str2=null; Collection coll_pub=(Collection
46、)pubDAO.query(str2); if(coll_pub==null || coll_pub.isEmpty()){ out.println(""); }else{ Iterator it_pub=coll_pub.iterator(); String isbn=""; String pubname=""; BookForm bookForm=(BookForm)request.getAttribute("boo
47、kQueryif"); 5.6 查询功能模块的实现 查询功能模块包含三个功能模块:图书资料查询,借阅历史记录查询和借阅到期提醒。 图书资料查询可查询图书一些相关的信息,根据图书的图书编号,书名,作者,出版社等,点击查询,可以查询与图书有关的信息,其操作界面图如下图所示: 图5.19查询操作界面 例如,选择书架A,进行查阅。如下图5.20。 图5.20 通过书架A查询界面图 本系统可以通过图书信息进行查询。查询某一时间段的借阅历史,如下图5.21。 图5.21 通过读者名称查询借阅历史记录界面 本系统还可以看到借阅图书的到期提醒。 图5.22 借
48、阅到期提醒 5.7 系统管理功能模块的实现 主要有三个模块,分别为图书馆信息,管理员设置和书架设置。 图书馆信息:图书馆名称、馆长名、联系方式、建馆时间及介绍。 管理员设置:添加登录此系统的用户信息,修改其权限设置,使具有不同权限的用户登录此系统,还具有删除功能。下图5.23为管理员设置界面。 图5.23管理员权限设置界面 学生登录后只能在权限范围内进行操作。 主要代码如下: 书架设置:设置不同的书架,可以更好的对图书进行分类。可以增删改功能。如下图。 图5.24 书架界面 图5.25 书架添加与修改界面
49、 第六章 系统功能的测试与维护 6.1系统测试的方案与技术 图书管理系统完成以后,还要对它做一次系统测试,以此来检查系统的完整性及安全性。本系统将会在本地服务器运行,并进一步调试。全面掌握系统的内部结构和系统功能从而进行白盒测试和黑盒测试。 系统的开发经过了很长的时间,面临着很多复杂的问题,在软件的每个生存周期都可能会多多少少产生一些错误,而测试的目的就是发现软件中以前未发现的错误,尽早的对软件进行修正。 所有软件的测试都是为了用户有更好的体验,因此好的测试方案因第一考虑到用户的需要体验。利用Pareto原理,减少测试的工作量,着重测试相对容易出错的20%那部分模块。在这里应先进行小
50、规模的测试,进而进行大规模的测试。先测试单个程序模块,进而测试相对集成的模块。从而尽可能的比较完整的覆盖程序逻辑以达到预定要求的可能性。 6.1.1模块测试 6.1.1.1登录模块测试 测试内容:用户是否能够成功登录是否必须要输入正确的用户名以及密码。操作:打开浏览器,输入http://127.0.0.1:8080/Library_Sys/,打开图书管理系统的首页,不输入任何帐户,点击登录,返回如图6.1。 图6.1用户登录失败图 若输入帐户tsoft,错误密码,则返回如图6.2界面。 图6.2 错误提示 输入正确的用户名和正确的密码111,则直接进入网站首页,返回如图6






