毕业论文-大学图书借阅管理系统的设计与实现.doc_第1页
毕业论文-大学图书借阅管理系统的设计与实现.doc_第2页
毕业论文-大学图书借阅管理系统的设计与实现.doc_第3页
毕业论文-大学图书借阅管理系统的设计与实现.doc_第4页
毕业论文-大学图书借阅管理系统的设计与实现.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

序号(学号): 长 春 大 学毕 业 设 计(论 文)长春大学图书借阅管理系统姓 名学 院计算机科学技术学院专 业计算机科学与技术班 级指导教师2014年6月5日装订线长 春 大 学 毕业设计(论文)纸长春大学图书借阅管理系统的设计与实现摘要 长春大学图书借阅管理系统是一个供内部人员和外部人员使用的系统。外部人员可以查询图书馆内的图书信息、自己的借阅记录以及更改自己的密码;内部人员可以更详细对书籍列表、书籍信息、读者信息等进行增删改差等管理。本系统提供3个功能模块,分别是查询搜索模块、添加管理模块、借阅管理模块、安全管理模块。这3个模块里又有许多子模块,通过这些模块之间的相互连接与配合,完成操作员发出的各种指令。论文全面介绍所设计的长春大学图书借阅管理系统的系统功能和业务流程,并对系统进行详细的数据分析和设计。长春大学图书借阅管理系统是采用Java做前台,后台数据库则采用的是oracle10g.关键词 图书借阅管理;oracle10g;Java第 3 页 共 38 页Library management system design and implementationAbstract Library management system is used Java as the front, the backstage database uses is Oracle10g, the system provides 3 functional modules, respectively is thequery module, add management module, borrow management module, security management module. The 3 module contains many sub modules, through the mutual connection between these modules and fit, finish all kinds of instructionsissued by the operator.Library management system is an internal staff and external staff in the use of the system. External personnel can query the library book information, theirlending records and change your password; internal staff can be more detailedlist of books, book information, readers information crud and poor management.This paper will introduce the system function and business process of the library management system design, and data analysis and design details of the system,finally using Java complete system development. Keywords Library management system ;JAVA ; MVC 第 3 页 共 38 页第 4 页 共 38 页目 录1 引 言12 系统分析22.1需求分析22.2 系统体系结构的选择33开发环境构建43.1 开发语言的选择43.2 设计模式63.3 Struts,Hibernate,Spring技术73.3.1 Struts2、Spring和Hibernate三大框架简介73.3.2 Struts2框架工作原理73.3.3 Hibernate框架的作用及其对象状态83.3.4 Spring框架的模块93.4开发环境103.4.2 Oracle简介103.4.3 Ajax 简介113.5网络安全124 概要设计134.1 数据库的设计134.1.1数据库的分析134.1.2数据库概念设计134.1.4 数据逻辑结构设计154.2系统总体架构174.2.1 系统总体功能简介174.2.2系统总体结构175 详细设计与系统实现195.1系统登录模块195.2普通用户登录模块205.2.1 查询搜索模块205.2.2安全管理模块225.3 管理员登录模块225.3.1 查询搜索模块225.3.2添加管理模块255.3.3借阅管理286 测 试306.1测试项目306.2 测试用例307 结 论32致 谢33参考文献341 引 言随着社会的发展,人们对于知识的需求也在不断地增长。书籍作为人们获取并增长知识的主要途径,使得图书馆在人们生活中占有了一定位置。但是近几年来,随着书量的不断增长,造成了书库空间极度不足,图书挤压,管理不善。这些都直接影响了读者对图书馆藏书的充分利用。这时图书馆就特别需要开发一套图书借阅管理系统,通过该系统来提高图书馆的管理效率,从而减少管理方面的工作流和成本。一个现代化的图书馆在正常运营中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息,还书信息。面对图书馆数以万计的图书,纷繁复杂的读者信息,频繁更替的借还书信息,传统的直接方法不但管理出现漏洞,造成损失。因此有一个智能化、系统化、信息化的图书管理系统十分重要的。充分利用计算机的功能实现对读者管理、书籍管理,借阅管理等自动化控制,将会使图书馆的工作大大减弱。方便友好的图形界面、简便的操作、完善的数据库管理。将会使得图书馆系统极大限度的应用于现代化图书管理中。本设计主要用图书管理,总体任务是使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况2 系统分析2.1需求分析长春大学图书馆始建于1954年,现馆于1999年建成并投入使用。图书馆是学校信息文献的中心,为学校教学科研和全校师生提供信息资源服务。校本部中心馆舍建筑面积15000平方米,在西校区设有借阅部。目前学校可供图书馆使用的房屋面积为23000多平方米。馆藏文献 馆藏有工业技术、电子信息、计算机科学、经济管理、文学、教育学、艺术学、数理化、医学、林学、食品加工等文献。馆藏文献总量196万余册。其中,纸质图书143万余册;电子图书53万余册。图书馆先后购进了12个数据库,有清华同方(CNKI)数据库中的中文期刊全文/硕士论文/博士论文数据库;爱迪科森就业培训数据库;国研网教育版数据库;维普资讯中文科技期刊全文数据库;万方数据知识服务平台;维普考试资源系统;中科UMajor大学专业课学习资源数据库;读秀知识库;森图就业数字图书馆;ABI数据库;SPECIALSCITMDBS学术资源平台; EBSCO外文数据库; Emerald管理学期刊数据库;Osiris全球上市公司分析数据库;bankscope全球银行与金融机构分析数据库。上述数据库的使用满足了学校教学科研的需求。阅览座位 阅览座位已达2853个,同时根据馆藏分别开设了8个借阅室、盲文阅览室、教师阅览室、普通阅览室、电子阅览室、工具书阅览室、外文原版图书阅览室以及期刊阅览室等14个阅览室。长春大学图书借阅管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。一个典型的长春大学图书借阅管理系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。该系统还需要能够对图书的借阅,归还进行管理。通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。一个完整的长春大学图书借阅管理系统包括前台和后台,前台主要是显示在计算机屏幕上的显示界面,有各种指令按钮,操作框以及文本框,后台主要是为前台的一些操作提供一些必要的数据,也就是一个相对于系统比较完整的数据库,操作员以及各类图书的信息,借书者的信息等等。一个最基本的长春大学图书借阅管理系统要有如下几个重要功能:(1)管理员可以方便进行图书管理,用户管理,管理员管理。图书管理包括图书信息以及图书分类的添加,修改,删除。用户管理包括用户信息的添加,删除,修改。管理员管理包括管理员信息的添加,删除,修改等。(2)用户和管理员可以修改自己的密码,修改前需先核实自己的原始密码。(3)实现模糊查询,使用户得到更多的相关记录。并且考虑使用的方便性,一些经常使用的输入无须用户输入,比如进行图书查询时图书分类只须用户做选择就可以。一个长春大学图书借阅管理系统要是能实现以上的各种功能,那么这个长春大学图书借阅管理系统也就算是比较成功的一个系统了。2.2 系统体系结构的选择本系统采用的是B/S体系结构。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。B/S模式是一种由传统的二层Client/Server结构发展而来的三层结构在Web上的应用。此时,表示层(Brower)、功能层(Web Service)和数据层(Data Service)被分成三个相对独立的单元。表示层中包括显示逻辑,位于客户端,它的任务是向Web服务器提出服务请求,并接受Web服务器传来的主页并进行显示;功能层中则包含了事务处理逻辑,它位于Web服务器端,其任务是接受客户端的请求并数据库进行连接。向数据服务器提出数据处理请求,并将结果传送给客户端;处于第三层的数据层则包含了系统的数据处理逻辑,位于数据库服务器上,它接受Web服务器对数据进行操作的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。B/S体系结构的优点有:最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。相对与C/S模式的客户端,不需要专门的培训就可以使用,不需要再学习使用其他的软件;B/S模式的应用逻辑由Web服务器承担,这不但可以减少系统管理员的工作量,而且可以缩短系统的开发周期,维护工作也简单易行。3开发环境构建3.1 开发语言的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行,使用最多,最为先进的可用作企业级开发语言的产品有:SUN公司的JavaMicrosoft公司的Visual BasicMicrosoft公司的Visual CBorland公司的DelphiPowersoft公司的PowerBulider在目前市场上这些众多的程序开发工具中,有些强调语言的弹性与执行效率;有些偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的不同需求。我的网站选择Java语言开发,其原因基于以下几点:1.简单Java的风格类似于C+,并且摒弃了C+中容易引发程序错误的地方,如指针和内存管理。此外Java提供了丰富的类库。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写适用于各种情况的应用程序。Java略去了运算符重载、多重继承等模糊的概念,并且通过实现自动垃圾回收机制大大简化了程序设计者的内存管理工作。另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有40KB左右,加上标准类库和线程的支持也只有215KB左右。库和线程的支持也只有215KB左右。2.面向对象Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用弗雷所提供的方法,实现了代码的复用.3.分布式Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库.因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同.4.健壮Java致力于检查程序在编译和运行时的错误.Java自己操纵内存减少了内存出错的可能性.Java提供Null指针检测数组边界、检测异常出口、字节代码校验.5.安全Java的安全性可从两个方面得到保证.一方面,在Java语言里,像指针和释放内存等C+功能被删除,避免了非法内存操作.另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全.6.结构中立为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式.只要有Java运行系统的机器都能执行这种中间代码.Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行.7.可移植性Java的可移植性一直是Java程序设计师们的精神指标,也是Java之所以能够收到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术.JAVA编译器产生的目标代码(J-Code)是针对一种并不存在的CPU-JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU.JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上.8.高性能Java可以在运行时直接将目标代码翻译成机器指令.Sun用直接解释器一秒钟内可调用300,000个过程.翻译目标代码的速度与C/C+的性能没什么区别.9.多线程Java支持多线程,多线程机制使应用程序能够并执行,并且同步机制保证了对共享数据的正确操作.通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上的实时交互行为.10.动态Java的动态特性是其面向对象设计方法的发展.它允许程序动态地装入运行过程中所需要的类,这是C+语言进行面向对象程序设计所无法实现的.Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态链接类后,将符号引用信息转换成数值偏移量.Java语言将对未来软件的开发产生影响,可从如下几个方面考虑:1.软件的需求分析:可将用户的需求进行动态的、可视化描述,以提供设计者更加直观的要求.而用户的需求是各色各样的,不受地区、行业、部门、爱好的影响,都可以用Java语言描述清楚.2.软件开发的方法:由于Java语言的面向目标的特性,所以完全可以用0-0的技术与方法来开发,这是符合最新的软件开发规范要求.3.Java语言的动画效果远比GUI技术更加逼真,尤其是利用WWW提供的巨大动画资源空间,可以共享全世界的动态画面的资源.4.软件最终产品:用Java语言开发的软件可以具有可视化、可听化、可操作化的效交互、动画与动作,要它停就停,要它继续就继续,而这是在电影与电视播放过程中难以做到的.5.其它:实用Java语言对开发效益、开发价值都有比较明显的影响.Java语言也提供了大量的类似以满足网络化/多线程、面向对象系统的需要.主要有以下几点:1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数字函数处理等,可以用它简单地实现Java程序的运行平台.2.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等.3.输入输出包用统一的“流”模型来实现所有格式的I/O,包括文件系统、网络、输入.4.低级网络包用于实现Socket编程.5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框,使得Java可以移植到不同平台的机器.6.网络包支持Internet的TCP/IP协议,提供了与Internet的接口.它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计.3.2 设计模式MVC设计模式优点表现在如下几个方面: (1) 首先,最重要的一点是多个视图能共享一个模型.同一个模型可以被不同的视图重用,大大提高了代码的可重用性. (2) 由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以一句这种设计思想能构造良好的松耦合的构件. (3) 此外,控制器提高了应用程序的灵活性和可配置性.控制器可以用来连接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段.MVC处理过程的结构图,见图3-1图3-1 MVC处理过程的结构图 3.3 Struts,Hibernate,Spring技术3.3.1 Struts2、Spring和Hibernate三大框架简介 框架是JavaEE开发领域炙手可热的一个名词。目前技术领域存在很多种框架技术,能够有效的解决JavaEE应用开发中很多通用的问题,其中Struts2、Hibernate以及Spring是目前最主流的、使用最广泛的开源框架,每个框架专注于解决不同的问题,具有很强的代表性。其中,Struts2框架是一个MVC框架;Hibernate框架是一个ORM框架;而Spring框架是一个综合性的框架,是一个轻量级的解决方案。这三个框架往往各司其职,在应用中的不同层面发挥其作用。 3.3.2 Struts2框架工作原理 Struts2框架已经盛行多年,然而Struts2与Struts1之间并不是扩展和升级的关系。Struts2是著名框架WebWork的扩展,WebWork是一个很优秀的MVC框架,但是由于是一个新兴的框架,在一段时间内没有被广泛使用。后来,Struts和WebWork社区决定将二者合并,于是推出了Struts2框架。Struts2框架兼具Struts1和WebWork的优点,从而得到了广泛的使用。 Struts2的工作原理比较复杂: 1)客户端向服务器端提交请求,容器初始化HttpServletRequest请求对象。 2)请求对象被一系列的Servlet过滤器过滤。Struts2中的过滤器有3种:ActionContextCleanUp过滤器,是一个可选的过滤器,主要用来集成其他框架; 其他插件的核心过滤器,譬如:SiteMesh插件的过滤器;FilterDispatcher过滤器,是Struts2 API中提供的过滤器,是必选的过滤器。 3)FilterDispatcher过滤器调用ActionMapper,决定该请求是否需要调用某个Action。 4)如果请求需要调用某个Action,ActionMapper将通知FilterDispatcher过滤器把请求的处理交给ActionProxy来处理。 5)ActionProxy通过Configuration Manager解析框架的配置文件struts.xml,找到需要调用的Action类。 6)ActionProxy将创建一个ActionInvocation实例。 7)ActionInvocation实例使用命令模式回调Action中的execute方法,Action调用业务逻辑类完成业务逻辑。在调用Action的前后,将调用该Action涉及的相关拦截器。 8)Action执行完毕后,ActionInvocation根据struts.xml中的配置找到对应的返回结果,返回给JSP、FreeMarker等模版文件。 3.3.3 Hibernate框架的作用及其对象状态 Hibernate是一个ORM(Object-Relational Mapping)框架,主要作用是简化应用的数据持久层编程,不需要编程人员花大量的时间编写SQL和JDBC代码。可见,Hibernate框架位于应用层和数据库之间,解决数据持久层编程。Hibernate框架主要包括持久化对象(persistent Object):是Hibernate框架中非常重要的组成部分,简称为PO。PO用来映射数据库中的记录,可以通过修改PO来修改数据库记录;包括Hibernate属性文件(perties):使用Hibernate进行数据持久层编程,相关的数据库访问信息需要在Hibernate属性文件中配置,譬如,数据库驱动类、连接串、用户名、密码等,也可以使用名字为hibernate.cfg.xml的xml文件配置属性;还包括Hibernate映射文件(XML Mapping):持久化对象映射数据库中的记录,其映射关系依靠Hibernate框架的映射文件配置,映射文件是XML文件,往往使用*.hbm.xml形式命名,其中*是持久化对象的类名。 Hibernate框架是一个完整的ORM框架,以对象为基础,通过操作对象,进一步操作对象关联的数据库记录。持久化类与数据表对应,持久化的对象则映射数据库记录。持久化的对象有三种状态:瞬时状态,当通过new操作符实例化了一个对象,而这个对象并没有被Session对象操作,也就是该对象没有与一个Session对象关联时,那么这个对象就称为瞬时状态对象,瞬时状态的对象与普通对象没有区别,没有与数据库的记录有映射关系;持久状态,如果一个对象与某一个Session对象关联,例如被Session对象刚加载的、刚保存的、刚更新的,那么该对象就称为持久状态对象。持久状态的对象与数据库中一条数据相对应,并拥有持久化标识。当持久状态的对象有改变时,当事务提交后,Hibernate会自动检测到对象的变化,并持久化到数据库中;脱管状态,当与持久状态对象关联的Session关闭后,该对象就变成脱管状态。脱管状态的对象引用依然有效,可以继续使用,当脱管状态的对象再一次与某个Session关联后,脱管状态对象将转变为持久状态,脱管期间进行的修改将被持久化到数据库中。 3.3.4 Spring框架的模块 企业级应用开发总是涉及方方面面,Spring框架是一个轻量级的解决方案,致力于创建“快装式企业应用”。Spring框架包括一系列的特性,被组织在七个模块中,可以把Spring框架看成一个标准的开发组件。Spring框架被设计成无侵入式的方式,即企业应用可以根据需要选择Spring框架中必要的组件,而忽略其他部分,以做到最小范围依赖的Spring框架。 Spring框架包含了7个模块,每个模块对于解决不同的问题。Spring Core模块:是最核心的模块,封装了Spring框架核心包,主要提供了Spring IoC(控制反转)容器。IoC是Spring框架的基础,所有其他特性都是基于IoC之上;Spring Context模块:提供了对Spring中对象的框架式访问方式,并包括国际化、事件传播等特性;Spring DAO模块:提供了JDBC的抽象层,是集成JDBC的封装包,能够避免JDBC繁琐冗长代码,同时还提供了声明性事务管理特性;Spring ORM模块:提供了集成常用ORM框架的封装包,包括JDO、JPA、Hibernate、iBatis等。使用该模块可以更为便捷的使用ORM框架,而且还可以同时使用Spring的其他特性,如声明性事务等;Spring Web模块:提供了Web开发的一些基础特性,如上传文件等,同时提供了与Web框架集成的封装包,如集成Struts2框架;Spring AOP模块:AOP(面向切面编程)是Spring中除了IoC外的另外一个核心概念,该模块提供了符合AOP联盟规范的AOP实现,可以降低应用的耦合性,提高扩展性;Spring MVC模块:该模块提供了一个MVC框架。Spring框架包含了一系列的特性,可以根据应用的具体需要来选择使用部分组件。Spring框架可以在任何类型的应用中使用,譬如:桌面应用、Web应用、C/S应用等。 3.4开发环境3.4.1 JAVA 简介 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。 Java平台由Java虚拟机(Java Virtual Machine,简称JVM)和Java 应用编程接口(Application Programming Interface,简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.4,最近版本为Java1.7。 Java分为三个体系J2SE(Java2 Platform Standard Edition,java平台标准版),J2EE(Java 2 Platform,Enterprise Edition,java平台企业版),J2ME(Java 2 Platform Micro Edition,java平台微型版)。 Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。3.4.2 Oracle简介ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。3.4.3Ajax 简介Ajax是一个缩写的单词:(Asynchronous JavaScript + XML) 叫做异步的JavaScript加上XML,其中包括五个部分: (1)基于标准的表示技术,使用XHTML与CSS (2)动态显示和交互技术,使用Document Object Model(文档对象模型) (3)数据互换和操作技术,使用XML与XSLT (4)异步数据获取技术,使 用XMLHttpRequest (5)而 JavaScript 将 以上的一切都结合在一起 传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的webservice接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。3.5网络安全网络信息既有存储于网络节点上信息资源,即静态信息,又有传播于网络节点间的信息,即动态信息。而这些静态信息和动态信息中有些是开放的,如广告、公共信息等,有些是保密的,如:私人间的通信、政府及军事部门、商业机密等。网络信息安全一般是指网络信息的机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)及真实性(Authenticity)。网络信息的机密性是指网络信息的内容不会被未授权的第三方所知。网络信息的完整性是指信息在存储或传输时不被修改、破坏,不出现信息包的丢失、乱序等,即不能为未授权的第三方修改。信息的完整性是信息安全的基本要求,破坏信息的完整性是影响信息安全的常用手段。当前,运行于互联网上的协议(如TCP/IP)等,能够确保信息在数据包级别的完整性,即做到了传输过程中不丢信息包,不重复接收信息包,但却无法制止未授权第三方对信息包内部的修改。网络信息的可用性包括对静态信息的可得到和可操作性及对动态信息内容的可见性。网络信息的真实性是指信息的可信度,主要是指对信息所有者或发送者的身份的确认5。一种新的安全框架,包括:机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)、真实性(Authenticity)、实用性(Utility)、占有性(Possession), 即在原来的基础上增加了实用性、占有性,认为这样才能解释各种网络安全问题:网络信息的实用性是指信息加密密钥不可丢失(不是泄密),丢失了密钥的信息也就丢失了信息的实用性,成为垃圾。网络信息的占有性是指存储信息的节点、磁盘等信息载体被盗用,导致对信息的占用权的丧失。保护信息占有性的方法有使用版权、专利、商业秘密性,提供物理和逻辑的存取限制方法;维护和检查有关盗窃文件的审记记录、使用标签等。4 概要设计4.1 数据库的设计 4.1.1数据库的分析在开发长春大学图书借阅管理系统时,考虑到馆藏文献总量196万余册,数据库维护大的特点,选用oracle10g作为数据库管理系统。数据库中可以包含图书信息、图书借阅信息、操作员信息及用户信息等实体,用来存储不同的信息。4.1.2数据库概念设计本系统一共设计规划出4个实体,分别是图书信息、图书借阅信息、操作员信息及用户信息等实体。对于图书馆来说最重要的就是要管理其下的书籍,所以需要建立一个图书信息表,用来保存图书的所有信息。图书信息实体E-R图如图4.1所示。 图4.1 图书信息实体E-R图要想在图书馆借书首先需要进行登记并交付押金。领取读书卡才能借书。所以需要建立一个读者信息表来保存图书馆的所有读者的登记信息。读者信息实体E-R图如图4.2所示。图4.2 读者信息实体E-R图图书馆里一般有一个以上的系统操作员,需要建立一个操作员信息表,用来保存操作员的身份信息。操作员信息实体E-R图如图4.3所示。图4.3 操作员信息实体E-R图图书馆最大的功能就是能够借书,这时需要建立一个图书借阅信息表,用来保存读者的借书信息。图书的借阅信息实体E-R图如图4.4所示。图4.4 图书的借阅信息实体E-R图4.1.4 数据逻辑结构设计根据设计好的各实体E-R图创建数据库的逻辑结构,数据库各表的结构如下: (1)借阅信息采表用来储存所有的图书的借阅信息,包括借阅ID、读者ID、读者姓名、图书ID、作者姓名、图书类别、借出日期、归还日期、应还日期以及备注10个字段。该表的逻辑结构如表4.1所示。字 段 名数 据 类 型是 否 主 键描 述InfoIdInteger是借阅IDreaderIdInteger否读者IDreaderNameString否读者姓名bookIdInteger否图书IDbookAuthorString否作者姓名bookSortString否图书类别BorrowDateString否借出日期ReturnDateString否归还日期yinghuandateString否应还日期RemarkString否备注表4.1 图书信息表2)图书信息表用来储存所有的图书信息,包括图书ID、图书名称、图书作者、图书类别、上架数、储藏数、赔偿价格、可借天数、图书简介以及图书备注10 个字段。该表的逻辑结构如表4.2所示。字 段 名数 据 类 型是 否 主 键描 述bookIdInteger是图书IDbookNameString否(外键)图书名称bookAuthorString否图书作者bookSortString否图书类别bookAmountString否上架数bookStockString否储藏数boookPriceInteger否赔偿价格bookBorrowDaysString否可借天数bookDescribeString否图书简介bookRemarkString否图书备注表4.2图书信息表读者信息表用来储存所有的读者信息,包括读者ID、读者姓名、性别、证件号码、学院以及描述6个字段。该表的逻辑结构如表4.7所示。字 段 名数 据 类 型是 否 主 键描 述ReaderIDInteger是读者IDReaderPasswordString否(外键)读者密码ReaderNameString否读者姓名ReaderSexString否读者性别IdCardInteger否证件号collegeString否学院remarkString否描述表4.3 读者信息表(4)管理员信息表用来保存管理员信息,包括管理员ID、管理员姓名、性别、密码、证件号码5个字段。该表的逻辑结构如表4.4所示字 段 名数 据 类 型是 否 主 键描 述AdminIdInteger是(自动递增)管理员IDAdminNameString否管理员姓名AdminSexString否性别AdminPasswordString否密码IDCardInteger否证件号码表4.4 操作员信息表4.2系统总体架构4.2.1 系统总体功能简介本系统主要是实现二个角色的信息管理,分别是登录模块,用户管理,管理员管理,具体功能如下:一、查询搜索:包括对图书信息、用户信息、管理员信息、借阅信息 进行查询、修改。删除操作。二、添加管理:包括对用户、管理员、和图书进行添加操作。三、借阅管理:包括借书管理和还书管理,其功能是实现对各部分数 据内容的添加和修改操作。四、个人安全管理 :用户修改自己的登录密码4.2.2系统总体结构本系统首先需要对用户的身份进行识别,只有合法的用户才能进入系统,否则将无法进入系统。进入系统后,首先打开系统主窗体,在系统首页的菜单栏或者功能区可以选择各种导航链接来进行各种操作。由于不同权限的用户对于系统有不同的功能,下面以功能最多的管理员为例,其系统流程图如图4.5所示。图4.5系统流程图5 详细设计与系统实现5.1系统登录模块 对于长春大学图书借阅管理系统而言,不是所有的用户都是可以使用的,所有需要添加一个登陆模块。通过该模块来对用户的合法性进行判断,只有合法的用户才能进入到系统。登录模块的运行结果如图5.1所示。 图5.1 登陆模块实现功能:主要实现用户和管理员的登录实现方法:从登陆框获取用户名、密码以及下拉菜单的值,然后通过loginLoginAction.action,在LoginAction.action里调用login()方法,判断usercheck.equals(reader)是否正确,如果正确,通过查询数据库List list = ibd.list(“from Reader r where r.ReaderName=+username+) 判断list是否有值,然后判断reader表里对应的值是否为输入的密码,然后判断是否可以普通用户登陆成功;如果usercheck.equals(reader)不正确,则需要在admin表里进行上面的判断,然后判断是否可以进行管理员登录。5.2普通用户登录模块5.2.1 查询搜索模块本模块实现功能是图书查询、借阅记录查询。1. 图书查询图书查询模块如图5.2:输入图书序号2,查询结果显示如下图5.2 图书查询模块实现功能:可以对图书馆内的书籍进行精确查询、模糊查询。实现方法:从文本框获取所要查询的图书的相关信息,然后通过rsearchBookAction.action,跳转到BookAction.action里调用rsearch()方法,然后调用BookServiceImpl.java里的PageBean query,来进行查询,部分代码如下:StringBuilder pageHql = new StringBuilder(from BookInfo where 1=1 );List list = new ArrayList();if(query!=null)if(query.getBookName()!=null&!.equals(query.getBookName()pageHql.append( and BOOKNAME like ? );list.add(query.getBookName()+%);if(query.getBookAuthor()!=null&!.equals(query.getBookAuthor()pageHql.append( and BOOKAUTHOR like ? );list.add(query.getBookAuthor()+%);if(query.getBookId()!=null&!.equals(query.getBookId()pageHql.append( and BOOKID like ? );list.add(query.getBookId();if(query.getBookSort()!=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论