1、第一章 需求分析1.1 开发背景伴随计算机技术飞速发展,计算机所在生活中应用普及,利用计算机实现图书管理势在必行。现在,部分中小规模图书馆还是继续采取借书证+图书卡片+手工登记操作方法进行管理。工作人员在日常工作中要面对图书、读者等枯燥资料大量反复操作,而且靠手工进行相关数据统计很困难,而且在实际工作中会因为人工处理疏漏、不慎造成一定问题,整体上讲,原始图书管理方法一定程度上造成了工作效率无法深入提升。为了能愈加好为教育服务,把握好学生们需求,做好服务工作,图书管理信息化是一条切实可行改革之路。原始手工管理图书馆方法,要整理图书馆图书、读者、进出库信息全部相当困难,而且手写数据一旦被毁,要重新
2、整理就相当不轻易。图书管理信息化,能够使相关数据统计能够轻松、正确实现,而且数据备份、恢复也很轻易,只要有良好操作习惯,碰到怎样数据灾难全部能够从容应对。图书馆管理信息化能够降低人力资源浪费,能够使少许人员就能够负担好图书馆日常工作任务。本系统结合图书馆实际需要分析,采取功效很强大NewBeans作为开发工具,使用php作为开发语言,来开发B/S(Browser/Server)模式图书管理系统。整个系统符合操作简便、界面友好、灵活、实用、安全要求出发,完成借书、还书全过程,包含读者资源、书籍资源、借书信息、还书信息能够立即地了解各个步骤信息变更。1.2 系统需求分析经过计算机对图书进行管理,不
3、仅为图书馆管理注入了新生机,而且在运行过程中省了大量人力、物力、财力和时间,能够提升图书馆效率,还为图书馆在读者群中树立了一个全新形象,并为图书馆以后发展奠定一个良好基础。经过对部分图书馆实际考察、分析,并结合图书馆要求和实际市场调查,要求本系统含有一下功效:1、 网站设计页面要求美观大方、个性化,功效全方面,操作简单。2、 要求实现基础信息管理平台。3、 要求对全部读者进行管理。4、 要求实现图书借书排行、了解目前畅销书。5、 商品分类详尽,可按不一样类别查看图书信息。6、 提供快速图书信息、图书借阅检索功效,确保数据查询灵活性。7、 实现图书借阅、图书续借、图书归还功效。8、 实现综合条件
4、查询,如按用户指定条件查询、按日期时间段查询、综合条件查询等。9、 要求图书借阅、续借、归还时记下每一笔统计操作员。10、 实现对图书借阅、续借和归还过程全程数据信息跟踪。11、 提借阅到期提醒功效,使管理者能够立即了解到已经抵达归还日期图书借阅信息。12、 提供灵活、方便权限设置功效,使整个系统管理分工明确。13、 含有易维护性和易操作性。1.3 可行性论证经过对图书各个方面进行了具体了解以后,现对开发图书管理系统可行性进行分析。技术上可行:系统所需硬件设备,市场上销售且价格较低,甚至能够使用原有设备,软件上,操作系统采取Windows系列操作系统,系统开发工具NetBeans采取PHP语言
5、开发,后台数据库采取MySQL5.0这些软件在MIS开发中已被大量应用,技术上全部比较成熟,所以在技术上是可行。经济上可行:因为中小型企业急需采取计算机来进行图书管理,所以对开发图书管理系统大力支持。管理上可行:中小型企业对图书有很多管理体制,每位借书人全部有会员卡号,同时图书馆还为每位借书人建立了档案。所以管理上可行。另外,同时制订了培训计划,并进行了实施MIS物质准备和工作准备。总而言之,开发图书管理系统在技术上、经济上、管理上全部是可行。第二章 系统设计系统概要设计是系统实现一个关键前期工作。本章节将结合功效设计、模块划分和子模块功效设计及步骤三个方面对该系统概要设计做具体说明。2.1功
6、效设计本系统是基于B/S模式旅游管理系统设计和实现。系统开发使用软件有NetBeans6.9、MySQL5.0等,系统功效关键包含登录,系统设置,读者管理,图书管理,图书借还,系统查询等。本系统设计实现了用户登录、系统设置、读者管理、图书管理、图书借还、系统查询等模块。系统模块结构参考图2-1。图2-1图书管理系统模块图书管理系统读者管理模块用户登录模块系统设置模块更改口令模块图书借还模块图书管理模块系统查询模块 2.2模块具体划分系统关键划分为四大模块,分别是用户登录模块、系统设置模块、读者管理模块、图书管理模块和图书借还等模块。其模块具体划分参考图2-2。图书馆管理系统系统设置读者管理图书
7、借还图书管理图书馆信息管理员设置读者类型管理读者档案管理图书类型管理图书档案管理图书借阅图书归还系统查询参数设置书架设置图书续借图书档案查询图书借阅查询借阅到期提醒更改口令退出系统2.3系统步骤图图2-3图书管理系统步骤图2.4 子模块功效设计及步骤为了能愈加好地完成系统实现,本文对系统各子模块功效设计和步骤做了具体说明。2.4.1 登录模块用户输入用户密码,系统验证,失败时返回登录页面,成功时进入主界面。登陆成功,将用户信息保留Session里,便于用户信息提取。设计步骤图参考图2-4-1。 图2-4-1 登录模块程序步骤 用户登录访问login.jsp 信息录入错误提醒登录验证 error
8、 successUserSession 进入main.jsp2.4.2 系统设置模块关键操作:对管理员、书架等增加、修改、删除、查询。基础操作步骤参考图2-4-2-a。操作说明:增加验证录入信息是否正确,确定正确,成功后显示信息列表。修改验证修改信息是否正确,确定修改,成功后显示信息列表。删除选择删除项,确定删除后,删除选择数据,成功后显示回信息列表。查询查询全部管理员、书架等信息。查询步骤参考图2-4-2-b。图2-4-2-a 系统设置基础操作系统设置信息输入查询数据录入数据修改、删除数据 图2-4-2-b基础操作程序步骤基础操作删除增加、修改选择数据录入信息信息判定错误提醒删除判定错误提醒
9、 N N Y Y信息列表信息列表2.4.3 读者管理模块关键操作:对读者信息维护,包含增、删、查、改等。程序步骤参考图2-4-2-a和图2-4-2-b。2.4.4 图书管理模块关键操作:对图书信息维护,包含增、删、查、改等。程序步骤参考图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图书续借程序步骤显示该读者所借全部书籍录入读者条形码选择
10、续借图书显示读者信息 完成图书续借图2-4-5-c图书续借程序步骤显示该读者所借全部书籍录入读者条形码选择归还图书显示读者信息 完成图书归还2.4.6 系统查询模块关键操作:对图书相关查询,包含图书档案查询、图书借阅查询、借阅到期提醒等。程序步骤参考图2-4-6。图2-4-6 查询操作步骤图信息查询模糊查询等值查询选择条件选择条件录入部分信息录入完整信息错误提醒查询判定查询判定错误提醒 N N Y Y 查询查询结果信息列表结果信息列表第三章 数据库设计3.1数据库设计概述 计算机信息系统以数据库为关键,在数据库管理系统支持下,进行信息搜集、整理、存放、检索、更新、加工、统计和传输等操作。 为了
11、使现实世界信息流计算机化,并对计算机化信息进行多种操作,就是怎样利用数据库管理系统、系统软件和相关硬件系统,将用户要求转化成有效数据结构,并使数据库结构易于实现用户新要求过程。 确切说,数据库设计是指对于一个给定应用环境,提供一个确定最优数据模型和处理模式逻辑设计,和一个确定数据库存放结构和存取方法物理设计,建立起既能反应现实世界信息和信息联络,满足用户数据要求和加工要求,又能被某个数据库管理系统所接收,同时能实现系统目标,并有效存取数据数据库。 依据软件工程思想,数据库设计周期能够划分为六个阶段: 计划阶段、需求分析阶段 、设计阶段、程序编制阶段 、调试阶段、运行和维护阶段 。数据库设计是要
12、在一个给定应用环境(DBMS)中,经过合理逻辑设计和有效物理设计,结构较优数据库模式、子模式,建立数据库和设计应用程序,满足用户多种信息需求。物理结构设计标准以下:(1) 尽可能降低数据冗余和反复(2) 结构设计和操作设计相结合(3) 数据结构含有相正确稳定性。基于以上设计标准,系统设计了一个数据库,包含基础信息表(图书信息表、系统用户表等)及多个实体联络建模后表(如借阅信息表、会员信息表等)。为了加紧系统访问速度把这些表放在一个数据库中。3.2数据字典有了系统数据流图后,还有相当多数据信息图书、借阅、归还等信息需要深入描述,这就是需要定义数据字典,才能把现有系统描述清楚。列出系统关键数据字典
13、。名称:管理员描述:统计管理员信息定义:管理员信息=管理员ID+管理员密码输入数据:管理员信息输出数据:管理员信息名称:图书信息表结构描述:统计全部图书基础情况定义:图书信息=图书编号+ISBN号+索引号+图书类别+图书名称+语种+原名+页码+作者+价格+出版社+出版时间+登记日期+备注输入数据:图书信息输出数据:图书信息名称:读者信息表结构描述:统计全部读者基础情况定义:读者信息=读者编号+性别+姓名+类别+身份证号+办证日期+证使用期+工作单位+E-mail+联络电话输入数据:读者信息输出数据:读者信息名称:借书记录表结构描述:统计全部图书借阅情况定义:借书信息=读者编号+读者编号+读者类
14、别+图书编号+图书类别+图书名称+原名+作者+出版社+借出日期+应还日期输入数据:借书信息输出数据:借书信息名称:统计归还记录表结构描述:统计全部图书归还情况定义:归还信息=读者编号+读者编号+读者类别+图书编号+图书类别+图书名称+原名+作者+出版社+借出日期+应还日期+实还日期+罚款输入数据:归还信息输出数据:归还信息3.3数据库逻辑设计在需求分析阶段已完成该系统全部数据分析。依据该阶段所建立概念模型,已经得出满足系统设计要求多个关系描述,该阶段关键工作就是把前一阶段结果转化为具体数据库。下面给出概念结构设计得E-R图。1:管理员实体E-R图:图3.1 管理员实体E-R图 管理员密码用户I
15、D2:会员信息实体E-R图:图3.2 读者实体E-R图编号电话读者 姓名条形码电子邮件职业类型 3:图书信息实体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图读者管理管理员图书管理读者图书
16、归还借阅 1 1 N N M M N N N 3.4 数据库表tb_manager表是用户统计用户信息(管理员信息表)管理员信息表关键用来保留管理员信息。表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所表示。
17、 表3-4-2字段名称数据类型是否为空是否主键默认值描述idInt(11)NOYES0管理员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结构如
18、表3-4-4所表示。表3-4-4字段名称数据类型是否为空是否主键默认值描述idInt(10)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(图书信息表).该表用于保留图书信息。表
19、tb_bookinfo结构如表3-4-6所表示。表3-4-6字段名称数据类型是否为空是否主键默认值描述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
20、书架intTimedateYESNULL录入时间operatorvarchar(30)YESNULL操作员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借书编号backtimedateYESN
21、ULL应还时间operatorvarchar(30)YESNULL操作员ifbacktinyint(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(出版
22、社信息表)出版社信息表关键用来保留出版社信息。表tb_publishing结构如表3-4-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性别barcod
23、evarchar(30)YESNULL条形码vocationvarchar(50)YESNULL职业birthdaydateYESNULL出生日期paperTypevarchar(10)YESNULL有效证件paperNOvarchar(20)YESNULL证件号码telvarchar(20)YESNULL电话emailvarchar(100)YESNULL电子邮件createDatedateYESNULL登记日期operatorvarchar(30)YESNULL操作员remarktextYESNULL备注typeidint(11)YESNULL类型tb_readertype(读者类型信息表
24、)读者类型信息表关键用来保留读者类型信息。表tb_readertype结构如表3-4-11所表示。表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)YES
25、NULL馆名curatorvarchar(10)YESNULL馆长telvarchar(20)YESNULL联络电话addressvarchar(100)YESNULL联络地址emailvarchar(100)YESNULLEmailurlvarchar(100)YESNULL网址creatDatedateYESNULL建馆日期introducetextYESNULL介绍 第四章 系统设计 系统给图书馆提供了系统设置、读者管理、图书管理、图书借还、系统查询等功效。本章节具体地介绍了每个子模块实现过程,同时也列出了部分关键源代码以供参考。4.1 登录模块实现过程:登录界面(login.php文件
26、),输入用户名和密码,经过调用(chklogin.php文件)checkinput()方法进行验证用户登陆。运行页面效果以下图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) /假如管理
27、员名称或密码不正确,则弹出相关提醒信息 echo alert(您输入管理员名称错误,请重新输入!);history.back(); exit; else /假如管理员名称或密码正确,则弹出相关提醒信息 echo alert(管理员登录成功!);window.location=index.php; $_SESSIONadmin_name=$infoname; $_SESSIONpwd=$infopwd; 4.2 管理员设置增加系统管理员,能够增加、修改、删除系统管理员用户。以下图4-2所表示:图4-2 管理员设置页面 管理员设置manager_del.php文件关键实现代码:?phpinclud
28、e(conn/conn.php);$id=$_GETid;$sql=mysql_query(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添加图书信息身份验证经过以后,点击能够使用系统基础信息管理界面,这是管理员关键输入信息部分,它即能够对
29、数据进行输入。填写好各项信息后,单击保留按钮,系统将对这些信息进行处理。界面见下图4-3所表示:图4-3 添加图书信息页面添加图书信息为book_add.php文件关键实现代码: 条 形 码: 图书名称: * 图书类型: option value= 作 者: 译 者: 出 版 社: option value= 价 格: (元) 页 码: 书 架: option value= input name=operator type=hidden id=operator value= input name=Submit2 type=button class=btn_grey value