《最新PHP图书管理系统.doc》由会员分享,可在线阅读,更多相关《最新PHP图书管理系统.doc(156页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datePHP图书管理系统第一章 需求分析第一章 需求分析1.1 开发背景随着计算机技术的飞速发展,计算机所在生活中的应用的普及,利用计算机实现图书的管理势在必行。目前,一些中小规模的图书馆还是继续采用借书证+图书卡片+手工登记操作的方式进行管理。工作人员在日常工作中要面对图书、读者等枯燥资料的大量重复操作,并且靠手工进行有关数据的统计很困难,而且在实际工作中会由于人工处理的
2、疏漏、不慎造成一定的问题,整体上讲,原始的图书管理方法一定程度上导致了工作效率无法进一步提高。为了能更好的为教育服务,把握好学生们的需求,做好服务工作,图书管理的信息化是一条切实可行的改革之路。原始的手工管理图书馆的方式,要整理图书馆的图书、读者、进出库信息都相当困难,而且手写的数据一旦被毁,要重新整理就相当不容易。图书管理的信息化,可以使有关数据的统计可以轻松、精确实现,而且数据的备份、恢复也很容易,只要有良好的操作习惯,遇到怎样的数据灾难都可以从容应对。图书馆管理的信息化可以减少人力资源的浪费,可以使少量的人员就可以承担好图书馆的日常工作的任务。本系统结合图书馆实际需要分析,采用功能很强大
3、的NewBeans作为开发工具,使用php作为开发语言,来开发B/S(Browser/Server)模式图书管理系统。整个系统符合操作简便、界面友好、灵活、实用、安全的要求出发,完成借书、还书的全过程,包括读者资源、书籍资源、借书信息、还书信息能够及时地了解各个环节的信息的变更。1.2 系统需求分析通过计算机对图书进行管理,不仅为图书馆的管理注入了新的生机,而且在运行过程中省了大量的人力、物力、财力和时间,可以提高图书馆的效率,还为图书馆在读者群中树立了一个全新的形象,并为图书馆日后发展奠定一个良好的基础。通过对一些图书馆的实际考察、分析,并结合图书馆的要求以及实际的市场调查,要求本系统具有一
4、下功能:1、 网站设计页面要求美观大方、个性化,功能全面,操作简单。2、 要求实现基础信息的管理平台。3、 要求对所有读者进行管理。4、 要求实现图书借书排行、了解当前的畅销书。5、 商品分类详尽,可按不同类别查看图书信息。6、 提供快速的图书信息、图书借阅检索功能,保证数据查询的灵活性。7、 实现图书借阅、图书续借、图书归还的功能。8、 实现综合条件查询,如按用户指定条件查询、按日期时间段查询、综合条件查询等。9、 要求图书借阅、续借、归还时记下每一笔记录的操作员。10、 实现对图书借阅、续借和归还过程的全程数据信息跟踪。11、 提借阅到期提醒功能,使管理者可以及时了解到已经到达归还日期的图
5、书借阅信息。12、 提供灵活、方便的权限设置功能,使整个系统的管理分工明确。13、 具有易维护性和易操作性。1.3 可行性论证通过对图书的各个方面进行了具体的了解之后,现对开发图书管理系统的可行性进行分析。技术上可行:系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,系统开发工具NetBeans采用PHP语言开发,后台数据库采用MySQL5.0这些软件在MIS开发中已被大量应用,技术上都比较成熟,因此在技术上是可行的。经济上可行:由于中小型企业急需采用计算机来进行图书的管理,因此对开发图书管理系统大力支持。管理上可行:中小型企业对图
6、书有很多的管理体制,每位借书人均有会员卡号,同时图书馆还为每位借书人建立了档案。因此管理上可行。另外,同时制定了培训计划,并进行了实施MIS的物质准备和工作准备。综上所述,开发图书管理系统在技术上、经济上、管理上都是可行的。第二章 系统设计系统概要设计是系统实现一个重要的前期工作。本章节将结合功能设计、模块划分和子模块功能设计及流程三个方面对该系统的概要设计做详细的说明。2.1功能设计本系统是基于B/S模式的旅游管理系统的设计与实现。系统开发使用软件有NetBeans6.9、MySQL5.0等,系统功能主要包括登录,系统设置,读者管理,图书管理,图书借还,系统查询等。本系统设计实现了用户登录、
7、系统设置、读者管理、图书管理、图书借还、系统查询等模块。系统模块结构参考图2-1。图2-1图书管理系统模块图书管理系统读者管理模块用户登录模块系统设置模块更改口令模块图书借还模块图书管理模块系统查询模块 2.2模块具体划分系统主要划分为四大模块,分别是用户登录模块、系统设置模块、读者管理模块、图书管理模块和图书借还等模块。其模块具体划分参考图2-2。图书馆管理系统系统设置读者管理图书借还图书管理图书馆信息管理员设置读者类型管理读者档案管理图书类型管理图书档案管理图书借阅图书归还系统查询参数设置书架设置图书续借图书档案查询图书借阅查询借阅到期提醒更改口令退出系统2.3系统流程图图2-3图书管理系
8、统流程图2.4 子模块功能设计及流程为了能更好地完成系统实现,本文对系统各子模块功能设计以及流程做了详细的说明。2.4.1 登录模块用户输入用户密码,系统验证,失败时返回登录页面,成功时进入主界面。登陆成功,将用户信息保存Session里,便于用户信息提取。设计流程图参考图2-4-1。 图2-4-1 登录模块程序流程 用户登录访问login.jsp 信息录入错误提示登录验证 error successUserSession 进入main.jsp2.4.2 系统设置模块主要操作:对管理员、书架等的增加、修改、删除、查询。基本操作流程参考图2-4-2-a。操作说明:增加验证录入信息是否正确,确认正
9、确,成功后显示信息列表。修改验证修改信息是否正确,确认修改,成功后显示信息列表。删除选择删除项,确认删除后,删除选择数据,成功后显示回信息列表。查询查询所有的管理员、书架等信息。查询流程参考图2-4-2-b。图2-4-2-a 系统设置基本操作系统设置信息输入查询数据录入数据修改、删除数据 图2-4-2-b基本操作的程序流程基本操作删除增加、修改选择数据录入信息信息判断错误提示删除判断错误提示 N N Y Y信息列表信息列表2.4.3 读者管理模块主要操作:对读者信息的维护,包括增、删、查、改等。程序流程参考图2-4-2-a和图2-4-2-b。2.4.4 图书管理模块主要操作:对图书信息的维护,
10、包括增、删、查、改等。程序流程参考图2-4-2-a和图2-4-2-b。2.4.5 图书借还模块主要操作:对图书的管理,包括图书借阅、图书续借、图书归还等。程序流程参考图2-4-5-a、图2-4-5-b和图2-4-5-c。图2-4-5-a图书借阅的程序流程录入读者条形码选择图书输入图书的条形码或书名完成图书借阅显示读者信息 确认确认图2-4-5-b图书续借的程序流程显示该读者所借的所有书籍录入读者条形码选择续借图书显示读者信息 完成图书续借图2-4-5-c图书续借的程序流程显示该读者所借的所有书籍录入读者条形码选择归还图书显示读者信息 完成图书归还2.4.6 系统查询模块主要操作:对图书的相关查
11、询,包括图书档案查询、图书借阅查询、借阅到期提醒等。程序流程参考图2-4-6。图2-4-6 查询操作流程图信息查询模糊查询等值查询选择条件选择条件录入部分信息录入完整信息错误提示查询判断查询判断错误提示 N N Y Y 查询查询结果信息列表结果信息列表第三章 数据库设计3.1数据库设计概述 计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。 为了使现实世界的信息流计算机化,并对计算机化的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的
12、过程。 确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。 根据软件工程的思想,数据库设计的周期可以划分为六个阶段: 规划阶段、需求分析阶段 、设计阶段、程序编制阶段 、调试阶段、运行和维护阶段 。数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。物
13、理结构设计的原则如下:(1) 尽可能的减少数据冗余和重复(2) 结构设计与操作设计相结合(3) 数据结构具有相对的稳定性。基于以上设计原则,系统设计了一个数据库,包含基本信息表(如图书信息表、系统用户表等)及几个实体联系建模后的表(如借阅信息表、会员信息表等)。为了加快系统访问的速度把这些表放在一个数据库中。3.2数据字典有了系统的数据流图后,还有相当多的数据信息如图书、借阅、归还等信息需要进一步描述,这就是需要定义数据字典,才能把现有的系统描述清楚。列出系统的主要数据字典。名称:管理员描述:记录管理员信息定义:管理员信息=管理员ID+管理员密码输入数据:管理员信息输出数据:管理员信息名称:图
14、书信息表结构描述:记录所有图书的基本情况定义:图书信息=图书编号+ISBN号+索引号+图书类别+图书名称+语种+原名+页码+作者+价格+出版社+出版时间+登记日期+备注输入数据:图书信息输出数据:图书信息名称:读者信息表结构描述:记录所有读者的基本情况定义:读者信息=读者编号+性别+姓名+类别+身份证号+办证日期+证有效期+工作单位+E-mail+联系电话输入数据:读者信息输出数据:读者信息名称:借书登记表结构描述:记录所有图书的借阅情况定义:借书信息=读者编号+读者编号+读者类别+图书编号+图书类别+图书名称+原名+作者+出版社+借出日期+应还日期输入数据:借书信息输出数据:借书信息名称:记
15、录归还登记表结构描述:记录所有图书的归还情况定义:归还信息=读者编号+读者编号+读者类别+图书编号+图书类别+图书名称+原名+作者+出版社+借出日期+应还日期+实还日期+罚款输入数据:归还信息输出数据:归还信息3.3数据库的逻辑设计在需求分析阶段已完成该系统所有的数据分析。根据该阶段所建立的概念模型,已经得出满足系统设计要求的几个关系描述,该阶段的主要工作就是把前一阶段的成果转化为具体的数据库。下面给出概念结构设计得E-R图。1:管理员实体E-R图:图3.1 管理员实体E-R图 管理员密码用户ID2:会员信息实体E-R图:图3.2 读者实体E-R图编号电话读者 姓名条形码电子邮件职业类型 3:
16、图书信息实体E-R图: 图3.3 图书实体E-R图出版日期 条形码 图书 登记日期编号出版社名称类别 数量 价格作者 4:借书信息实体E-R图:图3.4 借书实体E-R图出版 读者编号 借书 读者姓名书籍类别书籍编号应还日期 借出日期书籍名称书籍作者读者类别 6:还书信息实体E-R图:图3.5还书实体E-R图实还日期 读者编号 还书操作员 读者姓名书籍类别书籍编号应还日期书籍名称 借出日期读者类别 书籍作者 7:表示系统E-R图(图4.6): 图4.6 系统E-R图读者管理管理员图书管理读者图书归还借阅 1 1 N N M M N N N 3.4 数据库表tb_manager表是用户记录用户的
17、信息(管理员信息表)管理员信息表主要用来保存管理员信息。表tb_manager的结构如表3-4-1所示。 表3-4-1字段名称数据类型是否为空是否主键默认值描述idInt(10)unsigncdNOYESID自动编号nameVarchar(30)YESNULL管理员名称pwdVarchar(30)YESNULL密码 tb_purview(权限表)权限表主要用来保存管理员的权限信息,该表中的id字段与管理员信息表(tb_ purview)中的id字段关联。表tb_ purview的结构如表3-4-2所示。 表3-4-2字段名称数据类型是否为空是否主键默认值描述idInt(11)NOYES0管理员
18、ID号syssetTinyint(1)YES0系统设置readersetTinyint(1)YES0读者管理booksetTinyint(1)YES0图书管理borrowbackTinyint(1)YES0图书借还sysqueryTinyint(1)YES0系统查询tb_parameter(参数设置表)参数设置表主要用来保存办证费及书证的有效期限等信息。表tb_parameter的结构如表3-4-3所示表3-4-3tb_booktype(图书类型表)主要用来保存图书类型信息。表tb_booktype的结构如表3-4-4所示。表3-4-4字段名称数据类型是否为空是否主键默认值描述idInt(10
19、)unsigncdNOYESID(自动编号)typenameVarchar(30)YESNULL类型名称daysInt(10)unsigncdYESNULL可借天数tb_bookcase(书架信息表)书架信息表主要用来保存书架信息。表tb_bookcase的结构如表3-4-5所示。表3-4-5字段名称数据类型是否为空是否主键默认值描述idInt(10)unsigncdNOYESID(自动编号)nameVarchar(30)YESNULL书架名称tb_bookinfo(图书信息表).该表用于保存图书信息。表tb_bookinfo的结构如表3-4-6所示。表3-4-6字段名称数据类型是否为空是否主
20、键默认值描述barcodevarchar(30)YESNULL条形码booknamevarchar(70)YESNULL书名typeidint(10)unsignedYESNULL类型authorvarchar(30)YESNULL作者translatorvarchar(30)YESNULL译者ISBNvarchar(20)YESNULL出版社pricefloat(8,2)YESNULL价格pageint(10)unsignedYESNULL页码bookcaseint(10)unsignedYESNULL书架intTimedateYESNULL录入时间operatorvarchar(30)YE
21、SNULL操作员deltinyint(1)YES0是否删除idint(11)NOYESID(自动编号)tb_borrow(图书借阅信息表)用于保存图书信息。表tb_borrow如表3-4-7所示。表3-4-7字段名称数据类型是否为空是否主键默认值描述idint(10)unsignedNOYESID(自动编号)readeridint(10)unsignedYESNULL读者编号bookidint(10)YESNULL图书编号borrowTimedateYESNULL借书编号backtimedateYESNULL应还时间operatorvarchar(30)YESNULL操作员ifbacktiny
22、int(1)YES0是否归还tb_giveback(图书归还信息表)图书归还信息表主要用来保存图书归还信息。表tb_giveback的结构如表3-4-8所示。表3-4-8字段名称数据类型是否为空是否主键默认值描述idint(10)unsignedNOYESID(自动编号)readeridint(11)YESNULL读者编号bookidint(11)YESNULL图书编号backTimedateYESNULL归还时间operatorvarchar(30)YESNULL操作员tb_publishing(出版社信息表)出版社信息表主要用来保存出版社信息。表tb_publishing的结构如表3-4-
23、9所示。表3-4-9字段名称数据类型是否为空是否主键默认值描述ISBNvarchar(30)YESNULLISBN号pubnamevarchar(30)YESNULL出版社名称tb_reader(读者信息表)读者信息表主要用来保存读者信息。表tb_reader的结构如表3-4-10所示。表3-4-10字段名称数据类型是否为空是否主键默认值描述idint(10)unsignedNOYESID(自动编号)namevarchar(20)YESNULL姓名sexvarchar(4)YESNULL性别barcodevarchar(30)YESNULL条形码vocationvarchar(50)YESNU
24、LL职业birthdaydateYESNULL出生日期paperTypevarchar(10)YESNULL有效证件paperNOvarchar(20)YESNULL证件号码telvarchar(20)YESNULL电话emailvarchar(100)YESNULL电子邮件createDatedateYESNULL登记日期operatorvarchar(30)YESNULL操作员remarktextYESNULL备注typeidint(11)YESNULL类型tb_readertype(读者类型信息表)读者类型信息表主要用来保存读者类型信息。表tb_readertype的结构如表3-4-11
25、所示。表3-4-11字段名称数据类型是否为空是否主键默认值描述idint(10)unsignedNOYESID(自动编号)namevarchar(50)YESNULL名称numberint(4)YESNULL可借数量tb_library(图书馆信息表)图书馆信息表主要用来保存图书馆的基本信息。表tb_library的结构如表3-4-12所示。表3-4-12字段名称数据类型是否为空是否主键默认值描述idint(10)unsignedNOYESID(自动编号)librarynamevarchar(50)YESNULL馆名curatorvarchar(10)YESNULL馆长telvarchar(2
26、0)YESNULL联系电话addressvarchar(100)YESNULL联系地址emailvarchar(100)YESNULLEmailurlvarchar(100)YESNULL网址creatDatedateYESNULL建馆日期introducetextYESNULL简介 第四章 系统设计 系统给图书馆提供了系统设置、读者管理、图书管理、图书借还、系统查询等功能。本章节详细地介绍了每个子模块实现的过程,同时也列出了部分主要的源代码以供参考。4.1 登录模块实现过程:登录界面(login.php文件),输入用户名和密码,通过调用(chklogin.php文件)的checkinput(
27、)方法进行验证用户登陆。运行页面效果如下图4-1:图4-1 登录页面登录实现主要代码:function checkinput() include(conn/conn.php); /连接数据源 $sql=mysql_query(select * from tb_manager where name=.$this-name. and pwd=.$this-pwd.,$conn); $info=mysql_fetch_array($sql); /检索管理员名称和密码是否正确 if($info=false) /如果管理员名称或密码不正确,则弹出相关提示信息 echo alert(您输入的管理员名称错误
28、,请重新输入!);history.back(); exit; else /如果管理员名称或密码正确,则弹出相关提示信息 echo alert(管理员登录成功!);window.location=index.php; $_SESSIONadmin_name=$infoname; $_SESSIONpwd=$infopwd; 4.2 管理员设置增加系统管理员,可以增加、修改、删除系统管理员用户。如下图4-2所示:图4-2 管理员设置页面 管理员设置manager_del.php文件主要实现代码:?phpinclude(conn/conn.php);$id=$_GETid;$sql=mysql_qu
29、ery(delete from tb_manager where id=$id);$query=mysql_query(delete from tb_purview where id=$id);if($sql=true and $query=true )echo alert(管理员删除成功!);history.back();elseecho alert(管理员删除失败!);history.back();?4.3添加图书信息身份验证通过以后,点击可以使用系统的基本信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入。填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。界面见下图4-3所示:图4-3 添加图书信息页面添加图书信息为book_add.php文件主要实现代码: 条 形 码: 图书名称: * 图书类型: option value= 作 者: 译 者: 出 版 社: option value= 价 格: (元) 页 码: 书 架: option value=