基于UML的图书馆管理系统的设计与实现[毕业论文]_第1页
基于UML的图书馆管理系统的设计与实现[毕业论文]_第2页
基于UML的图书馆管理系统的设计与实现[毕业论文]_第3页
基于UML的图书馆管理系统的设计与实现[毕业论文]_第4页
基于UML的图书馆管理系统的设计与实现[毕业论文]_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

1、(2011届)本科毕业论文(设计)题目: 基于UML的图书馆管理系统的设计与实现 学院: 专业: 信息管理与信息系统 班级: 学号: 姓名: 指导教师: 完成日期: 教务处制诚 信 申 明我申明,所呈交的论文(设计)是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写过的研究成果,也不包含为获得或其他教育机构的学位或证书而使用过的材料。我承诺,论文(设计)中的所有内容均真实、可信。论文(设计)作者签名: 签名日期: 年 月 日授 权 申 明学校有权保留送交论文(设计)的原件,允许论文(设计)被查阅和借阅,学校可

2、以公布论文(设计)的全部或部分内容,可以影印、缩印或其他复制手段保存论文(设计),学校必须严格按照授权对论文(设计)进行处理,不得超越授权对论文(设计)进行任意处置。论文(设计)作者签名: 签名日期: 年 月 日基于UML的图书馆管理系统的设计与实现摘要:图书馆是搜集、整理、保管、传播和利用文献信息、为社会提供服务的文化事业机构,它承担着保存人类文化遗产、进行社会教育、传递文献信息和开发智力资源的职能。随着信息资源的不断增长,就需要图书馆管理系统的来更加简单、效率地支持图书馆的职能。本系统采用MyEclipse作为开发工具,JSP作为开发语言,MySQL为后台数据库管理系统。能够实现对图书的查

3、询,添加,浏览,删除等功能。文中主要描述了系统的背景和开发技术方案,分析了系统的需求分析和设计,并且对每个模块的设计与实施做出了详细的描述,系统基本能满足用户查询和阅览图书信息资源的功能。关键字:图书馆;管理;数据库;模块Based on UML library management system design and implementationAbstract:The library is collecting, sorting out, keeping, dissemination and using literature information, provide services of

4、 cultural institutions for social, it undertakes the functions of conserved human cultural heritage, carry out social education, transfer literature information and developing intelligence resources.The system USES the MyEclipse as a receptionist for development tool, JSP as a development language,

5、MySQL backend database management system. Can realize for librarians query, add, browse, delete etc. Function. This paper mainly describes the background and development of technology system scheme, and the analysis of system analysis and design, and needs of each module design and implementation, a

6、nd makes a detailed description of the basic system can satisfy user query and reading books information resource function.Key words:The library; Management; Database; module目 录1 系统概述11.1 项目背景简介 11.2 国内外发展现状 11.3 项目目标 22 开发技术方案选择32.1 JSP技术简介32.2 Struts的概述42.3 MYSQL简介53 系统分析73.1 需求调查 73.2 用例图设计 83.3

7、实体类图设计104 系统设计 134.1 系统功能介绍134.2 用例设计134.3 数据库设计17数据库概念结构设计17数据库数据表设计215 系统实现 255.1 数据库的连接255.2 系统登陆模块的实现275.3 图书信息管理模块的实现29图书类别信息添加功能实现 29图书类别信息维护功能实现 31图书信息添加功能实现 325.4 读者信息管理模块的实现36读者类别信息添加功能实现36读者信息添加功能实现38读者信息管理功能实现 415.5 图书借阅管理模块的实现42图书借阅功能实现43图书续借功能实现46图书归还功能实现 495.6 系统管理模块的实现51管理员权限设置功能的实现 5

8、1个人口令修改功能实现536 系统测试 556.1 测试方案556.2 系统评价567 总结 57致 谢58参考文献591 系统概述1.1 项目背景简介图书馆管理信息系统(Library Management Information System,LMIS)就是将传统图书馆业务的手工操作转变成由计算机管理,即对图书馆的图书、期刊、音像资料等各种载体文献,实现采访、编目、典藏、流通、检索以及相关业务工作的计算机化、信息化管理1。自从人类步入信息时代后,创造的信息爆炸式增长,再加上信息数字化技术,通讯技术,多媒体技术的迅速发展和网络的普及,图书馆作为信息资源的集散地,需要不断更新繁多的各类图书信息

9、,电子信息以及借阅信息,再加上图书馆工作人员数量有限,传统的基于文本和表格的纸质介质的手工统计和操作已经无法满足图书馆日益增长的各类业务需求。再者,需要处理的数据量十分庞大,人工统计过程非常容易出错,对出错信息的重新检查和查找也十分得繁琐,这些都将为广大读者带来不必要的麻烦。因此传统手工操作随着时代的发展,效率越来越低,造成大量的人力,物力的浪费。为了使读者在图书馆的借书还书等业务更加方便,有效地简化读者借还书手续,提高图书借阅率,避免因为手工操作出错导致的读者与管理人员之间不必要的争执等不该出现的问题,因此亟待需要有一套能够有效处理图书馆日常各项业务和具备各个相关功能的图书馆管理系统,使图书

10、馆管理工作规范化,程序化,系统化,提高图书馆信息处理的效率和准确度2。1.2 国内外发展现状图书馆管理系统的发展阶段按关键特征划分为三个阶段:第一阶段从手工操作到计算机操作,第二阶段是从只有单个模块系统到两个或者多个模块系统以及从单一功能到多功能的转变,第三阶段是从图书馆提供的服务来划分的,从直接提供面对面的单个图书馆资源的服务到可以提供在线服务的、多个图书馆的资源的服务,第四阶段从只能提供图书馆纸质资源到能提供多种网络资源和在线多媒体资源,从主要是功能的集成到对不同类型资源的转变。可见,图书馆管理业务中计算机进行自动化管理的比重不断增加,但是目前在研究过程中,主要存在如下问题:一是人们对图书

11、馆信息管理系统这一概念的理解过于狭隘,再加上很多图书馆缺乏图书馆管理信息系统建设的指导,因此在很大程度上限制了计算机管理系统在图书馆工作中的深入使用。二是目前很少有图书馆管理系统能够可以实现办公自动化管理和知识管理能力,决策支持能力。具体主要体现在如下几个方面。首先,系统不易维护。图书馆管理系统大多数采用C/S结构,这种模式是一种两层结构的分布模式,开发的应用程序装在客户端中,因此当需要改动客户端程序的时候,需要将客户端程序重新安装。另外,由于软件发开过于依靠高校,缺乏公司的经营理念,因此系统的补丁和升级不够,维护也不及时,对用户的意见不重视,甚至完全忽视。其次,系统难移植和集成。大多数系统都

12、为了商业利益而采取技术保护,因此用户很难按照自己的需求对现有的系统采取嵌入新程序的方式。而且现在图书馆管理系统的趋势是系统接口和数据的共享,但是由于图书馆管理系统的提供是多个厂商和平台来完成导致这个趋势无法达成或者很难达成。再者,系统缺乏双向交流互动。这是由2个原因导致的:一方面开发商,用户之间缺乏交流和交流的平台,因此缺乏经验的客户对操作复杂的系统很难掌握,严重影响了系统的工作效率的效果3。另一方面用户在使用系统的过程中会遇到很多程序开发的建议和问题,而系统开发者很难做出快速的响应,导致系统的维护和更新周期也很长,这严重阻碍了系统的开发使用。1.3 项目目标本次毕业设计就是开发一个图书馆管理

13、系统,并通过该系统处理常见的图书馆相关业务。本系统的目标是:(1)借阅者可以通过系统查询书籍信息。(2)借阅者能够借阅书籍和归还书籍。(3)图书管理员能够处理借阅者的借阅和还书。(4)系统管理员可以对系统的数据进行维护,如增加、删除、更新书目,增加、删除和更新借阅者帐户。 2 开发技术方案选择本系统选择的开发技术语言为JSP,系统在Microsoft Windows XP下开发,所采用的开发工具主要是myEclipse6.5,选择的数据库为MySQL。发布平台为TOMCAT6.0服务器端运行,客户端的IE版本需要在6.0以上。下面分别对编程环境以及数据库MySQL做介绍分析。2.1 JSP技术

14、简介Web服务从由简单网页构成的静态服务网站,发展到可以交互执行一些复杂步骤的动态服务网站,这就需要和其他服务整合,需要多个服务能够一起无缝地协同工作,需要能够创建出与设备无关的应用程序,需要能够容易地协调网络上的各个服务的操作步骤,容易地创建新的用户化的服务4。Java是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet的开发工具。JSP(Java Server Page)技术让Java成为了基于Web的应用程序的首选开发工具,目前的Java技术已成为所有大型电子商务项目的必然选择。JSP技术可以以一种简捷而快速的方法生成Web页面。使用JSP技术的Web页面可以

15、很容易地显示动态内容。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作。JSP技术不是惟一的动态网页技术,也不是第一个,在JSP技术出现之前就已经存在几种优秀的动态网页技术,如CGI、ASP等。基于Java语言的JSP技术具有很多其他动态网页技术所没有的特点,具体表现在如下方面:(1)简便性和有效性JSP动态网页的编写与一般的静态HTML的网页编写是十分相似的。只是在原来的HTML网页中加入一些JSP专有的标签,或是一些脚本程序(此项不是必需的)。这样,一个熟悉HTML网页编写的设计人员可以很容易进行J

16、SP网页的开发。而且开发人员完全可以不自己编写脚本程序,而只是通过JSP独有的标签使用别人已写好的部件来实现动态网页的编写。这样,一个不熟悉脚本语言的网页开发者,完全可以利用JSP做出漂亮的动态网页。而这在其他的动态网页开发中是不可实现的。(2)程序的独立性JSP是Java API家族的一部分,它拥有一般的Java程序的跨平台的特性。换句话说,就是拥有程序的对平台的独立性,即Write once,Run anywhere!。(3)程序的兼容性 JSP中的动态内容可以各种形式进行显示,所以它可以为各种客户提供服务,即从使用HTML/DHTML的浏览器,到使用WML的各种手提无线设备(例如,移动

17、和个人数字设备PDA),再到使用XML的B2B应用,都可以使用JSP的动态页面。(4)程序的可重用性在JSP页面中可以不直接将脚本程序嵌入,而只是将动态的交互部分作为一个部件加以引用。这样,一旦这样的一个部件写好,它可以为多个程序重复引用,实现了程序的可重用性。现在,大量的标准JavaBeans程序库就是一个很好的例证5。2.2 Struts的概述struts是一种开源软件,采用 Struts 可以简化Web 应用的开发工作,实现代码重用,具有使得 Web 应用具有强可扩展性。Struts 的出现使得 Web 应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率。Struts的优点主要集

18、中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。Struts的标记库使得程序开发者使用JSP自带的常用标记。页面导航使系统的流程更加清晰。通过一个配置文件可以清楚的看到整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批程序开发者接手这个项目时,这种优势体现得更加明显。下图是Struts的工作流程,所有的请求都提交给ActionServlet来处理。如图2-1 Struts的工作流程图。ActionServlet是一个FrontController,它是一个标准的Servlet,它将request转发给Reques

19、tProcessor来处理, ActionMapping是ActionConfig的子类,实质上是对struts-config.xml的一个映射,从中可以取得所有的配置信息 ,RequestProcessor根据提交过来的url,如*.do,从ActionMapping 中得到相应的ActionForn和Action。然后将request的参数对应到ActionForm中,进行form验证。如果验证通过则调用Action的execute()方法来执行Action,最终返回ActionFoward,ActionFoward是对mapping中一个foward的包装,对应于一个url。Action

20、Form使用了ViewHelper模式,是对HTML中form的一个封装。其中包含有validate方法,用于验证form数据的有效性。ActionForm是一个符合JavaBean规范的类,所有的属性都应满足get和set对应。对于一些复杂的系统,还可以采用DynaActionForm来构造动态的Form,即通过预制参数来生成Form。这样可以更灵活的扩展程序。ActionErrors是对错误信息的包装,一旦在执行action或者form.validate中出现异常,即可产生一个ActionError并最终加入到ActionErrors。在Form验证的过程中,如果有Error发生,则会将页

21、面重新导向至输入页,并提示错误。Action是用于执行业务逻辑的RequsestHandler。每个Action都只建立一个instance。Action不是线程安全的,所以不应该在Action中访问特定资源。一般来说,应改使用 Business Delegate 模式来对Business tier进行访问以解除耦合。 Struts提供了多种Action供选择使用。普通的Action只能通过调用execute执行一项任务,而DispatchAction可以根据配置参数执行,而不是仅进入execute()函数,这样可以执行多种任务。如insert,update等。LookupDispatchAc

22、tion可以根据提交表单按钮的名称来执行函数。 图2-1 Struts的工作流程图2.3 MYSQL简介本系统的开发选择的数据库为MySQL,MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持,相比较其它系统而言,MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。MySQL的特性包括以下几点: (1)MySQL是一个数据库管理系统一个数据库是一个结构化的数据集合。它可以是从一个简单的销售表到一个美术馆、或者一个社团网络的庞大的信息集合。如果要添加、访问和处理存储在一个计算机数据库中的数据,你就需要一个像MySQL这样的数据库管理系统。从

23、计算机可以很好的处理大量的数据以来,数据库管理系统就在计算机处理中和独立应用程序或其他部分应用程序一样扮演着一个重要的角色。(2)MySQL是一个关系数据库管理系统关系数据库把数据存放在分立的表格中,这比把所有数据存放在一个大仓库中要好得多,这样做将增加你的速度和灵活性。“MySQL”中的SQL代表“Structured Query Language”(结构化查询语言)。SQL是用于访问数据库的最通用的标准语言,它是由ANSI/ISO定义的SQL标准。SQL标准发展自1986年以来,已经存在多个版本:SQL-86,SQL-92,SQL:1999,SQL:2003,其中SQL:2003是该标准的

24、当前版本。(3)MySQL是开源的数据库管理系统开源意味着任何人都可以使用和修改该软件,任何人都可以从Internet上下载和使用MySQL而不需要支付任何费用。如果你愿意,你可以研究其源代码,并根据你的需要修改它。(4)MySQL适合访问在Internet上的数据库MySQL服务器原本就是开发比已存在的数据库更快的用于处理大的数据库的解决方案,并且已经成功用于高苛刻生产环境多年。尽管MySQL仍在开发中,但它已经提供一个丰富和极其有用的功能集。它的连接性、速度和安全性使MySQL非常适合访问在Internet上的数据库。(5)MySQL服务器工作在客户/服务器或嵌入系统中MySQL数据库服务

25、器是一个客户/服务器系统,它由多线程SQL服务器组成,支持不同的后端、多个不同的客户程序和库、管理工具和广泛的应用程序接口(APIs)。MySQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品6。3 系统分析3.1 需求调查需求调查是调查用户的需求,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。现在我们应该明确问题定义阶段的主要任务:我们要建立一个图书信息管理系统,以解决学校图书馆各类业务的基本情况,比便有效的摆脱传统繁琐的手工记账,实现管理自动化,从而提高工作效率。所开发的图书馆管理系统要求具

26、有界面友好,功能完备,易使用等特点。而后台数据库的数据要具有一致性、完整性、安全性、易维护性。系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。因此一个完善的图书馆管理系统应该包括如下一些要求:读者信息管理:管理员能够对读者进行注册登记,包括记录读者的姓名、编号、职业、性别、地址、邮箱等信息。并且在之后可以对读者信息进行修改和删除等更新操作。而且在登记读者的时候可以登记读者的类型,以便之后提供不同类型的服务。图书馆信息维护:管理员登陆系统后可以对图书馆相关信息进行设置,比如设置地址,邮箱,馆名,简介信息等。图书馆信息查询:任何注册登记的用户都可以浏览该图书馆的相关信息,比如图书馆

27、的馆名字,馆长,地址,邮箱,简介等相关信息。图书借还管理:管理员可以处理读者借书,还书的请求,每个读者属于不同的读者类型,不同的读者类型可以借阅图书的数目也是不一样的。读者将实体书目拿给管理员的时候,管理员就可以针对该书目进行借还管理,并在系统中更新相关信息,如借还日期,借还者,应还日期等。图书查询:该系统可以为任何注册登记的用户提供方便的查询方法,可以以条形码、书名、作者、出版社、等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。图书续借:管理员可以处理读者续借的请求,读者将实体书目拿给管理员的时候,管理员就可以针对该书目进行

28、续借管理,并在系统中更新相关信息,如续借期,借还者,应还日期等。图书信息维护:管理员能够对图书进行收录登记,就是将图书的一些必要的基本信息(毕如:书的条形码、书名、作者、出版社等)预先存入图书馆数据库中,供以后查询和为各项业务作支持。并且能够设置图书的类别,使得不同的图书更容易被查询。管理员权限设置:该系统能够对使用该管理系统的用户进行管理,按照不同的身份提供不同的功能授权。比如读者只能在系统上进行查询图书信息和查询自己的信息,管理员可以根据自己的权限不同获得不同程度的系统操作权。比如设置某一个管理员只有处理借书的权限。系统查询:管理员或者读者可以按条件查询图书档案信息,图书借阅信息,图书借阅

29、超期信息列表。并且可以根据这些信息进行相关操作,比如读者发现自己的某一个图书要到期了,那么就会去图书馆进行续借或者还书。口令更改:管理员或一般的操作员登陆系统后可以更改自己的登陆密码。3.2 用例图设计该图书馆管理系统的开发是一个比较复杂的软件工程,基于软件工程思想,采用了UML表达图书馆管理系统的设计方式,提取类以及描述它们之间的协作关系,实现系统模型构建。UML的用例图(Use Case)较详细和确切地描述了用户的功能需求,使系统责任更为明确,是其他UML视图的核心和基础,其他视图的构造和发展依赖于用例图中所描述的内容,系统的最终目标就是提供用例视图中描述的功能7。首先通过之前的需求分析建

30、立该系统用例图,从管理员和读者登录系统后所具体的权限和操作来描述了图书馆管理系统的管理员,读者和各个子系统之间的关系,如图3-1图书馆管理系统用例图所示。图3-1 图书馆管理系统用例图从用例图中我们可以看出管理员和读者之间对本系统所具有的用例。管理员所包含的用例有:口令管理:管理员可以通过登录该系统进行更改密码的操作。读者信息维护:包括对读者的增删改和读者信息的查询。图书馆信息维护:能够对图书馆信息进行维护更新操作。图书查询:可以对所有图书的详细信息进行查询。图书借阅:可以处理读者的借阅请求。图书归还:可以处理读者的归还请求。图书续借:可以处理读者的续借请求。图书信息维护:可以实现书目的增删改

31、。管理员信息维护:可以增删改管理员账户,并且可以设置管理员对系统的操作权限。图书借阅信息查看:可以查看现有已经出借的书目信息。读者所包含的用例有:读者信息查询:读者在登录系统后可以查询自己的相关信息。图书借阅:通过管理员进行借书业务。图书归还:通过管理员进行还书业务。图书续借:通过管理员进行图书续借业务。图书借阅信息查看:可以查看自己所借书目的相关信息。3.3 实体类图设计基于UML的系统分析阶段另一个重要的工作就是特定域类的分析,即作出系统中的关键类,确定与该领域相关的概念,建立类图。类图是UML的核心技术,表示该系统中类和类之间的关系,是对系统静态结构的描述。图书馆管理系统的域类主要包括图

32、书借阅(Borrow),图书信息(Book),图书类型(BookType),读者(Read),读者信息(ReadType),管理员(Manger),图书馆信息(Library)。可以在类图中将这些域类和他们之间的关系表示出来。如图3-2系统实体类设计图。图3-2系统实体类设计图类图说明:UML类图中包括三个部分,类名称,类属性和类操作。上述几个类中Borrow类用于图书的借阅、归还、续借功能,并且在实现这三个功能的时候更新相应的借阅信息,图书信息和读者信息,如更新借书日期,对应的借阅人。Book类用于实现图书的添加、删除、更新,查询功能,在实现添加、删除、更新功能的时候都会更新相关图书信息。B

33、ookType类用于设置图书种类,不同类型的图书可以借阅的最长天数是不同的。Read类用于实现读者的添加、删除、更新,主要用于管理读者信息。ReadType类用于设置读者类型,读者类型的不同,所获得的权限也不同,比如可借书目的数量。Library 类用于保存图书馆相关信息,任何登录的用户都可以从中看到图书馆的简介。Manger类用于处理上述几个类的业务请求,比如图书的借阅、归还、续借都要通过Manger类才能得以完成。4 系统设计系统设计内容主要包括:确定设计方针和方法,将系统分解为若干子系统,确定各子系统的目标、功能及其相互关系,决定对子系统的管理体制和控制方式,对各子系统进行技术设计和评价

34、。通过上述系统分析,可以了解到该图书馆管理系统需要实现的主要功能模块以及实现各个模块的功能,下面就对整个系统的的功能做一个基于UML的系统设计。4.1 系统功能介绍下面介绍下该系统的功能:图书员进行借书业务处理,读者需要还书的时候,可以让管理员进行还书业务处理8。读者信息管理:管理员可以添加和删除读者,并且可以对读者的相关信息进行修改保存。此外,还可以设置不同类型读者的可借书目数量。系统设置:管理员可以在登陆系统后修改并保存图书馆简介,此外还可以修改管理的操作权限。口令更改:管理员可以在自己登录系统后,选择口令更改,更改自己的密码。查看借阅信息系统首页用户登录页面功能选择管理员登录管理用户账户

35、功能选择管理图书信息查询借阅信息处理借还请求查看借阅信息图书查询图4-1系统功能介绍图4.2 用例设计设计的最后阶段是设计UML模型,也就是将前面设计的模型进行扩展和细化,这里的设计目的是产生一个可以使用的解决方案,并且可以方便的将方案转换成程序代码。时序图就可以很好的满足这个目的。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。时序图主要用于描述对象是如何交互的,并且将重点放在消息序列上9。根据需求分析阶段的用例分析以及系统功能介绍,我们可以画出流通子系统中主要用例

36、的时序图:(1)首先我们来做用户登录时序图,用户在图书馆管理系统的登录界面输入用户名和密码,通过系统验证后就进入了主界面。在主界面中,不同类型的用户可以进入不同的流通子系统。如管理员可以进行图书和读者的管理等业务,读者可以进行书面的查询等业务。其时序图如图4-2登录时序图。图4-2登录时序图(2)管理员通过身份验证后进入主界面后,在流通子系统中可以进行读者信息的维护,图书信息的维护,图书的借阅、归还、续借等活动。读者的信息维护包括读者的添加、删除、更改以及读者类型的设置;图书信息维护包括图书的添加、删除、更改。其时序图如图4-3读者信息管理时序图。图4-3读者信息管理时序图(3)本系统的图书借

37、阅管理包括图书的借阅、归还以及续借三个功能,当管理员进行读者的借还书业务时,不但要同时修改借阅记录从而显示现在的借阅状态,还有同时修改读者信息中的借阅图书的信息,包括图书的数量及图书的名称和库存等相关信息。其时序图如图4-4图书借阅管理时序图。图4-4图书借阅管理时序图(4)图书添加是图书馆系统的另一项重要功能,管理员在进入主界面后,在主界面的流通子系统中可以选择图书信息管理,选择添加图书,输入书目的图书类型,出版社,设置条形码等信息后,这些信息都会存储到图书记录中。其时序图如图4-5图书添加时序图。图4-5图书添加时序图4.3 数据库设计数据库(Database)是按照数据结构来组织、存储和

38、管理数据的仓库,它使得数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求10。4.3.1 数据库概念结构设计针对该图书管理信息系统的内容和数据流程分析,设计成如下数据项以及数据结构11:(1)图书类别信息:包括图书类别编号,名称,该图书类别可以外借的天数。(2)图书信息:包括条形玛,图书名称,图书类型,作者,译者,出版社,价格,页码,书架,添加时间,操作员,是否删除,系统记录编号。(3)读者类别信息:包括读者

39、类别编号,读者类别名称,可借图书数。(4)读者信息:包括读者姓名,读者性别,读者条形码,读者类型,职业,出生日期,有效证件,证件号码, ,Email,备注,读者加入时间,操作员。(5)图书借阅信息:包括记录编号,图书编号,读者编号,借阅时间,归还时间,是否已经归还,操作员。(6)图书归还信息:包括记录编号,图书编号,读者编号,归还时间,操作员。(7)图书馆信息:包括图书馆名称,馆长,联系 , ,图书馆网址,建馆时间,图书馆简介。(8)管理员信息:包括管理员id编号,管理员帐号和管理员密码。(9)管理员权限信息:包括管理员id编号,系统设置权限,读者管理权限,图书馆管理权限,图书借还权限,系统查

40、询权限。根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体及它们之间的关系,以便之后设置逻辑结构。根据设计规划得出的实体有图书类别信息实体,图书信息实体,读者类别信息实体,读者信息实体,各个实体的属性通过实体属性图表示如下面这些图所示12。下列各图中矩形代表该实体对象,它对应数据库中的一张数据表,而椭圆形里的信息代表该数据对象的属性,它对应数据表中的字段信息。图书类别实体图书类别编号图书可借天数图书类别名称图书信息实体条形码图书类别作者出版社译者价格页码添加时间操作员加入时间图书名称图4-6 图书类别实体属性图 图4-7 图书信息实体属性图读者类别信息实体读者类别编号类别名称可借图

41、书数目图4-8 读者类别信息实体属性图读者信息实体读者条形码读者姓名读者类型读者性别职业出生日期有效证件证件号码 Email备注信息备注加入时间图4-9 读者信息实体属性图图书借阅信息记录编号读者编号图书编号借阅时间应归还时间是否已归还图4-10图书借阅信息实体属性图图书归还信息记录编号读者编号图书编号归还时间操作员图4-11图书归还信息实体属性图图书馆信息实体图书馆名称联系 馆长 图书馆网址图书馆简介绍建馆时间图4-12 操作员帐号信息实体属性图管理员信息实体管理员帐号管理员编号管理员密码图4-13 管理员信息实体属性图管理员权限信息管理员编号读者管理权限系统设置权限图书管理权限图书借还权限

42、系统查询权限图4-14 管理员权限信息属性图图书信息实体图书类别图书馆信息读者类别信息图书归还信息管理员信息图书馆系统读者信息管理员权限信息图书借阅信息图4-15 图书馆系统属性图4.3.2 数据库数据表设计 表4-1图书类别信息表字段名描述类型长度是否允许空是否主键id图书编号int10否是typename类别名称varchar30是否days可借天数int 10是否 表4-2 图书信息表字段名描述类型长度是否允许空是否主键barcode条形码varchar30是否bookname书名varchar70是否typeid类别编号int 10是否author作者varchar30是否transl

43、ator译者varchar30是否ISBN出版社varchar20是否price价格float8,2是否page页码int10是否bookcase图书类型int10是否inTime进馆时间date是否operator操作员varchar30是否id图书编号int11否是表4-3读者类别信息表 字段名描述类型长度是否允许空是否主键id读者编号int10否是name读者类别varchar50是否number可借数量int4是否表4-4读者信息表 字段名描述类型长度是否允许空是否主键id读者编号int10否是name读者姓名varchar20是否sex性别varchar4是否barcode条形码va

44、rchar30是否vocation职业varchar50是否birthday读者生日date是否paperType证件类型varchar10是否paperNO证件号码varchar20是否tel读者 varchar20是否email读者邮箱varchar100是否createDate创建时间date是否operator操作员varchar30否否remark备注text是否typeid类型编号int11是否表4-5图书借阅信息表 字段名描述类型长度是否允许空是否主键id图书编号int10否是readerid读者编号int10是否bookid条形码int10是否borrowTime借阅时间dat

45、e是否backTime归还时间date是否operator操作员Varchar30是否ifback是否归还tinyint1是否表4-6图书归还信息表 字段名描述类型长度是否允许空是否主键id图书编号int10否是readerid读者账号int11是否bookid图书int11是否backTime归还时间date是否operator操作员varchar30是否表4-7图书馆信息表 字段名描述类型长度是否允许空是否主键id 编号int10否是libraryname图书馆名称varchar50是否curator馆长varchar10是否tel联系 varchar20是否address图书馆地址var

46、char100是否email图书馆邮箱varchar100是否url图书馆网址varchar100是否createDate建立时间date是否introduce图书馆简介text是否表4-8管理员信息表 字段名描述类型长度是否允许空是否主键id管理员编号int10否是name管理员账号varchar30是否PWD管理员密码varchar30是否表4-9管理员权限信息表 字段名描述类型长度是否允许空是否主键id管理员编号int11否是sysset系统设置tinyint1是否readerset读者管理tinyint1是否bookset图书管理tinyint1是否borrowback图书借还管理ti

47、nyint1是否sysquery系统查询tinyint1是否5 系统实现5.1 数据库的连接在系统设计阶段,已将系统划分为多个模块,现在在详细设计阶段需要将它们按照一定的原则组装起来,同时确定了每个功能及模块之间的外部接口,并确定每个模块具体执行的过程。在本系统中,数据库的访问是使用的mysql的驱动连接的,对数据库的访问操作如数据添加,修改,删除查询都在本类中实现,各个业务层的实现都需要调用本数据层代码的。package com.core;importtream;importimport/*数据库连接类*/public class ConnDB public Connection conn = null; public Statement stmt = null; public ResultSet rs = null; private static String propFileName = "/com/connDB.properties"/指定资源文件保存的位置 private static Properties prop = new Properties(); private static String dbClassName =; private static String dbUrl = ; public ConnDB() tr

温馨提示

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

评论

0/150

提交评论