2015本科在线图书管理系统的研究与实现毕业设计论文.doc
高校经典毕业论文设计毕业设计说明书在线图书管理系统的研究与实现用户功能模块10210A011021010202张商珉班 级: 学号: 软件学院姓 名: 软件工程学 院: 李娜 何志英专 业: 指导教师: 2014年 6 月在线图书管理系统的研究和实现-用户功能模块摘 要 Internet带给我们的不仅是无穷的信息,更为我们带来了很多的便利。在这个科技高速发展的时代,网络应用十分广泛,所以许多人愿意通过网络来使他们的生活变得更加的方便。网上图书资料管理系统的出现在为大家带来便利的同时也为国家省了一部分的资源,而且将书籍存放在网络上也不用担心书籍会被损坏或是丢失等人为的破坏。因此网络图书管理平台的建立是很有意义的。此在线图书管理系统,整体采纳BC模式,利用struts,hibernate两大框架整合完成,最后使用Oracle数据库来存储数据。设计总的分成两个部分前台一般用户的操作和后台管理登陆操作。在前台,用户可以登录,修改密码进行个人资料的修改,查找图书,借阅图书;用户还可以查看自己的借阅记录。在后台,管理员登录之后可以对图书进行增删改操作。另外,管理员可以删除会员信息,可以选择选择性地查看用户的借阅信息。最后管理员可以更改自己的用户名、密码。本系统以java语言为基础,通过各种开源框架,构建成为一个功能丰富的在线图书管理系统。关键词:图书,查询,在线,框架The research and implementation of online library management system-The user moduleAbstractInternet brings us not only the infinite information, more brought us a lot of convenience. In this era of rapid development of science and technology, network application is very extensive, so many people like to through the Internet to make their lives more convenient. Online library management system appears in bring you convenience but also for the country to save the resource of one part, and the books are stored in the network do not have to worry about books may be damaged or lost, the artificial destruction. So the network management platform is very meaningful.In my design, the online library management system, BC mode is chose to build the frame work; Based on Hibernate, Struts2 framework internship system. Oracle is picked to connect the database in my design.The design is made up of basically two parts, the front page and the management system. In the front page, every visitor becomes a member of the website, who can change his or her personal information, look for the right book in many different ways, borrow a book or books, or even borrow a book. In the management system, on the other hand, a administrator, after log in, can change information of all the books, add or delete category of the book, delete members, check borrow information and change his or her own password, name, or add a new administrator.This system is based on Java language, through a variety of open source framework, construction becomes a function of rich online books data management system.Keywords: Book, Search, Online,Frame高校经典毕业论文设计目 录1 引言11.1选题的意义11.2国内外研究现状及发展趋势22 项目概述42.1 课题简要说明42.2可行性研究42.2.1经济可行性42.2.2技术可行性42.2.3运行可行性42.2.4时间可行性43 需求概述53.1系统目标53.2用户类和用户特性53.3需求模型53.4性能需求64 相关技术介绍74.1开发语言-Java74.2 Java的开发环境74.3开发工具84.4开发框架84.5 MVC模式94.6 JSP简介115 系统设计125.1图书管理系统总体结构图125.2系统过程设计125.3数据库过程设计135.4实体关系图13高校经典毕业论文设计5.4.1总体E-R模型135.4.2读者实体图145.4.3书架实体图155.5数据字典表156 系统详细设计176.1系统功能分析176.2 用例图176.3模块设计196.3.1图书借还模块功能196.3.2系统查询模块功能206.3.3用户个人资料模块206.3.4 书架模块207 程序设计227.1登录流程图228 程序演示259 程序的测试2710 结论语29参 考 文 献30致 谢311 引言随着互联网的发展,计算机的应用也越来越广泛,它已经成为人们日常生活中的一部分,随其一起发展的是各种软件的发展。到网上看书也成为人们一种习惯,这标志着网上图书资料管理系统的实现已经成为时代发展的必然。本系统正是在这种需求下产生的。本系统主要包含两个模块:,用户管理,管理员管理,并对每一个模块都进行了详细的设计。使用本系统可以使用户足不出户就享受到阅读图书的乐趣。在系统中,为大家提供了图书分类、支持模糊查询等功能。本系统使用MyEclipse作为开发环境,连接Oracle 数据库,采用Apache自带的Tomcat作为服务器。本开发过程按照软件生存周期的开发步骤,首先进行需求分析,然后分析系统的可行性方案,确定了项目开发方案,并按照制定的计划进行了软件的总体设计和详细设计。最后对本软件进行了测试、运行和维护。1.1 选题的意义现在,不仅在大学中有一座甚至几座图书馆,许多大城市也在悄悄建立起一座又一座的图书馆,方便住在周边的居民到那里去借阅、学习。随着“终身学习”逐渐从遥远的口号变成大家生活中越来越常态的习惯,图书馆也慢慢变成大家生活不可或缺的一个组成部分。近年来, 随着Internet的快速发展, 使网络化信息服务呈现出勃勃生机, 各类网络信息服务商如雨后春笋, 已成为图书馆的重要竞争对手。作为传统信息服务业主角的图书馆,必须借助自身的信息资源和信息的搜集、加工、组织优势,积极开展以网络为中心的信息服务,才能在这场竞争中立于不败之地。我国的计算机网络科技发展还不如欧美等发达国家,使得目前我国图书馆网上信息服务水平和国外相比还存在相当差距,因此,应积极借鉴国外的先进经验,不断研究和完善适于我国的图书馆网络信息服务系统,以提高我国图书馆网络信息服务的整体水平,为实现我国图书馆的网络化,数字化和资源共享奠定基础。因此,在线图书馆信息系统的研究是非常重要的。这也是本系统诞生的原因。归纳起来,本系统具有如下优点:(1)可以让用户在网上阅读图书,体会到网上读书的乐趣。(2)可以节约人力、物力资源。(3)可以看到最新、最全的图书。(4)查找方便。(5)界面美观、大方、操作简单。1.2 国内外研究现状及发展趋势说到网络与信息技术对图书馆的挑战,早已出现,但现在才真切的感受到,这已绝不仅是一个学术理论上讨论的话题,社会信息化对图书馆的挑战真正来临。原来图书馆的主要商家是新华书店,随着信息技术和网络的发展,商家开始从物质基础、设备、技术进入图书馆领域,传统的其他信息服务机构由于服务对象、重点不一样,对图书馆的影响不是很大 ,而现在现代化信息服务机构不一样,可以说是全面进入了图书馆领域,商家开始与图书馆争夺读者(客户)资源,图书馆成为商家的中间桥梁,他们希望以信息技术为先导、以传统图书馆业务为基础来拓展自己的业务空间,吸引更多的客户。他们不仅开展传统图书馆业务中对文献信息的加工整理,还进行传统图书馆馆藏的数字化转换、大型数字化资源的引进、网络信息资源的挖掘和组织、信息资源的整合。他们利用先进的信息技术、先进的管理模式来提高信息利用率,缩短用户的响应时间,便利快捷的信息利用方式节约用户时间。他们提出的口号是建设知识网络、知识中心、知识定位、面向信息一体化的管理。这样的商家有很多,并且有些在全国已经有较大的影响。万方数据。它建立有科技信息子系统(学位论文36万篇、会议论文40万篇、成果专利170多万项、科技文献40多个数据库960万条记录、政策法规14000条、中外标准16个数据库20多万条记录、企业公司及产品信息20多万家、经济贸易信息每日更新)、商务信息子系统、数字化期刊子系统(2500种科技类核心期刊、500种社科核心期刊),现在正在建立文献评价及知识定位系统。超星数字图书馆。现拥有80万种馆藏,包括中图法22个大类,每天有1000种图书数字化的加工能力,它的软件平台具有发布、检索、管理、采集、制作等功能,日访问量达2000多万页。他们现在正处在发展时期,相对成本较高,图书馆作为他们重要的客户资源,正是他们吸取营养的时候,对于新事物我们不是排斥,更多是要利用,他们壮大后发展个人用户就不是很难的事情,像超星一样。客户是基础,失去客户也就失去生存的土壤。而作为现在我们这样的图书馆由于体制等各个方面的原因,在学校的地位本身就不高,如果再失去了读者,那么就可以想象我们所处的境地。那么图书馆该怎么办呢?也要借力发挥,利用自己具有读者群、服务本地化的优势来利用信息咨询服务、数据的整合、个性化的服务来吸引读者。在线图书馆是一个开放式的硬件和软件的集合平台, 通过对技术和产品的集成, 把当前大量的各种文献载体数字化, 组织起来,将图书馆服务在互联网上开展。在线图书馆在我国互联网上安家已有几年的历史, 且每年都在发展, 但在信息量、访问量及知名度等方面却不尽如人意。社会信息化程度偏低、政府投资较少是阻碍图书馆网站发展的主要原因。中国内地网民人数已从1997年的62万发展到目前的2亿多, 虽然增长很快, 但不到人口总数的1/6。在这些网民中, 究竟有多少人去查询图书馆的信息, 尚不得知。目前国内外的许多大学图书馆、公共图书馆都实现了图书馆的网络化和电子化,它们的特点主要是:服务形式多样化, 信息资源多样化。信息检索共享性, 读者参与共建。目前Web 图书馆存在的主要问题:1.资源服务共享程度不足基本上各在线图书馆没有实现读者在互联网上续借、预约功能,也不提供电子邮件或手机短信的催还、过期通知等。虽然许多在线图书馆都设置了联机公共目录检索并相应地提供了图书预约服务,但这一服务基本属于虚设。许多在线图书馆虽然提供数据库检索,但大都设置权限,而且大多数还未能提供全文检索,远远不能满足读者的需求。2.检索服务内容不够丰富许多在线图书馆一般仅限于书目文献的检索,不提供读者个人的流通信息检索,也没有全文检索功能及音频、视频检索功能。一般读者访问的目的是查找文献的具体内容,如果在线图书馆没有为读者提供更方便、更快捷、更丰富的服务,读者只能望洋兴叹。在线图书馆只有在充分利用新技术,装备的软件模式, 开发出适合本馆的具有交互性、专业性服务模式, 更好的为广大读者服务,能使我国在线图书馆走在世界的前列。能为读者提供省时高效、界面友好、功能齐全的网上服务,成功建设网站的目标和灵魂。2 项目概述2.1 课题简要说明本系统的研究目标是开发一个集图书管理, 用户管理, 管理员管理, 在线借阅等功能于一体的在线图书馆信息管理系统。图书管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化。围绕这一主要功能,本系统涉及到以下核心功能:借阅管理,归还管理。除了这些核心功能外,还包括一些基本和辅助功能,它们是:用户管理、在线查询、图书管理。2.2 可行性研究该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。2.2.1 经济可行性开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。2.2.2 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本网站用的是java开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求0。2.2.3 运行可行性运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。2.2.4 时间可行性从时间上看,在两个月的时间里学习相关知识,并开发网站,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。3 需求概述3.1 系统目标该系统主要建立一个基于B/S模式的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的两个用户类型的使用实现:1.对于读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)查询图书馆的藏书情况,方便的借阅图书,归还图书,能够查询自己的借阅图书情况,更改用户密码及个人资料。2.对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,对读者信息进行相关添加,修改等操作。3.2 用户类和用户特性图书借阅管理系统是一个基于B/S模式的对图书馆进行高效率管理的应用系统,它的用户主要是读者和图书管理员,用户通过该系统进行图书查询进而对自己需要的图书进行借阅及自己的借阅情况进行查询,图书管理员则通过本系统实现对图书及读者的高效管理,除此之外,还需要一个系统管理员对不同的用户进行权限的设置等操作2。两类用户的具体描述如下表所示:表3.1 用户具体描述用户类描述读者读者是该系统的重要的使用角色,他们通过该系统查询自己需要的图书信息,并像图书管理员提出借阅图书的申请进而借阅自己所需的图书,还可以通过对自己借阅情况进行查询。图书管理员图书管理员是该系统的另一个重要使用者,图书管理员通过该系统进行图书的增加,修改,删除,分类管理等操作,实现对读者借阅归还图书的方便操作,实现对系统中图书,读者,读者借阅情况的查询,信息更改维护等操作,管理读者类型,对不同类型读者可借阅的图书数量进行设置等图书馆的基本操作。3.3 需求模型系统采用包括前台页面和后台页面,前台页面主要服务于会员和后台页面主要方便管理员图书和会员。前台页面包括:1) 注册模块:如果用户不是会员可以方便的注册成为会员;2) 用户中心:会员可以在用户中心修改自己的个人资料;3) 图书搜索:图书搜索可以按图书的名称、作者等找到图书;4) 借阅记录:可以查看自己的借阅历史;5) 注销登录:退出登录;后台页面包括:1) 图书管理:包括图书入库, 借出, 归还, 图书信息等功能;2) 图书管理:管理可以增删改查图书信息;3) 用户管理:管理员可以删除用户信息;4) 库存查询:查看图书的库存量;5) 借阅信息查询:查看所有的借阅信息;6) 用户管理:更改管理自己的用户名、密码;7) 注销退出:退出;3.4 性能需求服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本机器的配置如下:处理器:Inter Pentium 41.6Hz或更高。硬件空间:40GB。题目主要采用的技术。数据库:Oracle。 编程语言:jsp,java。服务器:Tomcat7.0,jdk1.5。开发环境:Windows7。4 相关技术介绍4.1 开发语言-JavaJava是一种简单易用、完全面向对象、有平台无关性、安全可靠的、主要面向Internet的开发工具。Java自从1995年正式问世以来,它的速度发展已经让整个Web世界发生了翻天覆地的变化。随着Java Servlet、 Java Server Page(JSP)技术的推出,更是让Java成为基于Internet从远端服务器传输到本地机上并执行的一种语言:是一种应用程序提供者不需要知道使用者的计算机硬件与软件环境的语言。比尔盖茨说过:"Java是最卓越的程序设计语言"。Java自从问世以来,技术和应用发展非常快,在计算机、移动电话、家用电话等领域中无一没有java技术的存在。在Internet上,几乎每个网页都包含Java程序或代码。由于Java的广泛应用,使它受到了史无前例的关注,Java是一种Internet编程语言,Java还曾是网络动画技术的代名词,Java虚拟机更是让人耳目一新,Java简单易学,跨平台而又不失强大功能。相比其他语言,Java技术平台具有鲜明的优越性。从最初构造Java平台开始,就考虑了安全性的问题,即其安全性是建立在Java平台的内核中的。其他的语言只是在软件开发时才由用户自行处理安全问题,难免会有安全漏洞。其次,对于程序员来说,Java语言比以往其他的任何一门语言都好用,原因在于:Java有自动回收垃圾的功能,Java增加了对象和变量的强制类型检查,Java还取消了指针。时至今日,Java仍然一步步地朝着远大的梦想而迈进,显而易见的成果便是在国际互联网的应用,如今常见的浏览器也都全面支持Java Applet以及衍生出来的JavaScript语言等,而市面上可见的操作系统,也利用Java的跨平台特性来开发,包括Windows系统、各类Unix和Linux、Mac等操作系统,都可以看到Java的综述。这一切都充分说明了Java在计算机语言大家庭中的地位,Java对Internet编程的影响就如同C语言对系统编程的影响一样。4.2 Java的开发环境JDK(Java Development Kit)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。(1)Java编译器Java编译器将Java源代码文件编译成可执行的Java字节码。Java源代码文件的扩展名为 .java,Java编译器把这种扩展名的文件编译成扩展名为.class的文件。源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编译生成多个class文件。(2)Java解释器Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序的命令行工具。4.3 开发工具根据需求分析及功能分析,选用MyEclipsee集成开发工具及Oracle数据库来开发此系统。(1) MyEclipse简介MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持:HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。 (2)Oracle数据库简介ORACLE 数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。4.4 开发框架(1)Struts2框架Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。由于Struts 1.x需要编写的代码过多,容易引起“类爆炸”,而且单元测试困难,这就促生了Struts 2的诞生,他能够很好的解决上述问题。与Struts 1.x相比,Struts 2的所有类都基于接口,核心接口独立于HTTP。这些API并不依赖服务器小程序API。在Struts 2中,没有ActionForm,而是将ActionForm中定义的属性可以直接放在Action类上。不仅仅如此,在Struts 2中,标签有了很多的改进,如<forward>标签被<result>标签取代。Struts 2中标签不单单发送输出数据,还能提供样式表驱动标记,这样就可以用较少的代码构建一致性页面。此外,Struts 2 Actions独立于HTTP,因而与框架中立,很容易测试。Struts 2为拦截器(interceptor)提供了全面支持。他还支持Ajax的动态Web应用,并且加入了Java 5注释,作为XML和Java属性配置之外的一个替代办法。总之,在Struts 2中有了很多的改进,可以使他的使用更为灵活。(2)Hibernate 框架Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。4.5 MVC模式MVC(Model-View-Contorller,模型一视图一控制器)是XeroxPARC在20世纪80年代为编程语言Smalltalk-80所发明的一种软件设计模式,至今已被广泛使用,最近几年被推荐为Sun公司J2EE平台的设计模式,其为开发交互式应用系统提供了一个优秀的设计模式,受到越来越多开发者的欢迎。MVC强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成三个核心模块:模型、视图和控制器(如图4.1),它们分别担负不同的任务。图4.1 MVC模型 (1)视图视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接受用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。 (2)模型模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。 (3)控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的提交按钮来发送HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示相应模型返回的数据。 (4)MVC处理过程首先控制器接受用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。4.6 JSPJSP(JavaServer Pages)是一种服务器端的编程语言,客户端不使用原始的Java/JSP代码。java能够以小程序的形式或者以安装在台式机上的应用程序的形式在客户端使用。JSP页面是通过特殊的标记和Java代码进行扩展的HTML形式的Web页面,Web服务器和JavaServer 引擎都采用这两种方式来创建客户端的Web浏览器。JSP的优点:JSP鼓励平台无关性,这样一来程序员精心编写的程序就能够做到"编写一次随处可。对于企业服务来说,JSP是首选的表示层服务。通过允许开发者使用和集成完全测试过的Java代码,JSP提供服务的稳定性。JSP鼓励应用的表示层和数据层之间明显的分界线。JSP与J2EE 服务的无缝集成,增强了扩展体系结构的开发,而不仅仅限于相互连接的页面。5 系统设计5.1 图书管理系统总体结构图绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图8。系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。本系统的结构图如图5.1所示:图5.1 总体结构图根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下主要功能模块:系统管理员功能模块,读者管理功能模块,图书管理功能模块,图书借还功能模块;系统查询功能模块8。5.2 系统过程设计首先根据需求分析和功能分析设计出数据库,包括各个数据表和数据表结构图的详细设计。在访问数据库时,采用公用数据模块访问数据库需要的对象。该模块在各个功能模块中被直接调用,避免对数据库的反复连接,并可减少代码编写,从而提高系统开发效率。5.3 数据库过程设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接影响到系统的效率及系统实现的效果。合理的数据结构设计可以提高数据存储的效率,保证数据的完整性和一致性。合理的数据库结构也将有利于程序的实现。用户的需求具体体现在各种信息的添加、修改、删除和查询,这种数据库结构能够满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确的回答“系统必须做什么”这个问题。需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。因此,必须用行之有效的方法对软件需求进行严格的审查检验。整个系统所包括的信息有图书信息、读者信息、图书借阅信息、图书归还信息、系统用户信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:1)图书信息(ISBN号,图书名称,作译者,价格,出版社,复本量,库存量,封面照片)2)读者信息(借书证号,姓名,性别,出生时间,专业,借书量,照片)3)图书借阅信息(图书ID,读者ID,ISBN,应还时间)4)用户(id,用户名称,密码,角色)注:带下划线表示主键5.4 实体关系图5.4.1 总体E-R模型在这里使用E-R图描述了图书借阅管理系统的数据模型。图5.2图书借阅管理系统E-R图描述了该系统所涉及到的实体以及他们之间的关系。具体结构如图5.2所示:图5.2 系统E-R 图5.4.2 读者实体图读者读者Id姓名性别地址生日照片注册日期借书量专业图5.3 读者实体图5.4.3 书架实体图书架图书借入时间ISBN会员姓名图书名称图5.4 书架实体图5.5 数据字典表5.5.1 登录表具体的登录基本信息,代表现实世界中一个真实的人。表5.1 登录信息表字段名字段类型中文描述备注非空主键IDint唯一标识/账号nameVARCHAR2(20)真实姓名passwordVARCHAR2(20)密码rolebit角色5.5.2 图书信息表具体描述图书的信息,包括图书的名称、简介等。表5.2 图书信息表字段名字段类型中文描述备注非空主键ISBNVARCHAR 2(20)唯一标识/图书编号 bookNameVARCHAR 2(40)图书名称autherVARCHAR2(8)作译者publisherVARCHAR(20)出版社pricefloat价格cnumint复本量snumint库存量5.5.3 借阅信息表读者借阅信息的显示如表5.3所示:表5.3 借阅信息表字段名字段类型中文描述备注非空主键bookIDVARCHAR2 (10)唯一标识/图书编号 readerIDVARCHAR2 (8)借书证号ISBNVARCHAR2 (20)ISBNLTimeDATE首次输入时间5.5.4 读者信息表具体的用户的基本信息如表5.4所示,代表现实世界中一个真实的人。表5.4 读者信息字段名字段类型中文描述备注非空主键readerIDVARCHAR2 (8)唯一标识/会员编号nameVARCHAR(8)姓名sexbit性别borndatetime出生时间specVARCHAR(20)专业numint借书量6 系统详细设计6.1 系统功能分析在线图书管理系统是一个Web应用系统,主要功能是完成读者管理,书架管理,管理员管理,图书管理四项功能, 读者可以在网上直接选定自己想要看的书在线浏览是。将整个系统按功能模块划分为如下几个子模块:在线图书管理 管理员模块读者管理模块书架管理模块图书管理模块图6.1 功能模块图读者管理模块、读者登录、读者修改密码、读者的个人信息管理书架管理模块:查询图书、借阅图书、显示图书列表、归还图书管理员管理模块:管理员的登录、查看所有图书信息、对数据库中的图书进行增删改查图书管理模块:管理员添加图书信息、删除图书信息、修改图书信息、查看所有图书6.2 用例图6.2.1 管理员模块管理员模块用例图如图6.2所示:图6.2 管理员用例图6.2.2 会员模块用户模块用例图如图6.3所示:图6.3 会员用例图6.2.3 书架模块书架模块用例图如图6.4所示:图6.4 书架用例图6.3 模块设计6.3.1 图书借还模块功能该功能模块主要实现对读者借阅、归还图书的操作,其中子模块各自的描述如下各表所列:表6.1 图书借阅描述图书借阅管理功能描述对读者借阅图书进行基本操作和信息管理访问的数据库表图书信息表: book读者信息表:student进行的操作对读者借阅图书进行管理产生的结果 读者借阅成功,系统对借阅信息进行记录结果存储位置或输出 结果存储在图书借阅表(lend)中,结果在图书借阅查询页面输出 表6.2 图书归还描述图书归还管理功能描述对读者归还图书进行基本操作和信息管理访问的数据库表图书借阅信息表: lend进行的操作对读者借阅图书进行管理产生的结果 读者借阅成功,系统对借阅信息进行记录6.3.2 系统查询模块功能该模块包括对图书馆藏书进行查询,对读者借阅情况进行查询, ,其中两个子模块的各自功能如下所示: 表6.3 图书查询描述图书查询功能描述系统用户对馆藏图书信息进行查询操作访问的数据库表图书信息表: book进行的操作用户通过图书的编号,作者,出版社等信息对图书进行相关查询产生的结果 读者查询到相应的图书或系统提醒查询的图书不存在结果存储位置或输出