毕业设计python图书馆管理系统

图书馆管理系统设计与实现

摘 要
以往的图书馆管理事务处理主要使用的是传统的人工管理方式,这种管理方式存在着管理效率低、操作流程繁琐、保密性差等缺点,长期的人工管理模式会产生大量的文本借书与文本数据,这对事务的查询、更新以及维护带来不少困难。随着互联网时代的到来,现如今网络的覆盖率已近非常的全面,现在人们对网络的需求也越来越高,为了减轻管理人员的工作负担,提高管理人员的工作效率,因此通过网络平台创建一个便捷高效的图书馆管理来优化管理业务。通过本网站,用户可以在线查看相关信息可以说图书馆管理是偏向实际应用的网站。本文介绍了图书馆管理设计方案,该网站采用目前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 回复内容

评论表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1、 ID int 4 否 4 主键ID
2、 pinglunneirong varchar 20 否 50 评论内容
3、 pinglunren varchar 8 是 20 评论人
4、 huifu varchar 20 是 50 回复
5、 addtime datetime 8 否 8 添加时间

注册用户表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1、 ID int 4 否 4 主键ID
2、 yonghuming varchar 20 否 50 用户名
3、 mima varchar 8 是 20 密码
4、 xingming varchar 20 是 50 姓名
5、 xingbie varchar 20 是 50 性别
6、 chushengnianyue varchar 20 是 50 出生年月
7、 QQ varchar 20 是 50 QQ
8、 youxiang varchar 20 是 50 邮箱
9、 dianhua varchar 20 是 50 电话
10、 shenfenzheng varchar 20 是 50 身份证
11、 touxiang varchar 20 是 50 头像
12、 dizhi varchar 20 是 50 地址
13、 beizhu varchar 20 是 50 备注
14、 addtime datetime 8 否 8 添加时间

友情连接
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1、 ID int 4 否 4 主键ID
2、 wangzhanmingcheng varchar 20 否 50 网站名称
3、 wangzhi varchar 8 是 20 网址
4、 logo varchar 20 是 50 LOGO
5、 addtime datetime 8 否 8 添加时间

图书信息
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1、 ID int 4 否 8 主键ID
2、 tushubianhao varchar 50 是 50 图书编号
3、 tushumingcheng varchar 50 是 50 图书名称
4、 leibie varchar 50 是 50 类别
5、 zuozhe varchar 50 是 50 作者
6、 chubanshe varchar 50 是 50 出版社
7、 kucun float 10 是 10 库存
8、 jieyuecishu float 10 是 10 借阅次数
9、 tupian varchar 50 是 50 图片
10、 tushujianjie text 8 是 8 图书简介
11、 addtime datetime 8 否 8 添加时间

借书记录
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1、 ID int 4 否 8 主键ID
2、 jieshudanhao varchar 50 是 50 借书单号
3、 tushubianhao varchar 50 是 50 图书编号
4、 tushumingcheng varchar 50 是 50 图书名称
5、 leibie varchar 50 是 50 类别
6、 zuozhe varchar 50 是 50 作者
7、 chubanshe varchar 50 是 50 出版社
8、 kucun varchar 50 是 50 库存
9、 jieshuriqi datetime 8 是 8 借书日期
10、 jieshuren varchar 50 是 50 借书人
11、 beizhu text 8 是 8 备注
12、 addtime datetime 8 否 8 添加时间

续借记录
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1、 ID int 4 否 8 主键ID
2、 jieshudanhao varchar 50 是 50 借书单号
3、 tushubianhao varchar 50 是 50 图书编号
4、 tushumingcheng varchar 50 是 50 图书名称
5、 leibie varchar 50 是 50 类别
6、 zuozhe varchar 50 是 50 作者
7、 chubanshe varchar 50 是 50 出版社
8、 kucun varchar 50 是 50 库存
9、 jieshuriqi varchar 50 是 50 借书日期
10、 jieshuren varchar 50 是 50 借书人
11、 xujietianshu float 10 是 10 续借天数
12、 beizhu text 8 是 8 备注
13、 addtime datetime 8 否 8 添加时间

违章缴款
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1、 ID int 4 否 8 主键ID
2、 liushuihao varchar 50 是 50 流水号
3、 jieshudanhao varchar 50 是 50 借书单号
4、 tushubianhao varchar 50 是 50 图书编号
5、 tushumingcheng varchar 50 是 50 图书名称
6、 leibie varchar 50 是 50 类别
7、 jieshuriqi varchar 50 是 50 借书日期
8、 jieshuren varchar 50 是 50 借书人
9、 fakuanleixing varchar 50 是 50 罚款类型
10、 fakuanxiangqing text 8 是 8 罚款详情
11、 fakuanjine float 10 是 10 罚款金额
12、 shifoujiaokuan varchar 50 是 50 是否缴款
13、 beizhu text 8 是 8 备注
14、 addtime datetime 8 否 8 添加时间

第5章 系统实现

5.1主页面的实现
首页是网站的入口,主要包含了:新闻信息、图书信息等导航功能。首页页面,如下图所示。
在这里插入图片描述

图5-1主页界面
5.2登录模块的实现
系统登录模块可分为前台登录模块和后台登录模块,为确保系统安全性,系统操作员只有在登录界面输入正确的管理员名、密码、权限以及验证码,单击“登录”按钮后才能够进入本系统的主界面。
前台登录入口如下所示。
在这里插入图片描述
图5-3前台登录界面
后台登录入口如下所示。
在这里插入图片描述
图5-3后台登录界面

5.3图书管理模块的实现
管理员添加图书是在点击添加按钮的前提下操作的,当页面跳转至添加页面,添加成功后,管理员在菜单栏进行图书管理,通过查询数据库的图书表列出所有图书,每条图书对应一个删除按钮和修改按钮,当管理员点击删除按钮,直接在数据库删除图书,并重定向当前页面,当管理员选择点击修改,则进入修改页面,进行图书的修改。
图书添加页面设计效果如下图所示。
在这里插入图片描述

图5-5 图书添加界面
图书管理页面效果如下图所示。
在这里插入图片描述

图5-6 图书管理界面

第6章 系统测试

6.1测试目的
软件测试的目的主要是发现软件缺陷和漏洞,其次,软件测试能够识别图书风险。为开发人员和程序经理提供软件测试的反馈结果,为风险评估提供必要的信息。再者,软件测试确保在上线日前达到上线标准。包括持续追踪图书进度和严格把控各个开发阶段的产品质量。
基于django的图书馆管理,主要测试管理员登录模块、用户管理模块、图书管理模块、和退出模块系统等功能是否实现。
6.2测试概述
1.测试的原则
(1)系统测试应该避免测试自己的程序,以免发现不了细小的问题。
(2)系统测试用例应有两部分组成,分别为输入测试和输出测试。
(3)系统测试数据应当引用不合理的数据进行测试,选取不同情况的进行逐一测试。
(4)不仅要检查程序是否达到预期的效果,还要检查程序是否执行了规定以外的操作。
(5)对出现错误多的模块进行集中测试。
(6)已发现错误的模块修改后,应及时进行重新测试。
2.测试的方法
测试方法主要有人工测试和机器测试。
(1)人工测试
人工测试又称代码复审,包括个人复查、走查、会审三种方法[7]。
(2)机器测试
机器测试主要是由黑盒测试和白盒测试两种方法。
在最后的测试阶段,系统采用后黑盒测试和白盒测试想结合的方法。黑盒测试主要用于对系统的输入和输出特性进行测试,检测功能方面存在的错误与可能存在的缺陷。白盒测试主要用于对软件的过程及逻辑路径进行测试,发现性能方面的错误。具体采用的测试方法为系统测试和单元测试。
6.3单元测试
6.3.1登录测试
登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮是否正常进入系统首页。
登录测试用例如下表所示。
表6-1登录测试用例
测试模块 管理员登录模块测试
测试目的 测试当登陆信息输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1不输入管理员名和密码,直接点击登陆。
2输入未注册过的管理员名。例如:abcdefg
3输入正确管理员名,错误密码。例如:管理员名abcdefg、密码 000
4输入正确管理员名,正确匹配密码。例如:管理员名abcdefg、密码 111
预期结果 1 界面不跳转,弹出对话框,提示管理员输入必填项。
2界面不跳转,弹出对话框,提示管理员当前管理员名尚未注册。
3界面不跳转,弹出对话框,提示管理员密码错误。
4界面实现跳转,登陆功能正常进行。
实际结果 与预想一致。
结论 登陆模块实现了基本的异常输入应对。

6.3.2图书管理测试
管理员可以添加修改图书,在填写图书后,点击添加便能成功的添加图书。
图书管理测试用例如下表所示。
表6-2图书管理测试用例
测试模块 图书管理模块测试
测试目的 测试当图书输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1管理员登录后,未填写图书编号选项,点击添加图书
2管理员登录后,未填写图书名称选项,点击添加图书
3管理员登录后,输入图书必填项,点击添加图书,
预期结果 1图书添加失败,系统提示请输入图书编号
2图书添加失败,系统提示请输入图书名称
3图书添加成功,系统提示添加图书成功
实际结果 与预想一致。
结论 图书管理模块实现了基本的异常输入应对。
6.3.3用户管理测试
管理员可以添加修改用户,在填写用户后,点击添加便能成功的添加用户。
用户管理测试用例如下表所示。
表6-3用户管理测试用例
测试模块 用户管理模块测试
测试目的 测试当用户输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1管理员登录后,未填写用户号选项,点击添加用户
2管理员登录后,输入用户必填项,点击添加用户,
预期结果 1用户添加失败,系统提示请输入必填项
2用户添加成功,系统提示提交成功
实际结果 与预想一致。
结论 用户管理模块实现了基本的异常输入应对。
6.4测试结果
测试结果包括界面及功能测试和代码测试两部分,本系统对每个功能点做了详细的测试,测试结果正常。
测试结果表如下表所示。
表6-5系统功能测试结果表
序号 测试模块 功能点 质量保证标准 问题属性 测试结果
F1 系统用户管理模块 修改密码 正确性 故障 正常
权限设置 正确性 故障 正常
角色管理 正确性 缺陷 正常
用户信息添加 正确性 故障 正常
用户信息修改 正确性 故障 正常
用户信息查询 正确性 故障 正常
用户信息删除 正确性 故障 正常
退出系统 正确性 故障 正常
F2
功能管理模块
图书添加 正确性 故障 正常
图书修改 正确性 故障 正常
图书删除 正确性 故障 正常
借书添加 正确性 故障 正常
借书修改 正确性 故障 正常
借书删除 正确性 故障 正常
用户添加 正确性 故障 正常
用户修改 正确性 故障 正常
用户删除 正确性 故障 正常

第7章 总结

经过几个月的努力和坚持,图书馆管理系统终于完成了,那个时候专业课还没有学完,所以对开发项目来说困难重重,当时只好分模块做。先去深入到用户中了解他们的需求,做好需求分析文档。像技术篇的,一方面通过自己所学习的专业课中,去学习核心知识,并记录到自己的文档中,另一方面,再加上网络授课以及网络资料这几部分获得知识。这是前期的准备,一整套下来,写到这里,感觉把大学所有的专业房产信息又学习了一遍。
整个过程遇到了很多的挫折,但是宝剑锋从磨砺出,正是挫折让我们不断的进步。但是整个过程的收获还是非常丰富的。在精神上,让我明白了一颗永不放弃,积极上进的内心是非常重要的,越努力越幸运。在专业知识上,让我明白掌握牢固专业知识,加上发散思维,是让人快速进步的方法。在生活中,学会与人沟通,有问题尽可能的沟通解决,不要自己钻牛角尖。
以书会友平台,仅仅是一个很小的子系统,不像大型企业所开发的应用软件那样完美。但是这仅仅是我人生路上的一小步。而毕业论文必须用心去写,而不是抱着投机取巧的心态蒙混过关,这个过程是让人成长的。感谢这个过程,感谢这个过程中积极帮助我,给与我帮助的人。
此外,以后我依旧要保持一颗积极上进的心,求知若渴,虚心若愚,不断进步,不断学习。

致 谢

经历了近三个多月的动手实践及老师辛勤的指导和同学朋友热心的帮助下,本人的毕业设计图书馆管理的基本功能也基本完成。
此次设计中,通过不断的探讨与学习使我熟悉、使我初步了解了django相关技术。做的是一个python框架的图书馆管理,使我对做网站所需要,及运行的环境有了初步的了解,在此次设计中我翻阅了较多的书籍,在有限的时间了丰富了对图书馆管理技术的知识也积累了少许的经验。起初对django的初步认识,通过这次设计更进一步的了解了其工作原理,懂得了配置服务器环境,连接数据库源,在设计过程中,也学会了用dreamweaver设计一个简单的页面,增强了动手的能力,激发了在此方面的兴趣。
但是由于时间、基础及缺乏实践等多方面的问题,还有诸多需要解决的问题依然存在,设计中很多方面考虑不够周全或者考虑不到。
非常感谢我的老师,我的同学,我的朋友并希望在今后的学习生活中不断陪养多方面的兴趣,不断学习进步从而能够实现独立完成。设计中存在的诸多缺点诚肯老师的原谅。

参考文献

[1]刘晓华,周慧贞.django应用开发详解[M].电子工业出版社,2013
[2]阿斯利森,舒塔,金灵等译.Java基础教程[M].人民邮电出版社,2014
[3]马石安, django Web程序设计与图书案例开发[M]. 清华大学出版社 , 2017
[4]王珊,萨师煊.数据库系统概论[M].高等物业出版社出版社,2010
[5]王毅,周峰,孙更新.django经典案例设计与实现[M].电子工业出版,2013
[6]张海藩, 软件工程导论[M]. 清华大学出版社 , 2013:5-14
[7]郑阿奇.MySQL实用教程[M].电子工业出版社,2013
[8]谭庆平,毛新军编著.软件工程实践[M].高等物业出版社,2014
[9]林邦杰.django程序设计入门教程[M]. 中国青年出版社,2011
[10]谢希仁.计算机网络[M]. 电子工业出版社,2012
[11] 列旭松,django核心技术与最佳实践[M]. 机械工业出版社 , 2012
[12]王行言.Java语言与面向对象程序设计[M].清华大学出版社,2013:
[13]威廉斯, django&MySQL Web数据库应用开发指南[M]. 东南大学出版社 ,2006
[14]陈云芳.基于B/S的Web应用开发实战[M].人民邮电 出版社, 2012
[15] DavidHopkins.Improvingthe Quality of Teaching and Learning[J].Support for Learning,2014

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python图书馆管理系统是一个通过Python语言编写的软件程序,可以用于自动化管理图书馆的日常运作。这个系统的设计目的是提高图书馆的运作效率,简化图书查询和借阅流程,同时提供一系列功能来方便图书管理员的工作。 首先,该系统提供了一个用户界面,图书馆用户可以通过系统查询图书馆的图书信息,包括书名、作者、出版日期等。用户可以根据自己的需求来搜索图书,并可以进行预约、借阅和归还操作。这样一来,用户不需要再去图书馆亲自查询和借阅书籍,大大提高了使用的便利性。 其次,该系统还提供了一些功能来简化图书管理员的工作。管理员可以在系统中添加、编辑和删除图书的信息。系统会自动生成图书的编号,并根据图书的借阅情况来更新图书的状态。管理员可以通过系统来统计图书的借阅情况,包括借阅次数、借阅时长等,以便更好地管理图书馆的资源。 此外,该系统还具备一些辅助功能,如读者和管理员信息的管理、图书分类管理等。管理员可以在系统中添加读者和管理员的信息,并可以通过系统来查询和修改这些信息。管理员还可以设置图书的分类,方便读者进行图书的检索和查询。 总之,Python图书馆管理系统可以大大简化图书馆的运作,并提供了一系列方便的功能来满足读者和管理员的需求。它的设计目标是提高运作效率、降低工作复杂度,使图书馆更加便利和高效。 ### 回答2: Python图书馆管理系统是一个用Python编写的软件,用于帮助图书馆进行图书和读者信息的管理和查询。以下是该系统设计的一些要点和功能: 1. 登录和权限管理:系统提供管理员登录和普通用户登录功能,并根据用户的权限不同展示不同的功能。管理员可以添加、编辑、删除图书和读者信息,而普通用户只能进行查询操作。 2. 图书管理:管理员可以添加图书信息,包括书名、作者、出版社、ISBN号等,并可以对图书进行编辑和删除。系统会自动生成图书的编号,并通过编号进行唯一标识。图书查询功能允许用户根据关键字搜索图书,并展示相关信息。 3. 读者管理:管理员可以添加读者信息,包括姓名、性别、年龄、电话号码等,并可以对读者信息进行编辑和删除。系统会自动生成读者的编号,并通过编号进行唯一标识。读者查询功能允许用户根据关键字搜索读者信息,并展示相关信息。 4. 借阅管理:系统记录图书的借阅情况,包括借阅日期、归还日期、借阅状态等。管理员可以对借阅记录进行管理,包括查看借阅记录、归还图书、续借图书等。 5. 报表统计:系统可以生成各类报表,包括图书借阅情况统计、读者借阅情况统计等,帮助管理员进行图书馆运营分析和决策。 6. 界面友好:系统界面简洁清晰,操作容易上手。对于交互和信息提示都进行了优化,用户能够方便快捷地完成各项操作。 综上所述,Python图书馆管理系统是一个功能强大、操作简便的软件,能够帮助图书馆方便地管理图书和读者信息,提高工作效率,并提供统计分析服务,为图书馆的运营和决策提供重要数据支持。 ### 回答3: Python图书馆管理系统是一种基于Python编程语言开发的应用程序,旨在帮助图书馆高效地管理各类书籍和读者信息,并提供便捷的图书借阅和归还功能。 该系统应具备以下主要功能: 1. 书籍管理:管理员可以录入图书馆的图书信息,包括书名、作者、出版社、ISBN号等,并能够进行修改、删除等操作。此外,系统还应提供书籍分类和检索功能,方便读者查找所需的图书。 2. 读者管理:系统应支持读者信息的录入、修改、删除等操作,管理员可以记录读者的基本信息,比如姓名、年龄、学号等。同时,系统还应提供读者的借阅信息查询功能,方便管理员了解读者的借阅情况。 3. 图书借还:系统应提供便捷的图书借阅和归还功能,读者可以通过系统查询到所需图书的状态,并进行借阅或归还操作。借阅时应记录借阅时间,并在逾期时进行提醒。 4. 借阅统计:系统应能够自动生成各类统计报表,如借阅次数最多的图书、借阅次数最多的读者等。这些统计数据有助于图书馆了解图书借阅情况,进行资源调配和优化。 5. 系统安全:为了保障图书馆管理系统的安全性,系统应具备用户权限管理机制,设置不同用户角色和访问权限,防止未授权人员对系统数据的篡改和泄露。 总之,Python图书馆管理系统的设计旨在提高图书馆的管理效率和服务水平,使读者更加便捷地借阅图书,同时也为图书馆管理员提供更好的资源管理和借阅统计功能。通过合理的功能设计和用户界面的友好性,该系统能够满足图书馆不同需求,并为其持续发展提供支持。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值