第1章 引言
1.1课题的研究背景
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的原因。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书信息而设计的。
本图书管理系统是针对学校的图书馆日常操作业务而开发的管理软件。根据管理员、读者借阅的需求,实现图书、读者之间的有序化、信息化管理。本系统主要由这几个模块组成:日常借阅管理、读者管理、图书管理、系统设置等。图书管理系统通过录入图书的详细资料,建立读者档案、系统用户资料,设置各类参数(如:超期期限、人员类别、图书类别等),找出图书与读者之间的对应关系,实现日常的借阅操作。基于这些得到的基础数据,系统自行生成相应的统计数据供管理员查询、分析。另外,管理员还可以对这些基本信息进行定期的数据更新和数据库维护;为读者借阅时提供图书是否在馆,以及自己借书、还书等情况的查询功能,图书管理系统力求给图书管理员提供操作简单、方便快捷的途径去管理这些庞大,繁琐的信息和图书。
1.2研究意义
对图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本,表格等纸介质的手工处理,对于图书借阅情况(如借书天数,超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限,以及借阅天数等用人工计算,手抄进行。数据处理工作量大,容易出错。由于数据繁多。容易丢失,且不易查找。总的来说。缺乏系统规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的潜在应用环境。
基于这个问题,本人认为有必要建立一个图书管理系统,使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性, 能够及时、准确、有效的查询和修改图书情况。
第2章 系统分析
2.1可行性分析
2.2.1 技术可行性
本项目采用的是 Python+Django,是因为 Django 具有功能强大的脚手架和诸多开箱即用的组件,用 Django 搭建 Web 应用快速而又省力。相比于其他同学手敲 Qt 窗口,Django 自带的 Admin 已经基本把这些功能都实现了,甚至装了插件后还更美观,因此可以聚焦于前台交互的快速开发。
其次,开发架构方面,本程序员熟练掌握以B/S为基础的软件项目开发,采用B/S架构使得用户对数据的访问完全集中到服务器端进行。在访问数据库方面,能够熟练使用数据库相关访问技术,所以技术上是完全可行的。
2.2.2 经济可行性
第一点:开发成本低。由于系统开发环境配置以及开发并不复杂,只需一些基本的开发工具。而且开发出的系统操作起来也比较简单,另外具备网络中的一些资源优势,因此开发费用较低。
第二点:技术成本低。本系统主要使用一些第三方开源库插件以及在线开源css样式及js技术,不需要支付技术专利费用。这些开源代码,为本次项目设计与开发提供了很多免费的效果。
第三点:维护成本低,本系统采用django框架,维护起来较为简便。
2.2.3 操作可行性
首先,B/S架构大大简化了客户端,用户不需要再安装额外的软件就可以随时随地通过浏览器访问招聘系统,且B/S架构易于维护,用户对数据的访问完全集中到服务器端进行,使得数据的访问更加安全。
2.2分析需求
图书管理系统是为了实现图书高效管理而设计的.它完全取代了人工处理的工作方式,并且避免了由于管理员的疏忽以及管理质量问题所导致的各种错误。为及时、准确、高效地完成图书管理工作提供了强有力的工具。
2.3功能需求
本系统主要是管理员对图书信息和出版社进行管理。本系统需要有出版社管理、图书管理、作者管理、统计等功能, 能将相关信息从数据库中添加修改删除并且利用查询将相关信息显示出来。数据要求有自动更新功能,能显示最新的结 果。
图2.1
通过对一些大型图书管理系统的实际考察、分析,并结合实际要求以及实际的市场调查,要求本系统具有 以下功能:
·窗体界面要求美观大方、个性化、功能全面、操作简单。
·要求实现基础信息的管理平台。
·要求对所有图书进行管理。
·提供快速的图书信息检索功能,保证数据查询的灵活性。
·实现综合条件查询,如图书名称、图书作者等。
·提供灵活、方便的权限设置功能,使整个系统的管理分工明确。
·具有易维护性和易操作性。
2.4系统性能需求
因为系统要代替人工管理图书信息,所以要求系统响应速度快,稳定性强,操作简单,准确性高。根据前面所作的需求分析及功能的需求可以得出,学校图书馆管理系统实施后,应达到以下系统性能标 准:
· 窗体界面要求美观大方、功能全面、操作简单。
·程序整体结构和操作流程合理顺畅,实现人性化设计。
·规范、完善的基础信息设置。
·对操作员设置不同的操作权限,为管理员提供修改权限功能。
·对图书信息进行集中管理。
第3章 总体设计
3.1系统模块图
根据系统分析的结果,在综合分析的基础上,进行了系统总体设计,把系统分为了 5 个功能模块:登录模 块、出版社管理、图书管理、作者管理和系统用户管理模块。系统模块结构图如图所示:
图书信息管理模块:主要包括图书信息管理的功能,具体包括查询图书、修改图书、增加图书、删除图书 基本资料等基本操作(普通用户只有查询功能)。
出版社管理模块:主要是对出版社进行管理,可以查询出版社、修改出版社、增加出版社、删除出版社等 功能。
作者管理模块:主要是对作者进行管理,可以查询作者、修改作者、增加作者、删除作者等功能。
登录管理模块:主要是实现用户登录的功能,用户只有登录系统,才能在自己的权限范围内进行合法的操 作,否则,将不能进行任何操作。 注册管理模块:主要实现用户注册功能.
3.2数据库设计
MySQL 具有很强的完整性与可伸缩性,具有较低的价格比与性能比,考虑到本系统的稳定性与可靠性以 及开发程序与用户需求,笔者决定在设计该系统时选择 SQLMySQL 数据库来满足系统的需求。
在设计图书馆管理系统之前,有必要说明数据库的基本概念和本设计所应用的数据表。
3.3 E-R图
根据已知需求,为了更好的体现系统中各种数据之间的关系,更清楚、准确地表达用户对数据的要求,我们需要建立一个概念性的数据模型,其中包括涉及到的数据对象、对象的属性以及相互间彼此的联系,这就是实体-关系图,简称E-R图,用E-R图表示的概念模型独立于具体的DBMS所支持的数据模型,它是各种数据模型的共同基础,因此比数据模型更一般、该抽象、更接近现实世界。
ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。
ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity instance),实体成员(entity member)/实体实例(entity instance) 不需要出现在ER图中。
ER图的属性(attribute)即数据对象所具有的属性,例如学生具有姓名、学号、年级等属性,用椭圆形表示,属性分为唯一属性( unique attribute)和非唯一属性,唯一属性指的是唯一可用来标识该实体实例或者成员的属性,用下划线表示,一般来讲实体都至少有一个唯一属性。
ER图的关系(relationship)用来表现数据对象与数据对象之间的联系,关系用菱形来表示。
1.出版社档案实体
出版社档案实体包括:出版社编号,出版社地址,出版社名称
2.图书档案实体
出版社档案实体包括:序号,图书名称,图书编号,译者,出版日期,出版社
图3.4
3.作者档案实体
出版社档案实体包括:序号,姓名,性别,年龄,联系方式
图3.5
4.用户档案实体
出版社档案实体包括:序号,用户名,密码,邮箱,手机
图3.6
3.4 系统数据库表结构
结合实际情况及对用户需求的分析,图书管理系统bms数据库主要包含如下表所示的 4 个数据表。
表3-1出版社信息表
字段名 |
数据类型 |
是否主键 |
说明 |
id |
int |
是 |
出版社编号 |
name |
int |
否 |
出版社名称 |
addr |
varchar(40) |
否 |
出版社地址 |
表3-2图书信息表
字段名 |
数据类型 |
是否主键 |
说明 |
id |
int |
是 |
序号 |
name |
varchar(64) |