毕业设计(论文)-基于轻量级j2ee的图书管理系统的设计与实现_第1页
毕业设计(论文)-基于轻量级j2ee的图书管理系统的设计与实现_第2页
毕业设计(论文)-基于轻量级j2ee的图书管理系统的设计与实现_第3页
毕业设计(论文)-基于轻量级j2ee的图书管理系统的设计与实现_第4页
毕业设计(论文)-基于轻量级j2ee的图书管理系统的设计与实现_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

兰州工业高等专科学校毕业设计(论文)题目基于轻量级J2EE的图书管理系统的设计与实现系别电子信息工程系专业计算机应用技术班级计应07班姓名学号指导教师(职称)日期20100308兰州工业高等专科学校毕业设计(论文)任务书电子信息工程系10届计算机应用技术专业毕业设计(论文)任务书毕业设计(论文)题目基于轻量级J2EE的图书管理系统的设计与实现校内(外)指导教师职称工作单位及部门联系方式贾桂霞讲师计算机应用技术教研、题目说明(目的和意义)随着时代的发展,在现代大学图书管理中,如何方便快捷地为读者提供服务,提高图书的利用率等问题变得越来越突出。借助网络,为图书馆建立一个信息管理系统,给图书管理和读者提供一个电子平台,将大大提高学校图书馆的管理水平和现代化程度。本次设计项目基于轻量级的J2EE架构,开发一个小型图书管理系统,其中使用C/S模式建立桌面应用程序客户端实现图书的借阅和信息管理服务,使用B/S模式建立WEB客户端实现读者查询服务。在设计与实现过程中将涉及JAVABEAN、JSP和SERVLET等组件技术的使用技巧和常用的WEB服务器(TOMCAT)的使用和配置。通过本次设计,要求学生学会使用J2EE的组件技术搭建一个轻量级J2EE架构的MIS,使学生初步得到软件工程的训练,全面培养软件开发过程中需求分析、概要设计、详细设计、数据库设计及文档规范书写的能力。二、设计要求【设计内容】该系统主要分为借书管理服务、信息管理服务和读者查询三大功能模块借阅管理,主要包括借书和还书功能。信息维护,包括维护借阅证、读者规则信息和维护书刊信息、维护物理书刊信息。读者查询,包括图书信息查询及借阅信息查询。【设计环境】硬件微机软件JDK、SQLSERVER2000/MYSQL、TOMCAT、RATIONALROSE2003、NETBEANS60【设计要求】(1)要求学生能够熟练使用某一种数据库管理系统;具有一定的JAVA程序编写经验;具有网页设计的基本知识,了解HTML的常用标记,最好能熟练使用DREAMWEAVER等网页设计可视化工具;对JAVAEE的组件知识有一定的了解。(2)使用RATIONALROSE对系统进行UML建模(包括需求分析、系统的用例分析、域模型分析)。(3系统采用J2EE架构B/S模式JSPSQLSERVER2000;C/S模式DESKAPPSQLSERVER2000。(4)论文书写规范、文字通顺、图表清晰、测试数据完整、结论明确。【设计步骤】1需求分析;2系统功能模块设计;3数据库的分析与设计;4模块详细设计;5系统的整合实现;【注意事项】1毕业设计的时间安排根据时间表,最后一周,检查程序、交毕业设计论文;毕业设计论文要求有封面(封面上写明班级、姓名、指导教师、时间等),并装订成册。2指导老师打分方案毕业设计成绩考勤30论文40系统303每周考勤一次,有特殊情况需向指导教师或班主任老师请假。三、进度表日期内容第15周第16周第17周第1819周第20周开学通过在学校图书馆的实际调研,并搜集参考资料,制订设计计划,进行需求分析。系统功能设计,提出系统总体设计方案。提出系统详细设计方案。配置软件、硬件开发环境;编码及测试。对毕业设计进行总结,认真阅读毕业设计(论文)的书写要求,撰写毕业论文。将毕业论文以书面与电子文档两种形式,提交指导教师批阅。进一步完善毕业论文,提交终稿、交叉评阅、答辩。完成日期第20周(2010年1月)答辩日期第12周(下学期)四、主要参考文献、资料、设备和实习地点及翻译工作量(一)参考文献1王养廷,李磊等UML基础与应用清华大学出版社2萨师煊,王珊数据库系统概论高等教育出版社4完全掌握SQLSERVER2000美机械工业出版社或类似的相关书籍5耿祥义编著JSP实用教程清华大学出版社,200826JSPORACLE数据库组建动态网站经典实例赵光等编著电子工业出版社7刘斌等编著NETBEANS权威指南电子工业出版社,20085(二)实习地点信息技术实验室,和学生自己考察的外部地点。(三)翻译工作量对论文摘要进行英文翻译。要求英文摘要250单词以内,关键词58个词。注本任务书要求一式四份,一份系部留存,一份报教务处实践教学科,学生每人一份,指导教师一份摘要本次毕业设计开发的图书管理系统是一个WEB应用系统,其开发主要包括后台数据库的建立和维护以及前台WEB页面的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备、易用等的特点。该系统的设计基于B/S结构,用TOMCAT作为WEB服务器,页面的设计使用JSP动态网页编程技术,数据库采用MYSQL开源数据库,用纯JAVA驱动程序实现数据库连接。本系统实现的主要功能模块有借阅管理模块,主要实现借书和还书功能;信息维护模块,包括维护借阅证、读者规则信息和维护书刊信息、维护物理书刊信息;读者查询模块,包括图书信息查询及借阅信息查询。关键词JSP技术MYSQLWEB技术ABSTRACTTHEDESIGNANDDEVELOPMENTOFTHEGRADUATELIBRARYMANAGEMENTSYSTEMISAWEBAPPLICATIONSYSTEMS,THEIRDEVELOPMENTINCLUDETHEESTABLISHMENTANDMAINTENANCEOFBACKENDDATABASEASWELLASTHEFRONTTWOASPECTSOFTHEDEVELOPMENTOFWEBPAGESFORTHEFORMERREQUIRESTHEESTABLISHMENTOFDATACONSISTENCYANDINTEGRITY,THELATTERREQUIRESACOMPLETEAPPLICATIONFUNCTIONALITY,EASEOFUSEANDOTHERCHARACTERISTICSTHESYSTEMSDESIGNISBASEDONB/SSTRUCTURE,USINGTOMCATASAWEBSERVER,ANDPAGESDESIGNEDFORUSEJSPDYNAMICWEBPAGEPROGRAMMING,DATABASES,USINGOPENSOURCEMYSQLDATABASE,USINGPUREJAVADRIVERTOIMPLEMENTDATABASECONNECTIONTHEMAINFUNCTIONOFTHISSYSTEMIMPLEMENTATIONMANAGEMENTMODULEMODULEHASTOBORROW,MAINLYTOACHIEVELIBRARYANDBOOKFUNCTIONINFORMATIONMAINTENANCEMODULE,INCLUDINGTHEMAINTENANCEOFLIBRARYCARD,READERSINFORMATIONANDMAINTENANCEOFBOOKSANDINFORMATIONONTHERULES,MAINTAININGTHEPHYSICALBOOKSANDINFORMATIONREADERSQUERYMODULE,INCLUDINGTHEBOOKINFORMATIONINQUIRIESANDLOANINFORMATIONQUERYKEYWORDSJSPTECHNOLOGYMYSQLWEBTECHNOLOGY目录1概述111图书馆管理系统概述112相关技术简介1121JSP技术1122SERVLET2123TOMCAT3124MYSQL313软硬件环境4131开发环境4132运行环境42需求分析521系统功能分析522用例建模623动态行为建模8231建立用例“维护用户信息”活动图8232建立用例“维护图书信息”活动图9233建立用例“登录”顺序图9234建立用例“添加图书”顺序图10235建立用例“删除书种”顺序图11236建立用例“借书”顺序图11237建立用例“还书”顺序图12238建立用例“续借”顺序图1324ER图143总体设计1631运行模式的选择16311图书管理系统的架构16312开发环境配置1632系统功能模块设计1733WEB服务器端1834数据库设计1835类图214详细设计2541重要模块设计25411图书管理模块25412读者管理模块3042系统界面设计335系统测试35结束语37致谢38参考文献39附录主要模块代码40前台页面主要代码40服务器端主要代码471概述11图书馆管理系统概述随着社会的发展,人们生活水平的不断提高,物质文化的发展已经远远满足不了人们的需求,精神文明有了飞速的发展,因此图书事业的发展就成为精神文明进步的一个动力。在知识经济时代到来的今天,用计算机控制图书馆的工作由自动化系统运行而完成,这不仅节省了人力,还提高了工作效率和服务质量,而且还加速了图书的流通。由于高等院校的规模不断扩大,高校图书馆的藏书、管理人员、读者的数量也越来越多,图书管理涉及到大量的数据处理,传统的人工处理已经不能完成庞大的数据处理,因为图书的情况是随时改变的,因此必需对图书进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储、查询、借阅是必不可少的业务。因此,为方便对图书馆书籍、读者资料、借还书等进行高效的管理,提高业务流程效率,让管理员从繁重的工作中解脱出来,使管理员在使用一个软件以后能极其容易地对所有图书进行管理,并且准确无误,轻松自如,因此开发一个图书馆管理系统软件是当务之急,也是本论文选题的重要意义和研究宗旨。总之,建立图书馆的计算机自动化管理系统可以大大提高图书馆图书流通率。12相关技术简介121JSP技术JSP是JAVASERVERPAGES的缩写,是由SUN公司倡导、许多公司参与,于1999年推出的一种动态网页技术标准。它是J2EE开发技术的一个分支,基于JAVASERVLET以及整个JAVA体系的WEB开发技术,利用这一技术可以建立安全、跨平台的先进动态网站。JSP技术有下列优点(1)“一次编写,各处执行“特性;(2)搭配可重复使用的组件;(3)采用标签化页面开发;(4)JSP的效率和安全性更高;(5)JSP的适应平台更广。JSP运行原理如果服务器上的JSP页面被第一次请求,则服务器上的JSP引擎先将该页面转译成JAVA文件,再编译成JAVA字节码文件,最后通过执行字节码文件来响应客户的请求;而当此JSP页面再次被请求时,服务器则直接执行此页面的字节码来响应客户的请求。这些字节码的作用是让服务器执行JSP的标签和脚本,并将结果连同HTML标签一起发送给客户的浏览器显示。JSP页面的首次执行往往由服务器管理者来完成。而当有多个用户同时请求同一个页面时,JSP引擎则为每个用户启动一个线程。图11运行原理流程图122SERVLETSERVLET是服务器语言,它的优点是自动开启多个线程接受多个用户的访问。SERVLET的生命周期从INIT()方法开始,SERVLET一旦创建,它便会保存在服务器中,除了第一个用户应用INIT方法之外,其他用户都不需要激活该方法。当服务器关闭该SERVLET的应用或者服务器关闭时,SERVLET生命便结束,SERVLET生命结束之前会激活方法DESTROY。SERVLET这一特性与全局EJB十分相似,我们可以使用SERVLET这一特性建立数据库连接的缓冲池。客户程序可以决定使用DOGET或者DOPOST方法向服务器传递数据,客户端通过FORM标识的METHOD参数定义GET或者POST方法。DOGET方法是默认的方法,但是该方法传递的数据量不能太大;如果要传输大量数据,需使用DOPOST。SERVLET的SERVICE方法可以接受GET、POST或者其他方法传入服务器的数据。如果不能确认用户使用哪种方法向服务器传入数据,可以使用SERVICE方法接受不同类型方法传入的参数。SERVLET使用GETPARAMETER取得用户变量。123TOMCATTOMCAT是一个免费的开源的SERVLET容器,它是APACHE基金会的一个核心项目,由APACHE、SUN和其他一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总能在TOMCAT中得到体现。TOMCAT被JAVAWORLD杂志的编辑选为2001年度最具创新的JAVA产品,可见其在业界的地位。由于JAVA的跨平台特性,基于JAVA的TOMCAT也具有跨平台性。很多中小应用不需要采用EJB等技术,JSP和SERVLET已经足够,这时如果用应用服务器就有些浪费了。而TOMCAT短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择TOMCAT。TOMCAT也可以与其他一些软件集成起来实现更多的功能。现举例如下与JBOSS集成起来开发EJB;与COCOON(APACHE的另外一个项目)集成起来开发基于XML的应用;与OPENJMS集成起来开发JMS应用。除了以上提到的这几种,可以与TOMCAT集成的软件还有很多。TOMCAT确实是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越受到人们的重视,LINUX就是一个成功的典型。人们不再只限于使用软件,而且已经关心起软件的具体实现,我们有理由相信TOMCAT会走得更远。124MYSQLMYSQL是一种开放源代码的关系型数据库管理系统(RDBMS),MYSQL数据库系统使用最常用的数据库管理语言结构化查询语言(SQL)进行数据库管理。由于MYSQL是开放源代码的,因此任何人都可以在GENERALPUBLICLICENSE的许可下下载并根据个性化的需要对其进行修改。MYSQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MYSQL是管理内容最好的选择。MYSQL关系型数据库于1998年1月发行第一个版本。它使用系统核心提供的多线程机制提供完全的多线程运行模式,提供了面向C、C、EIFFEL、JAVA、PERL、PHP、PYTHON以及TCL等编程语言的编程接口(APIS),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。MYSQL开发组计划于2001年中期公布MYSQL40版本。在这个版本中将有以下新的特性被提供新的表定义文件格式、高性能的数据复制功能、更加强大的全文搜索功能。在此之后,MYSQL开发着希望提供安全的数据复制机制、在BEOS操作系统上的MYSQL实现以及对延时关键字的定期刷新选项。随着时间的推进,MYSQL将对ANSI92/ANSI99标准完全兼容。13软硬件环境131开发环境硬件环境普通的PC机(CPU奔腾4;主频245GHZ;硬盘80G)操作系统WINDOWSXP软件环境JDK、MYSQL、TOMCAT、RATIONALROSE2003、NETBEANS60网页三剑客132运行环境硬件环境普通的PC机(486以上的计算机就行)操作系统兼容当前主流操作系统WINDOWS2000/XP/VISTA/LINUX等2需求分析所谓“需求分析“,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”。在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。21系统功能分析本系统定位于学校的中小型图书馆,暂时考虑单机环境下的实现操作。系统选择目前常用的WINDOWSXP/2000。系统开发的总体目的是在图书馆信息管理中实现管理的系统化、自动化、减少工作量,增加效率及可靠性。本图书管理系统的主要功能有(1)图书权限的管理包括系统登录,密码修改,管理员添加等;(2)图书类别的管理即图书类别的添加、修改、查询。包括图书类别的编号、名称等;(3)入库图书的管理即新进图书的登记,馆藏图书的修改、删除、查询和报损。包括图书的编号(条码号)、ISBN号、索书号、原名、原作、译者、图书类别、语种、出版社等;(4)读者信息的管理即读者信息的添加、修改、删除、查询和报损。包括读者编号、类型、性别、身份证号、工作单位、办证日期等;(5)读者借阅图书信息的管理即信息(包括被借图书及借阅者信息)的添加、修改、删除、查询。包括借书者编号、姓名、类别,所借书编号、名称、原名、作者、书籍类别、出版社、借出日期、应还日期等;(6)还书信息的管理即信息(包括图书信息及还书者信息)的添加、修改、删除、查询。包括还书者编号、姓名、所还书编号、名称、原名、作者、书籍类别、出版社、借出日期、应还日期、实还日期等。22用例建模UMLUNIFIEDMODELINGLANGUAGE是一个开放的,可扩展的工业标准的可视化建模语言,提供了用来组织分析设计过程,客户、程序员的手段。用例图是UML的重要组成部分,主要用来描述用户的需求,强调谁在使用系统,系统可以完成哪些功能。一个用例是一个系统的行为和系统的部分行为,是对一组动作序列的描述,通过执行该动作序列,系统为参与者提供可观察的结果。用例所侧重的是系统具有什么样的功能,或者系统能做什么,并不是用例或用例图要说明的内容。本图书管理系统用例中有一类参与者用户,分别是读者、系统管理员和图书管理员;两类用例一类是登录模块,另一类是其他操作分别是系统设置、读者管理、图书管理、图书借还、系统查询、更改口令。整个查询过程通过用户(学生、教师、系统管理员、图书管理员)登录系统访问数据库进行各自的查询或维护等工作。系统用例图如下图所示图21图书管理系统用例图业业业业业业业业图22图书管理系统顶层用例图图23读者用例图业业业业业业业业业业图24系统管理员用例图事件流分析事件流描述了一个用例在执行时参与者与系统之间的交互过程,这个过程包含多个分支,即执行者在执行这个过程时可以有多个路线,其中预期会成功的路线被称为基本流,剩下的其他路线被称为备选流。A用户登录的事件流分析基本流A1用户运用网络资源使用系统,用例开始;A2用户输入用户名和密码,进行登录;A3系统验证输入的用户名和密码是否正确,如果正确登录到本系统,如果错误则执行替换流B2。备选流B2如果输入的用户名和密码错误会提示用户重新登录,返回基本事件流第二步。B用户借书/还书/续借的事件流分析基本流当读者从图书馆借还或续借时,用例开始,如果“图书管理员”选择“借书”,则执行分支流A1,借阅图书;如果“图书管理员”选择“还书”,则执行分支流A2,归还图书;如果“图书管理员”选择“续借”,则执行分支流A3,续借图书。分支流A1借阅图书;A11提供读者的借阅卡和所借图书名称或者图书编号;A12检索图书。如果图书不在馆,则执行备选流B1;A13否则将图书借给读者;A14创建借阅记录;A15存储借阅记录;A2归还图书;A21提供读者的借阅卡和所借图书名称或者图书编号;A22归还图书;A23删除借阅记录;A3续借图书;A31提供读者的借阅卡和所借图书名称或者图书编号;A32检索图书;A33将图书借给读者;A34更新借阅记录;A35存储借阅记录。替换流B1如果图书不在馆,则系统显示提示信息,用例终止。23动态行为建模动态行为建模主要是通过交互图中的顺序图等体现的,顺序图(SEQUENCEDIAGRAM)显示多个对象之间的动态协作。顺序图重点是显示对象之间发送的消息的时间顺序。它也显示对象之间的交互,就是在系统执行时,某个指定时间点将发生的事情。顺序图由多个用垂直线显示的对象组成,图中时间从上到下推移,并且顺序图显示对象之间随着时间的推移而交换的消息或函数。消息是用带消息箭头的直线表示的,并且它位于垂直对象线之间,时间说明以及其他注释放到一个脚本中,并将其放置在顺序图的页边空白处。活动图是阐明了业务用例实现的工作流程。业务用例工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。工作流程活动图用于研究实现业务目标时所要执行的各项任务或活动的顺序安排。活动既可以是手动执行的任务,也可以是自动执行的任务,它可完成一个工作单元。231建立用例“维护用户信息”活动图图书管理员登录系统后,可以进行查询用户信息、添加用户、删除或更新读者信息等活动,如下图25所示图25“维护用户信息”活动图232建立用例“维护图书信息”活动图图书管理员登录系统后,可以进行查询图书信息、添加新图书、删除或更新图书信息等活动,如下图26所示业业业业业业业业业业业业业业业业图26“维护图书信息”活动图233建立用例“登录”顺序图用例场景“登录”是在参与者“图书管理员”和“登录界面”对象、“主界面”对象之间发生交互,可以绘制“登录”的顺序图,如图27所示。其中的交互过程如下图书管理员启动系统,弹出对话框,由图书管理员输入用户名和密码,然后提交。系统检验所输入的用户名和密码是否正确,如果正确则启动系统。业业业业业业1业业2业业业3业4业业业5业业业图27“登录”的顺序图234建立用例“添加图书”顺序图用例场景“添加图书”是在参与者“图书管理员”和“主界面”对象、“添加书刊界面”对象、“添加书架”对象、“添加图书类型”对象、“添加具体图书”对象之间发生交互,可以绘制“添加书种”的顺序图,如图28所示。其中的交互过程如下图书管理员选择“添加书种”选项,弹出对话框,由图书管理员输入图书条形码、图书名称、作者、出版社等信息,然后提交,系统根据所输入的刊号查询是否已存在该书种信息,若不存在则新建书种,并存书种的信息。图28“添加图书”的顺序图235建立用例“删除书种”顺序图用例场景“删除图书”是在参与者“图书管理员”和“主界面”对象、“书刊界面”对象。“删除书架”对象、“删除图书类别”对象、“具体的图书”对象、“读者”对象之间发生的交互,可以绘制“删除图书种”的顺序图,如图29所示。其中交互过程如下图书管理员选择“删除书种”选项,弹出对话框,图书管理员输入书刊的刊号,然后提交。系统在数据库中进行查询,显示书刊信息(如果不存在书刊信息,则提示信息,结束删除动作)。如果没有物理书刊被借出,则删除物理书刊信息。再检查是否存在预定记录信息。如果有,则删除预定记录信息,并通知借阅者,确认信息无误后删除书种。图29“删除书种”的顺序图236建立用例“借书”顺序图用例场景“借书”是在参与者“图书管理员”和“主界面”对象、“借阅界面”对象、“读者”对象、“查找图书”对象、“借阅记录”对象、“图书”对象之间发生的交互,可以绘制“借书”的顺序图,如图210所示。其中交互过程如下图书管理员选择“借阅”选项,弹出对话框,图书管理员输入书刊和借阅者的信息后提交,系统在数据库中进行查询,确认是否存在这种书刊,如果存在,确定是否有物理书刊可以被借阅,如果有物理书刊可以被借阅,确定借阅者是否有效,如果有效,创建借阅记录并存储借阅记录,并在物理书刊和借阅者信息中添加借阅记录,然后更新物理书刊和借阅者信息。如果确定不存在这种书刊,或确定没有可借阅的物理图书,则显示信息,图书管理员重新输入书刊信息或终止借书操作,如果确定借阅者无效,则显示提示信息,图书管理员重新输入借阅者信息或终止借书操作。图210“借书”的顺序图237建立用例“还书”顺序图用例场景“还书”是在参与者“图书管理员”和“主界面”对象、“还书界面”对象、“读者”对象、“借阅记录”对象、“图书”对象之间发生的交互,可以绘制“还书”的顺序图,如图211所示。其中交互过程如下图书管理员选择“还书”选项,弹出对话框,图书管理员输入书刊ID号并提交,系统查询数据库,确定指定ID号的物理书刊是否存在,若存在,确定是否有借阅记录,若有,则从物理书刊和借阅者信息中删除借阅记录,更新物理书刊和借阅者信息。若指定ID号的物理书刊不存在或没有借阅记录,则显示提示信息,图书管理员重新输入书刊ID号或终止还书操作,最后删除借阅记录。图211“还书书种”的顺序图238建立用例“续借”顺序图用例场景“续借”是在参与者“图书管理员”和“主界面”对象、“续借界面”对象、“读者”对象、“借阅记录”对象、“图书”对象之间发生的交互,可以绘制“还书”的顺序图,如图212所示图212“续借”的顺序图24ER图ER图为实体联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。构成ER图的基本要素是实体型、属性和联系,其表示方法为实体型用矩形表示,矩形框内写明实体名;属性用椭圆形表示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(11,1N或MN)。图书管理系统的ER图如图213所示图书图书管理员读者读者条形码姓名性别用户类别证件类别出生年月电话邮箱用户名密码借阅图书条形码图书名称书架图书类别出版社作者读者条形码图书条形码借阅记录密码图213ER图3总体设计31运行模式的选择311图书管理系统的架构在本系统的运行模式采用的是客户机/服务器模式(CLIENT/SERVER模式),充分利用了客户端和服务器两种技术原有的优点,此模式的数据传递关系如图31所示。请求回答SQL语言图31图书管理系统的架构关系图312开发环境配置系统的开发环境包括软件开发环境、硬件开发环境等。要做好一个系统的开发,首先就得选好软件开发环境,软件开发环境包括操作系统的选择、数据库的选择、开发语言的选择以及开发环境的配置等。这些都是能否有效而快捷的完成系统开发的关键所在。在本次系统开发过程中,我们主要选择了在LINUX操作系统、JSP开发工具、MYSQL数据库、TOMCAT服务器的环境下来实现。以下是对本系统开发环境的描述1、操作系统选择由于相WINDOWS操作系统大家熟悉,也比较方便、安全、稳定,而且运行速度快、因此服务器端的操作系统选择WINDOWS。2、开发工具选择JSP技术是JAVA技术的延伸,与ASP相比,它具有两方面的优点一是动态部分用JAVA编写,这不仅使JSP的功能更强大,而且更容易于使用;二是JSP适应平台更广,由于JAVA具有跨平台特性,因此JSP和JAVABEAN甚至不用重新编译,就可以从一个平台移植到另一个平台。JAVA可以通过CLIENTDBMS(MYSQL)数据库JDBC技术和JDBCODBCBRIDGE访问带有JDBC驱动程序或ODBC驱动程序的数据库,如ORACLE、SQLSEVER、MYSQL、ACCESS等。鉴于其诸多的优点,选用JSP作为开发工具。3、数据库选择MYSQL是最流行的开放源码SQL数据库管理系统,由MYSQLAB公司开发、发布并支持,任何人都可以免费使用该软件。MYSQL数据库服务器具有数据处理量大、快速、可靠和易于使用的特点,同时还具有良好的连通性和安全性。鉴于MYSQL的这些特点,我们选用了MYSQL开发数据库。4、WEB服务器选择TOMCAT是APACHE组织开发的一种JSP引擎,其本身具有WEB服务器的功能,可以作为独立的WEB服务器来使用,也可以和目前大部分的主流HTTP服务器一起配合。TOMCAT具有性能稳定、效率高等特点。32系统功能模块设计系统主要功能如下实现借、还以及续借的管理;存储借阅信息;浏览图书馆图书借阅记录;查询图书馆借阅信息;借阅登记信息修改。系统主要功能模块,如图32所示图32系统功能模块图33WEB服务器端WEB服务器端功能主要包括用户登录验证以及图书借阅等方式。当用户通过电脑登录到互联网中时,登陆客户端就连接到了WEB服务器中。WEB服务器在此实现的功能是当用户登录时,WEB服务器就对用户登录进行检测这其中包括(普通用户登录检测,普通管理员登录检测,高级管理员登录检测);当用户进行访问时,WEB服务器此时就接受用户的请求并访问数据库查询,根据用户请求WEB服务器可以以两种查询方式访问数据库并把查询结果返回给用户客户端。功能图如图33所示WEB服务器用户登录信息验证图书借阅及信息查询超级管理员登陆普通管理员登陆普通用户登录管理员访问普通用户访问图33WEB服务器端功能模块34数据库设计根据前期的ER分析,在服务器上创建名为DB_LIBRARY的数据库。其中包括以下表TB_BOOKCASE、TB_BOOKINFO、TB_BOOKTYPE、TB_BORROW、TB_GIVEBACK、TB_LIBRARY、TB_MANAGER、TB_PARAMETER、TB_PUBLISHING、TB_PURVIEW、TB_READER、TB_READERTYPE下面将具体介绍数据库中各个表的结构。表31、TB_BOOKCASE表32、TB_BOOKINFO表33、TB_BOOKTYPE表34、TB_BORROW表35、TB_GIVEBACK表36、TB_LIBRARY表37、TB_MANAGER表38、TB_PARAMETER表39、TB_PUBLISHING表310、TB_PURVIEW表311、TB_READER表312、TB_READERTYPE35类图类图是对类及其之间的关系的可视化表示,从系统的角度描述了系统的静态结构。类是对一类具有相同特征的对象的描述,是包装信息和行为的项目,是面向对象的重要特征。类图是面向对象分析和设计的核心,基本概念有类、对象、属性、行为或操作以及关联、聚集、泛化、继承等。另外,类图中还定义了其它很多重要的概念,并提供了丰富的表示法,使得类图有着很强的表达能力。在面向对象的建模技术中,类、对象及它们之间的关系是最基本的建模元素。对于一个要描述的系统,其类模型、对象模型以及它们之间的关系揭示了系统的结构。建立类模型的过程,实际上是对现实世界上的一个抽象的过程,它把现实世界中与问题有关的各种对象及其相互之间的各种关系进行适当的抽象和分类描述。定义系统实体类首先应从研究用例中发现类,并确定类的属性和操作。图书管理系统可以抽象出以下一些主要的类。(1)在人员信息处理方面有“读者”类。(2)在图书信息处理方面有“”书刊类、“物理书刊”类、“阅读记录类”、“预定记录类”等。此外,还应有“图书管理信息”类、它支持持久存储一个对象,是“借阅者”类、“书刊”类、“物理书刊”类、“预定记录”类的父类;“对象标识”类,他实现了对象标识,用来引用持久对象。每一个类都应当确定其属性、主要操作。累的属性可以通过检查类的定义、分析需求和运用相关知识来确定,与此同时,通过分析业务流程可以把业务流程中对象之间的交互抽象成一个类的操作。定义用户界面类除了一般类外还需要分析用户与系统进行交互的用户界面,这些界面也可以用类定义。对于图书馆系统可识别出一下一些用户界面类(1)“查找书刊界面”类是用来查询制定刊号的书刊的对话框;(2)“借阅界面”类是用来执行借阅操作的对话框;(3)“还书界面”类是用来执行还书操作的对话框;(4)“预定界面”类是用来执行预定书籍操作的对话框;(5)“信息提示界面”类用来显示提示信息;(6)“登录界面”类是用来根据输入的用户名和密码验证使用者身份的对话框。确定类之间的关系并建立类图对以上已经确定的类,他们之间存在着关联、类属、依赖以及组合关系。1类属关系如前所述,“实体”类是“借阅者”类、“书刊”类、“物理书刊”类、“借阅记录”类、“预定记录”类的父类,在它们之间存在类属关系,如图34所示。图34实体类图2组合关系“借阅者界面”、“查找借阅者界面”、“书刊界面”、“查找书刊界面”、“借阅界面”、“还书界面”、“预定界面”、“信息提示界面”都是“主界面”的一部分。如果“主界面”被破坏,则以上个界面及“信息提示界面”都会被破坏,故在它们之间存在组合关系,另外“登录界面”与“主界面”之间是关联关系,如图35所示。图35主界面类图包设计系统分解图书管理系统是由两个子系统组成。(1)借书管理子系统负责借书、预定书刊以及还书工作。(2)信息管理子系统负责借阅者、书刊和物理书看的信息维护工作。图书管理系统分解成子系统如图36所示图36图书管理系统分解成子系统图系统包图为了方便理解和处理大量的模型元素,通过将这些模型元素用包组织起来图书馆系统虽然不大,但也可以把系统的累组织成包,以便更清楚的表示出系统结构图书馆系统的包图如图37所示,一共有3个包”图书业务处理包”“界面”包“数据库”包在”界面”包中包含了前文叙述的全部界面类在”数据库”包中包含了与实现数据库服有关的全部类在”图书业务处理”包中包含了前文前文所述的为实现图书馆管理系统的所有类。业业业业业业图37图书馆系统包图4详细设计详细设计阶段的任务在于要设计出程序的“蓝图”,因此,详细设计的结果基本上决定了最终的程序代码的质量。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计的处理过程应该尽可能简明易懂。结构程序设计技术是实现上述目标的关键技术,因此是详细设计的逻辑基础。在编码阶段就可以把详细设计时的描述转换成某种计算机语言,作为图书管理系统工程的一个步骤,编码是设计的自然结果,因此,代码的质量主要取决于系统总体设计的质量。但是,程序设计语言的特性和编码途径也会对程序的可靠性、可用性以及可维护性产生深远的影响。41重要模块设计本系统涉及到的模块如下信息设置(图书馆信息、用户设置、参数设置、书架设置)、图书管理(图书类型管理、图书档案管理)、读者管理(读者类型管理、读者档案管理)、图书借还(图书借阅、图书续借、图书归还)、登录界面、信息查询(图书档案查询、图书借阅查询、借阅到期提示)、主页、退出系统、更改口令等。我主要负责的是本系统中的图书管理(图书类型管理、图书档案管理)、读者管理(读者类型管理、读者档案管理)。用户登录系统之后就可以根据自己的身份做相应的操作,而我设计的这几个模块是系统管理员实现的重要功能。先就自己的设计的模块进行如下分析411图书管理模块图书类型管理以及图书档案管理是图书管理系统中的重要组成部分,如果对图书没有很好的管理,将会降低工作效率,本系统的作用不会得到很好的发挥,其主要代码如下BOOK_MODIFYJSPALERT请先录入图书类型信息HISTORYBACK1“ELSEITERATORIT_TYPECOLL_TYPEITERATORINTTYPEID0STRINGTYPENAME1“BOOKCASEDAOBOOKCASEDAONEWBOOKCASEDAOSTRINGSTR1NULLCOLLECTIONCOLL_BOOKCASECOLLECTIONBOOKCASEDAOQUERYSTR1IFCOLL_BOOKCASENULL|COLL_BOOKCASEISEMPTYOUTPRINTLN“ALERT请先录入书架信息HISTORYBACK1“ELSEITERATORIT_BOOKCASECOLL_BOOKCASEITERATORINTBOOKCASEID0STRINGBOOKCASENAME“PUBLISHINGDAOPUBDAONEWPUBLISHINGDAOSTRINGSTR2NULLCOLLECTIONCOLL_PUBCOLLECTIONPUBDAOQUERYSTR2IFCOLL_PUBNULL|COLL_PUBISEMPTYOUTPRINTLN“ALERT请先录入出版社信息HISTORYBACK1“ELSEITERATORIT_PUBCOLL_PUBITERATORSTRINGISBN“STRINGPUBNAME“BOOKFORMBOOKFORMBOOKFORMREQUESTGETATTRIBUTE“BOOKQUERYIF“FUNCTIONCHECKFORMIFFORMBARCODEVALUE“ALERT“请输入条形码“FORMBARCODEFOCUSRETURNFALSEIFFORMBOOKNAMEVALUE“ALERT“请输入图书姓名“FORMBOOKNAMEFOCUSRETURNFALSEIFFORMPRICEVALUE“ALERT“请输入图书定价“FORMPRICEFOCUSRETURNFALSE图书馆管理系统当前位置图书管理图书档案管理修改图书信息“条形码“图书名称“SIZE“60“图书类型“作者“译者“出版社“价格“元页码“书架“412读者管理模块在图书管理系统中读者主要分为管理员和普通读者,他们所对应的权限是不相同的,当读者注册之后就要对他们的信息和权限进行设置,如果对读者不进行分类,他们的权限将会出现错误,所以读者的管理也是必不可少的一部分,其主要代码如下READERJSP图书馆管理系统当前位置读者管理读者档案管理暂无读者信息添加读者信息添加读者信息条形码姓名读者类型证件类型证件号码电话EMAIL修改删除“修改“删除42系统界面设计用户进入登录界面输入用户名称及用户密码就可以进入主页面,用户分为管理员和普通用户,用户登录界面如图41图41用户登录界面当用户进入主页面之后就可以进行相应的操作,管理员可以对读者类型进行管理,如读者类型权限的修改,也可以删除,其界面如图42所示图42读者类型管理界面当管理员进入之后,也可以给普通用户进行权限设置以及对读者的信息进行修改或者删除用户,如图43所示图43读者档案管理图书管理员可以对存入每一类型的图书进行设计,每种类型的图书的借阅期限等,如图44所示图44图书管理系统界面当管理员进入主页面之后还可以对每一种图书的档案进行具体的修改及删除,如图45;图45图书档案管理界面5系统测试在完成了该系统的全部开发工作后,对该系统进行测试。对系统测试分为以下两个方面系统登录验证,三种用户是否能够都正常登录;对图书的管理查询显示结果是否如预计的相同。1登陆界面的测试如图51所示图51,系统登录界面测试2添加读者信息页面测试如图52所示图52添加读者信息3更改口令时退出页面测试,如图53所示图53退出系统页面测试结束语在不知不觉中大学三年以走到尽头了,最后几周的毕业设计也走到了尾声了,即将要踏出校园,步入社会,进入工作岗位了,虽然知道这天总会到来的,但是也只有在社会这个大熔炉中才能得到更多的锻炼,才能把自己十几年在学校累积的知识学以至用,使得自己的才能有所发挥,可是我从此就向校园生活说拜拜了,而面对的是勾心斗角竞争激烈的社会对于期盼了几年的告别考试与课堂,真是不知道该喜该忧。大学三年的生活没有大起大落没有悲欢离合,学到的知识也有限,用到实践中就更是少之有少,到了该认识真正的自我,并努力的充实自我,完善自我的时候了,许是很多人有此感觉吧,毕业设计就是一个将自己在大学三年中所学得以发挥的好机会。从本系统开始设计到现在,共用时间6个星期,其基本功能全部都已实现。在对整个业务流程明确后,确定了系统涉及的领域,包括数据库设计、界面设计、前台应用层设计和后台管理设计等,是一个具有实际应用意义的典型管理系统。本系统有如下特点1本系统主要使用了如下技术J2EE、SERVLET、TOMCAT等。2后台数据库服务器选用MYSQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能,并且由于它的开源性、灵活性、安全性以及易用性为数据库编程提供了良好的条件。在本项目开始的时候,对J2EE和MYSQL的应用方面不够熟练和应用程序设计方面不太熟悉,再加上毕业设计的时间有限,许多方面在下一步的工作中还需要进一步改进和完善。主要针对以下几方面1数据的分析功能没有做到完善,如果有时间,我会将此功能做的智能化、人性化。2系统的某些设计的可扩展性并不十分理想,在以后的系统维护过程中,使用重构方法对系统进行重构,使系统的设计日益趋于更强的可扩展性。系统的设计没有完美无缺的,这个系统在某些地方可能存在不足,还需要进一步的改进和完善。致谢随着毕业论文的结尾,短暂而又充实的三年大学生涯也将落下帷幕,三年来,给我帮助的人太多太多,令我感动的时刻数不胜数,岁月的脚步依然匆匆,我会把每一份关怀,每一份勉励都铭记、珍藏。这次毕业设计能够顺利完成,首先应该感谢我的指导老师贾桂霞老师,贾老师平时对待工作认真负责,而且为人和善。在这次的毕业设计的过程中,贾老师孜孜不倦的帮我解决了许多专业问题,也教会了我许多为人处事的道理,对我以后的人生有很大的启示。我在学校能够学到丰富的知识以及好多做人的道理,这与每个老师的辛勤教导是分不开的,在这三年里,每个老师都为我们付出了很多,所以在最后借此机会,对每个老师致以真挚的感谢。谢谢您们,老师三年来,同窗的友情同样珍贵,我们一同学习生活,这一路与你们同行真好感谢我所有朋友对我的帮助、关怀。在这里也感谢我们同组做毕业设计的几个同学,毕业设计能够顺利完成,也是大家团结合作的结果。希望以后大家无论在生活中还是工作上都发挥团结协作的精神,因为团结就是力量是大家对我的关爱、理解和支持陪伴我度过生命中许多难忘的日子,你们是我学习和生活的精神支柱,今天在我毕业论文的最后,对所有关心帮助我的人说一声谢谢谢谢你们希望每个人在以后的生活工作中事事顺心。参考文献1邓仲华WEB程序设计科学出版社,2005年2HMDEITELJAVA程序设计教程清华大学出版社,2004年3王珊数据库系统概论高等教育出版社,2005年4王国辉JSP数据库系统开发案例精选人民邮电出版社,2006年5张跃平JSP实用教程耿祥义清华大学出版,2007年6黄晓东JAVA课程设计案例精编中国水利水电出版社,200741年7刘润东UML对象设计和编程北京北京希望电子出版社,2000年8龚晓庆面向对象设计UML实践清华大学出版社,2005年9郑人杰软件工程概论清华大学出版社,1998年10江开耀软件工程西安电子科技大学出版社,2006年11孙更新,宾晟,吕婕JAVA毕业设计指南与项目实践科学出版社,2004年12孙卫琴JAVA面向对象编程电子工业出版设,200610年13詹建飞J2EE开发精解电子工业出版社,2006年14聂庆鹏PHPMYSQL动态网站开发与全程实例清华大学出版设,2007年附录主要模块代码前台页面主要代码BOOKJSP图书馆管理系统当前位置图书管理图书档案管理暂无图书信息添加图书信息添加图书信息条形码图书名称图书类型出版社书架修改删除“修改“删除BOOKBORROWJSP图书馆管理系统FUNCTIONCHECKREADERFORMIFFORMBARCODEVALUE“ALERT“请输入读者条形码“FORMBARCODEFOCUSRETURNFORMSUBMITFUNCTIONCHECKBOOKFORMIFFORMBARCODEVALUE“ALERT“请输入读者条形码“FORMBARCODEFOCUSRETURNIFFORMINPUTKEYVALUE“ALERT“请输入查询关键字“FO

温馨提示

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

评论

0/150

提交评论