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

下载本文档

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

文档简介

毕业设计说明书(论文) 作 者: 学 号: 系 : 计算机 专 业: 计算机科学与技术 题 目:基于 SSH 的图书馆管理系统的设计与实现 指导者: (姓 名) (专业技术职务) 评阅者: (姓 名) (专业技术职务) 2012 年 6 月 6 日 毕业设计(论文)中文摘要 基于 SSH 的图书馆管理系统的设计与实现 摘要: 通过对图书馆管理系统的运行管理机制进行调查研究,采用 Java 编程技术 和 MySQL 数据库,在 MyEclipse 集成开发环境下应用 SSH 框架,完成了图书馆 管理系统的设计全过程。本系统在开发过程中采用 B/S 结构,运用面向对象的开 发技术,实现了浏览器端和服务器端的各自功能,其中浏览器端主要实现了读者 登录、查询、超期提醒等功能,服务器端主要实现了系统设置、读者管理、图书 管理、用户管理、图书借还、系统查询、更改密码等管理员功能。系统通过 Hibernate 和数据库进行连接,有效解决了数据库连接及访问过程中的安全性及 效率问题,提高了系统的可靠性及运行效率。论文较详细地叙述了该系统开发实 现的全过程,并对具体关键技术及开发中遇到的问题进行了详尽的描述。 关键词: 图书馆管理 SSH 借阅查询 图书借还 毕业设计(论文)外文摘要 TitleTitle Design and Implementation of Library Management System Based on the SSH Abstract The library management system management system investigation and study, using Java programming technology and MySQL database, in the MyEclipse integrated development environment using SSH framework, complete library management system design process. The system in the development process by using B/S structure, using object-oriented technology, realize the browser and server end of each function, the browser terminal which mainly realize the reader login, query and other functions, the server implementation system settings, the reader management, library management, user management, the books borrow also, system query, change password administrator function. The system through the Hibernate and the database connection, can effectively solve the database connection and access of process safety and efficiency, improve the reliability of the system and running efficiency. Paper describes in detail the development of the system to achieve the whole process, and some key techniques and problems encountered in the development of a detailed description of. Keywords:Keywords: Library management SSH Loan inquiries Books borrow and return 目目 次次 1 引言.1 2 需求分析.1 2.1 问题提出.1 2.2 解决方案.2 2.3 可行性分析.2 2.4 用户需求.3 3 系统设计.4 3.1 系统总体设计.4 3.2 数据库设计.6 4 系统实施11 4.1 系统架构分析11 4.2 数据库操作接口设计12 4.3 登录模块的实现12 4.4 后台信息管理子系统的实现13 4.5 前台读者信息查询子系统的实现22 5 关键技术介绍23 5.1 SPRING+HIBERNATE 整合 .23 5.2 SPRING+STRUTS2 整合 .24 5.3 三者组合开发25 6 软件测试25 6.1 模块测试25 6.2 集成测试27 6.3 验收测试27 结 论.28 参 考 文 献29 致 谢.30 1 1 引言引言 随着计算机的广泛应用,图书馆管理系统逐步成为现代化的标志。图书馆或者 一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信 息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、 借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生 的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理, 能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以 达到上述的目的。准备建立一个图书馆管理系统,使图书管理工作规范化、系统化、 程序化,提高信息处理的速度和准确性,能够及时准备,有效的查询和修改图书的 情况。 图书馆管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化,图 书新增及销毁的及时化,用户及图书信息的更新。围绕这一主要功能,本系统涉及 到以下核心功能:借阅管理、归还管理、图书管理、读者管理、用户管理。除了这 些核心功能外,还包括一些基本和辅助功能,它们是:系统查询、系统设置。 2 2 需求分析需求分析 2.12.1 问题提出问题提出 随着计算机技术的不断应用和提高,计算机已经深入到社会生活的各个角落。 为了满足图书馆管理人员对图书馆书籍,读者资料,借还书信息等进行高效的管理, 采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高效 的发挥最大作用,能够迅捷的为读者提供相应的服务。如果图书馆仍采用手工管理 图书的方法,不仅效率低、易出错、手续繁琐,而且耗费大量的人力。因此,结合 目前硬件价格普遍下跌与宽带网大力建设的有利优势,利用网络和数据库技术,开 发具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的图书馆系 管理系统,方便实现图书查询、借阅管理等功能,提高工作效率和工作质量,有利 于对整个业务发展趋势进行分析,具有重要的开发价值和应用意义。 2.22.2 解决方案解决方案 系统采用 B/S 模式、面向对象的设计方法,用 Java 技术,以关系型数据库 MySql 作为后台数据库,MyEclipse 8.5 作为开发环境下应用 SSH 框架进行开发设计 1。考虑到浏览器端、服务器端对数据库的操作,决定利用 Hibernate 持久化框架 来操纵数据库。 2.32.3 可行性分析可行性分析 可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过 程,实际上是一次大大简化系统分析和系统设计的过程2,所以进行可执行性的分 析是非常必要的,也是十分重要的,经过最初的设计目标和进行的市场调查得出以 下四点的可行性分析。 1.技术可行性 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否 满足需要。 Java 语言3是一个支持网络计算的面向对象程序设计语言,现在 Java 平台已 经嵌入了几乎所有的操作系统,这样 Java 程序可以只编译一次,就可以在各种系统 中运行。因此系统采用其开发,在技术上完全可行。 MySQL 是一个关系型数据库管理系统,它也支持 Linux、Windows 等多种操作系 统,且能为 Java 提供 API;支持多线程,能够充分利用 CPU 资源,优化的 SQL 查询 算法;还提供了 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。是一个集管理、检 查、优化数据库操作的管理工具。因此系统采用其作为服务器端数据库,在技术上 完全可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来 越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。 系统使用的是目前较流行的一种 Web 应用程序开源框架 即 SSH 框架4。集 成 SSH 框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模 块层13,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的 Web 应用程序。其中使用 Struts 作为系统的整体基础架构,负责 MVC 的分离, 在 Struts 框架的模型部分,利用 Hibernate 框架对持久层提供支持,业务层用 Spring 支持。具体做法是 :用面向对象的分析方法根据需求提出一些模型,将 这些模型实现为基本的 Java 对象,然后编写基本的 DAO 接口,并给出 Hibernate 的 DAO 实现,采用 Hibernate 架构实现的 DAO 类来实现 Java 类与数 据库之间的转换和访问,最后由 Spring 完成业务逻辑。 2.经济可行性 鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况 下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也 是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此该系统在经济可行 性上是可行的。 3.运行可行性 图书馆管理系统是基于 B/S 模式的,因此在任意一台联网的计算机上只要正确 登录就可完成图书查询、借阅查询等操作了,对用户来说方便、快捷。 4.法律可行性 因为该平台是作为毕业设计与商业无关,又因为是自主开发设计,因此不会构 成侵权,在法律上是可行的。 2.42.4 用户需求用户需求 通过对图书馆管理流程的分析与研究,以及与读者和图书馆管理员的交流,得 出用户对系统功能的实际需求。 2.4.1 系统的基本信息 1.图书的基本信息 图书馆具有若干图书,图书有出版社、图书名称、图书编号、ISBN 编号、图书 类型等信息。读者可以任意选择图书馆的某本图书。 2.用户的基本信息 用户通过身份验证登录系统,执行相应权限的操作;包括登录名,登录密码, 用户姓名,用户类型,权限等。 3.读者的基本信息 图书馆具有若干读者,读者有读者姓名、读者编号、证件号、读者类型等信息。 4.查询的基本信息 读者通过相应查询条件查询图书信息和自身借阅详情以及超期罚款情况; 管理员通过相应查询条件查询图书信息,读者信息,借阅情况和超期查询详情。 5.借还业务的基本信息 管理员根据读者的要求进行查询,在查询的基础之上输入读者的信息(读者姓 名、证件号) ,等待读者核对信息、确认。执行相应的操作。 2.4.2 用户对系统的要求 1图书馆管理系统服务器端 (1)信息要求:可以查询该图书馆所拥有的所有图书、读者的信息,以便及时查 看、更正信息。 (2)处理要求:要具有添加、修改、删除图书读者等的基本信息的能力,提供对 用户、借阅等相关信息的管理功能,以及能够处理由于超期处以罚款的情况。 (3)安全性要求:保证数据库的安全,设置数据库的使用权限。 2图书馆管理系统浏览器端 (1)信息要求:能查询到图书馆的所有图书的所有相关信息,包括出版社、图书 名称、图书编号、ISBN 编号、图书类型等信息。 (2)处理要求:根据顾客需求,按指定条件进行查询图书、借阅详情等操作。 (3)安全性要求:读者登陆必须通过安全性验证。 3 3 系统设计系统设计 3.13.1 系统总体设计系统总体设计 根据需求分析,得出本系统前后台两种不同权限要求5,前台要求实现查询图 书、借阅详情等操作,后台要求能够对图书信息、读者信息、用户信息、系统查询、 图书借还、系统设置等分别进行管理。系统功能模块划分如图 3.1 所示。 后台信息管理子系统各模块功能描述如下。 (1)图书管理模块:对图书的基本信息进行管理,可以对图书的基本信息进行添 加、修改、删除、详细信息查询操作,均是针对 bookinfo 表进行的,并将操作后的 结果保存在该表中。 (2)读者管理模块:对读者的基本信息进行管理,可以对读者的基本信息进行添 加、修改、删除、详细信息查询操作,均是针对 readerinfo 表进行的,并将操作后 的结果保存在该表中。 图 3.1 系统结构图 (3)用户管理模块:对用户的基本信息进行管理,可以对用户的基本信息进行添 加、修改、删除操作,均是针对 manager 表进行的,并将操作后的结果保存在该表 中其中最主要的是对用户权限进行设置(系统管理员特有) 。 (4)系统查询:根据查询条件查看图书信息,读者信息,借阅详情。 (5)图书借还:包括图书借阅,续借,归还(超期罚款) ,超期查询等操作。 (6)系统设置:设置图书馆信息(系统管理员特有) ,实现信息发布。 (7)管理员密码修改:管理员可以修改自己的密码。 前台读者信息查询子系统各模块功能描述如下。 图 书 馆 管 理 系 统 前台读者登录 后台用户登录 系统主页 查询页面 借阅及超期查询 图书查询页面 用户管理 详细信息 添加信息 更改信息 删除信息 读者管理 图书管理 图书借还 图书借阅 图书续借 图书归还 超期查询 系统设置 消息发布 更改密码 图书馆设置 查询管理 图书查询 读者查询 借阅查询 (1)读者登录模块:对读者身份进行验证。 (2)查询模块:对图书信息,读者自己借阅情况(包括超期处罚)进行查询。 (3)超期提醒和罚款模块:读者登录系统看到自己的超期借阅情况,并可查看超 期详情。 3.23.2 数据库设计数据库设计 3.2.1 概要设计 整个系统所包括的信息有图书信息、读者信息、图书借阅信息、图书归还信息、 系统用户信息、读者类型信息。可将这些信息抽象为下列系统所需要的数据项和数 据结构2。 (1)图书信息(条形码,图书名称,类型,作者,译者,出版社,ISBN,价格, 所在书架,录入时间,管理员编号等) (2)管理员权限表(编号,系统设置,读者管理,图书管理,图书借还,系统查 询,用户管理) (3)读者信息(编号,姓名,性别,条形码,读者类型,出生年月,证件号码, 办证日期,电话,邮箱,管理员编号等) (4)读者类型(编号,名称,可借阅书数量,可借阅书天数) (5)图书借阅信息(编号,读者编号,图书编号,借书时间,还书时间,管理员 编号,是否续借过, 图书名称, 读者名称) (6)管理员(编号,姓名,登录名,登录密码,性别,管理员类型等) (7)图书馆信息(编号,名称,图书馆所属,电话,地址,邮箱,网址,创建日 期,简介) (8)图书馆参数信息(编号,办证费用,有效期限) (9)信息发布(编号,信息) 3.2.2 数据库逻辑设计 1.图书信息表结构设计 图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在 图书入库时由管理员进行添加完善,此表主要用于读者和管理员对馆中图书的查询, 系统用户根据图书的某个属性进行查询,便可得知图书的其他相关信息,其中图书 所在书架属性是便于读者借阅时对图书的寻找,图书价格是在读者不慎将图书遗失 时对遗失图书进行赔偿的依据。表的具体结构如表 3.1 所示。 表 3.1 图书信息表 bookinfo 字段名称数据类型描述约束 barcode int 图书编号主键不为 null namevarchar 图书名称 Null typevarchar 图书类型 Null authorvarchar 图书作者 Null translatorvarchar 图书译者名称 Null pressvarchar 出版社 Null foliovarchar 版次 Null revvarchar 版次 Null ISBNvarchar ISBN 号 Null pricefloat 图书价格 Null pageint 图书页码 Null bookCasevarchar 所在书架 Null STORAGEint 库存数量 Null inTimevarchar 录入时间 Null operatorIdint 管理员编号 Null updateDatevarchar 更新日 Null updateTimevarchar 更新时间 Null noteInformationvarchar 备注信息 Null introductionvarchar 内容简介 Null goodsDistributionvarchar 配送物品 Null pubTimevarchar 出版年份 Null bookLanguagevarchar 图书语种 Null bookSeriesvarchar 所属丛书 Null typeIdvarchar 分类号 Null bookPrintingvarchar 印刷版面 Null bookVolumevarchar 图书卷册 Null bookNum int 入库图书数量 Null 2.管理员权限信息表结构设计 该表的设计主要用来保存管理员的权限信息,该表的 ID 字段与管理员信息表中 的 id 字段相关联。表的具体结构设计如表 3.2 所示。 表 3.2 权限信息表 purview 字段名称数据类型描述约束 id int 管理员编号主键不为 null sysSetshort 系统设置 Null readerSetshort 读者管理 Null bookSetshort 图书管理 Null borrow_backshort 图书借还 Null sysQueryshort 系统查询 Null userSetshort 用户管理 Null 3.读者信息表结构设计 读者信息表的设计是为了管理员对读者进行管理,其中读者 ID,不同类型证件 的号码都是唯一的,是读者在借阅图书时需要输入对读者身份进行识别的信息,读 者邮件电话等信息是为了与读者进行联系,读者类型信息决定了读者一次性可借阅 的图书的数量及天数。表的具体结构设计如表 3.3 所示。 表 3.3 读者信息表 readerinfo 字段名称数据类型描述约束 id int 读者编号主键不为 null namevarchar 读者姓名 Not Null sexvarchar 图书类型 Null barCodeint 图书作者 Not Null vaoctionvarchar 图书译者名称 Null birthdayvarchar 出生日期 Null regsterTimevarchar 办证日期 Null paperNovarchar 证件号码 Null telvarchar 电话 Null emailvarchar 电子邮件 Null strutsint 读者状态 Null updateDatedate 更新日期 Null updateTimetime 更新时间 Null operatorIdtext 管理员编号 Null typeIdint 类型 Null addressvarchar 地址 Null 4.读者类型信息表结构设计 此表的设计是为了对不同身份的读者进行分类,方便读者的管理,其中可借阅 图书数量及天数的设定,是根据读者需求的不同对其权限进行的设置,用于规定不 同类型读者一次可借阅的图书数量及天数。表的具体结构设计如表 3.4 所示。 表 3.4 读者类型信息表 readertype 字段名称数据类型描述约束 id int 读者类型编号主键不为 null namevarchar 名称 Null numberint 可借书数量 Null daysint 可借书天数 Null 5.图书借阅信息表结构设计 该表的设计是用于对读者借阅图书进行管理,表中图书 ID 属性是对借阅图书的 唯一性识别标识,读者 ID 记录借阅的相应读者, 依据借书时间得出相应的归还时间, 管理员编号记录对借阅进行操作的人员,方便日后的查询,是否续借过可查询当前 图书是否能被续借。表的具体结构设计如表 3.5 所示。 表 3.5 图书借阅信息表 borrowinfo 字段名称数据类型描述约束 id int 主键不为 null readerIdint 读者编号 Not Null bookIdint 图书编号 Null borrowTimevarchar 借书时间 Not Null backTimevarchar 还书时间 Null operatorIdint 管理员编号 Null ifBackint 是否续借过 Null bookNamevarchar 图书名称 Null readerNamevarchar 读者姓名 Null 6.管理员信息表结构设计 该表的设计用于记录图书馆管理系统管理员的信息,方便对管理员的管理,表 中包括管理员 ID 和登录密码。表的具体结构设计如表 3.6 所示。 表 3.6 管理员信息表 manager 字段名称数据类型描述约束 id int 管理员编号主键不为 null userNamevarchar 管理员姓名 Not Null namevarchar 登录用户名 Not Null passwordvarchar 登录密码 Not Null sexvarchar 性别 Null telvarchar 电话 Null emailvarchar 电子邮件 Null createDatevarchar 登记日期 Null updateDatevarchar 更新日期 Null typevarchar 管理员类型 Null updateUserIdint 更新人编号 Null 7.图书馆信息表结构设计 该表包含了图书馆的名称、地址、联系方式、建馆时间、简介等信息,是对图 书馆基本属性信息的描述,方便读者对图书馆的了解。表的具体结构设计如表 3.7 所示。 表 3.7 图书馆信息表 library 字段名称数据类型描述约束 id int 编号主键不为 null libraryNamevarchar 图书馆名称 Not Null curatorvarchar 书馆图所属 Not Null telvarchar 联系电话 Not Null addressvarchar 联系地址 Null emailvarchar 电子邮件 Null urlvarchar 网址 Null createDatevarchar 建馆日期 Null introducevarchar 简介 Null 8.办证参数信息表结构设计 对于需要到图书馆进行借阅的读者可办理借阅证用于对图书的借阅凭证,表中 包含了办证所需费用以及证件的有效期限。表的具体结果设计如表 3.8 所示。 表 3.8 图书证参数信息表 parameter 字段名称数据类型描述约束 id int 编号主键不为 null costvarchar 借书证费用 Null validityint 有效期限 Null 9.信息发布表结构设计 管理员预留信息的发布。表的具体结果设计如表 3.9 所示。 表 3.9 信息发布表 information 字段名称数据类型描述约束 id int 编号主键不为 null infomationvarchar 发布的信息 Null timevarchar 发布时间 Null 4 4 系统实施系统实施 4.4.1 1 系统架构分析系统架构分析 框架是一个应用程序的半成品,框架提供了可在应用程序之间共享的、可复用 的公共结构。开发者把框架融入自己的应用程序,并加以扩展,以满足特定需要7。 SSH 框架是指 Struts2 + Hibernate + Spring 三大开源框架技术8,用 SSH 技 术进行开发,能够提高开发效率,层次清晰。不仅实现了视图、控制器与模型的彻 底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模 型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系 统的可复用性。 所以本系统应用 SSH 框架。 Struts2 实现页面的设计和请求的跳转调用业务逻辑;Hibernate 是 jdbc 的轻 量级封装,主要是基于持久层的,它是对数据库的直接操作,利用 hibernate.hbm.xml 对数据库中的表进行关系映射,把数据库中表对应到相应的类, 它的属性是数据库各表的字段的关系映射;Spring 通过依赖注入控制对象的生成和 事务的处理9。 4.24.2 数据库操作接口设计数据库操作接口设计 系统的设计中采用了通用的 DAO 接口10,而不是直接写访问数据库的实现类, 这样可以创建不同的实现类来实现接口。当改变数据库或数据库访问技术时,就可 以编写新的实现类,不用改变原来的代码。以 BorrowDao 对借阅信息数据进行访问 的接口为例,具体设计如下所示。 publicpublic interfaceinterface BorrowDao / 保存借阅信息操作 publicpublic voidvoid save(Borrowinfo borrowinfo); / 删除操作 publicpublic voidvoid delete(Borrowinfo borrowinfo); / 更新借阅信息 publicpublic voidvoid update(Borrowinfo borrowinfo); / 通过Id获得读者的类型 publicpublic Readertype getReaerTypeById(intint id); / 通过读者的ID获得借阅信息 publicpublic Borrowinfo findBorrowinfoById(intint id); / 通过读者的ID获得该读者所有的借阅图书信息 publicpublic List queryBorrowinfoByReaderId(intint id); / 通过图书的ID获得该图书的所有借阅信息 publicpublic List queryBorrowinfoByBookId(intint id); / 获得所有借阅信息 publicpublic List allBorrowinfo(); / 检索用 publicpublic List searchBorrowBook(intint keySearch, String keyValue); / 查询是否超期 publicpublic List getBookByTime(String sysTime, String endTime); publicpublic List getBookByTime(String sysTime, String endTime, Integer id, intint falg); 4.34.3 登录模块的实现登录模块的实现 本模块主要实现用户通过信息验证进入图书馆管理系统。用户输入正确的用户 名,密码和验证码,如果登录信息有错误,则系统提示登录错误信息,并且禁止系 统用户进行任何操作。若登录信息正确,系统会根据用户的身份进行相应权限的判 断,读者进入前台系统,管理员进入后台系统。用户登录窗口如图 4.1 所示。 图4.1 图书馆管理系统登录页面 4.44.4 后台信息管理子系统的实现后台信息管理子系统的实现 管理员登录成功后进入系统首页如图 4.2 所示。 图4.2 管理员登录系统首页 本模块中最主要的是用户管理、读者管理、图书管理、查询管理、借还管理等 操作,其中用户管理包括对管理员进行添加、修改、删除及权限划分操作,也可以按 照条件进行用户的查询。 4.4.1 用户管理模块的实现 系统管理员对管理员进行管理的操作页面如图4.3所示。 图4.3 系统管理员管理用户操作界面 其中对管理员权限的设置是该操作的重要部分也是系统提高效率的关键所在。 权限设置实现代码如下: public String updateInitUser() throws Exception / 通过用户 ID 获得该用户的信息 Manager user = userService.queryUserByID(userInfo.getId(); if(user != null) / 把用户发到 request 中 ServletActionContext.getRequest().setAttribute(“userInfo“, user); / 通过用户 ID 取得用户的权限信息 Purview purv = systemService.queryPurByID(userInfo.getId(); ServletActionContext.getRequest().setAttribute(“purv“, purv); return SUCCESS; else return ERROR; 4.4.2 读者管理模块的实现 读者管理主要实现对读者信息的管理,读者信息管理则主要管理维护读者的基 本信息,读者信息管理功能界面如图 4.4 所示。 读者信息管理提供了添加、修改、删除读者,详细信息查询 4 个基本功能。此 外模块中管理员可以根据搜索条件,指定关键字,并按一定的条件排序来检索读者 信息。 图4.4 读者信息管理界面 4.4.3 图书管理模块的实现 与读者管理模块类似,图书管理模块是对图书信息进行管理,是管理维护图书 馆藏书的基本信息。这个子模块的操作界面图如图 4.5 所示。 图4.5 图书信息管理界面 在此模块中管理员可以根据搜索条件,指定关键字,并按一定的条件排序来检 索图书信息,而且还可以对图书进行添加,修改,删除和详细信息查询等操作。 点击详细信息按钮,或双击某行跳转到图书详细信息界面如图 4.6 所示。其实 现代码如下: public String showBook () throws Exception / 通过图书的条形码查询图书的信息 Bookinfo bookA= bookService.queryBookByID(bookInfo.getBarcode(); if(bookA != null) / 把查询出的图书信息发到 request 中 ServletActionContext.getRequest().setAttribute(“bookInfo“, bookA); return SUCCESS; else return ERROR; 图4.6图书详细信息查看界面 4.4.4 查询管理模块的实现 查询功能模块包括图书信息查询,读者借阅情况查询和读者信息查询三个子功 能模块。 (1)图书查询。可根据图书的条形码、书名、作者、出版社等不同信息进行查询, 其操作界面图如图 4.7 所示。 (2)借阅查询。可对图书当前状态和读者当前的借阅情况进行查询。具有此权限 的用户登录并进入该操作界面后选中相应的查询条件,并输入相应的查询信息,系 统即可在页面显示被查询的图书的状态,或相应读者的当前借阅情况。同时可以显 示当前所有借阅清单。此模块的操作界面如图 4.8 所示。 图4.7 图书查询操作界面 图4.8 借阅查询操作界面 系统中选中限制条件进行查询时,程序是在条件查询的基础上选中符合条件限 制的内容。借阅查询代码如下。 public String searchBorrowBook() throws Exception / 通过条件,查询符合条件的借阅信息 List borrowBookList = borrowService.searchBorrowBook(keySearch,keyValue); / 把符合条件的借阅信息放到 request 中 ServletActionContext.getRequest().setAttribute(“borrowBookList“, borrowBookList); return SUCCESS; (3)读者查询。可根据读者的编号、姓名等不同信息进行查询,其操作界面图如 图 4.9 所示。 图4.9读者查询操作界面 4.4.5 图书借还模块的实现 图书借还功能模块包括图书借阅,图书归还和图书续借和超期查询四个子功能 模块。 (1)图书借阅。可实现系统的借阅功能。读者向图书管理员提供自己的编号会显 示出读者当前的借阅情况,再提供要借阅的图书 ISBN 编号,图书管理员将信息记录 在系统中,借阅成功。如果在借阅时所要借阅的图书不存在或者读者借阅已达借阅 图书的上限,则读者不能借阅图书,系统将给出相应提示。其操作界面如图 4.10 所 示。 图4.10 图书借阅操作界面 (2)图书归还。该子模块实现系统的图书归还功能,读者向图书管理员提供自己 的编号会显示出读者当前的借阅情况,再提供要归还的图书标号,图书管理员将信 息记录在系统中,归还成功。同时显示读者借阅超期图书及超期罚款。其操作界面 如图 4.11 所示。 图4.11 图书归还操作界面 图书归还实现代码如下: public String delBorrowBook() throws Exception / 删除选中的图书 borrowService.delBorrowInfo(borrowInfo); / 通过图书的编号,查询该图书信息 超期罚款 Bookinfo bookInfo1 = bookService.queryBookByID(borrowBookInfo.getBookId(); / 把图书的剩余册数+1 bookInfo1.setStorage(bookInfo1.getStorage()+1); / 更新图书信息 bookService.updateBook(bookInfo1); (3)图书续借。该子模块实现系统的图书续借功能,读者向图书管理员提供自己 的编号会显示出读者当前的借阅情况,选中需要续借的图书,图书管理员将信息记 录在系统中,续借成功。其操作界面如图 4.12 所示。 图4.12 图书续借操作界面 图书续借实现代码如下: public String nextBorrowBook() throws Exception / 取出要续借的图书信息 Borrowinfoborrow BookInfo = borrowService.findBorrowinfoById(borrowInfo.getId(); String dateStr = borrowBookInfo.getBackTime(); String dd = dateStr.substring(8,10); String DD = dateStr.substring(0,8)+ String.valueOf(Integer.parseInt(dd)+30) / 续借一次增加 30 天 java.sql.Date backTime = java.sql.Date.valueOf(DD); borrowBookInfo.setBackTime(backTime.toString(); borrowBookInfo.setIfBack(1); / 0:代表没有续借;1:代表有续借 / 更新借阅信息 borrowService.updateBorrowInfo(borrowBookInfo); / 通过读者 Id 获得该读者的所有借阅信息 List borrowBookList = borrowService.queryBorrowinfoByReaderId(readerInfo.getId(); ServletActionContext.getRequest().setAttribute(“borrowBookList“, borrowBookList); ServletActionContext.getRequest().setAttribute(“borrowBookListLength“, borrowBookList.size(); return SUCCESS; (4)超期查询。该子模块实现对借阅图书的超期查询操作。输入图书应还日期, 查询出在输入日期之前已到期但未还的图书的借阅信息。 4.4.6 预留信息发布模块的实现 此模块主要实现管理员发布消息的功能11。其操作界面如图 4.13 所示。 图4.13 信息发布界面 4.4.7 图书馆信息设置模块的实现 此模块主要是管理员对图书馆基本参数进行维护。其操作界面如图 4.14 所示。 图4.14 图书馆信息设置界面 前台功能和后台的的实现是通过用户的类型来决定的,如果用户的类型是读者, 进入系统后,只能查询自己的借阅信息及查询所有图书的信息;如果用户的类型是 非系统管理员,进入系统后根据权限访问;如用户的类型是系统管理员,所有功能 都可以访问。 4.54.5 前台读者信息查询子系统的实现前台读者信息查询子系统的实现 读者登录成功后进入系统首页如图 4.15 所示。 图4.15 读者登录系统首页 4.5.1 图书查询模块的实现 图书查询可根据图书的条形码、书名、作者、出版社等不同信息进行查询,其 操作界面图如图 4.16 所示。 图4.16 图书查询操作界面 超期提醒 4.5.2 借阅信息查询 读者借阅信息,此页面时显示读者自己的借阅信息,以及所借的图书是否超期 和超期罚款详情。其操作界面图如图 4.17 所示。 图4.17 借阅查询操作界面 5 5 关键技术关键技术介绍介绍 SSH 框架是指 Struts2 + Hibernate + Spring 三大开源框架技术,用 SSH 技术 进行开发,能够提高开发效率,层次清晰14。 5.15.1 Spring+HibernateSpring+Hibernate 整合整合 将Spring与Hibernate整合是一个新的突破,因为Spring可以替换Hibernate与 数据库的连接。 1. 系统与数据库的链接通过Spring的配置来完成。在applicationContext.xml 文件中应该配置如下内容。 org.hibernate.dialect.MySQLDialect true 2.使用 Spring 中的 HibernateDAOSupport 与 HibernateTemplate 类来进行数据 持久化操作。 5.25.2 Spring+Struts2Spring+Struts2 整合整合 必须在 Web 应用启动时,创建 Spring 的 ApplicationContext 实例。 1.Spring 配置在 web.xml 文件中的上下文监听器。 contextConfigLocation classpath*:spring/*.xml org.springframework.web.context.ContextLoaderListener 2.struts2 配置在 web.xml 文件中的过滤器。 struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /* 5.35.3 三者组合开发三者组合开发 1.先从最底层开发,先开发 POJO 类,和 Hibernate 映射文件。它相当于系统的 数据库层。 2.再开发 DAO 层,它是对于数据进行持久化的一层,专门处理各种数据增、删、 改、查的功能。 3.第三是开发 manager 层,它相当于软件的业务逻辑层,即专门处理各种业务 逻辑,实现系统的业务处理功能。 4.Action 层,即软件的表示层,处理 action 的接收与回复。 6 软件测试软件测试 6.1 模块测试模块测试 以登录模块测试为例测试过程如下所示。 表6.1 登录模块用例测试 用例测试数据预期结果 1:输入正确的用户名,密码和 验证码 用户名:zang 密码:11 系统跳转到登陆成功页面 11:输入正确的用户名和密码, 错误验证码 用户名:zang 密码:11 验证码错误! 2:输入空用户名用户名:请输入用户名! 3:输入用户名和空密码用户名:zang 密码:请输入密码! 4: 输入用户名和错误的密码, 正确验证码 用户名:zang 密码:111 密码错误!请重新输入 44: 输入用户名和错误的密码, 错误验证码 用户名:zang 密码:111 验证码错误! 5: 输入错误的用户名和密码, 空验证码 用户名:zangx 密码:11 请输入验证码! 当用户输入的用户名、密码或验证码错误时系统会提示“您输入的用户名、密 码或验证码错误” ,用户点击OK,系统会重新返回登录页面,其中错误信息提示页面 如图6.16.4所示。 图6.1 输入空用户名错误页面 图6.2 用户名错误页面 图6.3 密码错误页面 图6.4 验证码错误页面 6.2 集成测试集成测试 把经过单元测试的模块放在一起形成一个子系统并对它进行测试用于检验模块 相互间的协调和通信,这里主要对图书管理员功能系统进行了测试,经过检验其功 能均得以顺利实现,如下图6.2为管理员操作的读者借阅模块成功运行界面。 图6.2 图书管理员子系统功能测试截图 把经过测试的子系统装配成一个完整的系统进行测试,经过黑盒测试与白盒测 试相结合的方式,对整个系统的各个功能模块进行了测试,并调试改正其中的设计 和编码错误,经过这个环节的操作整个系统的功能基本实现成功运行。 6.3

温馨提示

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

评论

0/150

提交评论