图书管理系统(毕业论文)
毕 业 设 计 [ 论 文 ]
题 目: 图书管理系统
院 系: 计算机学院
专 业: 软件技术
姓 名: XXX
指导教师: XX
2017年 10 月 23 日
1. 引言 5
2. 相关技术突破 6
2.1 MVC设计模式 6
2.2 MVC模式运行 6
2.3 开发语言 7
2.4 J2EE概述 7
2.5 Struts2+Jsp+Javabean框架 8
2.6 Struts2+Jsp+Javabean运行模式 8
3 .系统需求分析 10
3.1 架构说明 10
3.1.1 系统开发环境 10
3.1.2 系统软件结构 10
3.1.3 条件与限制 11
3.2 功能分析 11
3.3 模块分析 12
4. 系统设计 14
4.1 MVC体系结 构 14
4.2 系统结构与设计 15
4.2.1 系统总体结构 15
4.2.2 普通管理员登录用例图 16
4.2.3 超级管理员登录用例图 20
4.3 数据库设计 21
4.3.1 表设计概述 21
4.3.2 表设计 23
4.3.3 数据库安全性设计 24
4.3.4 数据库管理和设置 25
4.3.5 数据库备份恢复策略 25
4.3.6 数据库运行日常维护 26
4.4 类与结构设计 27
4.5 页面设计 30
5. 系统实现 33
6. 系统测试 45
6.1 系统测试概述 45
6.2 部分测试用例 45
6.3 测试结果与发现 46
7. 发布 46
8. 结束语 46
9. 参考文献 47
图书管理系统设计与实现
【摘要】
随着网络时代的到来,电子信息化的飞速发展,图书馆作为一种信息资源的聚集地,图书种类的繁多,用户借阅的繁琐,包含很多的信息数据的管理,以及信息数据的交互。那么如果有一套具体的完善的图书管理系统就显得尤为重要,图书馆如果采用人工来管理书籍和借阅管理,由于资料繁多,手工处理的方式不仅工作量大,管理效率低下,也很容易因为疲劳而产生出错,更不方便读者对图书资料的查阅。为了提高图书管理的效率,本项目针对图书的管理,设计了一个面向图书的管理系统。 本系统主要有四个大的功能,对图书进行管理,对电子书的管理,留言功能,以及对管理员的管理
关键词:系统 图书管理
1. 引言
21世纪中国图书馆所要达到的目标,是要实现中国图书馆的现代化,实现图书馆的自动化管理,并由现代化带动图书馆事业的全面繁荣。
随着互联网时代的到来,1月22日下午,中国互联网络信息中心(CNNIC)在京发布了39次《中国互联网络发展状况统计报告》(以下简称为《报告》)。这是关于中国互联网市场整体发展情况的最权威报告。《报告》显示,中国网民规模达到7.31亿,手机网民达6.95亿。网络已经走进了各家各户,然而对于图书馆这一个具有庞大的信息的资料的机构,能实现高效的管理已成为必须要面对的问题。
根据CNNIC的调查,截止2016年6月,我国网民仍以10-39岁群体为主,占整体的74.7%,其中20-29岁年龄段的网民占比最高,达30.4%,由此可以看出,大部分的10-39岁的人们更容易接受的是网络上的信息传递,那么不论是图书管理系统的管理者还是图书的借阅者,都更加容易接受一个电子化的管理。对待繁多的图书,有一套完整的图书管理系统,不仅仅能节省管理时间,更重要的是电子化的管理更方便统计借阅排行信息。而这个项目实现了电子化的管理,推荐书,电子书的共享,借阅书本,添加新书等等功能。实现计算机的智能化管理,以提高工作效率和经济效益。
2. 相关技术突破
2.1 MVC设计模式
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
Model(模型) 是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
View(视图) 是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
Controller(控制器) 是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
2.2 MVC模式运行
MVC指MVC模式的某种框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。然而本系统采用的是JSP+Struts2+javabean的模式,也就是说中间的控制层被Struts所代替。
1.1 开发语言
JAVA语言:JDK是Java语言的软件开发工具包(SDK),主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心,它包含了Java的运行环境(JVM+Java系统类库)和Java工具。1997 年Servlet技术的产生以及紧接着JSP的产生,为Java对抗PHP,ASP等等服务器端语言带来了筹码。1998年,Sun发布了EJB1.0标准,至此J2EE平台的三个核心技术都已经出现。因此本次的毕业设计的开发选择了它。
2.4 J2EE概述
本次开发使用了JAVA EE 5,J2EE 拥有很多值得关注的,其中之一就是新的Java Standard Tag Library (JSTL) 1.2 规范。STL 1.2 的关键是统一表达式语言,它允许我们在 JavaServer Faces (JSF) 中结合使用 JSTL 的最佳特性。
Jdk使用了jdk1.8,Sort 排序,Map映射,Match匹配等都是jdk1.8的新特性。没有JDK的话,无法编译Java程序,如果想只运行Java程序,要确保已安装相应的JRE。
2.5 Struts2+Jsp+Javabean框架
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
2.6 Struts2+Jsp+Javabean运行模式
当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器。经过Other filters(SiteMesh ,etc),需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象。
ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面。拦截器(Interceptor N)会再被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。
2 .系统需求分析
3.1 架构说明
3.1.1 系统开发环境
系统基于Microsoft Windows 7 操作系统和mysql-installer-community-5.7.17.0版本的数据库。
系统前台使用Hbuilder_7.5.1,HBuilder是支持HTML5的WEB开发IDE。HBuilder的编写用到了java、c、Web和ruby。HBuilder本身主体是由Java编写。它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。
系统服务器使用了apache-tomcat-9.0.0.M4,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,所以我选择了tomcat服务器。
编写系统使用了eclipse-jee-neon-3-win32-x86_64,Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface), Java开发环境插件(JDT ),插件开发环境(PDE)等
3.1.2 系统软件结构
系统采用了B/S结构,MVC运行模式。此架构无须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。
视图层 - View
Web 层为客户端提供对应用程序的访问。Web 层由JSP组成。Web 窗体只是用 JSP提供用户操作,而代码隐藏文件实现各种控件的事件处理。验证使用到了前台框架Bootstrap,Jquery2.1, Javascript等。
模型层 — Model
模型层封装了数据库中各个表所映射的实体类,以及连接数据库的类,jdbc等。
控制层 — Controller
控制层。应用程序中处理用户交互的部分,用户输入信息,与数据库中的数据进行对比添加,并向模型发送数据。
3.1.3 条件与限制
应用本平台必须保证电脑或其它访问本平台的软件有杀毒防毒能力,对于因客户中毒而产生的数据损失本平台不负任何责任;由于图书馆资料庞大,为了避免不是管理员的人批量删除修改图书信息,本系统采用严格的等级权限管理,管理员一旦发现丢失密码,需尽快提供相关证明交于超管进行相关帐户锁定与资料的修改。
3.2 功能分析
图书管理系统主要提供的功能如下:
进入系统:
未锁定普通管理员登录:
已锁定的普通管理员登录:
超级管理员登录:
3.3 模块分析
注:(如果登录身份为普通管理员,并且未被锁定,可以查看所有功能,但是没有权利删除管理员等操作;如果登录身份为普通管理员,但是已被锁定,那么,所有功能不能看,只能留言申请解锁;如果登录身份为超级管理员,可以管理所有管理员,可以审核留言)
a)图书管理
(1)添加图书:在图书馆里添加一本新的图书
(2)查看图书:可以查询所有图书信息(修改图书,删除图书等)
(3)推荐书管理:可以推荐热门书籍,也可以不推荐某些书籍
(4)借书管理:根据借书多少降序排列,可以清空借阅
b)电子书管理
(1)上传电子书:可以上传电子书,多本一起上传等
(2)查看电子书:可以下载电子书,删除电子书等
c)留言
(1)添加留言:普通管理员留言给超级管理员查看,由超级管理员审核
(2)查看留言:普通管理员只能查看自己的留言,超级管理员可以看所有人的留言并进行审核。
d)管理员管理
(1)修改密码:超级管理员修改普通管理员的密码
(2)解锁/锁定管理员:一些违规操作的管理员可以对其进行锁定,也可以对其解锁
(3)删除账号:可以删除普通管理员的账号,删除账号会先删除此人的所有留言。
e)管理员的留言管理
(1)查看留言:查看所有人的留言,审核申请。
(2)删除留言:可以删除留言。
需要的请联系(有偿代码,谢谢)lviter@163.com
附上部分效果图:
普通管理员登陆:
最高管理员登陆:
已锁定管理员登陆:
登陆页: