图书馆管理系统_第1页
图书馆管理系统_第2页
图书馆管理系统_第3页
图书馆管理系统_第4页
图书馆管理系统_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

摘要图书馆管理系统是典型的信息管理系统MIS,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点,同样的图书馆也有C/S和B/S两种架构,此次毕业设计所做的图书馆管理系统是B/S架构基于WEB的应用系统开发的一种小型图书馆管理系统,通过浏览器来访问。本毕业设计实现了对英博图书馆的管理,功能如下读者的登陆、读者注册、读者管理、图书借阅、图书归还等。该系统基于LINUX系统、APATCHTOMCAT服务器,开发语言采用JAVA,后台数据库由于MYSQL数据库插入汉字比较麻烦,不好实现本系统简单易操作这个特点,所以系统实现时采用的是POINTBASE这个数据库,此数据库与ORACLE数据库非常类似,语法基本相同,而且占用内存非常小。所用相关技术JAVASCRIPT、JSP、STRUTS、HIBERNATE、JAVABEAN、SPRING;。该软件界面友好,操作简单,使图书馆管理系统复杂功能简单化。关键词MIS,B/S架构,POINTBASEABSTRACTLIBRARYMANAGEMENTSYSTEMISATYPICALMANAGEMENTINFORMATIONSYSTEMMIS,INCLUDINGITSMAINDEVELOPMENTBACKGROUNDOFTHESTABLISHMENTANDMAINTENANCEOFTHEDATABASEANDFRONTENDAPPLICATIONDEVELOPMENTINTWOWITHREGARDTOTHEFORMERREQUESTTOESTABLISHSTRONGDATACONSISTENCYANDINTEGRITY,DATASECURITYAGOODLIBRARYFORTHELATTERREQUESTAPPLICATIONSFULLYFUNCTIONAL,EASYTOUSE,ANDOTHERCHARACTERISTICS,THESAMELIBRARYHASC/SANDB/STWOSTRUCTURE,DESIGNEDBYTHEGRADUATIONOFBOOKSMUSEUMMANAGEMENTSYSTEMISB/SFRAMEWORKFORWEBBASEDAPPLICATIONSYSTEMDEVELOPEDBYASMALLBOOKMUSEUMMANAGEMENTSYSTEM,THROUGHTHEBROWSERTOACCESSGRADUATEDFROMTHEDESIGNANDIMPLEMENTATIONOFTHEBRITISHLIBRARYBOMANAGEMENT,FUNCTIONSASFOLLOWSREADERSLANDING,THEREADERREGISTRATION,MANAGEMENTREADERS,BORROWBOOKS,BOOKSSUCHASRESTITUTIONTHEDEPARTMENTOFECLINUXBASEDSYSTEMS,APATCHTOMCATSERVER,THEDEVELOPMENTOFLANGUAGEUSEJAVA,AFTERTAIWANMYSQLDATABASEBECAUSETHEDATABASEINTOCHINESECHARACTERSRELATIVELYTROUBLE,NOTREALIZINGTHESYSTEMSIMPLEANDEASYTOOPERATETHISFEATURE,THESYSTEMUSEDTOACHIEVETHISNUMBERISPOINTBASETHELIBRARY,THISDATABASEANDORACLEDATABASEISVERYSIMILAR,BASICALLYTHESAMEGRAMMAR,ANDACCOUNTEDFORMEMORYISVERYSMALLRELATEDTECHNOLOGYUSEDJAVASCRIPT,JSP,STRUTS,HIBERNATE,JAVABEAN,SPRINGTHESOFTWAREUSERFRIENDLY,EASYTOUSESOTHATTHELIBRARYMANAGEMENTSYSTEMSIMPLIFYINGCOMPLEXFUNCTIONSKEYWORDSMIS,B/SSTRUCTURE,POINTBASE1绪论111图书馆管理系统开发的意义112本文所做的主要工作12开发环境以及开发工具介绍121总体介绍122B/S模式介绍123JAVA技术概述1231JAVABEAN介绍1232JSP技术介绍2233HIBERTATE技术介绍224“容器”TOMCAT应用服务器介绍325POINTBASE简介326开发框架技术MVC43系统需求分析131功能需求132硬件需求133可行性研究1331技术可行性1332操作可行性234结论14总体设计141系统分析1411系统目标分析1412系统面向的对象1413组织结构分析1414业务流程分析142系统结构设计243数据流程分析444数据模型分析1441英博图书馆管理系统总ER图1442系统类图1443系统用例图1444读者实体ER图1445联系信息实体ER图1446图书实体ER图1447借阅订单状态实体1448借阅订单实体1449借阅订单项实体145数据字典1451数据项1452数据存储1453数据流146输入输出设计147数据库逻辑设计15详细设计151用户登陆模块152用户注册模块153读者管理模块154模块的实现2541建表语句2542代码的实现3543模块分析166软件测试161什么是软件测试162软件测试的规则163软件测试的对象164单元测试1结论1致谢2参考文献3附录1代码部分4附录2中英文资料翻译部分11绪论11图书馆管理系统开发的意义当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。12本文所做的主要工作本次毕业设计主要是实现一个小型的图书馆管理系统,该系统是针对一些小型的图书馆设计的,系统主要实现对读者的管理、图书的信息查询、图书的借阅、图书的归还等功能,而且由于该系统是B/S架构基于WEB的应用系统开发的,只需要通过通过浏览器来访问,方便快捷,操作简单,而且开发成本低,使图书馆管理系统复杂功能简单化,特别合适小型的图书馆使用开发环境以及开发工具介绍13总体介绍开发英博图书馆管理系统,需要以下解环境和工具选择POINTBASE作为后台的数据库,JAVAJSP、JAVASCRIPT、HTML,SERVLET,STRUTS,作为应用程序开发工具,运用TOMCAT服务器技术,整个系统完全基于B/SBROWSER/SERVER,采用最流行的MVC模式开发14B/S模式介绍伴随着INTERNET的迅速发展,计算机技术正在由基于C/S(CLIENT/SERVER)模式的应用系统转变为基于B/S模式的应用系统。过去,网络软件的开发都采用C/S(CLIENT)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题1系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。2在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。3B/S模式带来了巨大的好处开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(SERVER)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(SERVER)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(BROWSER)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。4良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。15JAVA技术概述JAVA技术是SUN公司推出的新的一代面向对象程序设计语言,特别适合于INTERNET应用程序开发。JAVA的产生与流行是当今INTERNET发展的客观要求,JAVA是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在INTERNET环境上开发的应用系统。JAVA技术不仅仅包括JAVA语言,它还有一系列的与之相应的开发技术,如JAVABEAN、JSP、HIBERTATE、STRUTS等等。151JAVABEAN介绍用户可以使用JAVABEAN将功能、处理、值、数据库访问和其他任何可以用JAVA代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、SERVLET、其他JAVABEAN、APPLET程序或者应用来使用这些对象。用户可以认为JAVABEAN提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。最初,JAVABEAN的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE)下使用的JAVA软件部件。这些包括如GRID控件,用户可以将该部件拖放到开发环境中。从此,JAVABEAN就可以扩展为一个JAVAWEB应用的标准部件,并且JAVABEAN部件框架已经扩展为企业版的BEAN(EJB)。152JSP技术介绍JSP的全称是JAVASERVERPAGES,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(HTML,HTM)中加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点1将业务层与表示层分离使用JSP技术,网络开发人员可充分使用HTML来设计页面显示部分(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容;2能够跨平台JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的APACHE服务器也提供了支持JSP的服务;3组件的开发和使用很方便如ASP的组件是由C,VB等语言开发的,并需要注册才能使用;而JSP的组件是用JAVA开发的,可以直接使用;4一次编写,处处运行作为JAVA开发平台的一部分,JSP具有JAVA所有优点,包括WRITEONCE,RUNEVERYWHERE153HIBERTATE技术介绍HIBERNATE是一个免费的开源JAVA包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通JAVA对象一样,同时不必考虑如何把它们从神秘的数据库表中取出(或放回到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们。HIBERNATE不会对您造成妨碍,也不会强迫您修改对象的行为方式。它们不需要实现任何不可思议的接口以便能够持续存在。惟一需要做的就是创建一份XML“映射文档”,告诉HIBERNATE您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求它以对象的形式获取数据,或者把对象保存为数据。与其他解决方案相比,它几乎已经很完美了。运行时,HIBERNATE读取映射文档,然后动态构建JAVA类,以便管理数据库与JAVA之间的转换。在HIBERNATE中有一个简单而直观的API,用于对数据库所表示的对象执行查询。要修改这些对象,(一般情况下)只需在程序中与它们进行交互,然后告诉HIBERNATE保存修改即可。类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉HIBERNATE有关它们的信息,这样就能在数据库中保存它们。HIBERNATEAPI学习起来很简单,而且它与程序流的交互相当自然。在适当的位置调用它,就可以达成目的。它带来了很多自动化和代码节省方面的好处,所以花一点时间学习它是值得的。而且还可以获得另一个好处,即代码不用关心要使用的数据库种类(否则的话甚至必须知道)。我所在的公司就曾有过在开发过程后期被迫更换数据库厂商的经历。这会造成巨大的灾难,但是借助于HIBERNATE,只需要简单地修改HIBERNATE配置文件即可。16“容器”TOMCAT应用服务器介绍目前支持JSP的应用服务器是较多的,TOMCAT是其中较为流行的一个WEB服务器,被JAVAWORLD杂志的编辑选为2001年度最具创新的JAVA产品,可见其在业界的地位。TOMCAT是一个免费的开源的SERLVET容器,在TOMCAT中,应用程序的部署很简单,你只需将你的WAR放到TOMCAT的WEBAPP目录下,TOMCAT会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的JSP时,通常第一次会很慢,因为TOMCAT要将JSP转化为SERVLET文件,然后编译。编译以后,访问将会很快。TOMCAT也具有传统的WEB服务器的功能处理HTML页面。但是与APACHE相比,它的处理静态HTML的能力就不如APACHE。我们可以将TOMCAT和APACHE集成到一块,让APACHE处理静态HTML,而TOMCAT处理JSP和SERVLET。TOMCAT是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。17POINTBASE简介POINTBASE是一个100纯用JAVA编写的小型数据库,因为其体积小(数据库服务器引擎仅1M),客户端文件加起来不到1M,因此经常可以用来作为项目演示,加上是纯用JAVA编写的,所以对平台支持性很强,推荐用于学习与项目演示,以下是POINTBASE的基本配置与学习我用的是POINTBASESERVER44主要文件仅三个PBSERVER44JAR,PBCLIENT44JAR,PBTOOLS44JAR。1)PBSERVER44JAR(仅1200K,当初我刚刚接触的时候确实有点惊讶)是数据库引擎文件,单独运行就可以作为数据库服务器,启动方法JAVACOMPOINTBASENETNETSERVER2)PBCLIENT44JAR提供了JDBC驱动与客户端的相关文件,PBTOOLS44JAR是客户端的设置与操作,若想运行窗口配置程序JAVACOMPOINTBASETOOLSTOOLSCONSOLE细节如下1)服务器端的设置1、设置环境变量CLASSPATH,把PBSERVER44JAR文件路径包括进去。2、设置数据库配置文件POINTBASEINI文件,主要设置了DATABASE数据库的存放路径(建立一个POINTBASEINI文件,加入如下内容DATABASEHOMEEPOINTBASEDATABASES3、启动服务器JAVACOMPOINTBASENETNETSERVER/PORT9092/D3/POINTBASEINI“EPOINTBASETOOLSPOINTBASEINI“说明PORT参数代表端口,D代表优先级,POINBASEINI文件代表是配置文件的路径,也可以自己编写一个脚本,把以上的内容都完成。详细帮助可以到官方网站查资料,或者运行JAVACOMPOINTBASENETNETSERVER/HELP查看参数用法2)客户应用段的配置1、环境变量的设置CLASSPATH,把PBCLIENT44JAR与PBTOOLS44JAR的路径添加进去。2、启动客户端JAVACOMPOINTBASETOOLSTOOLSCONSOLE(你也可以编写一个脚本,如WINDOWS下可以编写一个BAT文件,具体的写法可以去查资料,极其简单)3)一些重要的参数内容通用的JDBC驱动COMPOINTBASEJDBCJDBCUNIVERSALDRIVER(在包PBCLIENT44JAR里)URL数据库连接JDBCPOINTBASESERVER/数据库名字如JDBCPOINTBASESERVER/LOCALHOST9092/SAMPL18开发框架技术MVC对于框架技术,我们采用STRUTSJAVABEANHIBERNATE的整合,其实任何一种框架都可以完成我们的项目,但我们选择三种框架的组合是因为三种框架各有好处,我们利用它们的优点,来避免它们的缺点,充分利用JAVA技术在WEB的应用。STRUTS是应用比较广泛的一种表现层框架STRUTS是一个为开发基于模型MODEL视图VIEW控制器CONTROLLERMVC模式的应用架构的开源框架,是利用SERVLET,JSP和CUSTOMTAGLIBRARY构建WEB应用的一项非常有用的技术。由于STRUTS能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JAVABEANS从JSP/SERVLET中分离出来,而使用表现层框架则可以将JSP中剩余的JAVABEANS完全分离,这部分JAVABEANS主要负责显示相关信息,一般是通过标签库(TAGLIB)实现,不同框架有不同自己的标签库,STRUTS是应用比较广泛的一种表现层框架。2系统需求分析21功能需求图书馆是各大高等院校的重要组成部门,它不仅是书籍、文摘等一系列科学资料的保存场所,更重要的它是教师、学生获取知识的地方。由于图书馆主要储存大量的图书资料和流通工作,所以计算机很早就在图书管理中得到应用。随着时代的发展,诞生了新的管理系统网络图书管理系统,取代了原来的传统计算机管理系统,它采用了大型的数据库,不仅保证了数据的准确性,而且提供了从借阅、归还、续借,图书分类等一系列的管理方案。新一代的网络图书管理系统是图书馆管理最理想的工具。该图书馆管理系统,作为一种小型的系统,为图书管理员使用,可以直接对读者基本信息进行管理、对图书信息进行管理、对图书的借阅归还进行管理等。22硬件需求由于本次毕业设计采用的B/S模式,该图书管理系统只需要通过浏览器来访问,要求就是需要需要一台电脑作为服务器、数据库,这些软件通过网上下载可以得到,然后安装好就行了,所以对硬件的要求不高。推荐配置硬件需求PIII/256M/10G及以上配置,要求为图书馆管理系统分配足够的数据库磁盘空间推荐配置PIV2G/512M/40G操作系统需求WINDOWS2000及以上操作系统推荐,也可以使用SUNSOLARIS等LINUX操作系统数据库软件需求POINTBASE数据库,也可以使ORACLE8I/ORACLE9I数据库中间件软件需求TOMCATMYECLIPSE60系列服务器23可行性研究可行性研究分为技术可行性研究、操作可行性研究、经济可行性研究,而本设计用于毕业设计,暂不考虑经济可行性。231技术可行性图书馆管理系统,可以基于各种平台,采用JAVA语言,数据量小,只需采用小型数据库POINTBASE。实现过程中可以用HIBERNATE等连接数据库,并可以使用SQL语句进行查询、插入、删除、更新等操作,功能实现不复杂。已经学习过数据库、软件工程等相关课程,而语言基本思想大致是一样的,JAVA掌握起来应该没有问题。再者,网上信息特别丰富,可以上网查找有关资料,在技术方面有指导老师可以进行指导,还可以上网查询相关资料。英博图书馆管理系统实现的理论及技术已经日趋成熟。因此,在技术方面实现本系统是不存在问题的。232操作可行性本图书馆管理系统的开发环境为LINUX,开发语言为JAVA,后台数据库用PINTBASE来实现,由于JAVA语言的多平台性,可以应用到各种操作系统如WINDOWS、LINUX系统,并且只通过浏览器来访问,普通读者和管理员只需了解一些基本操作就可以很好地使用本系统。因此,在操作的可行性上不存在任何问题。24结论由功能实现简单、硬件的要求不高、技术可行性、操作可行性的研究,可以得出结论,英博图书馆管理系统的开发是完全可行的3总体设计31系统分析所谓系统分析,就是指在整个系统开发工程中,解决“做什么“的问题,把要解决哪些问题,满足用户哪些具体的信息需求调查分析清楚,从逻辑上或说从信息处理的功能需求上提出系统的方案,即逻辑模型,为下一阶段进行物理方案设计,解决怎么办提供依据。它是信息开发系统中的一个重要阶段,是建立系统模型的第一步。其核心是目标分析与需求分析,最后提出系统的逻辑方案。311系统目标分析建立图书馆管理系统的目的,就是用以计算机为主的现代化设备完成图书馆工作中各种信息的输入、存储、加工、传递和使用,进行一般图书馆业务的管理,从而提高图书馆工作效率。312系统面向的对象主要是面向一般读者和管理员。313组织结构分析组织在这里是指一个单位或部门。我们到任何一个组织中去调查研究,首先接触到的具体情况是系统的组织结构。组织结构是指组织内部的部门划分以及它们的相互关系。现行系统中信息的流动关系是以组织结构为背景的。在一个组织中,各部门之间存在着各种314业务流程分析开发和建立管理信息系统的根本目的在于提高管理水平。再对系统组织结构进行分析时,需要一个实际业务流程的角度将系统调查中有关业务流程的资料都穿起来作进一步的分析。经调查,每个图书馆都有以下业务图书编目、图书流通、公共检索、系统管理等。不过我们此次做的系统只是一个普通图书馆的简化版,业务流程相对比较简单,具体描述见后面的模块详细设计以下是业务的流程1首先用户先来到登陆界面,它要求用户输入它的用户名和密码才能登陆系统。2如果用户未注册,可以点击注册用户进行注册,注册页面会要求用户填写一些必要的信息,完成注册则可以返回登陆页面进行登陆。3用户登陆后,则来到系统首页,系统首页上面会列出一系列书的信息,以供读者选择,如果读者选定某本书可以点击书名查询详细信息,也可以直接点击借阅按钮进行借阅。4系统页面上列出了一系列的功能模块,如果该用户是管理员,可以使用读者管理工能对读者进行管理,该功能可以查看读者的列表,可以修改读者的信息,可以对读者进行删除、增加。5如果是普通读者,可以使用图书借阅、图书归还这两个功能,在图书借阅功能下,读者可以对图书的借阅定单进行增、删、改、查,确认后借阅;图书归还功能可以查看读者已借阅的图书是否到期,并对图书进行归还操作。6最后,用户想要退出系统,可以点击退出按钮安全退出系统。以下是业务流程图读者读者管理用户注册图书借阅图书归还退出首页登陆32系统结构设计系统结构设计,采用了结构化系统设计方法。结构化设计方法的基本思想是以系统的逻辑功能设计和数据流关系为基础,根据数据流程图,借助一套标准的设计准则和图表工具,通过“自上而下“和“自下而上“的反复以下是本图书馆管理系统的功能结构图英博图书馆管理系统用户注册用户登陆首页读者管理图书借阅图书归还退出各模块功能设计1用户注册1提供在系统中注册用户功能2用户登陆1提供未注册用户登陆向导2提供已注册用户登陆向导3对用户信息进行校验3首页1显示当前所有图书2提供查看图书详细信息的向导3提供进入图书借阅模块的向导4图书详细信息查询模块1显示当前用户所点图书的详细信息2提供进入图书借阅模块的向导5图书借阅模块1提供修改用户借阅图书数量的功能2提供取消当前借阅订单项的功能3保存用户每一个借阅订单项借阅图书的数量4生成用户借阅订单的功能5提供让用户继续选书的功能6提供清空用户借阅订单所有内容的功能6图书归还1提供将图书状态由借阅状态变为归还状态的功能33数据流程分析数据流程是系统中的信息处理的方法和过程的统一。由于老的系统中的数据处理是建立在手工处理或陈旧的信息处理手段的基础上的,我们有理由相信,新的信息技术条件将为数据处理提供较为有效的处理方法。因此,与业务流程的改进优化相对应,数据流程的以下是本系统的数据流程图系统顶层图管理员图书馆管理系统读者管理事务管理事务回应修改及查询信息修改及查询信息回应系统一层图管理员表注册信息系统管理联系信息表读者表读者管理管理员读者读者信息修改信息借阅管理系统查询借阅订单表借阅订单项表状态订单表图书信息表图书归还信息图书信息系统二层图联系信息表注册登陆退出读者表管理员表管理员读者系统管理细化管理员查看所有读者读者修改信息联系信息表读者表读者管理细化34数据模型分析341英博图书馆管理系统总ER图1每一个读者对应有一条记录有该读者的信息,读者与联系信息应该是一对一的关系。2读者与借阅定单对应的关系是一对多关系,读者是一,借阅定单是多。3借阅定单与图书状态对应的关系是多对一关系,借阅定单是多,图书状态是一。4借阅定单与借阅订单项对应的关系是一对多关系,借阅定单是一,借阅定单项是多。5借阅订单项与图书对应的关系是多对一关系,借阅订单项是多,图书是一。对对应读者借阅订单借阅订单项1图书联系信息对应1图书状态有1NN1对应N11N342系统类图343系统用例图344读者实体ER图345联系信息实体ER图346图书实体ER图图书图书ID图书名基本价格图书简介作者出版社页码所属借阅订单项图书图片读者用户名密码联系信息借阅订单联系信息联系信息ID所属读者联系地址1联系地址2邮编邮箱家庭电话手机办公室电话SERVICELOCATOR表示层STRUTSSTRUTSACTION,ACTIONFORM,JSP,STRUTSCONFIGXML,ETCDAOCLASSES业务层347借阅订单状态实体348借阅订单实体349借阅订单项实体借阅订单状态图书状态状态ID状态名状态简介对应借阅订单借阅订单订单号所属读者借阅订单状态借阅订单名价格包含的借阅订单项借阅订单项借阅订单项号包含的书所属借阅订单借阅数量35数据字典数据流程图说明了系统内数据的处理,但未对其中数据的明确含义、结构和组成作具体的说明。因此,仅有数据流程图还不能完整地表达系统的全部逻辑属性。数据字典就是用来描述数据流程图内数据的这些逻辑性质的。以下是本系统中各个模块的数据字典的部分条目351数据项1名称用户名简述给每一个读者的一个唯一的身份认证类型字符型2名称图书状态简述标注当前图书是处于借阅状态还是已归还状态类型字符型3名称图书号简述每个图书对象在数据库中的唯一标识352数据存储(1)名称联系信息简述保存每个读者的联系信息组成联系信息标识号、联系地址1、联系地址2、邮编、邮箱、家庭电话、手机、办公室电话、所属读者组织方式由联系信息标识号进行索引(2)名称借阅订单简述保存每位读者一次所借的所有书组成借阅订单号、读者、借阅款、这些书目前的状态、此次借书对应的所有借书订单项、借阅订单名字组织方式由借阅订单号索引353数据流由于数据流与数据项及数据存储内容基本重复,故此部分略36输入输出设计输出设计的目的是使系统能输出满足用户需求的有用信息。对于大多数用户来说,输出是系统开发的目的和评价系统开发成功的标准。因此,输出设计的出发点是保证系统输出的信息能够方便地为用户所使用,能够为用户的管理活动提供有效的信息服务。各模块的输入输出设计1用户注册输入用户名、密码、联系地址1、联系地址2、邮编、邮箱、家庭电话、手机、办公室电话输出转到用户登陆界面2用户登陆输入用户名、密码输出核对成功则转到首页否则转到登陆界面并输出错误信息3图书借阅模块1确认借阅输入图书序号、图书名称、作者、出版社、借阅数量输出读者借阅订单2继续选书输出转到首页继续选书3清空输出清空所有的借阅订单项4取消输出取消当前这一个借阅订单项5保存修改输出保存当前借阅订单项中书的数量4图书归还输入图书序号、图书名称、作者、出版社输出将图书状态由借阅状态改为归还状态5读者管理1用户一览输出显示当前所有用户2修改信息输入用户以及联系信息输出更新数据库中用户的信息6退出输出转到用户登陆界面37数据库逻辑设计逻辑结构设计的任务是把概念结构设计阶段设计好的基本ER图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑模型。本系统数据库设计用的是关系数据库,将概念模型转换为关系模型。表联系信息表CONTACTINFOCONTACTID,USERID,STREET1,STREET2,ZIP,EMAIL,HOMEPHONE,CELLPHONE,OFFICEPHONECONTACTINFO列名类型长度描述CONTACTIDINT20联系信息IDUSERIDVARCHAR16读者IDSTREET1VARCHAR64联系地址1STREET2VARCHAR64联系地址2ZIPVARCHAR8邮编EMAILVARCHAR32EMAILHOMEPHONEVARCHAR16家庭电话CELLPHONEVARCHAR16手机OFFICEPHONEVARCHAR16办公电话借阅订单项表ORDERLINELINEID,ORDERID,PRODUCTID,AMOUNTORDERLINE列名类型长度描述LINEIDINT20借阅定单项IDORDERIDINT20借阅定单IDPRODUCTIDINT16图书产品AMOUNTINT20数量借阅订单表ORDERSORDERID,NAME,COST,USERID,STATUSID,ORDERS列名类型长度描述ORDERIDINT20借阅定单项IDNAMEVARCHAR32定单名USERIDVARCHAR16读者IDSTATUSIDINT3借阅订单状态ID借阅订单状态表ORDERSTATUSSTATUSID,NAME,DESCRIPTIONORDERSTATUS列名类型长度描述STATUSIDINT3借阅定单状态IDNAMEVARCHAR32状态名DESCRIPTIONVARCHAR64状态说明图书产品表PRODUCTPRODUCTID,NAME,DESCRIPTION,BASEPRICE,AUTHOR,PUBLISH,PAGES,IMAGESPRODUCT列名类型长度描述PRODUCTIDINT16图书产品IDNAMEVARCHAR64图书名DESCRIPTIONVARCHAR4000图书说明BASEPRICEINT12图书价格AUTHORVARCHAR128作者PUBLISHVARCHAR256出版社PAGESINT6页数IMAGESVARCHAR128图片路径读者表USERSUSERID,PASSWORDUSERS列名类型长度描述USERIDVARCHAR16借阅定单状态IDPASSWORDVARCHAR12状态名数据库中的数据存储,应充分考虑到数据之间的相互联系,进行合理的存储,从而使数据在数据库管理系统的支持下得到综合利用。图书馆管理信息系统中,数据库的建立是至关重要的。数据集中在一个数据库中,可以达到各种应用之间的高度独立,避免重复、冗余,减少存储空间4详细设计系统设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计是软件开发实施阶段,其任务就是把解法具体化,也就是回答下面这个关键的问题“应该怎样具体地实现这个系统呢”,通过详细设计应该得出对目标系统的精确描述,给出各个模块的详细过程性描述。从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。由于本次毕业设计是由我和刘峰同学合作完成,我所做的模块是用户登陆、用户注册、读者管理和管理员管理模块。41用户登陆模块系统登录是进入图书馆管理系统的入口。该登陆模块分为两种登录方式,一个为管理员登陆,另一个为普通用户登陆,用户登陆必须输入用户名和密码。管理员登陆需要选择登陆身份为管理员,登陆后系统会跳转到管理员界面,界面上会有与管理员对应的功能(如对读者的管理),普通用户即读者登陆后系统会跳转到读者界面,该界面对应有读者的功能(如节约查询、图书归还)。例在用户名文本框中输入“ZHOUZHOU”,密码为“ZHOUZHOU”该身份为管理员。单击“确定”即可进入图书馆管理系统。如果未注册用户,必须注册才能登陆,点击注册按钮可以跳转到注册页面进行注册,具体过程请见42注册模块。系统登录界面如图42用户注册模块该模块向未注册用户提供注册功能,点击用户登录界面的“没有注册”即可进入用户注册界面,该注册界面会提供一些填写框让用户填写,每一个填写框所填写的内容系统都会对其作说明。注册界面会有一些必填信息要求用户进行填写(填写框傍边加“”号的表示必填),以下列出了一些要填写的信息用户名注册用户名长度限制为016字符)必填密码至少6位,至多8位,区分大小写,不要使用类似、或HTML字符)必填密码至少6位,至多8位,请再输一遍确认必填联系地址1联系地址2邮编家庭电话办公室电话手机EMAIL地址请输入有效的邮件地址,如ZHOUZHOUSOHUCOM用户注册界面如图填写完成后点击注册按钮即可注册成功,界面会跳转到用户登陆界面,输入刚才注册的用户名和密码进入系统。43读者管理模块该模块对读者进行管理,该功能只有管理员可以使用,进入读者管理模块,管理员可以查看用户列表,该列表列出了所有已注册用户的信息,管理员可以查找到某一个读者并对其信息进行修改,或者删除该用户。普通用户则没有读者管理这一功能,但是如果想修改个人信息可以使用修改信息这一功能,读者可以修改用户密码、联系地址、联系电话等,但不能修改用户名。读者管理模块实现了对读者的管理,使管理员很方便地对读者进行增、删、改、查,提高了图书馆管理的效率,这也是该图书馆管理系统要求的功能,它的特点是简洁、明确、方便。读者管理模块界面如图44模块的实现我所设计的这几个模块用到了读者表USERS、联系信息表CONTACTINFO441建表语句读者表USERSCREATETABLEUSERSUSERIDVARCHAR16,PASSWORDVARCHAR12CONSTRAINTUSERS_PASSWORD_NNNOTNULL,CONSTRAINTUSERS_USERID_PKPRIMARYKEYUSERID联系信息表CONTACTINFOCREATETABLECONTACTINFOCONTACTIDINT20AUTO_INCREMENTPRIMARYKEY,USERIDVARCHAR16,STREET1VARCHAR64DEFAULTNULL,STREET2VARCHAR64DEFAULTNULL,CITYVARCHAR32DEFAULTNULL,PROVINCEIDINT10,COUNTRYIDINT10,ZIPVARCHAR8DEFAULTNULL,EMAILVARCHAR32DEFAULTNULL,HOMEPHONEVARCHAR16DEFAULTNULL,CELLPHONEVARCHAR16DEFAULTNULL,OFFICEPHONEVARCHAR16DEFAULTNULL442代码的实现这里实现如下1首先建好POJO类,这是一个基本类,它定义的属性对应表中的字段。2然后写好对POJO类的数据持久化层的接口以及实现类,接口里有一些方法可以对数据进行增、删、查、改,它的实现类就是对接口里的方法进行具体代码的实现。然后写好业务的接口以及实现类,业务的接口以及实现类与数据持久化层的接口和实现类相似,业务接口里面的方法会调用持久层接口里的方法对数据进行操作,而它的实现类也是对接口里的方法进行具体代码的实现。4最后写好一个控制器,负责建立与用户交流的表现层和对数据操作的业务层的联系,这里用到了STRUTS里面的MAPPINGDISPATCHACTION控制器,我所定义的类为MAPPINGUSERACTION继承与MAPPINGDISPATCHACTION。代码如下PACKAGECNCOMTARENAECPORTACTIONIMPORTJAVAUTILITERATORIMPORTJAVAUTILLISTIMPORTJAVAXSERVLETHTTPHTTPSERVLETREQUESTIMPORTJAVAXSERVLETHTTPHTTPSERVLETRESPONSEIMPORTJAVAXSERVLETHTTPHTTPSESSIONIMPORTORGAPACHESTRUTSACTIONACTIONFORMIMPORTORGAPACHESTRUTSACTIONACTIONFORWARDIMPORTORGAPACHESTRUTSACTIONACTIONMAPPINGIMPORTORGAPACHESTRUTSACTIONSMAPPINGDISPATCHACTIONIMPORTCNCOMTARENAECPORTBIZIUSERBUSINESSIMPORTCNCOMTARENAECPORTBIZFACTORYBUSINESSFACTORYIMPORTCNCOMTARENAECPORTBIZIMPLUSERBUSINESSIMPLIMPORTCNCOMTARENAECPORTPOJOCONTACTINFOIMPORTCNCOMTARENAECPORTPOJOUSERPUBLICCLASSMAPPINGUSERACTIONEXTENDSMAPPINGDISPATCHACTION/这是注册用户时调用的方法(SAVEUSER方法)会根据用户在系统页面输入的信息,然后点击提交按钮,这时服务器会调用一个SERVLET把数据转发给MAPPINGUSERACTION类,而这各类会调用SAVEUSER方法把数据封装成一个对象,再通过调用业务层的方法把这个对象保存到数据库中,然后根据调用业务方法的返回结果做出相应的反应,告诉服务器应该跳转到那个页面,最后服务器作出响应,这时用户会看到相应的页面跳转。PUBLICACTIONFORWARDSAVEUSERACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONSYSTEMOUTPRINTLN“进来“USERUSERNEWUSERCONTACTINFOCINEWCONTACTINFOUSERBUSINESSIMPLUBLUSERBUSINESSIMPLBUSINESSFACTORYGETBUSINESSIUSERBUSINESSCLASSGETNAMEUSERSETUSERIDREQUESTGETPARAMETER“USERID“USERSETPASSWORDREQUESTGETPARAMETER“PASSWORD“CISETSTREET1REQUESTGETPARAMETER“STREET1“CISETSTREET2REQUESTGETPARAMETER“STREET2“CISETZIPREQUESTGETPARAMETER“ZIP“CISETHOMEPHONEREQUESTGETPARAMETER“HOMEPHONE“CISETOFFICEPHONEREQUESTGETPARAMETER“OFFICEPHONE“CISETCELLPHONEREQUESTGETPARAMETER“CELLPHONE“CISETEMAILREQUESTGETPARAMETER“EMAIL“USERSETCONTACTINFOCICISETUSERSUSERUBLSAVEUSERRETURNMAPPINGFINDFORWARD“SAVEUSER“/这是用户登录时用到的方法(LOGIN方法),用户登录时输入用户名和密码,然后提交过程与上面的过程一样,首先该方法会根据从数据库中返回的数据进行对比,如果用户存在而且密码正确,该方法就会告诉服务器可以登陆,并跳转到登陆后的页面,否则会给出相应的错误提示(如用户名或密码错误)。PUBLICACTIONFORWARDLOGINACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONHTTPSESSIONSESSIONREQUESTGETSESSIONTRUEUSERBUSINESSIMPLUBLUSERBUSINESSIMPLBUSINESSFACTORYGETBUSINESSIUSERBUSINESSCLASSGETNAMELISTUSERLISTUBLFINDALLUSERSSTRINGNAMEREQUESTGETPARAMETER“NAME“STRINGPASSWORDREQUESTGETPARAMETER“PWD“ITERATORITUSERLISTITERATORWHILEITHASNEXTUSERUSERUSERITNEXTIFUSERGETUSERIDEQUALSNAMERETURNMAPPINGFINDFORWARD“LOGIN“SESSIONSETATTRIBUTE“ERROR“,“用户名或密码输入错误“RETURNMAPPINGFINDFORWARD“DOLOGIN“/这是用户修改信息是调用的方法(MODIFYUSER)方法,用在修改页面修改完个人信息后,点击提交,该方法会重新把这些信息包装,然后发送到数据库中并对其进行更新。PUBLICACTIONFORWARDMODIFYUSERACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSEXCEPTIONHTTPSESSIONSESSIONREQUESTGETSESSIONFALSEUSERBUSINESSIMPLUBLUSERBUSINESSIMPLBUSINESSFACTORYGETBUSINESSIUSERBUSINESSCLASSGETNAMEUSERUSERUSERSESSIONGETATTRIBUTE“USER“CONTACTINFOCIUSERGETCONTACTINFOUSERSETUSERIDREQUESTGETPARAMETER“USERID“USERSETPASSWORDRE

温馨提示

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

评论

0/150

提交评论