1、摘 要3Abstract51. 绪 论61.1课题背景61.2图书管理系统简介71.3图书管理系统的发展现状71.4可行性分析81.4.1经济可行性81.4.2 技术可行性81.4.3运行可行性92.相关理论及开发工具102.1 软件工程概述102.2 数据库技术概述102.4.1 Eclipse版本112.4.2 主要组成112.5.1 Swing简介112.5.2 开发图形界面常用的类:122.5.3 创建图形界面步骤123.系统总体设计分析133.1 系统目标133.2 系统总体结构设计143.2.1图书管理系统总体结构图143.2.2 处理对象153.3业务分析163.4图书管理系统数
2、据流程图173.5图书管理系统数据流程图203.6功能描述203.6.1图书管理员详细功能描述203.6.2读者详细功能描述213.7 功能描述213.7.1 图书管理模块功能21该功能模块主要实现对管理员对图书进行基本操作和信息管理,功能如下:213.7.2 图书借阅预约模块功能223.7.3 图书查询模块功能233.7.4 用户信息管理模块233.7.5 热门图书模块244.1 数据库设计254.1.1图书信息表结构设计264.1.2 学生用户信息表结构设计264.1.3 管理员信息表结构设计274.1.4 图书状态信息表结构设计274.1.5 已借图书信息表结构设计284.1.6 已借图
3、书次数信息表结构设计284.1.7 用户意见信息表结构设计294.2 数据库实施294.2.1 根据以上分析,建立数据库、数据表:294.2.2 SQLyog的使用305.1 系统流程设计315.1.1系统操作流程图315.1.2数据增加流程335.1.3 数据修改流程345.1.4数据删除流程345.2 程序设计355.2.1程序设计概述355.2.2数据库的连接与关闭355.2.3登录模块程序设计365.2.4系统管理员功能模块的实现415.2.5用户功能模块的实现676.1 图书入库时入库时间限制为日期格式796.2 java中传参问题796.3 java中条件语句的使用796.4 在程
4、序设计过程中错误与异常的解决方法802 摘 要随着计算机的广泛应用,其逐步成为现代化的标志。图书馆的信息量也会越来越大,因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以达到上述的目的。随着科学技术的进步,计算机行业的迅速发展,计算机信息处理系统的引进已彻底改变了许多系统的管理方式。图书管管理系统就是其中一个,该系统解决了学校图书馆管理中出现的基本问题以及相关统计工作。读者用户可以进行图书的查询、借
5、阅信息的查询及个人信息的修改的操作。管理员用户可以进行图书的查询、借书还书、图书及管理员的添加、删除等操作。系统采用Java中的Swing包来进行界面的设计,使用C/S设计模式,采用了Eclipse开发平台。论文叙述了图书馆管理系统的整个实现过程,简单介绍了Java编程的相关知识,重点阐述了各个模块的设计思想以及设计难点。【关键词】:Java;c/s;MySql;数据库设计;数据查询 73AbstractWith the widely application of the computer, and gradually become a sign of modernization. Libra
6、ry information also will be more and more big, so need to readers, books, resources, borrow books information, return books information management, timely understanding of change in the information in the various sectors, to timely processing of the resulting documents, in order to improve the libra
7、ry, or the enterprise internal management of the books in automation, can more quickly to meet the requirements of the readers, improve the efficiency of all kinds of work, now for the corresponding system design, in order to achieve the purpose of the above.With the progress of science and technolo
8、gy, the rapid development of computer industry, the introduction of computer information processing system has completely changed the way many system management. Is one of the library management system, this system solved the basic problems in the school library management and related statistical wo
9、rk. Readers could book query, borrowing information query and modify personal information operations. Administrator users can book query, library books, books, and also the administrator to add, delete, and so on. System USES Java Swing in the package for the design of the interface, using C/S desig
10、n pattern, using the Eclipse development platform. Paper describes the whole process of implementation of library management system, introduces the related knowledge of Java programming, expounds the various modules of the design idea and design difficulty.Keywords:Java;C/S;MySQL;Database design;Dat
11、a query1. 绪 论1.1课题背景 上个世纪90年代美国科学家首次提出数字图书馆(Digital Library)这一概念以来,全球开展数字图书馆研究与实践已经十几个年头。我国图书情报界,IT(Information Technology)业界自1995年左右开始对这一领域跟踪研究,1998年开始全面升温,迄今无论是在对数字图书馆的认识,还是理论研究,关键技术准备方面,都取得了很大的进展。国内数字图书馆的实践活动大致可以分为以下三种类型:资源服务型,服务研究型和联合建设型。虽然,从严格意义上讲,资源服务型不能算是数字图书馆,但它的网上信息服务目前已自大多数图书馆开展,是现阶段我国图书情报
12、界提供网上数字服务的主要形式。随着信息技术的发展,需要存储和传播的信息量越来越大,信息的种类和形式越来越丰富,传统图书馆的机制显然不能满足这些需要。因此,人们提出了数字图书馆的设想。数字图书馆是一个电子化信息的仓储,能够存储大量各种形式的信息,用户可以通过网络方便地访问它,以获得这些信息,并且其信息存储和用户访问不受地域限制。 数字图书馆是传统图书馆在信息时代的发展,它不但包含了传统图书馆的功能,向社会公众提供相应的服务,还融合了其他信息资源(如博物馆、档案馆等)的一些功能,提供综合的公共信息访问服务。可以这样说,数字图书馆将成为未来社会的公共信息中心和枢纽。信息化、网络化、数字化,这一连串的
13、名词符号其根本点在于信息数字化;同样电子图书馆、虚拟图书馆、数字图书馆,不管用什么样的名词,数字化也是图书馆的发展方向。随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现图书信息的管理势在必行。目前图书管理的借阅工作部分大多数还是手工管理,工作效率很低,并且不能及时了解图书的种类和读者们比较需求的图书等,不能更好的适应当前读者的借阅要求。手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存量大,速度快等许多优点,提供给我们的处理信息及时快捷,因此我们利用计算机提供给我们的信息对读者的借阅过程形成一整套动态的管理能够极大地提高图书管
14、理管理的效率,这也是图书管理的科学化、正规化管理,与世界接轨的重要条件。1.2图书管理系统简介图书管理系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它变得越来越普及。MIS是一门新的学科,它跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。 管理信息系统是现代信息管理工作不可缺少的一部分,是适应现代高图书信息管理尺度的要求、推动信息管理走向科学化、规范化的必要条件。只有信息管理规范了,才能给人们提供更好的生活环境及便利的生活空
15、间。 信息是管理上的一项极为重要的资源,管理工作的成败取决于能否做出有效的决策,而决策的正确程度则在很大程度上取决于信息的质量。 在21世纪,人类将步入知识经济时代,知识经济时代是图书发展日新月异和知识、信息呈爆炸膨胀的时代。有所谓信息威胁之说,这是指人类面临的要处理的信息量大到难以处理的地步,以至造成混乱的结果。 计算机的出现解决了这个问题,由于计算机迅速、准确为信息收集、加工、使用、查询提供可能。 随着以计算机技术、通信技术、网络技术为代表的现代信息技术的飞跃发展,人类正在从工业时代向信息时代迈进,人们越来越重视信息资源的开发和利用,“信息化”已成为一个国家经济和社会发展的关键环节,信息化
16、水平的高低已成为衡量一个国家现代化水平和综合国力的重要标志。 管理信息系统是一个由人和计算机等组成的,能进行管理信息的收集、传递、加工、保存、维护和使用的系统,它能实测国民经济和企业的行为、帮助实现其规划目标。管理信息系统功能包括:信息收集、信息存储、问题处理、对话及信息输出、信息管理机构。 1.3图书管理系统的发展现状现代社会、社会化趋势的扩大和社会产品需求使企业在生产经营活动中涉及的内外部信息积聚膨胀,随着科学技术突飞猛进和生产迅速发展,使人类知识量增长速度不断加快,信息量的增加,外部环境变化的变快,人工已无法胜任。如何收集足够的信息资源,强有力的信息并加以利用,积极的开发和及时利用信息爆
17、炸有效的信息资源,已成为现代社会的难题。计算机的出现解决了这个问题,由于计算机迅速、准确为信息收集、加工、使用、查询提供可能。计算机技术与通信技术结合极大的促进现代信息技术的发展,各国加快信息进程,国际社会建设信息高速公路的热潮和中国工人“金”字号工程为代表的国家信息工程项目的开展,使中国的企业信息化面临新的形势。 电子计算机适应现代社会管理信息量迅速增长,信息寿命短,要求及时转换的问题。信息系统由电子数据处理,信息报告系统,决策支持系统进一步发展到专家系统及支持领导层的决策执行信息程序,在竞争中支持战略决策的战略信息系统。当今社会现代信息技术广泛迅速的渗透到社会生活的各领域但目前在管理信息系
18、统应用还很不完善,属于起步阶段。计算机对管理工作的支持,不仅是数据处理、而且是辅助决策的工具,能够从海量的信息中收集、整理,分析提供给管理者、决策有关的信息,相关的决策分析,甚至可和管理者交互对话,生成决策。目前各个行业的计算机处理信息管理,很大一部分仍停留在单项业务理,处在电子数据处理阶段,各单位由事务处理到系统处理转向支持系统还建立起真正的具有预测控制和支持决策功能的管理信息系统。虽然信息系统已有一定发展,在业务处理过程控制办公自动化方面已有长足进步,但很不完善。要充分利用计算机处理信息,必须从目前情况入手,着眼于未来,开发适合本单位、行业的小型管理系统,甚至是其中一步分,如工资管理系统,
19、然后逐步完善,不断扩充。管理信息系统的特点之一就是数据集中统一,采用数据库。利用数据库技术可解决数据共享问题。数据库用一定数据模型组织数据,使数据面向系统,程序独立于数据,实现数据独立性,减少数据冗余和不一致性,且易编程、扩充、移走。尤其 20 世纪 70 年代后期产生的分布式、面对对象数据库,使数据和数据操作方法作为对象由数据库管理,系统更好用,减少出问题的可能性.其属性继承性可在对象中共享数据和操作,极大的方便了用户。总而言之管理信息系统是集科学化、计算机及系统方法为一体的综合性边缘性学科。 1.4可行性分析1.4.1经济可行性由于图书管理系统是作为毕业设计由我们自己开发的,在经济上的投入
20、甚微,系统建成之后将为今后图书管理提供很大的方便,估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,对今后使用十分有利。1.4.2 技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本图书管理系统用的是JAVA1 java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C+语言形成了有力冲击。Java 技术具
21、有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。1.4.3运行可行性运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前社会信息化技术已经相当普及,各类操
22、作人员水平都有相当的高度,所以在运行上是可行性的。根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,并考虑近期内可以培养和发展的技术人员。对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。 按上述三方面进行可行性分析、研究后,就可整理并编制出新系统开发的可行性报告,它是总体规划工作的阶段性成果。2. 相关理论及开发工具2.1 软件工程概述软件工程是一门研究用
23、工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作和生活效率。2.2 数据库技术概述数据库技术是通过研究数据库的结构、存储、设计、管理以及应用的基本理论和实现方法,并利用这些理论来实现对数据库中的数据进行处理、分析和理解的技术。即:数据库技术是研究、管理和应用数据库的一门软
24、件科学。 数据库技术研究和管理的对象是数据,所以数据库技术所涉及的具体内容主要包括:通过对数据的统一组织和管理,按照指定的结构建立相应的数据库和数据仓库;利用数据库管理系统和数据挖掘系统设计出能够实现对数据库中的数据进行添加、修改、删除、处理、分析、理解、报表和打印等多种功能的数据管理和数据挖掘应用系统;并利用应用管理系统最终实现对数据的处理、分析和理解。2.3 MySQL简介MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Databas
25、e Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开2.4 Eclipse简介Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是
26、,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。2.4.1 Eclipse版本从2006年起,Eclipse基金会每年都会安排同步发布(simultaneous release)。至今,同步发布主要在6月进行,并且会在接下来的9月及2月释放出SR1及SR2版本。本毕业设计使用的是2011年6月22日发布的版本代号为Indigo,3.7版本的Eclipse。2.4.2 主要组成Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclips
27、e工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT(java development tooling)、CDT1 Eclipse CDT是 Eclipse 插件,它将把 Eclipse 转换为功能强大的 C/C+ IDE。它被设计为将 Java 开发人员喜爱的许多 Eclipse 优秀功能提供给 C/C+ 开发人员,例如项目管理、集成调试、类向导、自动构建、语法着色和代码完成。当 Eclipse 被用作 Java IDE 时,它将利用 JDK 并与之集成。始。2.5 SWING概述2.5.1 Swing简介Swing(用户界面开发工具包
28、)是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。 工具包中所有的包都是以swing作为名称,例如javax.swing,javax.swing.event。2.5.2 开发图形界面常用的类:JFrame:Swing 的三个基本构造块:标签、按钮和文本字段;但是现在需要个地方安放它们,并希望用户知道如何处理它们。JFrame 类就是解决这个问题的它是一个容器,允许程序员把其他组件添加到它里面,把它们组织起来,并
29、把它们呈现给用户。JPanel:JPanel是一个容器,可以向其中添加其他的GUI组件(如按钮JButton组件);但是JPanel不是顶层容器,因此在屏幕上显示JPanel,必须将它添加到一个顶层容器(如JFrame)中。JSplitPane:Split Pane(分割面版)一次可将两个组件同时显示在两个显示区中,若你想要同时在多个显示区显示组件,你便必须同时使用多个Split Pane。JLabel: 用于短文本字符串或图像或二者的显示区。JTextField:是一个轻量级组件,它允许编辑单行文本。JTextArea:是一个显示纯文本的多行区域。JPasswordField:JPasswo
30、rdField 是一个轻量级组件,允许编辑单行文本,其视图指示键入内容,但不显示原始字符。JButton: push 按钮的实现。 通过 Action 可配置按钮,并进行一定程度的控制。JScrollpane:提供轻量级组件的 scrollable 视图。JScrollPane 管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口。JComboBox:将按钮或可编辑字段与下拉列表组合的组件。用户可以从下拉列表中选择值,下拉列表在用户请求时显示。JRadioButton:实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。ButtonGroup:此类用于为一组按钮创建一个多斥
31、(multiple-exclusion)作用域。使用相同的 ButtonGroup 对象创建一组按钮意味着“开启”其中一个按钮时,将关闭组中的其他所有按钮。2.5.3 创建图形界面步骤(1)导入Swing包 (2)选择界面风格(3)设置顶层容器(4)设置按钮和标签(5)将组件放到容器上(6)为组件增加边框(7)处理事件(8)辅助技术支持2.6 JDBC简介JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,作为数据源,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API(A
32、pplication Programming Interface,应用程序编程接口),据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API 编写数据库应用程序。 2.7 C/S结构简介C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;
33、因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。3.系统总体设计分析3.1 系统目标该系统主要建立一个基于C/S模式的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现:1.对于读者在本系统的应用下可实现按照各种方式(如:书名,出版社,作者)查询图书馆的藏书清单,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。2.对于图书馆工作人员能够实现方便的对图书进行
34、查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。3.对于系统管理员可以对图书馆信息进行修改更新操作,对系统用户进行添加、修改、删除、权限设置等操作。3.2 系统总体结构设计该系统在Windows7环境下,主要采用Java语言开发,MySQL数据库来设计,开发过程与成果应符合GB/T 11457-1995软件工程术语,GB/T 8567-1988计算机软件产品开发文件编制指南等。3.2.1图书管理系统总体结构图绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将
35、数据流程图转变为所需要的系统结构图。系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。本系统的结构图如下:用户图书概览图书删除图书入库图书查询修改密码删除用户添加用户图书借阅图书归还已借图书热门图书用户意见修改密码图书管理用户管理图书操作信息管理管理员登陆图书管理系统图书查询图3.2.1 系统结构图根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下主要功能模块:管理员管理功能模块,学生用户管理功能模块,图书管理功能模块,图书借阅预约功能模块,图书归还挂失功能模块,图书查询功能模块。3.2.2 处理对象图书信息:
36、书籍编号,书名,作者,出版商,出版时间,价格。读者信息:编号,姓名,密码,权限。图书状态信息:读者编号,书籍编号,借阅状态,预约状态。管理员信息:编号,姓名,密码,权限。已借图书信息:书籍编号,书名,读者编号,读者姓名。图书借阅量信息:书籍编号,借阅次数。读者意见信息:读者姓名,书名,时间。3.3业务分析本系统主要开发目的是方便图书管理人员进行图书信息管理,增加工作效率,面向的客户群体是各级图书馆的工作人员。根据本系统的需求,结合实际管理情况, 具体的业务需求为:(1) 系统管理员能够对用户实施管理:包括添加、删除用户信息,对用户密码进行有效管理。(2) 图书管理员能够方便的进行图书管理:包括
37、设置图书信息,添加、删除和修改图书信息。(3) 图书管理员能够在读者借阅书籍时添加和修改读者借阅书籍信息;在读者还书时添加和修改读者还书信息。(4) 每借出一本图书,系统会对该图书进行记录。用户能够根据图书的借阅量来查看图书的热门程度。(5) 用户能够发表意见。3.4图书管理系统数据流程图作为图书管理系统,主要管理的对象是读者信息和图书信息,二者的联系是读者信息对图书信息的需求和使用。再仔细分析调查有关图书信息管理需求的基础上,得到本系统所处理的数据流程。3.5功能模块本系统应用有如下功能模块: (1)基本信息设置:如操作人员的编辑。(2)用户的管理:可以增加、修改、删除用户信息。(3)图书信
38、息管理:可以增加、删除、修改图书信息。(4)查询图书信息。(5)添加图书借阅信息。(6)借阅还书功能。3.6功能描述图书借阅管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项基本操作,系统管理员是管理用户设置权限等操作,图书借阅管理系统要完成一下功能:1. 登录:学生用户、图书管理员,系统管理员进入该系统必须登录,身份验证正确了才可以进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。2.用户管理功能:对系统用户进行添加,修改,删除,权限设置等操作。3.查询功能:对图书馆的馆藏图书,借阅历史,读者用户等信息进行查询。4.其他功能系统管理员可以修
39、改自己的密码,并且拥有其他用户所拥有的所有功能。3.6.1图书管理员详细功能描述(1)读者管理功能:对读者的类型和读者档案进行管理,包括添加,修改,删除读者和读者用户的相关信息。(2)图书管理功能:包括对图书类型和具体图书信息的管理,可以增加,修改,删除图书,丰富具体图书的信息,对不同图书进行分类操作。(3)图书借阅功能:可以完成对读者借阅,续接和还书的操作。(4)系统查询功能:查询图书相关资料,借阅历史和借阅到期信息。(5)修改密码功能:可以修改自己的登录密码。3.6.2读者详细功能描述(1)修改登陆密码:修改自己的登录密码。(2)查询功能:对图书馆图书信息进行查询,对自己当前借阅书籍进行查
40、询,对图书归还到期信息进行查看。(3)借阅、预约图书:对图书馆图书信息进行查询,并能进行对图书借阅、预约功能。(4)用户意见功能:对图书馆系统进行留言。3.7 功能描述3.7.1 图书管理模块功能 该功能模块主要实现对管理员对图书进行基本操作和信息管理,功能如下:表3.7.1 图书管理描述图书管理功能描述对图书进行基本操作和信息管理访问的数据库表图书信息表: book图书状态信息表:bookrecord进行的操作图书入库、修改、删除图书,对图书的编号、出版社、书名等基本信息进行管理产生的结果 对图书基本操作管理,对不同图书参数进行各自信息的设置管理结果存储位置或输出 结果存储在图书信息表(bo
41、ok),图书状态信息表(bookrecord)中,结果在当前页面和图书查询页面均可输出3.7.2 图书借阅预约模块功能该功能模块主要实现对学生用户借阅、预约图书的操作,其中子模块各自的描述如下各表所列:表3.7.2.1 图书借阅描述图书借阅管理功能描述对读者借阅图书进行基本操作和信息管理访问的数据库表图书信息表: book已借图书信息表:borrowedbook图书状态信息表:bookrecord进行的操作对学生用户借阅图书进行管理产生的结果 学生用户借阅成功,系统对借阅信息进行记录结果存储位置或输出 结果存储在图书状态信息表(bookrecord)中,结果在图书借阅页面输出表3.7.2.2图
42、书预约描述图书预约管理功能描述对学生用户预约图书进行操作 访问的数据库表图书信息表: book图书状态信息表:bookrecord进行的操作学生用户对图书进行预约产生的结果 图书被预定,其他用户不可进行此图书的借阅结果存储位置或输出 结果存储在图书状态信息表(bookrecord)和结果在图书借阅页面输出3.7.3 图书查询模块功能该模块包括对图书馆藏书进行查询,对图书的借阅预约情况进行查询,其子模块的实现如下所示:表3.7.3 图书查询描述图书查询功能描述系统用户,管理员对馆藏图书信息进行查询操作访问的数据库表图书信息表: book图书状态信息表:bookrecord进行的操作用户通过图书的
43、图书名,图书号等信息对图书进行相关查询产生的结果 用户查询到相应的图书或系统提醒查询的图书不存在,以及图书借阅,预约状态的描述。结果存储位置或输出结果在图书查询页面输出3.7.4 用户信息管理模块该模块包括用户对自己的信息管理、管理员对用户的信息管理两个模块,实现如下所示:表3.7.4.1 用户信息管理描述用户信息管理功能描述用户修改自己的密码,用户意见访问的数据库表用户意见信息表: userview用户信息表:yonghu进行的操作用户对密码的修改,用户意见的添加产生的结果 密码修改成功,意见添加成功结果存储位置或输出结果在当前查询页面输出表3.7.4.2 管理员信息管理描述管理员信息管理功
44、能描述管理员对用户信息的添加,删除,修改等基本操作访问的数据库表用户信息表:yonghu进行的操作管理员对用户信息的查询,操作产生的结果 用户信息修改成功结果存储位置或输出结果在当前查询页面输出3.7.5 热门图书模块该模块通过记录借阅的图书次数来统计书库中热门图书,具体实现如下:表3.7.5 热门图书信息管理描述热门图书信息管理功能描述通过记录借阅的图书次数来统计书库中热门图书访问的数据库表图书次数记录信息表:bookcount进行的操作每本图书每借出一次,就会在表bookcount中记录一次产生的结果 表bookcount中会记录所有已借图书借出的次数结果存储位置或输出通过热门书籍模块输出
45、4. 数据总体设计分析4.1 数据库设计数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序发展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和
46、相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成部分。数据库技术也是计算机领域中发展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。4.1.1图书信息表结构设计图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入库时由图书管理员进行添加完善,此表主要用于读者和图书管理员对馆中图书的查询,系统用户根据图