RFID智慧图书馆|图书管理系统|电子图书馆软件-河南亿火网络科技有限公司
 
 
python图书馆管理系统
来源:网络整理 时间:2024-06-09

图书管理系统设计与实现

摘 要

以往的图书馆管理事务处理主要使用的是传统的人工管理方式,这种管理方式存在着管理效率低、操作流程繁琐、保密性差等缺点,长期的人工管理模式会产生大量的文本借书与文本数据,这对事务的查询、更新以及维护带来不少困难。随着互联网时代的到来,现如今网络的覆盖率已近非常的全面,现在人们对网络的需求也越来越高,为了减轻管理人员的工作负担,提高管理人员的工作效率,因此通过网络平台创建一个便捷高效的图书馆管理来优化管理业务。通过本网站,用户可以在线查看相关信息可以说图书馆管理是偏向实际应用的网站。本文介绍了图书馆管理设计方案,该网站采用目前django中*流行的python框架和Eclipse编辑器、MySQL数据库设计并实现的。网站功能包含系统用户管理、图书管理、用户管理、借书管理、续借管理、违章缴款管理等模块。概述了整个系统的设计框架,介绍了系统软件开发编译环境的搭建,阐述了各模块的功能及程序调用关系设计过程。

关键词:django;MySQL;python框架

ABSTRACT

In the past, the traditional manual management method was mainly used in the management of library affairs, which had some shortcomings such as low management efficiency, complicated operation process and poor confidentiality, the long-term manual management mode will produce a large number of text books and text data, which brings many difficulties to the transaction query, update and maintenance。 With the advent of the Internet Age, today’s network coverage rate has been very comprehensive, now people’s demand for the network is also getting higher and higher, in order to reduce the workload of managers, improve the work efficiency of managers, therefore through the network platform to create a convenient and efficient library management to optimize the management of business。

Through this website, the user may view the related information on-line may say that the library management is inclines the actual application the website。 This paper introduces the design scheme of library management。 The website is designed and implemented by using the most popular python framework in django, Eclipse editor and MySQL database。 The website function includes system user management, library management, User Management, book management, Renewal Management, illegal payment management and other modules。

This paper summarizes the design framework of the whole system, introduces the construction of the system software development and compilation environment, and expounds the functions of each module and the design process of the program call relation。

KEY WORDS:django; MySQL;python frameworkt

目 录

摘 要 I

ABSTRACT I

目 录 III

第1章 绪论 1

1.1开发背景 1

1.2开发意义 1

1.3研究内容 1

第2章 主要技术和工具介绍 3

2.1 django技术 3

2.2 python 框架 3

2.3 MySQL数据库 4

第3章 系统分析 5

3.1可行性分析 5

3.1.1经济可行性 5

3.1.2技术可行性 5

3.1.3操作可行性 5

3.2需求分析 5

3.3业务流程分析 6

3.4数据流程分析 7

第4章 系统设计 8

4.1系统结构设计 8

4.2功能模块设计 8

4.3数据库设计 9

4.3.1 E-R图设计 9

4.3.2表设计 11

第5章 系统实现 15

5.1主页面的实现 15

5.2注册模块的实现 15

5.3登录模块的实现 16

第6章 系统测试 21

6.1测试目的 21

6.2测试概述 21

6.3单元测试 21

6.3.1登录测试 21

6.3.2图书管理测试 22

6.3.3用户管理测试 23

6.4测试结果 23

第7章 总结 25

致 谢 26

参考文献 26

第1章 绪论

1.1开发背景

现今社会生活中,随着需求的日益多元化,互联网成了主流,所持有的管理软件资源也随之丰富,*直观的表现就是管理系统无论从种类还是数量上都大幅增加,这就加快了管理系统的开发与研究的脚步。

在发展迅速的信息化时代中,越来越多互联网科技走进人们的生活,人们开始接受互联网带来的方便快捷的服务。图书馆管理如果还用传统的管理模式,时间久了,管理十分不便利,存在误差,查询难的现象,一旦数据过多,人工管理方式就很难维持。随着信息技术的应用拓展,逐渐引用了信息化技术管理,逐渐取代了人工管理模式,采用计算机系统来管理用户信息,智能的管理减少了人力物力财力,节省了管理的时间和空间,提升了工作的准确率和效率。本次系统开发,主要以图书馆管理为对象,根据需求来完成功能设计[1][2]。

1.2开发意义

用户往往因为不能及时图书而造成许多不必要的烦恼。另一方面,图书信息没能进行系统的管理与维护使用户没能在系统里及时的获取到信息。而传统的图书馆管理,采用的还是人工管理、手工备案、人工查询的方式。但是随之用户人数的增多这种管理方式的工作量不断加大,这种做法就存在费时费力、缺乏时效性、不利于调动人员的积极性等缺点。一旦网站建立好之后,一方面,用户可以在**时间在系统里发布所需的图书信息,另一方面,系统还可以管理图书信息,就减少了人工处理的工作量。

建立本图书馆管理是为了通过管理者对图书信息的录入和发布,以方便用户对自己所需图书信息的查询,一旦查询到自己所需要的图书信息,用户便可以从系统中获得图书信息信息,以方便在线及时发布。如果用户没有查询到自己所需求的图书信息信息,也可以在线提醒管理者增添。这样,本系统旨在建立用户、管理者二者之间的桥梁关系,从而使用户能及时有效的从管理者手中获取到信息。所以我们认为建立一个网上图书馆管理是非常必要的,其方便高效、简单快捷的管理模式是很有使用性的[3][4]。

1.3研究内容

1.不同管理员的登录问题:根据管理员的类别(管理员、用户)实现管理员操作权限的区分并显示不同的操作界面。

2.数据库的连接问题:数据库连接为系统中的关键技术。

3.数据的一致性和安全问题:本系统必须保证数据的一致性和安全,才能实现有效的管理。不能让没有权限的管理员对数据进行操作并且定期对数据库进行备份。

4.界面开发:系统界面的设计很重要,要使界面具有亲和力。

5.分析信息化现状;

6.研究图书馆管理的现状及存在的问题;

7.研究系统平台的总体架构、总体设计、数据库设计、数据库安全设计及功能设计;

8.研究平台各个子系统的功能及实现的方法、信息技术的融合、信息安全技术的维护;

9.进行图书馆管理的功能设计。

第2章 主要技术和工具介绍

2.1 python简介

Python 是一个高层次的脚本语言结合了解释性、编译性、互动性和面向对象的。Python 的设计,相比其他语言经常使用英文关键字和其他语言的一些标点符号,它具有比其他语言更有用户语法结构,具有很强的可读性。

解释型语言:类似于python和Perl语言,这意味着开发过程中没有了编译这个环节。

交互式语言:可以在一个 Python 提示符 >>> 后直接执行代码。

面向对象语言:Python支持面向对象的风格或代码封装在对象的编程技术。

2.5 Dango框架介绍

Dango是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,

程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Dj ango框架中,

还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性 [2] 。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:

用于创建模型的对象关系映射;为*终用户设计较好的管理界面;URL 设计;设计者友好的模板语言;缓存系统。

Django(发音:[`d???ɡ??]) 是用python语言写的开源web开发框架(open source web framework),它鼓励快速开发,并遵循MVC设计。Django遵守BSD版权,初次发布于

2005年7月, 并于2008年9月发布了**个正式版本1.0 。

Django 根据比利时的爵士音乐家Django Reinhardt命名,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,

被著名IT开发杂志SD Times评选为2013 SD Times 100,位列“API、库和框架”分类第6位,被认为是该领域的佼佼者

2.3 MYSQL数据库

网站的开发必须配套相应数据库,数据库具有一定的组织结构,能够存放和管理数据信息,在以前数据库的功能仅仅是数据保存和管理操作,但是时代的变迁和发展,现在的数据库演变成了数据处理的方式,数据库从*开始的简单存放数据表格信息到现在的能够存放成千上万数据的大型数据库,期间还是经历了许多的改革。

本次开发的图书管理系统 使用的数据库是MYSQL数据库,该数据库运行速度快,安全性能也很高,而且对使用的平台没有任何的限制,所以被广泛应运到系统的开发中。MySQL是一个开源和多线程的关系管理数据库系统,MySQL是开放源代码的数据库,具有跨平台性,虽然功能未必强大,导致很多人都了解这个数据库的基本应用,在数据库中,总共建立了10几个表,这里面每个表都是相对应的,都各自有各自的联系,数据库意义重大,如果没有数据库的链接,就没办法运行程序,这显然可以看见数据库与程序的重要性,是紧密相连接的[9]。

2.4 B/S结构

B/S(浏览器/服务器)结构是目前主流的网络化的结构模式,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。只需要用户在客户端安装360浏览器、谷歌浏览器、QQ浏览器等当前大众浏览器,在电脑里面安装sqlserver、mysql数据库等数据库[10]。安装好的浏览器与服务器端的数据库进行信息数据的交互。很多专门软件能够做到的事情,采用B/S结构模式也能实现,它能够结合Web浏览器技术,ActiveX技术以及多种脚本语言等技术。帮助程序开发者节约了不少开发成本。目前B/S结构成为程序开发主流结构,它*好的地方就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。

在这里插入图片描述

图2-1 B/S模式三层结构图

第3章 系统分析

3.2需求分析

针对现存的问题和需要,通过功能需求的分析,特建立了数字化、信息化的图书馆管理。

本系统主要包含了图书管理、用户管理、续借等多个功能模块。下面分别简单阐述一下这几个功能模块需求。不同的权限对应相应的功能模块的需求,管理员权限的级别是*高的,所以所对应的需求是*多的,下面根据不同的权限分别简单阐述一下各个权限的需求。

管理员对应的功能需求如下:

管理员的权限是*高的,可以对系统的图书,用户信息,续借等信息进行统一管理。

管理员可添加管理员,添加更多的管理人员,并且能修改和删除管理员的信息资料。

有关图书,管理员可添加图书,添加有关图书的出版社、借阅次数、库存、类别、图片、图书编号、图书简介、图书名称、作者等信息,添加的图书都会显示在系统中,还可以通过关键字进行搜索查询,管理员也可以修改和删除相关的图书。

有关续借管理,管理员可添加续借,添加有关续借的出版社、借书单号、借书人、借书日期、库存、类别、图书编号、图书名称、续借天数、作者等信息,添加的续借都会显示在系统中,还可以通过关键字进行搜索查询,管理员也可以修改和删除相关的续借。

有关违章缴款管理,管理员添加违章缴款,添加有关违章缴款的罚款金额、罚款类型、罚款详情、借书单号、借书人、借书日期、类别、流水号、是否缴款、图书等信息,添加的违章缴款都会显示在系统中,还可以通过关键字进行搜索查询,管理员也可以修改和删除相关的用户。

有关借书管理模块,管理员可添加借书,比如可添加有关借书的出版社、借书单号、借书人、借书日期、库存、类别、图书编号、图书名称、作者等信息,添加的借书都会显示在系统中,还可以通过关键字进行搜索查询,管理员也可以修改和删除相关的借书。

用户对应的功能需求如下:

用户可以通过系统进行注册,注册完成并通过系统审核的用户可查询,修改自己的基础信息,比如修改登录密码等功能。

用户可通过网站在线浏览,查询网站的用户,借书,图书,还可以在网站在线续借。

3.3业务流程分析

总体业务流程:用户以及管理员以不同的身份在登录页面输入账号和密码,经过数据库身份验证,验证成功后登录系统主页,可以使用系统,管理系统等功能操作 。

系统的业务流程如下图所示。

在这里插入图片描述

图3-1系统业务流程图

3.4数据流程分析

数据流图的简称为DFD,是通过使用图形的方法对系统所具备的逻辑功能进行阐述,描述系统数据的流向和逻辑变换。由于该方法能将难以阐述的问题进行表述,因此被开发者广泛应用,是当前应用范围较为广泛的结构化系统分析方法。

零层数据流程是流程中*抽象的一层,它包括了登录管理、管理员功能管理和检索维护管理等功能模块,在登录模块使用到的数据存储有管理员账户信息文档、管理员信息文档,管理员功能管理模块需要的存储是管理员添加信息文档、查询信息文档、删除信息文档,检索维护是通过以上这些文档信息通过关键词进行搜索。

系统的顶层数据流图如下图所示。

在这里插入图片描述

图3-2系统顶层数据流图

系统数据流图中,数据实体包括普通用户,普通用户数据流程包括功能选择、图书管理、用户管理;管理员数据流包括添加信息、删除信息、修改信息、查询信息、浏览信息、提示信息等。

系统的中层数据流图如下图所示。

在这里插入图片描述

图3-3系统中层数据流图

3.5可行性分析

在系统开发之初要进行系统可行分析,这样做的目的就是使用*小成本解决*大问题,一旦程序开发满足用户需要,带来的好处也是很多的。下面我们将从技术上、操作上、经济上等方面来考虑这个系统到底值不值得开发。

3.1.1 技术可行性

从图书管理管理系统所需要实现的功能、性能等等各方面条件出发,现在的技术条件完全可以实现,无论从硬件方面还是软件方面。其开发所需要的软件环境为:中文Win7 或以上的操作系统;pycharm集成开发环境,IIS10.0 服务器,mysql数据库服务器。使用python开发,可以将任务进行细化,能够提供各种控件和组件、标签,有效提高了程序开发速度。

我在设计该系统的时候主要是从节约成本出发,然后进行具体的系统的设计,在系统的设计过程中由于采用的所有工具以及技术支持全部都是免费的,因此不需要有任何的成本就可以进行该系统的设计。所用到的所有资源都是免费的,只要有网络就可以进行下载使用,不需要支付相应的费用,因此该项目在经济方面是完全可以实行的。

3.1.3操作可行性

本人自己就是学生,程序开发经验不足,在界面设计上面不会设计太复杂,要讲究简单好看,操作上要方便,不能让用户觉得不流畅。用户一旦进入操作界面,界面上就会有相应提示,跟着操作提示就可以找到对应的功能操作模块,对于用户来说免培训就能使用。

从上面几个部分的可行性分析得出,这次开发的图书管理系统 在开发上面没有什么大问题,值得开发。

3.6 系统性能分析

(1)系统响应效率:页面响应时问应该在3秒以内,*长不能超过4秒,并支持至少10000人同时在线所有系统。

(2)界面简洁清晰:系统界面要求简单明了,容易操作,符合用户操作习惯。

(3)储存性高:因为图书管理系统 中有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。

(4)易学性:该系统在操作上必须简单好上手,没有很多复杂的操作,只需要简单的进行学习就能操作该系统。

(5)稳定性需求:开发的图书管理系统 要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。

(6)稳定性:开发的图书管理系统 要求运行稳定,运行过程中无界面不清楚、字体模糊等现象。

3.4系统流程分析

3.4.1登录流程

登录模块主要满足管理员以及用户的权限登录,用户登录流程图如图3-3所示。

在这里插入图片描述

图3-3 登录流程图

3.4.2注册流程

未有账号的用户可进入注册界面进行注册操作,用户注册流程图如图3-4所示。

在这里插入图片描述

图3-4 注册流程图

3.4.3添加信息流程

用户在添加信息时,信息编号自动生成,系统会对添加的信息进行验证,验证通过则添加至数据库,添加信息成功,反之添加失败。添加信息流程如图3-5所示。

在这里插入图片描述

图3-5添加信息流程图

3.4.4删除信息流程

用户可选择要删除的信息进行信息删除操作,在删除信息时系统提示是否确定删除信息,是则删除信息成功,系统数据库将信息进行删除。删除信息流程图如图3-6所示。

在这里插入图片描述

图3-6删除信息流程图

第4章 系统设计

4.1系统结构设计

系统设计主要是管理员登录后对整个系统相关操作进行处理,可进行管理员的添加和删除,图书管理,用户管理等操作。

系统的功能结构图如下图所示。

在这里插入图片描述

图4-1系统功能结构图

4.2功能模块设计

1.系统登录:系统登录是管理员访问系统的路口,设计了系统登录界面,包括管理员名、密码和验证码,然后对登录进来的管理员判断身份信息,判断是管理员管理员还是普通用户。

2.管理员管理:管理员可以管理系统的其他普通用户的账号,包括录入新管理员,删除现有的普通用户,修改现有的普通用户的信息,并可以通过管理员名和姓名等关键字搜索普通用户,打印管理员列表页面,导出管理员列表至excel中。

3.修改密码:系统所有管理员(管理员和普通用户)应该都要能修改自己的登录密码,修改后需要重新登录。

4.个人资料管理:由普通用户使用,普通用户登录系统后,可以修改个人原始信息,如修改电话号码、邮箱等,管理员的管理员名是无法修改的。

5.登录情况管理:系统每个管理员应该都能查看个人的历史登录情况,如登录IP、登录时间、登录地址等,防止管理员账号被盗,加强管理员账号安全。

6.操作日志管理:系统每个管理员应该都能查看个人的历史操作日志,如管理员添加了某条数据,历史操作日志需要展示操作人,操作描述,操作时间等信息。防止系统被黑客攻击,加强系统的安全性。

7.图书管理:管理员发布图书后,普通用户便可以查询到该图书,管理员选择某个图书,查询图书,管理员审核添加,或删除图书。

8.借书管理:管理员发布借书后,普通用户便可以查询到该借书,管理员选择某个借书,查询借书,管理员审核添加,或删除借书。

9.违章缴款管理:系统违章缴款发布违章缴款后,普通违章缴款便可以查询到该违章缴款,管理员选择某个违章缴款,查询违章缴款,管理员审核添加,或删除违章缴款。

10.续借管理:用户在线发布续借信息,管理员通过系统管理续借并可管理。

4.3数据库设计

4.3.1 E-R图设计

管理员实体包括管理员名称、密码和权限三个属性

管理员体ER图如下图所示。

在这里插入图片描述

图4-4管理员ER图

用户ER图如下图所示。

在这里插入图片描述

图4-5用户ER图

图书ER图如下图所示。

在这里插入图片描述

图4-6图书ER图

借书ER图如下图所示。

在这里插入图片描述

图4-7借书ER图

根据系统各个实体的关系,得出系统的总体ER图。

系统总体ER图如下图所示。

在这里插入图片描述

图4-7系统总体ER图

4.3.2表设计

根据E-R模型,系统建立了以下逻辑数据结构,下面是各数据表的详细在服务器上建立数据库,其中包括以下表:

管理员用户表

序号 字段名称 字段类型 大小 允许为空 *大长度 备注

1、 ID int 4 否 4 主键ID

2、 username varchar 20 否 50 用户名

3、 pwd varchar 20 否 50 密码

4、 cx varchar 20 否 50 权限

5、 addtime datetime 8 否 8 添加时间

新闻公告表

序号 字段名称 字段类型 大小 允许为空 *大长度 备注

1、 ID int 4 否 4 主键ID

2、 biaoti varchar 50 否 300 标题

3、 leibie varchar 20 否 50 类别

4、 neirong text 8 否 8 内容

5、 tianjiaren varchar 20 否 50 添加人

6、 shouyetupian varchar 20 否 50 图片

7、 dianjilv int 4 否 4 点击率

8、 addtime datetime 8 否 8 添加时间

系统简介

序号 字段名称 字段类型 大小 允许为空 *大长度 备注

1、 ID int 4 否 4 主键ID

2、 leibie varchar 50 否 300 类别

3、 content text 8 是 8 内容

留言板

序号 字段名称 字段类型 大小 允许为空 *大长度 备注

1、 ID int 4 否 4 主键ID

2、 cheng varchar 20 否 50 昵称

3、 xingbie varchar 8 是 20 头像

4、 QQ varchar 8 是 20 QQ

5、 youxiang varchar 8 是 20 邮箱

6、 dianhua varchar 8 是 20 电话

7、 neirong varchar 50 是 500 留言内容

8、 addtime datetime 8 否 8 添加时间

9、 huifneirong varchar 50 是 500 回复内容

 

联系我们

工作时间 9:00-20:00
微信二维码
opyright ©2023河南亿火网络科技有限公司  豫ICP备2023018280号  XML地图  
北京 | 天津 | 河北 | 山西 | 内蒙古 | 辽宁 | 吉林 | 黑龙江 | 上海 | 江苏 | 浙江 | 安徽 | 福建 | 江西 | 山东 | 河南 | 湖北 | 湖南 | 广东 | 广西 | 海南 | 重庆 | 四川 | 贵州 | 云南 | 西藏 | 陕西 | 甘肃 | 青海 | 宁夏 | 新疆 |