毕业论文---基于JSP技术的图书馆管理系统的设计与实现.doc_第1页
毕业论文---基于JSP技术的图书馆管理系统的设计与实现.doc_第2页
毕业论文---基于JSP技术的图书馆管理系统的设计与实现.doc_第3页
毕业论文---基于JSP技术的图书馆管理系统的设计与实现.doc_第4页
毕业论文---基于JSP技术的图书馆管理系统的设计与实现.doc_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

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

文档简介

基于jsp技术的图书馆管理系统的设计与实现jsp technology-based library management system design and implementation基于jsp技术的图书馆管理系统的设计与实现摘要随着图书数量的不断增长,图书类别的日异更新,图书馆的管理技术也越来越受到人们的关注。 随着计算机网络的普及,人们也越来越依赖网络去实现各种需要。那么,如何在网上构建一个便捷的图书馆管理系统,就成为了企业不断前进的目标和动力。为了迎合图书管理者的需求,我制作了一个基于jsp技术的小型图书馆管理系统,为每一本,每一类图书分别编码,实现了图书信息的增加,删除,修改,查询,外借,归还等基本功能,可以很方便地查询,更新图书馆的各种信息,更加快速地为客户服务。我们的管理者还可以互相监督,互相查询管理人员的信息,查询管内的所有图书信息,查询来馆的所有读者信息,以便更优化地实现图书的管理。读者可以根据个人的喜好,选择自己喜欢的图书阅读。如果规定时间内读者还没有阅读完毕,读者还可以对该书进行续借。这是一个现代化的,人性化的,高效化的系统,无论是图书管理人员,还是图书借阅者都可以充分满足需要。本文结合开入式图书馆的要求,对oracle数据库管理系统、sql语言原理、java应用程序设计,jsp技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了一种成本低,效率高,界面美,易操作的图书管理方案。【关键词】网上图书馆管理系统 oracle数据库 hibernate struts2 mvc jspjsp technology-based library management system design and implementationabstract with the growing number of books, books on different types of updates, library management technology more and more attention. with the popularity of computer networks, people increasingly rely on networks to accomplish their various needs. so, how to build a convenient online library management system, have become the target of companies to continue moving forward and power. to meet the needs of library managers, i created a small library based on jsp technology in the management system, for each of this, each type of books from encoding, implementing the book information add, delete, modify, check, loan, restitution and other basic functions, can easily check and update a variety of library information, more quickly to customer service. our managers can also be mutual supervision, co-manager of information queries, query all book information , all reader inquiries to museum of information in order to achieve a more optimized the management books. readers according to individual preferences, choose your favorite books to read. if the specified time, the reader has not read the finished book, readers can also carry out renewal. this is a modern, humane, efficient system, whether librarians or library borrower can fully meet the need . this paper off into type libraries at the request of oracle database management system, sql language principle, java application program design, jsp technology, a more in-depth study and application, mainly on the library management system to complete needs analysis, functional module partition, database schema analysis, and has designed a low cost, high efficiency, interface the united states, easy-to library management program.【key words】 online library management system ,oracle database, hibernate ,struts2,mvc,jsp目 录目录摘要引言第一章 绪 论1.1 jsp概述1.1.1 jsp的内置对象jsp的技术特点与优势1.2 hibernate 简介1.2.1 hibernate的工作方式1.3 struts 2 简介1.3.1 struts 2与struts 1的不同1.3.2 struts 2的优势1.4 数据库概述1.4.1 数据库理论基础1.4.2 oracle数据库的选择第二章 系统分析2.1 问题定义2.2 可行性分析2.3 需求分析2.3.1 功能分析2.3.2 模块分析2.4 概要设计2.3.1 系统流程图2.3.2 系统功能模块总设计图2.3.3 数据库总体e-r图第三章 详细设计3.1 数据库设计3.1.1数据库总体类图3.1.2数据库部分表的表结构3.2 后台管理员登陆模块具体设计3.2.1图书管理员的活动图3.2.2图书管理员的状态图3.2.3图书管理员的时序图3.3 前台读者登陆模块具体设计3.3.1用例图3.3.2 读者的相关活动图3.3.3 读者的相关状态图3.3.4 读者的相关时序图第四章 系统的具体实现4.1 管理员登陆页面4.2 管理员书刊管理模块页面4.3 读者登陆首页4.4读者账户查询页面4.5 hibernate配置文件4.6 hibernate属性文件的配置4.7 struts2部分配置文件如下第五章 结束语参考文献:引 言目前学校的图书馆工作大部分还是进行着手工管理,工作起来效率很低,并且不能及时了解图书馆各类图书的存库,学生们比较需求的图书等等,不便于动态及时调整图书结构,更好的适应当前学生的借阅需求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存信息量大,速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。因此我们利用计算机提供给我们信息,及时的调整学校图书馆图书结构,并且对学生们的借阅过程形成一整化动态的管理。 基于jsp的图书馆管理系统与传统的手工方式相比,有着明显的优点与优势。首先,以页面形式展现的图书馆管理系统,符合现代人们的生活标准和习惯。用户已经习惯性地在网上进行图书的浏览和查阅,然后选择自己喜欢的图书进行订阅和借阅,这种可视化的界面方便用户快捷地检索到相关信息。其次,基于jsp的图书馆管理系统可以解决因为手工管理造成的失误、遗漏等问题,管理人员只需要将图书的基本信息录入系统,就不会再担心找不到图书的相关信息,而且可以更加迅速地检索到。另外,由于计算机的存储容量日益增大,馆内有再多的图书都不会给管理人员造成困扰,管理人员可以根据需要动态地调整图书结构,用户不会再因为图书的“搬家”而忧虑。实现基于jsp的图书馆管理系统,涉及到数据库的设计和页面设计。如何创建高效的网络数据库,如何让页面和数据库能很好地进行交流,就成了一个关键性的问题。在本设计中,我采用了struts 2框架来实现页面层和数据层的控制,主要是通过mvc模式实现的。mvc架构是model-view-controller的缩写,中文翻译为模式-视图-控制器。mvc应用程序总是由这三个部分组成:视图(view)代表用户交互界面,对于web应用来说,可以概括为html、jsp界面,但有可能为xhtml、xml和applet;模型(model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果,业务模型的设计可以说是mvc最主要的核心;控制(controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。event(事件)导致controller改变model或view,或者同时改变两者。只要controller改变了models的数据或者属性,所有依赖的view都会自动更新。类似的,只要controller改变了view,view会从潜在的model中获取数据来刷新自己。struts是apache组织的一个开放源码项目。struts是一个比较好的mvc框架,提供了对开发mvc系统的底层支持,它采用的主要技术是servlet,jsp和custom tag library。在struts框架中controller功能由actionservlet和actionmapping对象构成,核心是一个servlet类型的对象actionservlet,它用来接受客户端的请求。actionservlet包括一组基于配置的actionmapping对象,每个actionmapping对象实现了一个请求到一个具体的model部分中action处理器对象之间的映射。view部分是通过jsp技术实现的。struts提供了自定义的标记库,通过这些自定义标记可以非常好地和系统的model部分交互,通过使用这些自定义标记创建的jsp表单,可以实现和model部分中的actionform的映射,完成对用户数据的封装。至于实现的细节,在后续章节中会有介绍。viii第一章 绪 论1.1 jsp概述jsp是java server pages的简称,是服务器端的一种基于java语言的网页技术,所有的程序操作都在服务器端执行,网络上传送给客户端的仅仅是得到的结果,与客户端的浏览器无关。在传统的网页中加入java代码和jsp标签之后放在服务器端运行,再将运行的结果向用户发布,用户通过浏览器就能看到精彩纷呈的网页了。jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。 web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起返回给客户。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。1.1.1 jsp的内置对象 jsp有九大内置对象,也叫隐含对象,是不需要用户预先定义就可以拿过来用的对象。在jsp代码片段中,你可以利用这些隐含对象与jsp页面的代码片段执行环境产生互动:1 request对象客户端请求对象,包括从get/post请求传递过来的参数。该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。 2. response对象 网页传回客户端的反应。作用是对客户的请求做出动态的响应,向客户端发送数据。 3session对象 与请求关联的会话。从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间切换,服务器应当通过某种办法知道这是一个客户,就需要session对象。 4application对象 代码片段的运行环境。服务器启动后就产生了这个application对象,当客户再所访问的网站的各个页面之间浏览时,这个application对象都时同一个,直到服务器关闭。但是与session对象不同的时,所有客户的application对象都时同一个,即所有客户共享这个内置的application对象。 5out对象 传送响应的输出流。它用来向客户端输出数据。 6pagecontext 管理网页属性。通过这个对象可以拿到其他内置对象。7config对象是配置对象,用来对各种参数的配置。8page 对象jsp网页本身,指的是当前页面。9exception对象有错的网页中未被捕获的例外。在处理异常的网页中可以直接访问exception隐式对象。jsp的技术特点与优势jsp 是sun公司推出的新一代站点开发语言,他完全解决了目前asp,php的一个通病 脚本级执行。jsp 可以在serverlet和javabean的支持下,完成功能强大的站点程序。jsp代码被编译成 servlet 并由 java 虚拟机解释执行,这种编译操作仅在对 jsp 页面的第一次请求时发生。 jsp有如下特点:1将内容的生成和显示进行分离 使用jsp技术,web页面开发人员可以使用html或者xml标识来设计和格式化最终页面。使用jsp标识或者小脚本来生成页面上的动态内容。生成内容的逻辑被封装在标识javabeans 组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和beans中,那么其他人,如web管理人员和页面设计者,能够编辑和使用jsp页面,而不影响内容的生成。在服务器端,jsp引擎解释jsp标识和小脚本,生成所请求的内容(例如,通过访问java beans组件,使用jdbctm技术访问数据库,或者包含文件),并且将结果以html(或者xml)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于html的web浏览 器的完全可用性。 2强调可重用的组件 绝大多数jsp页面依赖于可重用的,跨平台的组件(javabeans或者enterprise javabea nstm组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操 作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了 总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。 3采用标识简化页面开发 web页面开发人员不会都是熟悉脚本语言的编程人员。javaserver page技术封装了许多功能,这些功能是在易用的、与jsp相关的xml标识中进行动态内容生成所需要的。标准的js p标识能够访问和实例化javabeans组件,设置或者检索组件属性,下载applet,以及执行用其他方法更难于编码和耗时的功能。jsp技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用java技术家族的一部分,以及java 2(企业版体系结构)的一个组成部分,jsp技术能够支持高度复杂的基于web的应用。由于jsp页面的内置脚本语言是基于java编程语言的,而且所有的jsp页面都被编译成为java servlet,jsp页面就具有java技术的所有好处,包括健壮的存储管理和安全性。1.2 hibernate 简介hibernate是一个开放源代码的对象关系映射框架,它对jdbc进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。 hibernate可以应用在任何使用jdbc的场合,既可以在java的客户端程序使用,也可以在servlet/jsp的web应用中使用,最具革命意义的是,hibernate可以在应用ejb的j2ee架构中取代cmp,完成数据持久化的重任。1.2.1 hibernate的工作方式hibernate不会对您造成妨碍,也不会强迫您修改对象的行为方式。它们不需要实现任何不可思议的接口以便能够持续存在。惟一需要做的就是创建一份xml“映射文档”,告诉hibernate您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求它以对象的形式获取数据,或者把对象保存为数据。运行时,hibernate读取映射文档,然后动态构建java类,以便管理数据库与java之间的转换。在hibernate中有一个简单而直观的api,用于对数据库所表示的对象执行查询。要修改这些对象,(一般情况下)只需在程序中与它们进行交互,然后告诉hibernate保存修改即可。类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉hibernate有关它们的信息,这样就能在数据库中保存它们。1.3 struts 2 简介apache struts2是一个优雅的,可扩展的java ee web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。apache struts 2即是之前大家所熟知的webwork 2.在经历了几年的各自发展后,webwork和struts社区决定合二为一,也即是struts 2.struts2相对于struts1是一个全新的框架,但它并不是新发布的新框架,而是在webwork基础上发展起来的。从某种程度上来讲,struts2没有继承struts 1的血统,而是继承webwork的血统。或者说,webwork衍生出了struts2,而不是struts 1衍生了struts2.因为struts2是webwork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了struts 1和webwork两者的优势,因此,是一个非常好的框架。1.3.1 struts 2与struts 1的不同1 action类struts1要求action类继承一个抽象基类。struts1的一个普遍问题是使用抽象类编程而不是接口。struts 2 action类可以实现一个action接口,也可实现其他接口,使可选和定制的服务成为可能。struts2是一个actionsupport基类去实现 常用的接口。action接口不是必须的,任何有execute标识的pojo对象都可以用作struts2的action对象。2.线程模式struts1 action是单例模式并且必须是线程安全的,因为仅有action的一个实例来处理所有的请求。单例策略限制了struts1 action能作的事,并且要在开发时特别小心。action资源必须是线程安全的或同步的。struts2 action对象为每一个请求产生一个实例,因此没有线程安全问题。 3.servlet 依赖 struts1 action 依赖于servlet api ,因为当一个action被调用时httpservletrequest 和 httpservletresponse 被传递给execute方法。 struts 2 action不依赖于容器,允许action脱离容器单独被测试。如果需要,struts2 action仍然可以访问初始的request和response.但是,其他的元素减少或者消除了直接访问httpservetrequest 和 httpservletresponse的必要性。 4.绑定值到页面 struts 1使用标准jsp机制把对象绑定到页面中来访问。 struts 2 使用 valuestack技术,使taglib能够访问值而不需要把你的页面(view)和对象绑定起来。valuestack策略允许通过一系列名称相同但类型不同的属性重用页面(view)。5类型转换:struts 1 actionform 属性通常都是string类型。struts1使用commons-beanutils进行类型转换。每个类一个转换器,对每一个实例来说是不可配置的。 struts2 使用ognl进行类型转换。提供基本和常用对象的转换器1.3.2 struts 2的优势 struts2 是一个相当强大的java web开源框架,是一个基于pojo的action的mvc web框架。它基于当年的webwork和xwork框架,继承其优点,同时做了相当的改进。struts开放源码框架的创建是为了使开发者在构建基于java servlet和javaserver pages(jsp)技术的web应用时更加容易。struts框架为开放者提供了一 个统一的标准框架,通过使用struts作为基础,开发者能够更专注于应用程序的商业逻辑。struts框 架本身是使用java servlet和javaserver pages技术的一种model-view-controller(mvc)实现.下面就struts 2的优点作简单介绍:1. struts2基于mvc架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程。2. 有丰富的tag可以用 ,struts的标记库(taglib),如能灵活动用,则能大大提高开发效率。3. 强大的拦截器struts2的拦截器是一个action级别的aop,struts2中的许多特性都是通过拦截器来实现的,例如异常处理,文件上传,验证等。拦截器是可配置与重用的,可以将一些通用的功能如:登录验证,权限验证等置于拦截器中以完成一些java web项目中比较通用的功能。在我实现的的一web项目中,就是使用struts2的拦截器来完成了系统中的权限验证功能。4. 易于测试struts2的action都是简单的pojo,这样可以方便的对struts2的action编写测试用例,大大方便了java web项目的测试。5. 易于扩展的插件机制在struts2添加扩展是一件愉快而轻松的事情,只需要将所需要的jar包放到web-inf/lib文件夹中,在struts.xml中作一些简单的设置就可以实现扩展。6. 模块化struts2已经把模块化作为了体系架构中的基本思想,可通过三种方法来将应用程序模块化:将配置信息拆分成多个文件把自包含的应用模块创建为插件创建新的框架特性,即将与特定应用无关的新功能组织成插件,以添加到多个应用中去7. 全局结果与声明式异常为应用程序添加全局的result,和在配置文件中对异常进行处理,这样当处理过程中出现指定异常时,可以跳转到特定页面,这一功能十分实用。1.4 数据库概述 一个成功的管理系统,是建立在许多条件之上的,而数据库就是其中一个非常关键的因素。管理系统的主要任务是通过存储大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组织结构和选择一个性能较优的数据库,使整个系统可以迅速、方便、准确地调用和管理所需要的数据,是直接关系到系统的效率和性能的。1.4.1 数据库理论基础数据库管理系统(database management system)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。数据库系统本质上是一个用计算机存储记录的系统。数据库本身可被看作是一种电子文件柜,也就是说,它是收集计算机数据文件的仓库或容器。系统用户可以对这些文件执行插入数据、检索数据、更改数据、删除数据等操作。1.4.2 oracle数据库的选择oracle database,又名oracle rdbms,或简称oracle。是甲骨文公司的一款关系数据库管理系统。oracle数据库的体系结构包括物理存储结构和逻辑存储结构。由于它们是相分离的,所以在管理数据的物理存储结构时并不会影响对逻辑存储结构的存取。oracle server是一个对象一关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个server由一个 oracle db和一个 oracle server实例组成。它具有场地自治性(site autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个 oracle数据库对应唯一的一个实例名sid,oracle数据库服务器启动后,一般至少有以下几个用户:internal,它不是一个真实的用户名,而是具有sysdba优先级的sys用户的别名,它由dba用户使用来完成数据库的管理任务,包括启动和关闭数据库;sys,它是一个 dba用户名,具有最大的数据库操作权限;system,它也是一个 dba用户名,权限仅次于 sys用户。oracle数据库有如下优点:1oracle7.x以来引入了共享sql和多线索服务器体系结构。这减少了oracle的资源占用,并增强了oracle的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。2提供了基于角色(role)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。3支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。4. 提供了与第三代高级语言的接口软件pro*系列,能在c,c+等主语言中嵌入sql语句及过程化(pl/sql)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 power build、sql*forms、visia basic 等,可以快速开发生成基于客户端pc 平台的应用程序,并具有良好的移植性。5. 提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术6oracle具有良好的稳定性,安全性,易用性,友好性等。第二章 系统分析2.1 问题定义 问题定义阶段必须回答的关键问题是:“我们要解决的问题是什么”。 如果不知道问题是什么就试图解决问题,这种做法显然是盲目的,只会白白浪费时间和金钱,最终得出的结果很可能是毫无意义的。对于软件开发者来说,只有自己正确地提出了问题,然后才会很好去解决问题。基于jsp的图书馆管理系统针对的用户是中小型图书室,如学校图书馆。如何让用户能更高效地,快捷地,方便地管理自己的图书,就是我们软件开发人员需要考虑的首要因素,那么如何让数据库的设计更优化,如何让界面的设计更友好,如何让用户检索信息更迅速,如何运用各种技术让系统更智能,就成了软件开发人员需要考虑的关键问题。2.2 可行性分析 可行性分析是在对当前系统有了初步了解的基础上完成的,主要从技术特点、经济条件和社会效益三个方面分析讨论开发系统的可行性。开发一个软件,技术的运用直接关系到软件的质量。本设计中,我运用的技术都是当前主流的技术,是经过了无数开发人员认可和称赞的技术,如jsp,hibernate,struts2,javascript,ajax等,这些技术是软件开发过程中经常用到和必需用到的。而对于这个网络信息时代来说,基于jsp的图书馆管理系统,可以为用户节省大量的人力资源和物力资源,用户再也不需要租下一个广阔的空间用来存储各种图书,再也不需要聘用大批的人员来管理,搬运图书了。用户只需要提供几台电脑,聘用几个管理人员就可以满足要求。最后,系统能否按照既定的设计方案顺利运转起来,社会可行性是人员、体制、社会环境所形成的限制条件进行研究,了解他们可能对目标系统建立所造成的影响,从技术的特点和功能需求来看,基于jsp的图书馆管理系统是能够按照既定的方案完成并得到大众支持的。所以,开发一个基于jsp的图书馆管理系统,为用户节省了大量的开支,架起了用户和读者间真诚的沟通桥梁,是适应信息时代所需要的,也是可行的。2.3 需求分析所谓需求分析,是指对要解决的问题进行详细的分析,弄清楚用户的需求。由于需求分析阶段是其后的总体设计、详细设计的基础 , 也是系统模型的最初形成阶段 , 可以说 , 它决定了整个系统设计的走向。在软件生存周期中,其他四个阶段都是面向技术的,只有这个阶段是面向用户的。需求分析就是对用户的业务活动进行分析,明确在用户的业务环境中软件系统应具备哪些功能,应实现哪些细节,应避免哪些疏漏。所以,为了不让软件开发者无功而返,做好需求分析是必不可少的。2.3.1 功能分析 图书馆管理系统需要满足两方面的要求,一个是图书馆管理员,一个是图书借阅者。图书管理人员对图书借阅者的借书、还书要求进行操作,查看借还书记录,同时还负责对系统状态进行维护,对系统资源进行统计等。图书借阅者的需求是查询图书馆所有的图书,维护个人信息以及查询借阅记录。如果图书借阅者根据本人借书证号和密码登陆系统,就可查看图书馆图书情况,还可以进行本人借书情况的查询和维护部分个人信息。这样每个借阅者都只能查看自己的个人信息,不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。图书管理人员有修改和查看借阅记录的权限,能够对馆内的图书信息、借阅者信息、总体借阅信息进行查询统计和修改更新。具体地讲,图书管理人员可以浏览、查询、添加、删除、修改、统计图书的基本信息,也能够对图书借阅者的基本信息进行浏览、查询、统计,还可以增加新的管理人员,可以删除不称职的管理人员,可以修改自己的密码等。2.3.2 模块分析本图书馆管理系统主要分为前台模块和后台模块,前台模块主要针对读者,有图书查询,个人信息维护,图书借阅,退出系统等功能;而后台是针对管理员的,包含有书刊管理,读者管理,借阅管理,查询统计,用户服务,退出系统等模块。每个模块又分为不同的子模块,既相互独立,又具有一定的联系。图书查询模块可以让读者从不同的角度去查询各种图书,以便于及时掌握馆内的藏书情况。个人信息维护就是读者对自己的个人信息进行查询,修改,删除等功能,以便于动态地与管理员交流信息。 图书管理模块主要实现图书资料的分类浏览,添加,修改,删除和查询功能。读者可以从不同的角度查询图书的详细资料,包括图书的名称,isbn,类别,版次,作者,出版社,出版日期等。读者单击“借书”和“还书”可以实现图书的借阅。读者管理模块主要实现读者信息的浏览,添加,修改,删除和查询功能。管理人员可以查看读者的详细资料,包括读者的图书证号码,姓名,性别,电话,emai,家庭住址等,还可以限制读者对图书的借阅数目,如果读者有相应的逾期记录,那么在该读者归还该图书之前不能再借阅其他图书。图书借阅模块主要实现读者对图书的借书,还书,查看借阅记录和逾期记录等功能。读者通过借书记录可以查看详细的借阅资料,借阅时间,还可以对已借阅的图书进行归还。如果读者有逾期未还的图书记录,那么读者必须缴纳违偿金后才能继续借阅。查询统计模块主要是实现图书馆内所有的资料查询,是管理员所特有的权限,是对馆内所有资源的查询和统计,包括馆内所有的图书信息,读者信息,管理员信息等。用户服务模块主要是针对读者的,通过该模块,读者可以了解图书馆的规章制度,新闻动态,以及开馆时间等。退出系统模块就是让管理人员和读者及时退出系统,以免泄露相关资料,承担不必要的责任。2.4 概要设计2.3.1 系统流程图 系统的基本流程图分别如下,从这些图中可以了解系统是怎样工作的: 图2-1 管理员登陆系统流程图 图2-2 图书借阅者登陆系统流程图2.3.2 系统功能模块总设计图图 2-3 系统功能模块总图2.3.3 数据库总体e-r图 图24 数据库总体e-r图第三章 详细设计3.1 数据库设计根据前面需求分析和功能分析,数据库中有管理员表,读者信息表,图书信息表,图书分类表,出版社信息表,借还信息记录表,图书分类关联表。表中的字段都是根据需要设定的,符合规范化原则。3.1.1数据库总体类图 类的概念是面向对象软件开发的关键。通过使用类图,可以清晰明确地展现出系统内部各静态模块的性质、功能以及它们之间的关系。3.1.2数据库部分表的表结构表1 管理员表字段名称字段类型字段说明字段限制manager_id number(10)编号primary keynamevarchar2姓名not nullpasswordvarchar2密码not null表2 图书信息表字段名称字段类型字段说明字段限制book_idnumber(10)编号primary key isbn_issnvarchar2isbnnot null,uniquenamevarchar2书名not nullpublish_printednumber(10)版次store_typevarchar2馆藏类型publish_timevarchar2出版时间pricefloat(126)价格not null numnumber(10)馆藏数量not nullpagenumber(10)页数picture_urlvarchar2图片链接authorvarhcar2作者not nullpublish_idnumber(10)出版社编号foreign keyremarksvarchar2备注表3 图书种类表字段名称字段类型字段说明字段限制category_idnumber(10)编号primary keyturnnumber(10)轮次enamevarchar2英文名称namevarchar2中文名称not nulltypevarchar2类型parent_idnumber(10)父类idforeign key表4 出版社表字段名称字段类型字段说明 字段限制publish_idnumber(10)primary keychina_namevarchar2not nullpemailvarchar2pinternetvarchar2telephonevarchar2publish_addressvarchar2linkmanvarchar2表5 读者信息表字段名称字段类型字段说明字段限制reader_idnumber(10)编号primary keyreader_namevarchar2读者姓名not nullpasswordvarchar2登陆密码not nulllibrary_cardnumber(10)图书证号码reader_typevarchar2读者类型sexvarhchar2性别birthdayvarchar2出生日期empvarchar2所在公司id_cardvarchar2身份证号码not nullemailvarchar2邮箱home_telphonevarchar2家庭号码phonevarchar2手机号码not nullregistervarchar2注册日期not nullremarksvarhcar2备注表5 借还信息记录表 字段名称字段类型字段说明字段限制notes_idnumber(10)编号primary keylend

温馨提示

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

评论

0/150

提交评论