图书管理系(附源码PPT)

1 绪 论

1.1 研究背景

  作为专用于特定领域的信息管理系统,图书管理系统也被称为图书馆的自动化、信息化集成系统,图书管理系统是现代化信息发展的必然产物,也是图书馆发挥信息服务功能的基础设施[1]。高校是图书资源的重要聚集地,伴随着改革开放为高等教育带来的大发展,高校图书馆建设也迎来了快速发展阶段和难得的发展契机。国内众多高校图书馆抢抓机遇,进一步扩充丰富的文献资源,同时,积极应用最前沿的信息技术,提高高校图书馆的服务职能。

1.2 研究意义

  自上世纪八十年代以来,计算机技术、微电子技术以及网络通信技术的迅猛发展,对图书馆建设的自动化和数字化起到了不可估量的推动作用。而传媒技术的发展,使得高校图书馆藏资源渐进丰富,除了传统意义上的书籍之外,光盘、电子出版物等数字化产品的出现,馆藏资源呈现出了印刷型与电子型资源并存的局面,这也推进了数字化图书馆建设的步伐[2]。以计算机技术为依托设计开发数字化管理系统,是数字化建设的基本发展方向,对于促进图书管理信息化、网络化、共享化具有重要的研究价值和实际意义。

  健全完善服务体系,充分开展资源共享,使馆藏资源作用最大化,这是高校图书馆面临的共同课题和难题,而信息化技术的飞速发展,无疑为这一难题提供了有效的解决途径[3]。依托网络环境建设网络基础设施,开发高校图书管理系统,开展包括网上图书预约、催还和续借服务、网上馆际互借和文献传递服务、网上信息资源导引服务等,成为国内众多高校纷纷采取的措施。可以说,在高等学校图书馆信息化建设的进程中,图书管理系统发挥了重要的作用,成为引导读者便捷、准确获取和共享资源的保证。

  目前,图书管理系统并不是新鲜事物,但是早期的单机版系统早已经不能够适应网络时代化的新要求,基于C/S模式的系统也随着Java、Jsp等技术的兴起日渐被摒弃。Jsp、JavaBean、Servlet是电子商务开发的主流,本文使用Jsp开发高校图书管理系统,从系统结构,功能需求,技术可行性等考虑,开发具有实际使用价值的图书管理系统。

1.3 相关研究现状

1.3.1 高校图书管理面临的问题

1、馆藏图书面临严重的"老化"危机

  目前,国内高校的发展都对图书馆藏资源进行了明确要求和规定,在这种数量压力下,图书资源的质量难以得到有效的保证。削減了图书资源的利用效率,也为图书管理增加了难度。

2、信息化发展程度不足

  全球信息化、网络一体化的到来,电子资源呈现喷薄之势,图书的概念大为扩展,种类也日益丰富,不仅包含过去传统的纸质图书,更多的是増加了电子媒介。电子化的资源为图书管理带来了新的难题,信息化的管理方式势在必行。

3.共享程度和开放程度不高

  信息化不足导致难以提高馆藏资源的开放度,也就影响了资源的共享利用。图书资源作为一种社会服务,在为高校师生提供服务的同时,适度对外提供共享,不仅是高等学校开放发展的一种方式,也将有利于开阔校内师生的思维模式。

1.3.2 信息化为图书管理带来新变化

1.资源内涵发生根本性变化

  从某种程度上来讲,电子资源对用户的重要性更大,因为其存储、使用、共享上的便捷性,使其在目前读者中更为受宠。因此,纵然纸质资源目前仍为图书主体,但电子资源的发展速度却不容小视。

2.图书管理有了更为简便的方式

  文献借阅是图书馆为用户提供服务的集中体现,在传统的方式中,用户需要到图书馆中进行文献的查阅,得到感兴趣的书目之后,填写借阅信息单,办理相关的借阅手续,效率极为低下。而信息化的图书管理,这一系列操作在客户端由读者自行即可完成,节约过程方便、快捷,图书馆也可以通过互联网提供不间断的服务,大大提高服务效率。

3.检索方式发生巨大变化

  各种检索工具的出现,为用户提供了不同形式、不同类型的检索功能,极大地方便了馆藏资源信息的获取和检索。交互界面、菜单选项、鼠标操作等应用,使得信息检索更为简洁和容易,用户只需要根据提示进行简单的操作,便可以实现较为复杂的检索功能,并且这种检索速度是手工方式无法比拟的,消除了手工检索在效率上和应用中的不便。

2 相关技术

2.1 JSP 概述

JSP全名为Java Server
  Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun
Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准[4]。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

  JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑[5]。网页还能通过tags和scriptlets访
问存在于服务端的资源的应用逻辑。

  JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来[6]

2.2 MySQL 数据库技术

  MySQL是一个关系型数据库管理系统,由瑞典MySQLAB 公司开发,属于 Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS(Relational Database Management System,关系数据库管理系统)应用软件之一。

  MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型和大型网站的开发都选择MySQL 作为网站数据库。

2.3 Spring

  Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用[7]。Spring是于2003年兴起的一个轻量级的Java 开发框架,由RodJohnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

2.4 SpringMVC

  Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。

  Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。 使用 Spring可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts这样的 Web 框架[8]。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如 JavaServer
Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

2.5 Dbcp

  DBCP(DataBase ConnectionPool)数据库连接池,是Java数据库连接池的一种,由Apache开发,通过数据库连接池,可以让程序自动管理数据库连接的释放和断开。

  DBCP(DataBase connection pool)数据库连接池。是 Apache 上的一个 Java连接池项目,也是 tomcat使用的连接池组件。单独使用DBCP需要2个包:commons-dbcp.jar和commons-pool.jar。由于建立数据库连接是一种非常耗时、耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,使用完毕后再归还到连接池中。

2.6 Maven

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理软件。

  Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven的缺省构建规则有较高的可重用性,所以常常用两三行 Maven构建脚本就可以构建简单的项目[9]。由于 Maven 的面向项目的方法,许多Apache Jakarta 项目发文时使用 Maven,而且公司目前采用 Maven的比例在持续增长。

  Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在JakataTurbine项目中用来简化构建过程。当时有一些项目(有各自Antbuild文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs。

3 系统分析

3.1 需求分析

3.1.1 系统的功能需求分析

(1) 图书借阅者的功能需求分析

  图书借阅者的需求是查询图书室所存的图书、个人借阅情况及个人信息的修改。

  图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。

  查询图书馆的所有藏书信息(书名、作者、出版社、ISBN、价格、剩余数量以及详情) ;查看个人信息(包括个人信息情况、查询馆藏图书信息、借阅图书信息、借阅图书归还信息、图书借还日志) ; 借阅者修改个人信息。

(2) 图书管理员的功能需求分析

  图书馆管理人员的功能,包括对图书借阅者、图书信息进行管理和维护,及系统状态的查看、维护等。

  对现有藏书的信息操作(包括查询图书信息、添加图书信息修改图书信息、删除图书信息) ;对新进藏书信息的操作(图书的编号、图书名称、著作者出版信息) ;藏书借出与归还操作;查看借阅者信息操作(借阅者的编号、借阅者姓名、图书名称) ;借阅者身份管理操作(增加借阅者、修改借阅者信息、删除借阅者信息)。

3.1.2 系统的非功能需求分析

(1)安全性。在当今网络普及的社会,网络安全问题一直是人们关注的问题。一个系统更要考虑安全问题。在网络安全方面除了物理设备一些的安全防范外,还可以通过软件防止一些非授权的损害。在程序方面的网络安全我们可以从用户权限、动态口令、数据库字段加密等入手[10]。出于安全角度的考虑,在本系统内中使用了用户权限的方法,为用户的敏感资料保密。

(2)可靠性。可靠就是在规定的时间和条件下,保持软件的性能水平的稳定性。可靠性除了容错性好、恢复性强外,还与系统的运行环境、平台的选择、代码的质量息息相关。越可靠的系统其运行的速度就会越慢,运行效率和运行时的可靠性是相互制约的一组属性,所以在选择的时候要综合考虑。

(3)维护性。可维护性是指对特定内容修改所要做的努力程度。为了便于系统维护时候的分析,可以在系统的某些部分加入日志记录。为了方便以后系统的升级维护,在设计的时候本系统是以模块设计的,并尽量减少模块之间的联系,这样在改动其中的一个模块的时候不至于所有的模块都要改动,从而减少后期维护的工作量。

(4)美观性。要求界面美观,操作简便。

3.2 可行性分析

3.2.1 经济可行性

  从经济来说,本系统是学生们在学校利用课设时间做出来的,不需要任何的消费和支出,是学生们用自己所学的课程和自己的知识相结合起来的成果,唯一需要的就是时间,因此,该系统在经济上来说是可行的。

3.2.2 技术可行性

  基于本学期我们所学的JSP课程及相关技术,开发出图书管理系统。在进行技术可行性分析之前,必须要明确系统的目标,从系统的性能开始,考察它的性能,是否具备必要的环境,是否具备有工作经验的系统操作人员,人员的数量问题等等。在技术的选择上,该系统运用了JSP、Dbcp、SpringMVC,在数据的存储上应用的是MYSQL数据库。该系统的硬件相当过关,具有较大的选择余地,保障了系统的开发和运行,所以在硬件配置方面具有一定的可行性。诸多的研究发现,该系统在技术上是可行的。

3.2.3 操作可行性

  图书管理系统具备友好的用户界面,使用方便,易于维护,操作简单易于被用户接受,用户不需要学习复杂的计算机专业知识,用户只需熟练操作计算机,另外此系统也附带有显示视频,和对此系统使用做简单的了解即可方便使用,且操作工具只需要一台计算机即可,在人员的配备上也能够满足系统运行的需要。因此从使用操作方面看,此系统的开发是可行的。

4 系统设计

4.1概要设计

4.1.1 系统功能描述

  图书管理系统主要分为读者模块和图书馆管理员模块。读者仅可以修改个人信息、借阅或者查还书籍和查看自己的借还记录。图书管理员可以修改读者信息、修改图书信息,查看所有的借还日志等。

4.1.2 系统功能模块

图书馆管理系统功能模块图4.1所示。

在这里插入图片描述

图4.1 图书馆管理系统功能模块图

读者登录模块如图4.2所示。

在这里插入图片描述

图4.2 读者登录模块

管理员登录模块如图4.3所示。
在这里插入图片描述

图4.3管理员登录模块

4.2模块设计

4.2.1 读者模块

  读者需要登录账号,登录成功后,读者可以进行图书查询,个人信息查询,修改密码,查看自己的借阅书籍记录等相关操作。

读者模块的控制流程图如图4.4所示。
在这里插入图片描述

图4.4 读者模块控制流程图

4.2.2 图书管理员模块

图书管理员可以修改读者信息、修改图书信息,查看所有的借还日志等。

图书管理员模块的控制流程图如图4.5所示。

在这里插入图片描述

图4.5 管理员模块流程图

4.3 数据库设计

4.3.1 概念结构设计

图书管理系统的E-R图如图4.6所示。

在这里插入图片描述

图4.6 图书管理系统的E-R图

4.3.2 逻辑结构设计

图书关系模式(标准书号,书名,简介,出版时间,数量,作者,出版社,语言,价格,分类)

读者关系模式(读者号,姓名,性别,生日,地址,电话)

管理员关系模式(id,密码,用户名)

借阅关系模式(标准书号,读者号,借阅日期,归还日期)

管理关系模式(标准书号,读者号id,分类号,类别名)

4.3.3 物理结构设计

书籍信息表如表4.1所示。

表4.1 书籍信息表

列名 类型 长度 小数点 NULL 用途 键


book_id bigint 20 0 否 图书号 主键
name varchar 20 0 否 书名
author varchar 15 0 否 作者
publish varchar 20 0 否 出版社
ISBN varchar 15 0 否 标准书号
introduction text 0 0 是 简介
ianguage varchar 4 0 否 语言
price dedcimal 10 2 否 价格
pub_date date 0 0 否 出版时间
class_id int 11 0 是 分类号 外键
class_name varchar 15 0 否 类别名
Number int 11 0 是 剩余数量

数据库管理员表admin如表4.2所示。

表4.2 数据库管理员表admin

列名 类型 长度 小数点 NULL 用途 键


admin_id bignit 20 0 否 账号 主键
password varchar 15 0 否 密码
username varchar 15 0 是 用户名

借阅信息表lend_list如表4.3所示。

表4.3借阅信息表lend_list

列名 类型 长度 小数点 NULL 用途 键


ser_num bigint 20 0 否 流水号 主键
book_id bigint 20 0 否 图书号 外键
reader_id bigint 20 0 否 读者证号 外键
lend_date date 0 0 是 借出日期
back_date date 0 0 是 归还日期

读者信息表reader_info如表4.4所示。

列名 类型 长度 小数点 NULL 用途 键


reader_id bigint 20 0 否 读者证号 主键
name varchar 10 0 否 姓名
sex varchar 2 0 否 性别
birth date 0 0 否 生日
address varchar 50 0 否 地址
phone varchar 15 0 否 电话
password varchar 15 0 否 密码
username varchar 15 0 是 用户名

表4.4读者信息表reader_info

5 系统实现

5.1 详细设计

系统分为读者模块和管理模块。

读者模块,查询所有图书的信息,如图书的名称、剩余数量、详情等;个人信息的编辑完善,修改初始化密码等。

管理员模块,图书管理、用户管理、借还日志管理,如图书的增删改查、用户信息的增删改查等。

5.1.1 读者登录模块

在没有登录系统的情况下,不可以进入该系统查询和借阅图书,对于用户的账号管理,统一由管理员完成注册,并通过负责人发放账号。对于读者在登录时,后台会验证该账户是否存在,密码是否正确。下面是实现读者登录功能的核心代码块。

当点击登录按钮前端页面会通过Ajax向后端发送POST请求,数据并以JSON的形式传递,请求后端接口"api/loginCheck"。

\$.ajax({
   

type: \"POST\",

url: \"api/loginCheck\",

data: {
   

id:id ,

passwd: passwd

},

后端接收到请求后,验证账号密码是否正确,通过身份码来确定登录人员的权限,并响应跳转到相对应的页面。

\@RequestMapping(value = \"/api/loginCheck\", method =
RequestMethod.POST) //接口,请求方式是POST

public \@ResponseBody Object loginCheck(HttpServletRequest request) {
   

// \@ResponseBody,数据是JSON形式

if<
  • 16
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【资源说明】 基于Python+tkinter+MySQL的图书管理系统+设计报告+PPT(课程设计).zip 本图书管理系统是基于Python编程语言、tkinter图形化用户界面库、MySQL数据库开发的小型项目,旨 在帮助机构或个人实现对书籍的高效管理和查询。 本统具有交互性和可视性的特点,拥有注册登录、添加书籍、删除书籍、修改书籍信息、查询书籍信 息等基本功能,是一款轻量级、易于使用的应用程序。由于使用了tkinter图形化界面库,用户可以轻松 地浏览和使用该统。统具有美观的界面、友好的操作流程、快速的数据访问速度和稳定的数据管理 工具,用户可以用它方便地管理自己的图书数据。 总之,本图书管理系统通过提供一列功能和良好的用户体验,使得用户可以快速、精确地管理和查询 书籍信息,提高操作效率,方便管理工作。如果需要,该统还可以在此基础上进行扩展、升级和改 进,以满足更全面的需求。 开发工具 基于 Python tkinter 与 MySQL的图书管理系统 简单地实现了包括用户登录和管理图书的功能。 内源码和小组答辩ppt。 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值