php图书馆管理系统Word文件下载.docx
《php图书馆管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《php图书馆管理系统Word文件下载.docx(32页珍藏版)》请在冰点文库上搜索。
数据库;
PHP;
MySQL;
1.前言
1.1研究背景
随着时代的发展,人类已进入信息化时代,信息量越来越多,信息系统起到的作用也越来越大。
在这种条件下传统的人工的图档管理系统显得十分的落后而且效率低下,尤其在信息数据查询方面效率较低。
而且图纸档案数量越来越多,管理难度已经远远超过人的能力范围。
为了适应现代社会的发展需要,许多事务都由电脑来管理,从而提高了信息管理的效率。
而随着企业的发展,企业内部图书馆图书信息量也逐渐增大,现在的企业图书管理系统也慢慢的用电脑来处理,但是由于企业的图书管理与其他的图书管理系统有些差别,企业对于图书管理系统提出了新的要求,而现在社会使用的图书管理系统并不能完全适合企业的图书管理。
本文介绍在网络环境下提出实现图书管理、资源共享的基本目标,从而推动迈向数字化图书馆的步伐,并阐述系统结构设计和功能设计,形成一个整体自动化管理模式。
建立一套有效的图书管理系统,可以使企业减轻工作,将工作系统化、科学化、规范化,提高图书馆信息管理的工作质量和工作效率。
1.2数据库简介
数据库作为计算机科学的重要分支,也是数据管理的最新技术。
随站信息时代的来临,现在社会的信息资源管理是越来越复杂,管理也越来越难,但信息管理也越来越重要,而数据库是信息系统的核心和基础技术。
数据库是按照数据结构来组织、存储和管理数据的仓库。
从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展越来的。
数据库解决多用户、多应用共享数据的需要,使数据库尽可能多的应用于服务。
数据库系统中,数据具有整体的结构化,而且存取的方式很多很灵活,数据的存取能够细到数据项,因为数据是面向整个系统的。
同时,数据库系统可以大大减少数据重复储存,节约存储空间。
由于数据是面向整个系统,是具有结构的数据,所以数据不仅可以被多个应用共享使用,而且可以容易的增加新的应用,这就使得数据库系统收缩性大,易于扩充,可以适应各种用户的要求。
也就是数据库中的数据具有独立性,包括物理独立性和数据独立性。
物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的,这样当数据的物理存储改变了,应用程序不用改变。
数据独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,应用程序不用改变。
数据的独立性,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改[2]。
1.3开发环境简介
该企业图书管理系统是利用PHP+MYSQL进行开发的。
系统的开发是用堪称Web数据库黄金组合的PHP/MySQL,PHP是一个类似微软ASP的服务器端的嵌入式超文本处理语言,是建立动态网站的强大工具。
而MySQL是一个轻型SQL数据库服务器,可运行在多种平台上,被认为是建立数据库驱动的动态网站的最佳产品。
PHP、MySQL和Apache是Linux平台网站的最佳拍档。
不过由于我们这次团队对Linux的掌握还不够熟练,因此本次设计还是在WindowsXP上进行。
1.3.1PHP概述
PHP是一种HTML内嵌式的语言(类似IIS上的ASP)。
而PHP独特的语法混合了C、Java、Perl以及PHP式的新语法。
它可以比CGI或者Perl更快速的执行动态网页。
PHP是一种服务器端的、跨平台的技术。
PHP是一种服务器端解释的脚本语言,PHP代码在服务器一端被解释转变成普通的HTML页面内容,送给浏览器一端。
这种模式使得我们可以用它来完成相当复杂的功能。
而PHP的跨平台性意味着PHP可以运行在大多数操作系统上,包括Windows/UNIX(及其许多变体)和Macintosh。
对于在一台服务器上编写的PHP脚本,通常不用修改或者只做很少的修改即可在另一台服务器上工作。
PHP支持Internet开发的一些前沿技术。
这些技术包括身份认证、XML、动态图象生成、WDDX、共享内存,以及动态PDF文档等等,不一而足。
如果您还不满意的话,PHP是很容易扩展的,所以只要您有编程能力,您尽可以自己大展身手一番。
A.PHP功能概述
PHP在Internet上支持相当多的通讯协议(protocol),而且PHP对支持多种数据库,例如DBA、MySQL、Oracle、MSQL、MicrosoftSQLServer、dbase等。
除此之外,用PHP写出来的Web后端CGI程序,可以很轻易的移植到不同的系统平台上[7]。
B.为什么用PHP
这个系统使用PHP进行开发原因是:
除了PHP强大的功能外,在开发动态Web站点时,与其他可选技术相比,PHP更好、更快而且更易于学习。
PHP有优秀的性能,与几乎每一种数据库的紧密集成、稳定性、可移植性,以及由于其可扩展性而得到的几乎无限的特性集。
所有这些都是免费的(PHP是开源技术),并且非常易于学习。
而且,PHP自从推出以来,其用户数量呈指数级增长,并且超过ASP成为今天使用的最流行的脚本语言。
它是Apache(最常用的Web服务器)必需的模块[1]。
1.3.2MYSQL概述
MySQL是最流行、最佳的开源数据库。
MySQL是一个小巧灵珑的数据库服务器软件,对于小型(当然也不一定很小)应用系统是非常理想的。
除了支持标准的ANSISQL语句,它还支持多种平台,而在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。
对于不使用Unix的用户,它可以在WindowsNT系统上以系统服务方式运行,或者在Windows95/98系统上以普通进程方式运行。
像PHP一样,MySQL具有很好的性能、可移植性和可靠性,并且易于学习,与PHP一样MySQL是开源应用程序,所以它几乎也是免费的。
1.3.3PHP+MYSQL组合
系统的开发是利用PHP和MySQL的组合。
这两样东西加在一起,对于开发数据驱动的网站这项工作而言,真是最佳组合。
其实用不着我多费唇舌解释。
一项由Netcraft组织的非官方调查显示,应用PHP的主机数目由1998年6月的7,500台跃升至1999年3月的410,000台。
这两种软件的组合还在Webcon98大会上赢得了年度数据库产品大奖,还得了一座漂亮的奖杯。
除了免费这一点(当然,MySQL也有一些使用许可方面的限制),PHP+MySQL的组合还可以跨平台运行,这意味着您可以在Windows上开发,然后在Unix平台上运行。
另外,PHP也能作为标准的CGI进程来运行,此时它是一个独立的脚本解释器,或者是Apache的一个嵌入模块[7]。
1.4文本工作
功能模块包括:
●主界面设计
●用户登陆模块
●创建新用户
●搜索用户
●更新用户
●删除用户
2需求分析
2.1系统需求
企业图书管理系统使基于任意操作系统上的,通过对目前存在的大量的学校或社会上图书管理系统的分析和总结,然后根据企业的特点,研究一套合适于企业内部的图书管理系统。
系统要求有优良的可视化图形操作界面,大力提高系统的可操作性和交互性,尽量减少操作员的负担,让他们更方便、更快捷、更简单的进行操作。
还有要求系统有很强的稳定性、可维护性、扩充性、可移植性。
同时,实现控制各种用户系统权限,从而保证系统的安全性。
2.2需求分析
根据系统分析,图书管理系统的要求如下:
1.系统需求分析:
(1)能够输入图书的综合信息和进行新书添加、现有图书信息修改以及删除;
(2)能够实现对图书信息的查询功能;
(3)能够实现读者借书、还书、写书评以及预定图书的操作;
(4)能够实现对用户信息的新建和对已建用户信息的修改以及删除;
(5)能够实现用户对自己密码和某些信息进行修改;
(6)能够实现对用户的查询功能;
(7)能够进行借阅历史的查询功能;
2.系统性能要求:
(1)系统安全、可靠;
(2)功能齐全;
(3)操作方便、界面友好;
(4)易于维护和扩充。
3.系统的功能分析:
(1)密码设置:
每个操作人员均有自己的密码,可以防止非法人员进入本系统;
又因每个人的权限不一致,故可以防止越权操作。
(2)图书管理:
存放图书的全部数据,对每一本图书的信息进行管理。
包括对图书信息的添加、修改、删除、查询等操作。
(3)用户管理:
存放图书馆用户的全部数据,对每一位用户的档案进行管理。
包括对用户信息的添加、修改、删除、查询等操作。
(4)读者日常操作:
普通用户(即读者)可以查看所有图书信息。
(5)资料维护:
为了存放图书信息、读者档案的全部数据,本系统将每一本图书和每位读者的信息进行管理。
系统维护包括对各种表记录的修改、删除、添加等操作。
(6)系统查询:
可以按图书ID、用户ID等相关信息进行查询。
2.3系统功能分析图
下图是列出系统不同用户具有不同的功能权限。
2.1系统功能分析图
2.4系统模块组成
2.4.1系统功能模块
根据企业的实际需要,图书管理系统需要实现的功能主要有四大块:
“登陆模块”、“图书管理模块”、“用户管理模块”、“日常工作管理模块”。
其中日常工作管理和图书、读者基本资料是整个系统的核心。
2.4.2功能模块的实现
A.登陆模块
登陆模块是对不同用户的身份进行验证,用户包括图书管理员、用户管理员、普通用户三种,用户点击“登陆”按钮时,系统从数据库中取出该用户的权限,验证用户属于哪种类型身份然后启动该用户所具权限的主模块。
B.图书管理模块
a添加图书:
图书馆购进新书,由图书管理员进行对图书信息的录入,以实现有关图书的其他操作。
在数据库插入一条新图书记录,包括图书ID、图书名称、作者、出版社等基本信息。
b检索图书:
实现对图书的查询,查询结果会显示图书的详细信息,不同权限的用户组都具有该权限。
检索图书可以通过不同的方式,包括输入书名、作者、种类等单一的条件,也可以通过组合的条件。
c修改图书信息:
本模块是实现图书管理员对图书信息的修改。
d删除图书:
当某种图书价值不怎么大,可读性不是很好时,会被考虑从图书馆中去除,图书管理员通过查询到该图书的信息,就可直接删除。
C.用户管理模块
a建立新用户:
由用户管理员建立各种用户(包括图书管理员、用户管理员、普通用户),在建立过程中赋予用户不同的权限,权限决定用户登陆后进入不同的主功能模块。
在数据库插入一条新用户记录,包括图书用户ID、用户姓名、用户权限、联系方式等基本信息。
b检索用户:
用户管理员查询某个用户的详细信息。
检索用户可以通过不同的方式,可以输入单一的条件,例如:
“用户ID”、“用户姓名”等,也可以输入组合的条件进行查询。
c更新用户信息:
当某个用户的实际权限改变,或者其他信息发生改变,就可以对该用户的信息进行修改,通过简单的方式就可以修改该用户在这系统上的权限。
d删除用户:
当某个员工离开工作,用户管理员通过检索直接删除该用户信息。
D.日常工作管理
a借阅图书:
记录普通用户借阅一本图书时的情况以及记录被借图书的信息。
在数据库记录一条借书记录,借书记录包括读者ID、读者姓名、图书ID、图书名称、借书日期、还书日期。
同时添加这条借阅记录到读者借阅历史纪录中,以及修改该图书的借阅状态。
b归还图书:
删除普通用户借阅图书的情况以及记录归还图书的信息。
输入读者ID和图书ID,检索到到相应借阅记录,点击删除,将该借阅记录从数据库中删除,然后添加一条还书记录。
同时系统修改该读者的借阅历史纪录中相应的借阅情况,以及修改该图书的借阅状态。
c预定图书:
实现普通用户预定图书,当某种图书已经被借完时,用户可以预定该图书,从而保证及时知道该书的借阅情况,尽早借到该图书。
此操作在数据库中插入一条预定图书记录,记录包括预定图书ID、读者ID、读者Email。
d查看借阅历史记录:
包括普通用户查看自己的借阅历史记录和图书管理员查看任意图书的借阅历史记录。
读者可以直接查看自己的所有借阅情况。
这样可以提醒用户借阅了几本书,有哪些书,什么时候该归还。
而图书管理员根据相应的借阅信息进行所需查询,可输入图书ID、读者ID查询、借书日期、还书日期等进行查询。
e修改个人信息:
普通用户都可以对自己的密码进行修改。
要求输入两遍原始密码和输入新密码,系统验证无误后改变数据库里面相应的记录。
3总体设计
3.1系统结构图
企业图书管理系统结构图:
图3.1系统结构图
3.2总体功能设计
3.2.1系统设计目标
系统总的设计是为了达到以下目标:
●系统开发的总目标是实现企业内部图书借阅管理的系统化、规范化、科学化和自动化,从而达到提高企业图书管理效率的目的。
●系统符合图书馆信息管理的要求,满足日常管理工作的需要,包括借书、还书、预定图书、写书评等日常操作,并且达到各种操作过程直观、简单、方便、实用等要求。
●系统能够对图书进行录入,就是将图书的基本信息(如:
书名、作者、出版社等)存入数据库,供以后查询等操作。
●系统能够注册系统用户,就是记录操作系统的各种用户的信息(如:
工号、名字、联系方式等),供以后的用户管理操作。
●系统有较好安全性,就是系统要有安全保密措施,防止数据的丢失、错误等情况出现。
●提供多种查询方法,对图书和图书馆用户信息的查询可以通过不同的方式查询,包括具体的查询和模糊的查询、单值的查询和多值的查询。
●对图书和用户的数据提供方便修改。
●能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能权限。
●提供较为完善的差错控制与友好的用户界面,尽量避免误操作。
3.2.2总体设计
A.系统安全性
对于计算机系统的安全性的保证和实现是一个庞大、复杂、面广的系统工程。
每一个计算机信息系统的安全都是及其重要的。
安全问题的核心是人,必须以人为核心进行安全管理。
采用各种先进的安全技术,使系统免受非法攻击,排除没有访问权限的使用者窃取机密信息,确保系统安全可靠的运行。
针对企业图书管理系统的特点,为了加强其安全性,系统采用一定的保密措施。
a口令识别
口令识别是一种低成本,易实现的用户识别技术。
在计算机系统内广泛的使用,在口令识别机制中,计算机系统给每个用户分配一个用户标识和一个口令。
用户标识唯一确定一个用户是公开的;
口令用于证实用户,是保密的,显示为*号。
b口令存取
系统要识别每个用户的口令,就必须把每个用户的口令存放起来,形成口令表,通常以文件或数据库形式存放。
如果以明文的形式存放,则很容易被熟悉系统的人偷取,为了提高基于口令的身份识别方案的坚强度,应该在口令方案中引入加密机制。
c设置用户组
系统用户分为三种不同用户组,系统通过验证获取用户身份,同时赋予该用户相对应的用户组中的所有权限,这样保证系统的正确操作,防止出现数据干扰、丢失。
B.系统高效性
图书管理系统的目的就在于减少劳动,提高效率。
对于计算机系统的高效性关键是操作的方便和反映的速度。
系统要提供简单、直观的操作界面,使一切功能一目了然,减少状态的跳转,减少繁琐,这样让操作员很快的清楚系统操作,不会因为复杂而混淆。
C.系统信息管理
本系统的设计主要是为了方便企业图书馆的管理,主要是完成对图书馆图书信息的管理和于其关系密切的读者信息和读者的动作的管理,所以整个系统的信息录入和维护是相当重要。
由于图书管理系统是一个信息系统,信息的录入和维护的工作量很大,这就要求在操作上提供更为简便的处理,使系统用户能在较短时间内完成大量的录入工作。
1.图书或用户的录入功能:
(1)对书库或用户信息库中已经有的信息,但需要对某个存在的信息进行修改时,只要通过简单的条件检索出该信息(通过该图书ID或图书名检索出该图书;
通过用户ID检索出用户)。
由于数据库已有这个信息,操作员只要简单修改一些信息,然后保存就完成录入工作。
(2)对书库或用户信息库还没有的信息,系统将给予明确的提示信息,使操作员概念清晰,给操作员的录入工作带来方便,加快录入工作。
2.图书或用户的查询功能
(1)如果不输入查询条件,查询功能就相当于浏览的功能,系统直接分页显示所用相应的详细信息。
(2)如果输入查询条件,该设计可以对在库或不在库的图书或用户进行查询,如果数据库存在该信息,即显示详细情况,如果不存在,则系统给出提示信息;
同时查询的条件可以多样灵活,即可单值查询,也可多值查询。
3.图书或用户的删除功能
系统对信息的删除功能都是比较直接方便,只要查询到相应的信息就可以直接删除,使用户操作简单。
3.3数据库设计
数据库是计算机信息系统的核心和基础。
一个信息系统的各个部分能否紧密地结合在一起以及如何结合,关键是数据库。
因此只有对数据库进行合理地逻辑设计和有效地物理设计才能开发出完善而高效地信息系统。
在整个系统地开发过程中,数据库的设计是非常重要,一个设计地较好的数据库可以减少数据冗余,简化数据修改过程,实现系统高效率[6]。
3.3.1系统数据分析
通过对图书管理系统的分析,可以得出该系统涉及两类实体:
图书、系统用户(包括普通用户、图书管理员、用户管理员)。
这些实体涉及的数据项有:
图书:
BookID、BookISBN、BookName、BookAuthor、BookSortID、BookPublish、BookPrice、BookDescribe。
系统用户:
UserID、Password、UserRight、UserName、Telephone、Sex、Email。
3.3.2系统E-R图
通过对系统实体数据关系的分析,可以画出如下E-R图:
图3.2系统E-R图1
图3.3系统E-R图2
图3.4系统E-R图3
图3.5系统E-R图4
3.4数据流图
以下为数据流图:
图3.6普通用户流图
图3.7图书管理员流图
图3.8图书管理员流图
3.5数据字典
3.5.1图书信息表
描述:
对图书基本信息的详细记录,图书的基本信息包括:
BookID、BookISBN、BookName、BookAuthor、BookSortID、BookPublish、BookPrice、BookDescribe几个项。
表3.1图书信息表
列名
数据类型
长度
可否为空
属性名称
说明
book_id
Int
否
BookID
主键
book_isbn
Varchar
20
BookISBN
/
book_name
varchar
50
BookName
book_author
BookAuthor
book_sort_id
BookSort
book_publish
BookPublish
book_price
BookPrice
book_describe
500
BookDescribe
3.5.2图书分类表
图书分类表记录图书的种类,包括两个基本项:
BookID和BookSort。
表3.2图书分类表
BookSortID
book_sort
3.5.3图书状态表
是记录图书的借阅状态,包括:
BookState和BookStateID两个项。
BookStateID值0、1、2分别代表“已经归还”、“未归还”、“借阅时间已过,请归还”三种状态。
表3.3图书状态表
book_state_id
BookStateID
book_state
BookState
3.5.4图书借阅信息表
对所有用户基本信息的详细记录,图书的基本信息包括:
BookID、BookISBN、BookName、BookAuthor、BookSort、BookPublish、BookPrice、BookDescribe几个项。
表3.4图书借阅信息表
user_id
UserID
borrow_begin_time
date
BeginTime
borrow_end_time
Date
EndTime
Real_teturn_time
是
ReturnTime
3.5.5预定图书信息表
记录读者预定图书的信息,记录包括:
UserID、BookID、Username、Email、Bookname、Time。
表3.5图书预定表
user_name
Username
user_email
Email
Bookname