毕业论文韦华兴(定稿).doc

上传人:文库蛋蛋多 文档编号:3973530 上传时间:2023-03-30 格式:DOC 页数:31 大小:932KB
返回 下载 相关 举报
毕业论文韦华兴(定稿).doc_第1页
第1页 / 共31页
毕业论文韦华兴(定稿).doc_第2页
第2页 / 共31页
毕业论文韦华兴(定稿).doc_第3页
第3页 / 共31页
毕业论文韦华兴(定稿).doc_第4页
第4页 / 共31页
毕业论文韦华兴(定稿).doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《毕业论文韦华兴(定稿).doc》由会员分享,可在线阅读,更多相关《毕业论文韦华兴(定稿).doc(31页珍藏版)》请在三一办公上搜索。

1、广西民族大学 本科毕业论文(设计)论文题目: 基于J2EE的数字图书馆 学院(系):数学与计算机科学学院 专 业 :软件工程 年级班级 :2006级2班 学 号 :106253050208 学生姓名 :韦华兴 指导教师 :刘美玲 职称:讲师 广西民族大学 毕业论文(设计)任务书 课题名称: 基于J2EE的数字图书馆系统 学院:数学与计算机科学学院专 业:软件工程 班 级:2006级2班 学 号:106253050208 姓 名:韦华兴 指导教师(签名)_ 年 月 日教研室主任(签名)_ 年 月 日 年 月 日毕业论文(设计)任务书课题名称基于J2EE的数字图书馆指导教师姓名刘美玲工作单位广西民

2、族大学数计学院一、 主要内容: 随着科学技术的进步,计算机行业的迅速发展大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多部门的经营管理方式。图书管理系统是学校管理机制中的重要组成部分,试对图书管理系统的运行管理机制进行调查研究,开发一套图书管理系统。系统分析与设计所用的工具不限,实现的技术可以采用JSP和Servlet技术,后台数据库任选,系统结构为B/S。二、 基本要求(基本技术要求与数据)1) 阅读理解教师指定的参考资料。2) 论文格式按规范化要求撰写,保证基本模型和求解的完成。3) 文字表达通顺,结构逻辑合理(包括中英文摘要)。4) 数据及论证可靠,理论结果有一定实际意义

3、。5) 论文字数不少于6000字。三、 论文(设计)工作起始日期:自 2009 年 12 月20 日起,至 2010 年 5 月 10 日止四、 进度与应完成的工作:第一阶段(2009.12.202010.1.20):布置论文题目,给学生推荐必读参考材料第二阶段(2010.1.212010.2.24):阅读参考材料,构思论文结构第三阶段(2010.2.252010.3.4):了解学生的构作思路,给学生提出写作建议和要求第四阶段(2010.3.212010.4.20):完成初稿,检查并指出修改意见第五阶段(2010.4.212010.5.10):修改论文,定稿,打印论文(一式两份)上交指导老师第

4、六阶段(2010.5.102010.5.24):论文答辩,评定成绩五、 主要参考文献、资料 1 王立福. 软件工程(第二版)M. 北京:北京大学出版社.2002.2 张秋余,杨玥. 基于用例的需求建模方法J. 计算机工程与设计,2006,19:3539-3541.3 王珊,萨师炫.数据库系统概论(第三版)M. 北京:高等教育出版社.20024 孙卫琴,李洪称. Tomcat与Java Web开发技术详解M. 北京:电子工业出版社,2003.5 何成万,余秋惠. MVC模型2及软件框架Struts的研究J. 计算机工程,2002,06:274-276.目 录基于J2EE的数字图书馆系统1摘要1A

5、bstract1前言21.系统需求分析21.1功能需求21.2性能需求31.3可行性分析31.3.1运行可行性31.3.2技术可行性41.3.3经济可行性41.4非功能性需求41.4.1用户界面41.4.2软硬件环境42.系统设计42.1系统体系结构设计42.2系统功能设计62.2.1系统总体结构图62.2.2系统管理员模块72.2.3 图书管理员模块72.2.4 读者模块72.3数据库设计82.3.1数据库设计概述82.3.2 图书信息表结构设计92.3.3图书类型信息表结构设计102.3.4图书借还信息表结构设计102.3.5书库信息表结构设计112.3.6系统用户信息表结构设计113.系

6、统实现123.1开发平台与工具123.1.1J2EE平台123.1.2WEB服务器和数据库123.1.3使用框架组件133.2程序实现133.2.1开发环境搭建133.2.2登录模块实现163.2.3系统管理员功能模块实现173.2.4图书管理员功能模块实现193.2.5读者功能模块实现214.系统测试234.1测试的目的235.结束语245.1 工作成果245.2 改进意见255.3 心得体会25参考文献26致谢27基于J2EE的数字图书馆系统摘要随着科学技术的进步,计算机行业的迅速发展大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多部门的经营管理方式。图书管理系统是学校管理

7、机制中的重要组成部分,通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。本系统中解决了学校图书管理事务中的常用基本问题以及相关工作。本系统中主要包含4个功能模块:用户管理,图书管理,图书借还,系统查询。本系统采用Extjs2.2框架进行网页界面的编写,采用MVC设计模式,采用开源框架Struts2.1.8 + Spring2.5 + Ibatis2.3,这些框架采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是MySQL,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全

8、性。关键词:J2EE 图书馆AbstractWith the progress of science and technology, the astonishing rapid development of the computer industry has been improving peoples working efficiency greatly.The introduction of computerized information system has sharply changed the management mode in many departments in many

9、fields. The management system of the library takes an important role in the administration of school organization. I desigen the system after the thorough investigations about the library management systems mechanism. This system contains with user management model, book information management model

10、, books borrowing and returning and system information query.The system is contrived with Extjs2.2 framework as well as Struts2.1.8 and Spring2.5 and Ibatis2.3, the software design mode of MVC, which makes this system have the advantages of efficiently designed with beauteous and friendly interface

11、. This system use jdbc driver to connect the mysql database server,which is also an open source database system for its users. The batabase was desigend with highly integrity, security, and consistency.KeyWords:J2EE library前言随着信息化时代的来临,各个领域的系统化、集成化、自动化已经该领域提高工作效率及工作质量必不可少的手段及途径,如本人的毕业设计计算机数字图书馆系统就是为

12、解决传统图书馆工作效率低下的问题而做的。本系统将帮助我们快速在浩瀚的书海中找到我们所想要的书籍,了解该书籍的相关信息,及帮助图书馆工作人员提高管理和维护图书馆的效率,降低管理维护的难度及工作量。而这是传统纯人工管理图书馆所不能做到的。下面就来对本系统进行基本的认识。1.系统需求分析1.1 功能需求本系统采用的是用例驱动的方法来获取需求。用例是从用户或外界系统的角度, 通过描述用户与系统的交互来理解系统的功能。要建立需求分析的用例模型, 首先是获取业务角色参与者, 然后从参与者中找出用例, 确定了系统参与者和用例之后, 即可得到系统用例图。系统的目标是构建基于网络的图书搜索与管理服务,帮助图书馆

13、用户快速搜索图书信息,找寻自己想要的图书,及帮助图书馆工作人员管理和维护图书以及借书者的相关信息。本系统主要有三种角色用户:系统管理员、图书馆管理员、读者。从实际的使用模型及相关安全性等方面考虑,三种主要用户的主要功能需求如图1.1所示:图1.1 系统用例图1.2 性能需求(1) 系统响应时间。在10000条记录内搜索指定数据的时间不超过5秒,平均时间在13秒内。(2) 系统并发要求。1500个用户,500个并发用户操作的负载下,可连续稳定运行。(3) 系统安全性要求。对于非法用户不提供页面操作功能。对于用户非法操作提供提示功能。1.3 可行性分析1.3.1 运行可行性本系统的开发是为了解决传

14、统图书馆工作效率低下、管理维护难度高的问题,系统的运行在此前的过程中已被用户所接受和欢迎;而且系统采用java语言编写,拥有成熟的免费开源的中间服务器软件Tomcat支持运行,因此系统不存在可运行方面的障碍。1.3.2 技术可行性本人此前开发过数个系统,具备一定的系统分析与设计能力,指导老师多年从事编程语言的教学与研究工作,再加上系统实现所需要的细节技术本人曾都学习过,因而本系统的实现在技术上是可行的。1.3.3 经济可行性本系统以技术学习研究为主要目的,并非商业的运做,所用工具全部为免费的,在经济上是可行的。1.4 非功能性需求1.4.1 用户界面简洁、易用、易懂,美观、大方、标准,具备一定

15、的兼容性。1.4.2 软硬件环境(1) 软件环境:开发工具采用MyEclipse 6.5,中间服务器采用Tomcat,数据库服务器采用MySQL 5.0。(2) 硬件环境:CPU:至少Pentium2.4以上,建议使用Pentium2.6内存:至少256M以上,建议使用512M硬盘:至200M硬盘空间2.系统设计2.1 系统体系结构设计本系统采用三层B/S结构,即表示层、业务逻辑层、数据库操作层。开发采用Struts2.1.8 + Spring 2.5 + Ibatis 2.3三大框架,页面采用Extjs javascript框架,这些框架组件都是免费开源的组件,能让我们避免进行大量的不必要的

16、重复工作,从烦琐的技术细节中抽身出来,专注于业务领域模型的研究,从而能进行快速开发。而且这些组件使开发的系统具有更好的可扩展性、可维护性,提高系统的质量。三层B/S结构层如图2.1所示:数据库操作层(采用Ibais)表示层(采用Strust2进行控制处理,并用Extjs+jsp进行页面编写)面的编写)业务逻辑层(采用Spring进行事务的控制和处理)数据的保存和管理数据及信息的处理信息的输入和结果的显示图2.1 三层B/S结构图Struts2框架:Struts,是Apache的一个开源免费框架,是使用Servlet和JavaServer Pages技术的一种MVC实现。MVC即模型(Model

17、)-视图(View)-控制器(Controller),是用来帮助控制变化的一种设计模式,减弱了业务逻辑接口和数据接口之间的耦合。Struts2基于Webwork框架核心(此框架同样是一款优秀的免费开源框架),整合了FreeMaker,Velocity等视图技术,Struts2使用了大量的Filter(拦截器)来处理用户的请求,从而用户的业务逻辑控制器与Servlet API分离,大大提高了代码的可重用性。Spring 框架:Spring框架同样是一款优秀的免费开源框架,是为了解决企业应用程序开发复杂性而创建的。其中最有名的是它的IOC(依赖注入)和AOP(面向切面编程),它的这两个特性也是我们

18、开发项目最常用的两个特性。它的IOC容器可以帮助管理对象生命周期,从而允许用户不必花费大量的精力去注意并手动管理对象,而对象生命周期管理是一个系统质量和性能提高必不可少的手段。并且Spring IOC 允许用户通过XML配置来自动化的管理事务。AOP弥补了面向对象编程的不足,可以解决OOP和过程化方法不能够很好解决的横切问题,如:事务、安全、日志等横切关注。当未来系统变得越来越复杂,横切关注点就成为一个大问题的时候,AOP就可以很轻松的解决横切关注点这个问题。Ibatis 框架:Ibatis是一款优秀的免费开源的半自动化ORM(对象-关系映射)框架。它不同于Hibernate等一站式ORM解决

19、方案,以SQL开发的工作量和数据库移植性上的让步,为系统设计者提供了更自由的空间,它既可以让我们免于写大量的乏味的数据库访问JDBC代码,又可以使系统的性能得到不错的提升。2.2 系统功能设计2.2.1 系统总体结构图系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。本系统的结构图如图2.2所示:图2.2 系统结构图根据需求分析的结果,按照“低耦合、高内聚”的原则,本系统将划分为以下主要功能模块:系统管理功能模块,图书管理员功能模块,读者功能模块。2.2.2 系统管理员模块该模块主要包括用户管理,书架管理,图书查询,借阅查询。1

20、.用户管理该子模块主要是系统管理员对系统用户的管理,通过此子模块的功能实现可以对用户进行添加、修改、删除、分配角色等操作,该子模块能将图书馆的不同工作细化到不同的相关人员,极大地提高了图书馆的工作效率。该操作是对t_users表进行操作,在对用户进行了相关的操作后把操作后的最新信息存放在该表中。2.书库管理该子模块主要是实现对书库信息进行添加、修改、删除等操作,以便提供书籍的存放地址。3.图书查询该子模块主要是实现系统管理员对图书信息的查询。4.借阅查询该子模块主要是实现系统管理员对某一用户未还书籍借阅信息的查询,根据用户名查询。因为系统管理员也有可能在系统中担当读者的角色,为了方便,使其不用

21、为了查询而再建立一个读者的账户登上系统,所以提供该子模块。2.2.3 图书管理员模块1图书管理该子模块主要是实现对图书信息进行添加、修改、删除等操作。2图书管理该子模块主要是实现对图书信息借还的管理。3图书查询该子模块主要是实现图书管理员对图书信息的查询。4借阅查询该子模块主要是实现图书管理员对某一用户未还书籍借阅信息的查询,根据用户名查询。因为系统管理员也有可能在系统中担当读者的角色,为了方便,使其不用为了查询而再建立一个读者的账户登上系统,所以提供该子模块。2.2.4 读者模块1图书查询该子模块主要是实现图书管理员对图书信息的查询。2借阅查询该子模块主要是实现读者对自己未还书籍信息的查询,

22、根据用户名查询。2.3 数据库设计2.3.1数据库设计概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的基础之上,数据库的数据是一切操作的基础,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理。设计数据库必须遵循一定的规则,在关系型数据库中,这种规则就是范式,范式是符合某一种级别的关系模式的集合

23、。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度。整个系统所包括的信息有图书信息、图书类型信息、图书借还信息、书库信息、系统用户信息。可将这些信息抽象为下列系统所需要的数据项和数据结构:1)图书信息(编号,图书名称,作者,出版社,出版日期,价格,版本,ISBN号,条形码,所属分类ID,字数,页数,开本,纸张,包装,封面,所在书库ID,编辑推荐,内容简介,作者简介,当前借还状态,当前关联的借阅记录ID)2) 图书类型信息(编号,名称,备注)3) 图书借还信息(编号,图书ID,借出时间,应还书

24、时间,实际还书时间,读者ID,操作员ID,操作时间)4) 书库信息(编号,书库名称,书库电话,书库负责人姓名,书库负责人电话,备注)5) 系统用户信息(编号,用户名,密码,性别,年龄,借书证条形码,身份证件类型,身份证件号码,联系电话,角色)注:带下划线表示主键在这里使用E-R图描述了图书借阅管理系统的数据模型。图3.1图书借阅管理系统E-R图描述了该系统所涉及到的实体以及他们之间的关系。具体结构如下图所示:2.3.2 图书信息表结构设计图书信息表主要用于存储图书馆中所藏图书的相关信息,其中的相关信息是在图书入库时由操作员进行添加完善,此表主要用于系统用户对馆中图书的查询,系统用户根据图书的某

25、个属性进行查询,便可得知图书的其他相关信息,其中图书所在书架属性是便于读者借阅时对图书的寻找,图书价格是在读者不慎将图书遗失时对遗失图书进行赔偿的依据。表的具体结构如表2.1所示:表2.1 图书信息表t_book字段名称数据类型字段长度允许为空说明bookIdintno主键,自动递增bookNamevarchar200noauthorvarchar100yespressvarchar200yespublicationDaydatetimeyespricevarchar50noeditionvarchar70yesisbnvarchar100yesindexNovarchar50yescateg

26、oryIdintyes外键,引用表t_category的categoryIdwordCountvarchar20yespageCountintyesbookSizeintyespapervarchar30yespackvarchar30yesimageUrlvarchar255yeslibIdintyes外键,引用表t_Lib的libIdeditorRecommendvarchar255yesdescriptionvarchar255yesauthorDescvarchar255yesstateint1nocurrentlogIdintyes2.3.3图书类型信息表结构设计该表的设计主要是方便

27、对图书的分类,和对图书的查询,在实际应用中图书管理员就是根据图书类型的不同将之分列在不同的书架,以方便读者的借阅寻找,可根据图书的具体情况进行不同的维护管理,表的具体结构设计如表2.2所示:表2.2 图书类型信息表t_category字段名称数据类型字段长度允许为空说明categoryIdintno主键,自动递增categoryNamevarchar30noremarkvarchar255yes2.3.4 图书借还信息表结构设计该表的设计是用于对读者借阅图书进行管理,表中图书ID属性是对借阅图书的主键,读者ID号记录借阅的相应读者,实际还书时间记录了相应的归还时间,操作员ID是对借阅进行操作的

28、人员的记录方便日后的查询,表的具体结构设计如表2.3所示:表2.3 图书借还信息表t_loanlog字段名称数据类型字段长度允许为空说明loanlogIdintno主键,自动递增bookIdintno外键,引用表t_book的bookIdloanTimedatetimenopreReturnTimedatetimenoreturnTimedatetimeyesreaderIdintno外键,引用表t_user的userIdoperatorIdintno外键,引用表t_user的userIdoperationTimedatetimeno2.3.5 书库信息表结构设计该表包含了关于图书馆书库的一些

29、基本信息,如书库ID,书库名称等,见表2.4。表2.4 书库信息表t_lib字段名称数据类型字段长度允许为空说明libIdintno主键,自动递增libNamevarchar40notellPhonevarchar20yesleadervarchar20yesleaderPhonevarchar20yesremarkvarchar255yes2.3.6 系统用户信息表结构设计该表的设计用于记录图书管理系统用户的信息,方便对用户的管理,表中包括用户ID 和用户的登录密码,表的具体结构设计如表2.5所示:表2.5 系统用户信息表t_user字段名称数据类型字段长度允许为空说明userIdintno

30、主键,自动递增userNamevarchar20nopasswordvarchar20nosexvarchar2noageintyesindexNovarchar30yesidentityTypevarchar20noidentityNovarchar50nophonevarchar20yesrolevarchar30no3.系统实现3.1 开发平台与工具3.1.1 J2EE平台J2EE ,即是Java2平台企业版(Java 2 Platform Enterprise Edition),是原Sun公司(现已被甲骨文公司收购)为企业级应用推出的标准平台。它简化了企业解决方案的开发、部署和管理相关

31、复杂问题的体系结构,J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用

32、的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。在开发图书馆借阅管理系统的过程中,应用Myeclipse6.5,它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。Myeclipse是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL。3.1.2 WEB服务器和数据库在

33、系统的开发过程中使用的Web应用服务器是Tomcat,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、SUN和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。Tomcat是一个小型的轻量级应用服务器,它运行时占用的系统资源小、扩展性好、支持负载平衡和邮件服务等开发应用系统常用的功能,因此在中小型系统和并发访问用户不是很多的时候,经常被使用。 使用MySQL作为数据库开发工具。MySQL是一个小型关系型数据库管理系统,开发者

34、为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。3.1.3 使用框架组件为了开发的便捷快速,系统将使用Struts2.1.8, Spring2.5, Ibatis2.3这三个免费开源组件,页面将使用Extjs2.2 + jsp来编写。3.2 程序实现3.2.1 开发环境搭建系统开发到了编码阶段时,要做的第一件事就是先将环境搭建起来。首先我们先生成数据库和表,将MySQL启动,因为系

35、统使用了组件来进行快速开发,所以要进行基本的配置。下面就是一些主要的配置:Ibatis配置:SqlMapConfig.xmlSpring配置:applicationContext-common.xmlcom.mysql.jdbc.Driverjdbc:mysql:/localhost/testrootmieshowclasspath:SqlMapConfig.xmlWeb配置:web.xmlweb-app version=2.4 xmlns=xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instancexsi:schemaLocation= welcome-file

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号