1、图书管理系统毕业设计题 目: 图书管理系统院 系: 计算机学院专 业: 软件技术姓 名: XXX指导教师: XX2017 年 10 月 23 日1. 引言 52. 相关技术突破 62.1 MVC 设计模式 62.2 MVC 模式运行 62.3 开发语言 72.4 J2EE 概述 72.5 Struts2+Jsp+Javabean 框架 82.6 Struts2+Jsp+Javabean 运行模式 83 .系统需求分析 103.1 架构说明 103.1.1 系统开发环境 103.1.2 系统软件结构 103.1.3 条件与限制 113.2 功能分析 113.3 模块分析 124. 系统设计 14
2、4.1 MVC 体系结 构 144.2 系统结构与设计 154.2.1 系统总体结构 154.2.2 普通管理员登录用例图 164.2.3 超级管理员登录用例图 204.3 数据库设计 214.3.1 表设计概述 214.3.2 表设计 234.3.3 数据库安全性设计 244.3.4 数据库管理和设置 254.3.5 数据库备份恢复策略 254.3.6 数据库运行日常维护 264.4 类与结构设计 274.5 页面设计 305. 系统实现 336. 系统测试 456.1 系统测试概述 456.2 部分测试用例 456.3 测试结果与发现 467. 发布 468. 结束语 469. 参考文献
3、47图书管理系统设计与实现【摘要】随着网络时代的到来,电子信息化的飞速发展,图书馆作为一种信息资源的聚集地,图书种类的繁多,用户借阅的繁琐,包含很多的信息数据的管理,以及信息数据的交互。那么如果有一套具体的完善的图书管理系统就显得尤为重要,图书馆如果采用人工来管理书籍和借阅管理,由于资料繁多,手工处理的方式不仅工作量大,管理效率低下,也很容易因为疲劳而产生出错,更不方便读者对图书资料的查阅。为了提高图书管理的效率,本项目针对图书的管理,设计了一个面向图书的管理系统。 本系统主要有四个大的功能,对图书进行管理,对电子书的管理,留言功能,以及对管理员的管理关键词:系统 图书管理 1. 引言21 世
4、纪中国图书馆所要达到的目标,是要实现中国图书馆的现代化,实现图书馆的自动化管理,并由现代化带动图书馆事业的全面繁荣。随着互联网时代的到来,1 月 22 日下午,中国互联网络信息中心(CNNIC)在京发布了 39 次中国互联网络发展状况统计报告(以下简称为报告)。这是关于中国互联网市场整体发展情况的最权威报告。报告显示,中国网民规模达到 7.31 亿,手机网民达 6.95 亿。网络已经走进了各家各户,然而对于图书馆这一个具有庞大的信息的资料的机构,能实现高效的管理已成为必须要面对的问题。根据 CNNIC 的调查,截止 2016 年 6 月,我国网民仍以10-39 岁群体为主,占整体的 74.7%
5、,其中 20-29 岁年龄段的网民占比最高,达 30.4%,由此可以看出,大部分的 10-39 岁的人们更容易接受的是网络上的信息传递,那么不论是图书管理系统的管理者还是图书的借阅者,都更加容易接受一个电子化的管理。对待繁多的图书,有一套完整的图书管理系统,不仅仅能节省管理时间,更重要的是电子化的管理更方便统计借阅排行信息。而这个项目实现了电子化的管理,推荐书,电子书的共享,借阅书本,添加新书等等功能。实现计算机的智能化管理,以提高工作效率和经济效益。2. 相关技术突破2.1 MVC 设计模式MVC 全名是 Model View Controller,是模型(model)视图(view)控制器
6、 (controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC 被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。Model(模型 ) 是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。View(视图) 是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。Controller(控制器) 是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。2
7、.2 MVC 模式运行MVC 指 MVC 模式的某种框架,它强制性的使应用程序的输入、处理和输出分开。使用 MVC 应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的 MVC 就是 JSP + servlet + javabean 的模式。然而本系统采用的是 JSP+Struts2+javabean 的模式,也就是说中间的控制层被 Struts 所代替。1.1 开发语言JAVA 语言:JDK 是 Java 语言的软件开发工具包(SDK ),主要用于移动设备、嵌入式设备上的 Java 应用程序。JDK是整个 Java 开发的核心,它包含了 Java 的运行环境(JV
8、M+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) 中结合使用
9、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 的技术基础上进行了合
10、并的全新的 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)它将请求传递给一个标准的的过滤
11、链包括(ActionContextCleanUp)过滤器。经过 Other filters(SiteMesh ,etc),需要调用 FilterDispatcher 核心控制器,然后它调用 ActionMapper 确定请求哪个Action,ActionMapper 返回一个收集 Action 详细信息的ActionMaping 对象。 FilterDispatcher 将控制权委派给ActionProxy,ActionProxy 调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建 ActionInvocation 对象。Ac
12、tionInvocation 在调用 Action 之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串 ActionInvocation 负责查找结果字符串对应的(Result)然后执行这个 Result Result 会调用一些模版(JSP)来呈现页面。拦截器 (Interceptor N)会再被执行(顺序和 Action 执行之前相反)最后响应(HttpServletResponse)被返回在 web.xml 中配置的那些过滤器和核心控制器(FilterDispatcher)。2 .系统需求分析3.1 架构说明3.1.1 系统开发环境系统基于 Micro
13、soft 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服务器
14、。编写系统使用了 eclipse-jee-neon-3-win32-x86_64,Eclipse 核心很小,其它所有功能都以插件的形式附加于 Eclipse 核心之上。Eclipse 基本内核包括:图形API (SWT/Jface), Java 开发环境插件(JDT ),插件开发环境(PDE)等3.1.2 系统软件结构系统采用了 B/S 结构,MVC 运行模式。此架构无须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。 视图层 ViewWeb 层为客户端提供对应用程序的访问。Web 层由 JSP组成。Web 窗体只是用 JSP 提供用户操作,而代码隐藏
15、文件实现各种控件的事件处理。验证使用到了前台框架Bootstrap,Jquery2.1, Javascript 等。模型层 Model 模型层封装了数据库中各个表所映射的实体类,以及连接数据库的类,jdbc 等。控制层 Controller控制层。应用程序中处理用户交互的部分,用户输入信息,与数据库中的数据进行对比添加,并向模型发送数据。3.1.3 条件与限制应用本平台必须保证电脑或其它访问本平台的软件有杀毒防毒能力,对于因客户中毒而产生的数据损失本平台不负任何责任;由于图书馆资料庞大,为了避免不是管理员的人批量删除修改图书信息,本系统采用严格的等级权限管理,管理员一旦发现丢失密码,需尽快提供
16、相关证明交于超管进行相关帐户锁定与资料的修改。3.2 功能分析图书管理系统主要提供的功能如下:进入系统:未锁定普通管理员登录:已锁定的普通管理员登录:超级管理员登录:3.3 模块分析注:(如果登录身份为普通管理员,并且未被锁定,可以查看所有功能,但是没有权利删除管理员等操作;如果登录身份为普通管理员,但是已被锁定,那么,所有功能不能看,只能留言申请解锁;如果登录身份为超级管理员,可以管理所有管理员,可以审核留言)a)图书管理(1)添加图书:在图书馆里添加一本新的图书(2)查看图书:可以查询所有图书信息(修改图书,删除图书等)(3)推荐书管理:可以推荐热门书籍,也可以不推荐某些书籍(4)借书管理
17、:根据借书多少降序排列,可以清空借阅b)电子书管理(1)上传电子书:可以上传电子书,多本一起上传等(2)查看电子书:可以下载电子书,删除电子书等c)留言(1)添加留言:普通管理员留言给超级管理员查看,由超级管理员审核(2)查看留言:普通管理员只能查看自己的留言,超级管理员可以看所有人的留言并进行审核。d)管理员管理(1)修改密码:超级管理员修改普通管理员的密码(2)解锁/ 锁定管理员:一些违规操作的管理员可以对其进行锁定,也可以对其解锁(3)删除账号:可以删除普通管理员的账号,删除账号会先删除此人的所有留言。e)管理员的留言管理(1)查看留言:查看所有人的留言,审核申请。(2)删除留言:可以删除留言。