基于php5的图书馆管理系统的设计与实现毕业设计论文.doc

上传人:小小飞 文档编号:3921668 上传时间:2019-10-10 格式:DOC 页数:46 大小:3.16MB
返回 下载 相关 举报
基于php5的图书馆管理系统的设计与实现毕业设计论文.doc_第1页
第1页 / 共46页
基于php5的图书馆管理系统的设计与实现毕业设计论文.doc_第2页
第2页 / 共46页
基于php5的图书馆管理系统的设计与实现毕业设计论文.doc_第3页
第3页 / 共46页
基于php5的图书馆管理系统的设计与实现毕业设计论文.doc_第4页
第4页 / 共46页
基于php5的图书馆管理系统的设计与实现毕业设计论文.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《基于php5的图书馆管理系统的设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于php5的图书馆管理系统的设计与实现毕业设计论文.doc(46页珍藏版)》请在三一文库上搜索。

1、存档编号 基于php5的图书馆管理系统的设计与实现教学学院 数学与计算机科学学院 内容摘要1关键字1Abstract1Keywords11 引言21.1系统开发背景21.2 系统开发意义22 系统分析32.1可行性分析32.2 需求分析42.3 系统开发工具及运行平台53 概要设计63.1 系统模块功能划分63.2 整体E-R图及局部E-R图74 数据库设计114.1 数据库关系模型描述114.2 数据库物理实现114.3 转换方法144.4 数据库评价145 系统详细设计155.1 各界面的程序流程图155.2 界面设计及特色代码186. 系统测试406.1测试原则406.2测试用例417

2、总结44参考文献45内容摘要: 本图书馆管理系统基于php5开发,使用mysql数据库,使用的模板引擎为Smarty。本系统主要分为登录,游客,管理员后台,普通用户后台等模块。游客模块实现图书馆的相关信息查询,查询图书和读者留言等功能;登录模块主要有用户注册和登录,找回丢失密码等功能。登录模块使用了session机制防止用户非法登录和多用户同时登录一个账号;管理员后台能实现用户管理、图书管理、借阅管理(包括查询借阅信息、借书、还书等功能)、预定图书管理,延期、丢失处理,留言管理,回收站等功能;用户后台能实现已借图书查询、预定图书、图书查询、欠费记录查询、个人设置等功能。关键字:图书馆管理系统,

3、mysql,php5,注册,安全退出,回收站。Abstract: Based on the PHP5 development of the library management system, using MySQL database, using the template engine for Smarty. The system mainly consists of login, tourists, the administrator, user backstage module. To realize the library visitors module related informa

4、tion query, the query of books and readers messages and other functions; the login module is mainly a user registration and login, lost password etc. The login module uses the session mechanism to prevent the user from illegal logging and multiple users simultaneously on an account; the administrato

5、r can realize user management, library management, library management (including query info, library, books and other functions), a predetermined library management, delay, loss of processing, message management, recycling and other functions; user information can realize the books, books, books que

6、ry query scheduled fundraising records, query, personal settings and other functions.Keywords:Library management system, mysql, PHP5, the user registration, safety exit, the recycle bin.441 引言1.1系统开发背景当今各大高校的图书馆里的图书室越来越多,人工管理已经是不能满足各大高校的需求了。有的高校的图书馆已经用上了CS架构的图书馆管理系统,它能够完成一定的管理需求;但如今网络日渐发达,学生都希望能通过网络

7、就能方便的预定图书,查询图书,所以BS架构的图书馆管理系统诞生了;而且BS系统在客户端不用安装只需通过浏览器访问即可,而且当今BS系统的开发已经成熟,各种模板引擎,框架的出现使得BS系统开发更快,而且能达到前台页面和后台代码分离,便于更新和维护,所以本图书馆管理系统为BS架构的系统。本系统是使用php5开发的,使用了smarty模板引擎达到了前端界面代码和后台php代码分离。后台功能实现主要分为控制层和数据层。本系统主要有用户控制面板模块和管理员控制面板模块和前台初始页模块,管理员后台只有拥有相应的权限才能做相应的操作。开发环境为Apache+Mysql+php5。1.2 系统开发意义开发本系

8、统能是现在的图书馆管理更科学,更方便,更规范。本系统便于更新,维护,便于运用,本系统能大大减小管理员的负担,给广大师生,读者提供更好的服务。2 系统分析系统分析分为可行性分析和需求分析。2.1可行性分析2.1.1 经济可行性分析本系统开发要耗去一定的时间,而所用的开发工具和软件基本是免费的。由于系统能够在未来一段时期内稳定地发挥作用,开发图书馆管理系统,对于管理图书和管理读者,图书的借阅,图书的预定都有很大的帮助。由此可见,开发此系统在经济上是完全可行的。2.1.2操作可行性分析如今的大学生大部分都有了计算机,硬件成本不断的下降,计算机价格不断降低。我的这套系统是利用自己的计算机加免费编程软件

9、来开发的,开发出来的系统具有友好的用户界面、有良好的安全性设置等,可以使用户可以很快地掌握系统的操作方法,因此在操作上是可行的。2.1.3技术可行性分析从目前IT业内使用比较广泛的数据库开发、管理软件来看,使用比较简单的中小型数据库,php5和Mysql,apache的结合无疑是在实际应用中较为成功的一种解决方案。为用户提供了业界软件开发一直坚持的非常友好、操作简单的用户界面、完善强大的数据库操作功能和简洁明了的数据库接口。所以技术实行起来相对会容易。2.1.4 可行性综合分析开发本系统就是为了解决图书馆管理中的一些不规范,使图书馆的管理向着规范化、简单化、有效化的方向发展。通过以上的分析,认

10、为开发本系统是可行的。2.2 需求分析需求分析包括系统目标、系统特点、系统要求。2.2.1 系统目标本系统需实现(1)前台主要完成广大读者进行普通的图书查询功能,和读者留言功能;(2)登录页主要完成用户登录,用户注册,找回密码等功能;(3)用户界面要完成图书查询功能,预定图书功能,欠费记录查询,已借图书查询,个人设置等功能;(4)管理员界面需完成用户、图书、借阅、预定图书管理,延期、丢失处理,读者留言管理,回收站等功能。并且界面友好,用户体验要好。要适合最普通用户使用。2.2.2 系统特点本系统有以下特点:(1)确保系统性能良好界面友好(2)处理效率高易维护易使用(3)采用成熟的php5开发,

11、使用的smarty模板引擎也相当成熟。(4)系统尽可能简化重复操作提高效率(5)简化统计难度,智能处理数据。(6)使用MySQL数据,并且数据表尽量减小冗余字段。2.2.3 系统要求本系统需实现功能:(1) 前台主要完成广大读者进行普通的图书查询功能,和读者留言功能;(2)登录页主要完成用户登录,用户注册,找回密码等功能;(3)用户界面要完成图书查询功能,预定图书功能,欠费记录查询,已借图书查询,个人设置等功能;(4)管理员界面需完成用户、图书、借阅、预定图书管理,延期、丢失处理,读者留言管理,回收站等功能。并且界面友好,用户体验要好。要适合最普通用户使用。2.3 系统开发工具及运行平台编辑器

12、NetBeans IDE 7.0.1数据库Mysql浏览器category_id服务器Apache开发语言Php5数据库图形化工具SQLyog企业版3 概要设计3.1 系统模块功能划分(1)游客访问模块(前台),实现图书查询和读者留言等功能。(2)登录模块,主要实现注册用户、用户登录和找回密码等功能。(3)用户管理模块(注册用户后台):a、个人设置(个人基本信息设置,密码设置),b、图书查询,c、预定图书,d、欠费记录查询,e、已借图书查询,f、安全退出【注销】(4)管理员管理模块(管理员后台):a、用户管理(用户的增、删、改、查、导入,批量删除),b、院系管理(院系的增、删、改、查),c、图

13、书管理(图书的增、删、改、查、批量删除),d、图书类别管理(图书类别的增、删、改、查),e、借阅管理(借阅信息查询,借书,还书),f、预定图书管理,g、延期、丢失处理(延期、丢失图书显示,延期图书处理,丢失图书处理),h、回收站,i、读者留言管理(查看、删除、批量删除)j、安全退出【注销】系统模块功能图图3-1系统模块功能图3.2 整体E-R图及局部E-R图整体E-R图图3-2 整体E-R图局部E-R图 图3-3 图书类别E-R图 图3-4 预订图书信息E-R图 图3-5 图书图书信息E-R图图3-6 管理员信息E-R图图3-7 读者信息E-R图图3-8 借阅信息E-R图 图3-9 院系信息E

14、-R图图3-10 读者留言 E-R图4 数据库设计4.1 数据库关系模型描述图书类别表:(类别编号,类别名称,更新日期,类别状态)标有下划线的为主键;图书信息表:(图书编号,图书ISBN,图书名称,图书作者,出版社,出版日期,类别编号,图书价格,更新日期,图书状态,借阅次数)标有下划线的为主键;用户信息表(管理员信息表和读者信息表):(用户编号,用户名,真实姓名,性别,生日,密码,处理后的用户名,用户类型,院系编号,用户email,电话,更新日期,用户状态,提示信息)标有下划线的为主键;院系信息表:(院系编号,院系名称,学院领导,学院电话,学院状态,更新日期)标有下划线的为主键;借阅信息表:(

15、编号,图书ISBN,用户名,借阅日期,应还日期,实还日期,罚金)标有下划线的为主键;预定图书表:(预定编号,图书ISBN,用户名,预定状态,预定时间) 标有下划线的为主键;读者留言信息表:(信息编号,读者学号,留言内容,联系方式,留言时间)标有下划线的为主键;SESSION表: (SESSION编号,用户编号,最后访问时间,SESSION起始时间,SESSION保留时间);标有下划线的为主键;4.2 数据库物理实现4.2.1图书类别表表4-1 图书类别表列名数据类型长度允许空PKcategory_idmediumint8category_namevarchar100update_datedat

16、etimecategory_statetinyint44.2.2图书信息表表4-2 图书信息表列名数据类型长度允许空PKbook_idmediumint8ISBNvarchar50book_namevarchar100book_authorvarchar100book_publishvarchar100publish_datedatetimecategory_idtinyint2book_pricefloat8update_datedatetimebook_statetinyint2timesmediumint8允许4.2.3用户信息表表4-3 用户信息表列名数据类型长度允许空PKuser_i

17、dmediumint8usernamevarchar100realnamevarchar100sexchar8birthdaydatetime允许user_passwordvarchar40username_cleanvarchar55user_typetinyint2department_idfloat8user_emaildatetime允许user_phonetinyint2允许update_datemediumint8user_statetinyint2tip_messagevarchar255允许4.2.4 院系信息表表4-4 院系信息表列名数据类型长度允许空PKcategory_i

18、dmediumint8category_namevarchar100update_datedatetimecategory_statetinyint44.2.5借阅信息表表4-5借阅信息表列名数据类型长度允许空PKborrow_idmediumint8ISBNvarchar100usernamevarchar100borrow_datedatetimeruturn_datedatetimereturned_datedatetime允许finedouble8允许4.2.6 SESSION表表4-6借阅信息表列名数据类型长度允许空PKsession_idvarchar50user_idmedium

19、int8session_last_visitint30Session_startint30Session_timeint304.2.7 预定图书信息表表4-7借阅信息表列名数据类型长度允许空PKidmediumint8ISBNvarchar50usernamevachar30statetidyint2insert_time datetime4.2.8 留言信息表表4-8留言信息表列名数据类型长度允许空PKmessage_idmediumint8usernamevarchar30contactvachar50允许msg_contenttextupdate_time datetime4.3 转换方

20、法(1)将概念结构转换为一般的关系模型;(2)将转换来的关系模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。4.4 数据库评价本数据库为3NF范式,尽量减少数据冗余,将读者信息表,管理员信息合并成一个用户表,用户表添加了username_clean字段,主要是为了防止sql注入,每个表都设有主键,提高查询速率,并且本数据库使用了外键能更好的进行多表查询。5 系统详细设计5.1 各界面的程序流程图(1) 登录系统流程图如下:图5-1 登录系统流程图(2)管理员后台流程图如下:图5-2 管理员后台流程图(3)用户控制面板流程图图5-3 用户控制面板流程图5.2 界面设计及特色代码

21、5.2.1游客访问模块提供游客查询图书信息,发表个人意见,查看相关图书馆信息,是进入登录界面的入口。类为(index.php),模板为( index.html),部分特色代码:界面为:图5-4 图书馆管理系统初始页5.2.2用户管理后台模块提供注册用户查询图书,预定图书,查询借阅信息,修改个人信息等 其主类为(ucp.php),模板为 (ucp_main.html),部分特色代码:界面:图5-5 用户控制面板(1)图书查询提供用户查询自己想要的图书信息,以书名,出版社,作者作为关键字进行模糊查询,其界面为:图5-6 馆藏图书查询(2)预订图书对自己想借阅的图书进行预订,其类为(ucp_book

22、ing.php),模板为(ucp_booking_info.html,ucp_booking.html),部分特色代码:a: 已预定图书预览(可以查看用户已预订的图书,同时也可以取消已经预订的图书)。图5-7 已预订图书预览b:预订图书(实现图书查看,图书预订功能)。图5-8 预订图书界面(3)借阅信息查询提供用户查看自己的借阅情况,欠费记录,和借阅的日期等。图5-9借阅信息查询界面(4)个人信息设置a: 个人基本信息设置(提供修改个人一些需重新修改的用户信息)。图5-10 个人信息设置界面b: 个人密码设置(提供修改个人密码)。图5-11 个人密码设置界面5.2.3登录模块登录界面可以实现普

23、通用户登录和管理员登录,经过严格的验证,用户名和密码都正确方能进入系统。登录界面同时也是注册用户的入口和找回密码功能的口,其主要类为(acp_login.php) ,模板为(login_body.html),部分特色代码:界面为:图5-12 用户登录界面5.2.4用户注册模块提供注册普通用户,其类为(register.php),模版为(register.html),部分特色代码:界面为:图5-13 用户注册界面5.2.5管理员后台模块提供管理员对用户,图书,借阅信息等进行管理,还有对图书进行借阅和归还,回延期、丢失的图书进行相应的处理。其主类为(acp.php),模板为(acp_main.ht

24、ml),部分特色代码:界面为:图5-14 管理员控制面板(1)用户管理主要类为(acp_user.php),其构造方法为:a:用户列表其方法为(method: user_list),模板为(acp_user_list.html),主要功能为列出user表中的用户数据。界面为:图5-15 用户列表页b:添加用户其方法为(method:add_user),模板为(acp_user_edit.html),主要功能为添加用户(编辑用户,提交,数据验证,保存)。界面为:图5-16 添加用户界面c:修改用户其方法为(method:edit_user)模板为(acp_user_edit.html),主要功能

25、为修改用户(编辑用户,提交,数据验证,保存)。界面为:图5-17 用户编辑界面d:删除用户其方法为(method:del_user, batch_del_user),主要功能为删除用户(分为删除单个用户,和批量删除用户)。部分特色代码代码(删除单个用户): 部分特色代码代码(批量删除用户):e:用户导入其方法为(method:import_user),主要功能为实现excel表的用户批量导入数据库。部分特色代码:界面为:(2)图书管理主要类为(acp_book.php),其构造方法为:a:图书列表其方法为(method: book_list),模板为(acp_book_list.html),主

26、要功能为列出图书信息。界面为:图5-18 图书列表页b:添加图书其方法为(method:add_book),模板为(acp_book_edit.html),主要功能为添加图书(编辑图书、提交、验证数据、保存)。界面为:图5-19 图书入库页c:修改图书信息其方法为(method:edit_book),模板为(acp_book_edit.html),主要功能为修改图书(编辑图书、提交、验证数据、保存).界面为:图5-20 编辑图书界面d:删除图书其方法为(method:del_book, batch_del_book),主要功能为删除图书(分为删除一本图书和批量删除图书).特色代码(单个删除):

27、特色代码(批量删除):(3)借阅管理主要类为(acp_borrow.php)类,构造方法为:a:借阅信息列表其方法为(method:borrow_list),模板为(acp_borrow_list.html),主要功能为显示出借阅信息。界面为:图5-21 借阅信息列表页b:借书其方法为(method:borrow_book),模板为(acp_borrow_book.html),主要功能为借书(输入图书ISBN,用户名,借出,借书成功)。界面:图5-22 借阅管理界面c:还书其方法为(method:return_book),模板为(acp_borrow_book.html),主要功能为还书(输入

28、图书ISBN,还回,还书成功)。部分特色代码:界面为:图5-23 还书界面(4)预定图书管理主要实现预定图书的借阅,查询,和删除功能。其主要类为(acp_booking.php),构造方法为(acp_booking),模版为(acp_booking.html)。部分特色代码:界面为:图5-24 预订图书列表页(5)院系管理主要实现院系列表查看,添加院系,编辑院系,删除院系等功能。其主要类为(acp_department.php),构造方法为:列表也模板为(acp_department_list.html)。界面为:图5-25 院系列表页添加、编辑院系信息模板为(acp_department_e

29、dit.html)。界面为:图5-26 添加学院界面(6)图书类别管理主实现对图书类别的查看,添加,删除功能。其主要类为(acp_category.php)模板为(acp_category_list.html),构造方法为: 界面为:图5-27 图书种类列表页(7)丢失延期处理主要实现图书的丢失处理,图示的延期处理。其类为(acp_latelost.php)模板为(acp_late_lost.html),构造方法为:初始界面为:图5-28 延期、丢失处理初始页延期处理:对读者图书延期还回的情况进行罚金上的处理。丢失处理:对读者丢失图书进行相应的罚金上的处理。延期、丢失处理界面为:图5-29 延

30、期、丢失处理页(8)留言管理主要对读者留言进行查看,删除。其主要类为(acp_levmsg.php),模版为(acp_levmsg_list.html)。部分色代码:界面为:(9)回收站主要实现删除数据的回收,有恢复,彻底销毁,清空回收站功能。其类为(acp_recycle.php),模板为(acp_recycle_list.html),部分特色代码:构造方法为:界面为:图5-30 回收站界面6. 系统测试6.1测试原则软件测试的基本原则是站在用户的角度,对产品进行全面测试,尽早、尽可能多地发现Bug,并负责跟踪和分析产品中的问题,对不足之处提出质疑和改进意见。具体测试原则有如下几点:(1)软

31、件测试计划是做好软件测试工作的前提进行实际测试之前,应制定良好的、切实可行的测试计划并严格执行,特别要确定测试策略和测试目标。(2)在用户需求之上软件测试的目标,是测试的标准要建立的基础。那就是确认产品是否满足客户的需求和验证产品的协调一致性,所以测试人员要一直都要用用户的眼光来看问题,去判断软件缺点的各种影响,那些导致程序无法满足用户需求的缺陷是系统中最大的错误。(3)不可将测试用例置之度外,排除随意性,特别是对于做了修改之后的程序进行重新测试时,如不严格执行测试用例,将有可能忽略由修改错误而引起的大量的新错误。所以,回归测试的关联性也应引起充分的注意,有相当一部分最终发现的错误是在早期测试

32、结果中遗漏的。6.2测试用例完成了功能测试等这一系列的测试之后,看到系统的设计整体上都符合要求,具体的测试结果下面表所示。表6-1用户注册登录修改界面测试用例测试用例场景测试步骤预期结果实际结果TC1用户注册选择用户注册,显示用户注册界面输入新用户名和密码等用户信息,点击注册提示注册成功同预期TC2用户登录打开系统,点击进入登录页面,输入用户名、密码,点击登入判断用户的用户名、密码是否正确,若正确,成功登录,若错误,返回登录也,显示错误信息. 同预期TC3修改密码选择修改密码,显示修改密码界面,输入原密码和输入新密码如果原密码均正确,则可输入新密码,点击确定后提示密码修改成功,否则不能输入新密

33、码同预期TC4安全退出点击安全退出退出系统同预期表6-2用户控制面板测试用例测试用例场景测试步骤预期结果实际结果TC1用户登录打开系统,点击用户登录,输入用户名和密码,成功登录同预期TC2查看图书信息用户登录后,点击查看图书图标,显示相应的图书信息列表,成功显示出图书信息同预期TC3查看借阅信息用户登录后,点击借阅信息图标,显示相应的借阅信息列表,成功显示出用户借阅信息同预期TC4查看已预订图书点击预订图书,可以显示用户已借阅信息列表成功显示用户已借阅信息同预期TC5预订图书点击预订图后,查询用户需要预订的图书,显示图书列表,点击预订按钮,预订成功成功预订同预期TC6用户个人信息点击用户个人信

34、息设置,显示用户个人信息,可以进行修改成功显示个人信息,修改信息同预期TC7安全退出点击安全退出成功退出系统同预期表6-3管理员控制面板测试用例测试用例场景测试步骤预期结果实际结果TC1后台系统登录点击后台登录图标,显示登录界面,输入相应的管理员账号和密码,成功登录。显示出后台系统界面同预期TC2图书的借阅管理输入图书ISBN,输入用户名,单击借出,借书成功;输入图书ISBN,用户名,单击还回,还书成功。成功借书,成功还书同预期TC3查看以及管理后台各种信息管理员登入之后,点击相应的图标,可以查看以及管理各种信息成功查看各种信息同预期TC4安全退出点击安全退出退出系统同预期本章主要测试了房屋中

35、介信息管理系统的可行性,并且介绍了专门针对本系统的主要的测试方式,还有描述了一些简单的的测试用例;此外,根据测试方法和测试用例,还介绍了对系统进行测试的步骤和项目,和最后的测试结论。总体来说,整个系统的设计都比较符合要求,圆满地完成了开题报告中所提出的设计要求7 总结毕业设计是大学本科教育最后一个重要的实践环节,着重培养学生综合运用本学科的基本理论、专业知识和基本技能,提高分析与解决实际问题的能力。这次毕业设计是对本人知识能力水平的一次全面检验,是对本专业知识的一次拓展,通过本次设计,使我更好的掌握了php这门语言和许多数据库的相关知识。有了一些体会:第一、进行软件系统开发前一定要做好充分地调

36、研和考察,不能闭门造车,否则设计出来的系统很难有实用性。第二、三人行,必有我师。虚心请教,是我此次顺利完成课题的关键,学习别人好的方法和设计思想,补己之短,才能开发好软件。第三、通过本次设计,端正了我的学习态度,提高了实践能力。使我认识到应该以严谨的科学态度勇于去实践和探索。 这次毕业设计既是一个学习的过程,也是一个实际工作的过程,它使我获得了一些开发大型系统的经验。但是,由于时间和我个人的能力有限,这个系统还有很多不完善的地方。故还望各位老师能给予批评和建议,使得这个课题能够更好地进行下去,不断完善,对此我由衷地欢迎和感谢。 参考文献1刘晓霞 译 Ben Forta 著.MySql必知必会人

37、民邮电出版社 2009.12W3school手册3李松峰 李炜 译 Jonathan Chaffer Karl Swedberg 著. JQuery 基础教程人民邮电出版社 2009.14李松峰 曹力 译 Nicholas C.Zakas 著.JavaScript高级程序设计人民邮电出版社 2010.115计算机软件产品开发文件编制指南6周之英 编著. 现代软件工程科学出版社. 2000.17唐任仲 编著. 工程应用软件开发技术化学工业出版社. 1999.58孟莉.数字化图书馆培养创新人才支撑作用 北京林业大学社会科学版,2004.59薛贞芳.关于地方高校图书馆数字化建设的思考安徽大学学报,2002,610李广建,张智雄.国外图书馆字动化系统的现状与趋势现代图书情报技术,2003,6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1