h实现图书馆管理系统_ssh图书管理系统

2020-02-27 其他范文 下载本文

h实现图书馆管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“ssh图书管理系统”。

基于SSH的图书馆管理系统的设计与实现

摘要:

通过对图书馆管理系统的运行管理机制进行调查研究,采用Java编程技术和MySQL数据库,在MyEclipse 集成开发环境下应用SSH框架,完成了图书馆管理系统的设计全过程。本系统在开发过程中采用B/S结构,运用面向对象的开发技术,实现了浏览器端和服务器端的各自功能,其中浏览器端主要实现了读者登录、查询、超期提醒等功能,服务器端主要实现了系统设置、读者管理、图书管理、用户管理、图书借还、系统查询、更改密码等管理员功能。系统通过Hibernate和数据库进行连接,有效解决了数据库连接及访问过程中的安全性及效率问题,提高了系统的可靠性及运行效率。论文较详细地叙述了该系统开发实现的全过程,并对具体关键技术及开发中遇到的问题进行了详尽的描述。关键词: 图书馆管理 SSH 借阅查询 图书借还 1 引言

随着计算机的广泛应用,图书馆管理系统逐步成为现代化的标志。图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。准备建立一个图书馆管理系统,使图书管理工作规范化、系统化、程序化,提高信息处理的速度和准确性,能够及时准备,有效的查询和修改图书的情况。

图书馆管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化,图书新增及销毁的及时化,用户及图书信息的更新。围绕这一主要功能,本系统涉及到以下核心功能:借阅管理、归还管理、图书管理、读者管理、用户管理。除了这些核心功能外,还包括一些基本和辅助功能,它们是:系统查询、系统设置。

管理系统,方便实现图书查询、借阅管理等功能,提高工作效率和工作质量,有利于对整个业务发展趋势进行分析,具有重要的开发价值和应用意义。2.2 解决方案 系统采用B/S模式、面向对象的设计方法,用Java技术,以关系型数据库MySql作为后台数据库,MyEclipse 8.5作为开发环境下应用SSH框架进行开发设计[1]。考虑到浏览器端、服务器端对数据库的操作,决定利用Hibernate持久化框架来操纵数据库。2.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.4 用户需求

通过对图书馆管理流程的分析与研究,以及与读者和图书馆管理员的交流,得出用户对系统功能的实际需求。2.4.1 系统的基本信息 1.图书的基本信息

图书馆具有若干图书,图书有出版社、图书名称、图书编号、ISBN编号、图书类型等信息。读者可以任意选择图书馆的某本图书。2.用户的基本信息

用户通过身份验证登录系统,执行相应权限的操作;包括登录名,登录密码,用户姓名,用户类型,权限等。3.读者的基本信息 图书馆具有若干读者,读者有读者姓名、读者编号、证件号、读者类型等信息。4.查询的基本信息

读者通过相应查询条件查询图书信息和自身借阅详情以及超期罚款情况;管理员通过相应查询条件查询图书信息,读者信息,借阅情况和超期查询详情。5.借还业务的基本信息

管理员根据读者的要求进行查询,在查询的基础之上输入读者的信息(读者姓名、证件号),等待读者核对信息、确认。执行相应的操作。

3.1 系统总体设计

根据需求分析,得出本系统前后台两种不同权限要求[5],前台要求实现查询图书、借阅详情等操作,后台要求能够对图书信息、读者信息、用户信息、系统查询、图书借还、系统设置等分别进行管理。系统功能模块划分如图3.1所示。后台信息管理子系统各模块功能描述如下。

(1)图书管理模块:对图书的基本信息进行管理,可以对图书的基本信息进行添加、修改、删除、详细信息查询操作,均是针对bookinfo表进行的,并将操作后的结果保存在该表中。

(2)读者管理模块:对读者的基本信息进行管理,可以对读者的基本信息进行添加、修改、删除、详细信息查询操作,均是针对readerinfo表进行的,并将操作后的结果保存在该表中。图3.1 系统结构图

(3)用户管理模块:对用户的基本信息进行管理,可以对用户的基本信息进行添加、修改、删除操作,均是针对manager表进行的,并将操作后的结果保存在该表中其中最主要的是对用户权限进行设置(系统管理员特有)。(4)系统查询:根据查询条件查看图书信息,读者信息,借阅详情。(5)图书借还:包括图书借阅,续借,归还(超期罚款),超期查询等操作。(6)系统设置:设置图书馆信息(系统管理员特有),实现信息发布。(7)管理员密码修改:管理员可以修改自己的密码。前台读者信息查询子系统各模块功能描述如下。(1)读者登录模块:对读者身份进行验证。

(2)查询模块:对图书信息,读者自己借阅情况(包括超期处罚)进行查询。图书馆管理系统 前台读者登录 后台用户登录 系统主页 查询页面

借阅及超期查询 图书查询页面

用户管理 详细信息 添加信息 更改信息 删除信息 读者管理 图书管理 图书借还 图书借阅

图书续借 图书归还 超期查询 系统设置 消息发布 更改密码 图书馆设置 查询管理 图书查询

读者查询 借阅查询

(3)超期提醒和罚款模块:读者登录系统看到自己的超期借阅情况,并可查看超期详情。

3.2 数据库设计 3.2.1 概要设计

整个系统所包括的信息有图书信息、读者信息、图书借阅信息、图书归还信息、系统用户信息、读者类型信息。可将这些信息抽象为下列系统所需要的数据项和数据结构[2]。(1)图书信息(条形码,图书名称,类型,作者,译者,出版社,ISBN,价格,所在书架,录入时间,管理员编号等)

(2)管理员权限表(编号,系统设置,读者管理,图书管理,图书借还,系统查询,用户管理)(3)读者信息(编号,姓名,性别,条形码,读者类型,出生年月,证件号码,办证日期,电话,邮箱,管理员编号等)

(4)读者类型(编号,名称,可借阅书数量,可借阅书天数)(5)图书借阅信息(编号,读者编号,图书编号,借书时间,还书时间,管理员编号,是否续借过, 图书名称,读者名称)

(6)管理员(编号,姓名,登录名,登录密码,性别,管理员类型等)(7)图书馆信息(编号,名称,图书馆所属,电话,地址,邮箱,网址,创建日期,简介)(8)图书馆参数信息(编号,办证费用,有效期限)(9)信息发布(编号,信息)表3.8 图书证参数信息表parameter 字段名称 数据类型 描述 约束 id int 编号

主键不为null cost varchar 借书证费用 Null validity int 有效期限 Null 9.信息发布表结构设计

管理员预留信息的发布。表的具体结果设计如表3.9所示。表3.9 信息发布表information 字段名称 数据类型 描述 约束 id int 编号

主键不为null infomation varchar 发布的信息 Null time varchar 发布时间 Null 4 系统实施

4.1 系统架构分析

框架是一个应用程序的半成品,框架提供了可在应用程序之间共享的、可复用的公共结构。开发者把框架融入自己的应用程序,并加以扩展,以满足特定需要[7]。

SSH框架是指Struts2 + Hibernate + Spring三大开源框架技术[8],用SSH技术进行开发,能够提高开发效率,层次清晰。不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。所以本系统应用SSH框架。Struts2实现页面的设计和请求的跳转调用业务逻辑;Hibernate是jdbc的轻量级封装,主要是基于持久层的,它是对数据库的直接操作,利用hibernate.hbm.xml对数据库中的表进行关系映射,把数据库中表对应到相应的类,它的属性是数据库各表的字段的关系映射;Spring通过依赖注入控制对象的生成和事务的处理[9]。4.2 数据库操作接口设计

系统的设计中采用了通用的DAO接口[10],而不是直接写访问数据库的实现类,这样可以创建不同的实现类来实现接口。当改变数据库或数据库访问技术时,就可以编写新的实现类,不用改变原来的代码。以BorrowDao对借阅信息数据进行访问的接口为例,具体设计如下所示。

public interface BorrowDao { // 保存借阅信息操作

public void save(Borrowinfo borrowinfo);// 删除操作

public void delete(Borrowinfo borrowinfo);// 更新借阅信息

public void update(Borrowinfo borrowinfo);// 通过Id获得读者的类型

public Readertype getReaerTypeById(int id);// 通过读者的ID获得借阅信息

public Borrowinfo findBorrowinfoById(int id);// 通过读者的ID获得该读者所有的借阅图书信息

public List queryBorrowinfoByReaderId(int id);// 通过图书的ID获得该图书的所有借阅信息

public List queryBorrowinfoByBookId(int id);// 获得所有借阅信息

public List allBorrowinfo();// 检索用

public List searchBorrowBook(int keySearch, String keyValue);// 查询是否超期

public List getBookByTime(String sysTime, String endTime);public List getBookByTime(String sysTime, String endTime, Integer id, int falg);} 关键技术介绍

SSH框架是指Struts2 + Hibernate + Spring三大开源框架技术,用SSH技术进行开发,能够提高开发效率,层次清晰[14]。5.1 Spring+Hibernate整合将Spring与Hibernate整合是一个新的突破,因为Spring可以替换Hibernate与数据库的连接。1.系统与数据库的链接通过Spring的配置来完成。在applicationContext.xml文件中应该配置如下内容。

org.hibernate.dialect.MySQLDialect

true 2.使用Spring中的HibernateDAOSupport与HibernateTemplate类来进行数据持久化操作。

5.2 Spring+Struts2整合必须在Web应用启动时,创建Spring的ApplicationContext实例。1.Spring配置在web.xml文件中的上下文监听器。

contextConfigLocation

clapath*:spring/*.xml org.springframework.web.context.ContextLoaderListener 2.struts2配置在web.xml文件中的过滤器。struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /*.do 5.3 三者组合开发

1.先从最底层开发,先开发POJO类,和Hibernate映射文件。它相当于系统的数据库层。

2.再开发DAO层,它是对于数据进行持久化的一层,专门处理各种数据增、删、改、查的功能。

3.第三是开发manager层,它相当于软件的业务逻辑层,即专门处理各种业务逻辑,实现系统的业务处理功能。

4.Action层,即软件的表示层,处理action的接收与回复。

《h实现图书馆管理系统.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
h实现图书馆管理系统
点击下载文档
相关专题 ssh图书管理系统 管理系统 图书馆 ssh图书管理系统 管理系统 图书馆
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文