基于PHP图书管理系统的设计与实现论文.docx
《基于PHP图书管理系统的设计与实现论文.docx》由会员分享,可在线阅读,更多相关《基于PHP图书管理系统的设计与实现论文.docx(33页珍藏版)》请在冰豆网上搜索。
![基于PHP图书管理系统的设计与实现论文.docx](https://file1.bdocx.com/fileroot1/2022-12/27/2cbf1e68-fb78-4149-9890-d2eda5d06e8f/2cbf1e68-fb78-4149-9890-d2eda5d06e8f1.gif)
基于PHP图书管理系统的设计与实现论文
基于PHP图书管理系统的设计与实现
计算机科学与技术专业学生王银立
指导教师张元科
摘要:
随着计算机及网络技术的高速发展,数字化、网络化的信息革命从根本上推动了图书馆的发展进程,计算机日益成为图书馆的主要设备。
目前很多大型的图书馆已经有一整套比较完整的信息管理系统,但在一些小型的图书馆中,尤其是一些规模小的高校,图书管理系统不够完善,工作起来效率比较低,管理员不能及时了解图书馆内各类图书的借阅情况,读者需要的图书难以在短时间内找到,不便于动态、及时地调整图书结构。
为了更好地满足当前读者的借阅需求,解决管理中存在的许多弊端,越来越多的中小型图书馆以及一些高校正在逐步向计算机信息化管理转变。
计算机信息化管理以其存储信息量大、速度快、便于管理等优点受到更多用户的青睐。
论文介绍了在PHP环境采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理系统的过程。
通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。
文档详细介绍了图书管理信息系统的系统分析部分,包括可行性分析、系统分析、业务流程分析、数据流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出了新书添加、图书借阅、图书归还、图书检索、读者管理、图书管理等主要的程序框图,并附带了一些主要的窗口和程序。
关键词:
书管理系统;浏览器;动态网页技术;数据库
DesignandImplementationofLibraryManagement
SystemBasedonPHP
StudentmajoringincomputerscienceandtechnologynameWangYinli
TutorNameZhangYuanke
Abstract:
Withrapiddevelopmentofcomputerandnetworktechnology,digitalizedandnetworkedinformationrevolutionsroilyfacilitatethedevelopmentoflibrariesandcomputersequipment,andcomputersaregraduallybecomingthemainequipmentoflibraries.Atpresent,manylargelibrarieshaveafullsetofrelativelycompleteinformationmanagementsystem,butinsomesmalllibraries,especiallyinasmalluniversity,mostoftheworkstillneedtobecompletedbyhandwitharelativelylowefficiency,thedrawbacks,managerscannottimelygettheinformationaboutborrowedsituation,alsoitishardtoreaderstofindtheneededbooksinashorttime.Soitdoesnotfacilitatedynamic,timelyadjustmentofbooksstructures.Inordertomeetthecurrentdemandingofreadersandsolvethedrawbacksofmanualmanagement,moreandmoresmallandmediumsizedlibrariesandsomeuniversitiesaregraduallychangingthecomputerinformationmanagement.BecauseofComputerinformationmanagementinformation'sbigstoragecapacity,highspeedandtheadvantagesofbeingeasytomanage,thenitattractsmoreandmorecustomers.
ThisarticleintroducesthedetailedprocessofexploringamanagementinformationsystemundertheenvironmentofPHP,utilizing“Top-Bottom”overallplanandastrategyaccordingto“Bottom-Top”applicationandexploitation.Thatistoestablishasetofeffectiveschemeforlibrarymanagementbycomputer,throughanalyzingdisadvantagesoftraditionallibrarymanagementbyhumanresources.Thisarticleemphasizesonthreesections.Thesystemanalysissectionoflibrarymanagementinformationincludesfeasibleanalysis,organizingorgansanalysis,managementfunctionanalysis,technologicalprocessofbusinessanalysis,technologicalprocessofdataanalysis,datadictionary,disposaldescriptionandthelike.Thesystemdesignsectionmainlyfocusesonsystemfunctiondesignanddatabasedesign.Andthesystemrealizationsectionhasprovidedseveralmajorprogramcharts,togetherwiththemainwindowsandprograms.
Keywords:
LibraryimplementationSystem;Browser;ActiveServerPage;Database
1绪论
1.1引言
随着现代图书流通市场竞争的愈演愈烈,如何以一种新的管理方式提高图书流通信息的反馈速度,降低库存占用,加快资金周转,提高工作效率,已经成为图书企业提高竞争力的关键。
信息技术的发展给图书企业的管理带来了新的力量,通过图书管理系统对图书企业经营运作的全程管理,不仅使企业摆脱了人工管理带来的一系列的问题,更重要的是提高了工作效率,进而提高了企业的经济效益。
对于高校图书馆来说,提高工作效率尤为重要。
通过管理系统对图书信息的管理,为图书馆的发展提供了大量的、关键性的数据,图书馆根据这些数据,及时做出决策,进行调整,使之能够更好地为广大师生服务。
从上述描述中可以发现,传统的管理流程存在的不足。
首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。
为此,图书管理系统需要为图书馆解决上述问题,提供快速的图书信息检索功能、快捷的图书借阅、归还流程。
1.2毕业设计主要任务
(1)实现图书馆对所藏图书的按类别、书名等多方面的查询,最大的方便读者和图书馆工作人员对所需图书的查询;
(2)建立图书馆外借读者数据库,方便工作人员对读者进行有效管理;
(3)建立图书馆工作人员数据库,限定每个工作人员对软件操作的权限,最大限度的保护数据库;
(4)实现图书馆对新书入库,旧书注销的简单处理,并且建立书籍档案,方便进货;
(5)实现图书馆管理系统;
1.3目前图书管理系统存在的问题
(1)检索速度慢、效率低
因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难,往往是馆中没有此书或已被别人借走。
图书馆的规模越大,这个问题越突出。
(2)借书、还书工作量大
借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。
而且经常会出现这样那样的差错。
(3)图书统计工作难、藏书更新不能及时完成
图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。
1.4课题意义
随着计算机的广泛应用,其逐步成为现代化的标志。
图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息。
因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。
2系统分析
2.1需求分析
作为一个图书管理系统,应该给用户提供方便,简洁的界面应用,对图书借阅归还的流通中图书的详细记录进行归档,实现新进图书的数据录入,实现对所有购进图书的分类查询和分类统计,能够按书名、作者等分类查询现有图书的数量,记录借阅者的个人资料和所借图书的书名、书号数据等,借书时如果每次超过限量或累积超过限量,提示相应信息,并拒绝借阅等功能都是必不可少的。
根据调查得知,以前的图书馆采取手工方式对图书借阅信息进行管理,或者现有管理系统都不够完整。
以前是将一般的借阅情况记录在借书证上或者将图书的数目和内容记录在文件中,这样图书馆的工作人员只能是对当时的借阅信息比较清楚,时间一长,再进行查询时,就得在众多的资料中翻阅、查找了,既费时,又费力。
如果要对很长时间以前的图书信息进行更改就更加困难了。
手工操作使得图书借阅信息的管理者工作混乱又复杂。
基于这些问题,有必要建立一个图书馆管理系统,使图书馆的日常管理工作规范化、系统化、程序化,避免管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效地查询图书借还情况。
2.2可行性分析
2.2.1技术可行性
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。
本系统采用PHP开发出友好美观的人机界面,便于用户理解、操作。
数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。
因此本系统的开发平台已成熟可行。
硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需。
2.2.2经济可行性
鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的。
2.3图书借阅管理系统需求模型
图书管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项基本操作,用户管理员是管理用户设置权限等操作,从图2.1可以看出图书借阅管理系统要完成一下功能:
(1)登录功能:
用户管理员、图书管理员、读者、借阅者进入该系统必须登录才是实现各种权限,身份验证正确了才能以不同身份进入该系统所对应的系统使用权限是不同的。
(2)图书设置功能:
图书管理员可以设置图书馆相关的参数信息。
(3)用户管理功能:
用户管理员对系统用户进行添加,修改,删除,权限设置等操作。
(4)查询功能:
对图书馆的馆藏图书等信息进行查询。
图2.1图书馆实现的功能
3总体设计
3.1数据库设计
数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。
数据库是数据管理的最新技术。
十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。
由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统。
数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。
数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。
数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。
设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。
一般人们设计数据库遵循第三范式。
即:
数据库表中不包含已在其他表中包含的非主关键字信息。
采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。
针对图书管理系统,有4类核心对象:
读者,借阅者,图书管理员,用户管理员。
分别实现图书的流通,图书的管理,图书管理系统的管理。
系统包含对象如图3.1。
图3.1图书管理系统功能模块
在这里使用E-R图描述了图书借阅管理系统的数据模型。
图3.2图书借阅管理系统E-R图描述了该系统所涉及到的实体以及他们之间的关系。
具体结构如图图3.2。
图3.2系统E-R图
3.2逻辑结构设计
图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入库时由操作员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,系统用户根据图书的某个属性进行查询,便可得知图书的其他相关信息,其中图书所在书架属性是便于读者借阅时对图书的寻找,图书价格是在读者不慎将图书遗失时对遗失图书进行赔偿的依据。
图书管理系统数据项描述如下:
表3.1tb_book表
属性名
数据描述
数据类型
是否为空
备注
b_id
图书在馆编号ISBN
Varchar(20)
否
主键
b_name
书名
Varchar(20)
否
b_byname
别名
Varchar(20)
是
b_version
版本
smallint
是
b_author
作者
Varchar(20)
否
b_press
出版社
Varchar(20)
否
b_type
图书类别
Char(10)
否
b_pdate
出版日期
Date()
是
b_indate
进馆日期
Date()
否
b_num
在馆数量
int
否
b_intro
简介
Varchar(200)
是
b_price
价格
Varchar(50)
否
借阅者信息表的设计是为了用户管理员对借阅者进行管理,其中读者ID,不同类型证件的号码都是唯一的,是借阅者在借阅图书时需要输入对读者身份进行识别的信息,读者邮件电话等信息室为了与读者进行联系,读者类型信息决定了读者一次性可借阅的图书的数量,注册时间可用于查询计算读者身份有效的期限,操作员是为了便于对信息才操作的查询。
表的具体结构设计如下:
表3.2tb_user表
属性名
数据描述
数据类型
是否为空
备注
u_id
用户编号
Char(10)
否
主键
u_name
真实姓名
Varchar(10)
否
u_sex
性别
男或女
否
u_class
班级
Varchar(20)
是
u_dept
学院
Varchar(20)
是
u_tel
电话号码
Numeric(11)
是
u_job
工作状况
Char(10)
是
u_mailbox
邮箱
Varchar(50)
否
u_birthday
生日
Date()
否
u_login
登录名
Varchar(20)
否
u_date
创建日期
Date()
否
u_type
用户类型
Useradmin,reder,bookadmin,recordadmin
否
u_picurl
用户照片
Varchar(50)
否
u_password
用户密码
Varchar(20)
否
初始1
此表的设计是为了对不同身份的读者进行分类方便读者的管理,其中可借阅图书数量的属性设定,是根据读者需求的不同对起权限进行的设置,用于规定不同类型读者一次可借阅的图书数量,表的具体结构设计如下:
表3.3tb_record表
属性名
数据描述
数据类型
是否为空
备注
u_id
用户编号
Char(10)
否
外键
主键
b_id
图书编号
Varchar(20)
否
外键
borrow_date
借阅日期
Date()
否
borrow_num
借阅本数
int
否
如还书本书>借书则错误,如<则修改
此表的设计是为了系统管理员添加消息新闻,表的具体结构如下:
表3.4tb_news表
属性名
数据描述
数据类型
备注
n_name
新闻名称
Varchar(50)
主键
n_type
新闻类型
Varchar(10)
n_content
新闻类容
Varchar(500)
n_date
建立日期
date
此表的设计设为了借阅者没有及时还书出现的罚款,表的具体结构设计如下:
表3.5tb_pulishment表
属性名
数据描述
数据类型
是否为空
备注
P_name
罚款名称
Char(10)
否
主键
P_money
罚款基本数
Float
否
3.3代码
建立数据库
createdatabaseifnotexistslms;
uselms;
建立表news
createtablenews(
n_namevarchar(50)primarykey,
n_typeENUM('newsmsg','systemmsg'),
n_contentvarchar(5000),
n_datedate
);
建立表books
createtablebook(
b_idchar(10)primarykey,
b_mnamevarchar(20)notnull,
b_bnamevarchar(20),
b_versionsmallint,
b_authorvarchar(20),
b_pressvarchar(20),
b_typechar(10),
b_pdatedate,
b_indatedate,
b_numsmallintUNSIGNEDnotnull,
b_introvarchar(500)
);
建立表user
createtableuser(
u_idchar(20)primarykey,
u_namechar(10),
sexENUM('男','女'),
u_classvarchar(20),
u_deptvarchar(20),
u_telnumeric(11)UNSIGNED,
u_mailboxvarchar(50)notnull,
u_birthdaydate,
u_loginchar(10)notnull,
u_passwordchar(10)notnull,
u_typeENUM('reader','ueradmin','bookadmin','recordadmin'),
u_picurlvarchar(50)
);
建立表record
createtablerecord(
u_idchar(10),
b_idchar(10),
borrow_datedatenotnull,
borrow_numsmallintUNSIGNEDnotnull,
primarykey(u_id,b_id),
foreignkey(u_id)referencesuser(u_id),
foreignkey(b_id)referencesbook(b_id)
);
建立表pulishment
createtablepulishment(
p_namechar(10)primarykey,
p_moneyfloatnotnull);
3.4系统总体结构设计
该系统在Windows98/2000/XP/Win7采用PHP具,MySQL数据库来设计,开发过程与成果应符合GB/T11457-1995软件工程术语,GB/T8567-1988计算机软件产品开发文件编制指南等。
3.4.1图书管理系统总体结构图
绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图。
系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。
本系统的结构图如3.2图。
图3.2图书管理系统模块
根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下主要功能模块:
系统管理员功能模块,读者管理功能模块,图书管理功能模块,图书借还功能模块,系统查询功能模块。
3.4.2用户管理员模块功能
该模块主要包括用户信息设置,用户管理,用户添加,新闻添加。
(1)用户信息设置
该功能子模块主要是用户管理员对系统用户的管理,通过此子模块的功能实现可以对用户进行添加、修改、删除、权限设置等操作,该子模块能将图书馆的不同工作细化到不同的相关人员,极大地提高了图书馆的工作效率。
该操作是对tb_users表进行操作,在对用户进行了相关的操作后把操作后的最新信息存放在该表中。
(2)用户添加
此系统用户必须通过用户管理员添加用户。
该操作是对于user表进行,并把操作后的最新数据存放在该表中。
(3)新闻添加
该功能子模块主要是用户管理员发布新闻消息通知等的添加和删除操作,通过此子模块的功能实现可以发布新闻通知。
该操作是对tb_news表进行操作,在对系统进行了相关的操作后把操作后的最新信息存放在该表中。
3.4.3图书管理员模块功能
该模块主要包括图书添加删除,图书借还信息查询。
(1)图书添加删除
该功能子模块主要是图书管理员对图书的管理,通过此模块可以实现对图书信息的添加、删除、修改等操作,使管理图书更加方便