基于j2ee的图书馆管理系统设计与实现.doc

上传人:good****022 文档编号:116449224 上传时间:2022-07-05 格式:DOC 页数:85 大小:4.64MB
返回 下载 相关 举报
基于j2ee的图书馆管理系统设计与实现.doc_第1页
第1页 / 共85页
基于j2ee的图书馆管理系统设计与实现.doc_第2页
第2页 / 共85页
基于j2ee的图书馆管理系统设计与实现.doc_第3页
第3页 / 共85页
点击查看更多>>
资源描述
基于J2EE的图书馆管理系统设计与实现摘 要随着计算机及网络技术的迅速发展,人们的工作效率大大提高,信息化管理在我们生活中所扮演的角色也越来越重要。而计算机信息处理系统更是改变了许多系统的经营管理。学校的图书馆作为学生获取知识的一个重要学习场所,图书和学生借阅资料繁多,信息化管理更是必不可少。因而图书馆管理系统成为学校管理机制中的重要组成部分之一,通过对图书馆管理的日常运行的研究,开发了这套图书馆管理系统,以此代替原始的图书馆人工管理。本系统基于J2EE平台,采用oracle作为后台数据库,本文根据软件工程规范的要求,按照系统的需求分析、系统设计、系统实现与测试的顺序分别介绍了系统的研究背景和研究现状,介绍了系统的业务需求、功能需求和非功能需求,给出了系统的软件架构、数据设计和各模块的详细设计,简述了书目查询、读者管理、新书管理、信息发布、图书借还模块的设计与实现,重点突出了个性化推荐模块的模型和算法实施,最后还实现了系统的三层软件架构和系统界面,并通过系统测试验证了系统给的可用性和适用性。 图书馆管理系统为图书馆提供信息化的管理模式,简化了图书盘点和记录的流程,帮助管理人员更好地为读者服务。图书馆极大地减少人工成本、显著地提高工作效率,使图书馆的管理工作告别繁琐,实现图书馆图书的信息化管理。该系统的设计与实现体现了计算机信息化管理速度快、储存量大、可靠性强、查阅方便的优势。关键词:图书馆;信息化管理;J2EE;OracleIVAbstract Along with the computer and network technology rapid development, peoples work efficiency greatly improve, information management in our lifes role is becoming more and more important. And the computer information processing system is changed many system management. The school library as students obtain knowledge is an important learning place, books and student lending material is various, information management is essential. Therefore the library management system for school management mechanism in the important part of, through to the library management daily operation of the research and the development of the library management system, instead of the original library artificial management. This system is based on the J2EE platform, the oracle as backend database management system management system, in accordance with the requirements of the software engineering specifications in accordance with the needs of the system analysis, system design, system implementation and testing order introduces the research background and the status quo, the business needs of the system, functional requirements and non-public energy needs, to a system software architecture, data design and the detailed design of each module, briefly introduces the design and implementation of bibliographic query, reader management, books management, information release, books borrowed module, and highlights the model and algorithm implementation of personalized recommendation module, and finally to achieve a three-tier software architecture of the system and the system interface, and system testing to verify the availability and applicability of the system. Library management system for the library to provide information management model, simplifies the inventory of books and records of the process, help managers to better service for readers. Library greatly reduce labor costs and significantly improve the work efficiency, make management of the library farewell trival, realize information management of library books. The design and implementation of the system reflects the computer information management system of speed and large storage capacity, reliability, access to convenient advantage. Keywords: Library; Information management; J2EE; Oracle 目 录1 绪论11.1研究背景及意义11.2课题相关国内外研究现状11.3论文主要工作31.4论文组织结构42 相关技术介绍52.1 J2EE技术架构52.2 Struts+Spring框架72.2.1 Struts框架72.2.2 Spring架构82.3 IBatis数据框架82.4 Oracle数据库92.5 UML语言102.6本章小结103 系统需求分析113.1 系统业务需求113.1.1业务分析113.1.2用例分析123.2 系统功能需求133.2.1 书目查询模块143.2.2 读者管理模块153.2.3 新书管理模块163.2.4 信息发布模块173.2.5 图书借还模块183.2.6 个性化推荐模块183.3 系统非功能需求203.4 本章小结214 系统设计224.1 系统总体设计224.1.1 系统软件架构224.1.2 系统拓扑结构224.2 模块数据流设计234.2.1 书目查询模块234.2.2 读者管理模块244.2.3 新书管理模块254.2.4 信息发布模块254.2.5 图书借还模块264.2.6 个性化推荐模块264.3 系统详细设计274.3.1 时序图设计274.3.2 关键类图设计314.4 系统数据库设计324.4.1 实体设计334.4.2 数据表设计384.5 本章小结415 系统实现与测试425.1 系统实现的架构425.1.1 web层实现425.1.2 业务层实现435.1.3 数据层实现445.2 系统功能页面展示455.2.1 书目查询模块455.2.2 读者管理模块475.2.3 新书管理模块485.2.4 个性化推荐模块495.3 系统测试505.3.1 测试环境和方法505.3.2 系统功能测试505.3.3 系统性能测试525.3.4 验收测试525.4 本章小结526 总结与展望54参考文献551 绪论1.1研究背景及意义在科学技术快速发展的今天,计算机得到了普遍应用,在各行业中扮演着十分关键的角色,它使人们的各项工作不再复杂,进而提高了工作效率。当前,大部分图书馆在办理图书借阅业务时,大多以人工的方式进行。此种方式存在着较多的问题,不但使图书借阅的效率得不到提升,而且图书馆管理员也不能全面的掌握图书借阅的基本情况。人工管理在人为因素的作用下,也势必存在着一些弊端,进而造成图书的丢失等一系列后果。计算机的信息化管理则有着速度快、储存量大、可靠性强、查阅方便等诸多优点,及时地为我们处理各类信息1。当前,市场化经济在国内得到了快速化发展,也使人们对文化的需求日益提升,而图书则成为人们获取文化知识的最佳途径。对于大学生来说,通过阅读图书来获取知识无疑是非常必要的。绝大多数的高校都有自己的图书馆,丰富的馆藏可以帮助学生获得更多的学习资料和阅读机会,但同时也为图书馆的管理工作带来了问题。人工记录大量的书籍、读者和借阅记录信息,不仅工作量大、人员成本高,还容易因为人工的失误造成读者查找和借阅的不便。利用计算机和基础网络,图书馆可以转变管理模式,减少人工的记录和查找,简化借阅和归还的流程,这都可以为图书馆减少人员成本,提高服务质量提供帮助。另外通过建立网上图书馆,海量的多媒体馆藏资源还可以帮助读者更好地了解图书馆的文献资源,更加快速、有效地阅读自己需要的图书和期刊2。1.2课题相关国内外研究现状图书馆管理系统起源于上个世纪50年代,那时的自动化管理主要面向图书的流通和编目工作。1965年,美国国会图书馆首次用计算机进行图书编目管理,而受限于当时计算机技术的发展程度,计算机系统对图书馆管理工作的帮助并不显著3。上个世纪60年代的计算机设备的价格昂贵,只有国家级的图书馆才有专用的计算机系统,再加上当时的计算机性能较弱,存储量和处理能力都很低,致使这段时间的图书馆信息系统的发展缓慢。图书馆管理系统的应用更多是实验性质,系统的可靠性和安全性也很难保证4。大部分图书馆只能在所在单位的计算中心中部署图书馆管理系统,尝试性地进行图书馆自动化管理研发工作5。上世纪70年代中期,计算机软硬件技术水平得以飞速提升,更多的机构和单位都拥有了专用的计算机系统。这一阶段的图书馆信息系统研发也进入了实用阶段,虽然还没有真正意义上的系统管理软件,但各种不同功能和原理的图书管理信息系统真正进入了业务环节,提高了图书馆的办事效率6。当时还没有专门进行图书馆管理系统研发的团队,只是在图书馆的个别部门进行图书采访、图书编目、图书流通、期刊管理等方面研究工作。图书馆信息系统还是由中央主机管理的终端系统。上世纪80年代,小型机逐步成为计算机终端的主体,更多的图书馆配备了专用的计算机,并投入了足够的人力物力进行图书馆信息系统软件的研制工作7。图书馆自动化系统由简单的图书编目和流通管理向功能强大的集成系统方向发展。较为成熟的图书馆管理集成系统被广泛的应用,随之而来的是巨大的商品化机遇。很多技术人员从图书馆机构分离出来专门从事图书馆集成系统的研发工作,很多大型软件公司也和图书馆合作开发相应的商业产品。市场上出现了一批技术含量高、功能较为齐全、应用范围广的图书馆自动化集成系统8。进入21世纪,随着科技的高速发展,图书馆管理系统的集成化和商品化得到了进一步加强。该类系统的性能越来越高,规模越来越大,价格也越来越便宜,在很多图书馆都得到了应用9。图书馆不再需要组织人力物力进行图书管理软件的开发,所有的图书管理软件都是商品化的系统软件,这也标志着图书管理系统进入了商品化时代。再加上网络的普及,网络化的结构也逐步成为图书馆管理系统的主要结构10。我国的图书馆管理系统研发始于上个世纪70年代中期,当时我国组建了一批试点性的图书馆管理自动化系统研发团队。上世纪七十年代,由中科院专家组成的专业化研究团队,应用计算机来获取文献数据,能够提供大量的与图书检索相关的服务11。时至今日,我国图书馆管理自动化系统已经走过了40个年头,其发展的阶段主要有四个:1976年到1980是探索阶段。在这个时期,国内一些专家开始向国外学习图书集成系统管理的实践经验,并深入的探索了中文机读编写文献的相关技术。1976年的汉字信息处理工程,为图书馆管理系统提供了中文通讯、中文激光照排、中文情报检索等方面的技术支持,我国的图书馆自动化研究工作也从此起步。此后,中科院研发部门在原有的基础上构建了专业化团队,并与计算机所进行合作共同开发中文文献数据,其数量多达600余册。由于当时计算机还不支持中文信息的相关功能,只能用拼音处理和描述中文文献12。1981年到1985年是实验阶段。经过探索阶段的积累,我国图书馆界已经掌握了图书管理集成化系统的研发技术,一些大型图书馆组织图书馆管理人员实施集中技术培训,同时也加入到MARC合作组中,推行图书馆信息化系统的自主研发工作。这段时间国内的图书馆机构结合单位自身情况,进行了一系列探索性的研究和开发工作13。1986年到1995年是使用阶段。在当时,计算机的性能和容量大幅度提高,为图书馆自动化和集成化发展提供了有利的条件。国内的图书馆信息系统研发团队经过前两阶段的理论积累,利用先进的计算机终端技术在图书编目、检索和流通等主要图书馆管理工作环节开展了广泛的研究和应用。图书馆管理系统也逐步向商品化和服务化的方向发展14。1996年至今是提高接轨阶段。进入新的世纪后,经济的快速发展使电子信息技术等发展速度进一步加快,图书馆系统中应用数据与多媒体技术已经成为当前的主要发展方向。图书馆信息化建设在各级领导的高度重视下和图书馆各业务部门的共同努力下进入了一个全新的时代。我国软件研发机构紧跟时代步伐,不断在图书馆管理系统的技术创新和商品化进程方面进行研究,为广大读者和图书馆管理人员提供了一批性能强大、易用性强、安全性高的图书馆管理信息系统。由深圳公司推出的ILAS系统、大连妙思开发图书馆软件等都已经成为在城市化图书管理系统中得到了广泛应用。这些系统集成化高,性能优良的图书管理系统实现了图书馆的自动化管理,为图书馆降低成本、提高服务质量,为读者更加方便的查找和借阅馆藏资料提供了方便15。时至今日,我国图书馆的信息化管理程度已经很成熟,但因各图书馆的规模和实际情况不同,图书馆集成化管理系统在国内仍然呈现水平参差不齐的状况。通过上述分析可以看出,国内应用的图书馆集成化管理系统仍然处在一个较为初级的阶段,有些技术尚未成熟。大多数图书馆应用属于一种较为简单的系统。所以,要结合图书馆的基本情况,从多个层次出发来开发一些先进的图书管理集成系统16。1.3论文主要工作本系统采用当今最流行的面向对象语言之一的Java语言对前端的应用程序进行设计,对后台数据库的设计采用了oracle10g开发。本文从项目开发、需求分析、开发平台选择、系统模块建立、数据库设计、功能模块编程实现及软件测试等方面阐述了本应用系统的设计过程。详细论述了系统分析、设计和数据库的设计等方面的内容。着重描述了该系统的图书查询、订阅、归还等功能,对很多细节上的功能也做了详细的阐述。本文的主要工作包括:(1) 分析描述了课题研究的背景和意义,介绍了国内外相关研究成果,描绘了系统重点功能。根据系统的功能要求进行需求分析,建立基于J2EE的图书馆管理系统业务模型。(2)介绍了系统设计与实现的相关技术和论文描述语言,通过介绍这些技术的优缺点分析系统的技术优势,论文使用规范的软件工程描述语言来描述系统设计与实现内容。(3)根据需求分析的要求进行系统设计与实现描述,给出了系统设计的内容和图形描述,让读者了解系统开发的全过程,包括每个功能的用例、功能设计、数据库设计、程序设计以及界面展示等。(4)针对系统的功能和非功能需求进行系统测试,给出了系统测试的环境、方法、用例以及结果,分析测试结果总结系统实现的成果。1.4论文组织结构本文首先对研究背景进行介绍,针对目前图书管理信息化程度不足的问题,在借鉴国内外图书馆管理系统的基础上,选择先进的系统实现技术和数据库技术开发了一套用于管理高校图书馆的信息系统。论文共有6个章节,分别是绪论、技术、需求分析、系统设计、系统实现与测试、总结。第1章,绪论。主要介绍了基于J2EE的图书馆管理系统的研究背景和研究意义,从国内外研究的情况切入分析出图书馆管理系统存在的难题,并简要介绍了论文的主要工作和组织结构。第2章,相关技术介绍。主要针对本系统开发所需要的技术进行了介绍,包括J2EE技术架构、Struts+Spring框架、IBatis数据库框架、Oracle数据库以及UML语言等。第3章,系统需求分析。分析了图书馆管理系统的业务需求、用例分析、功能需求和非功能需求。为后续的设计与实现工作提供了功能要求和非功能要求。第4章,系统设计。描述了图书馆管理系统的设计内容,包括系统软件架构、拓扑结构和功能模块划分,介绍了系统实体和对应的数据库表,然后根据需求分析的结果分别介绍了每个功能模块的设计内容。第5章,系统实现与测试。首先介绍了系统软件架构的实现方式,然后给出每个模块的系统展示截图,最后从功能和性能两方面对系统进行测试,测试内容包括测试环境、测试方法、测试用例和测试结果。第6章,总结与展望。对论文进行了总结,并对未来系统的升级和维护工作进行了展望。56 2 相关技术介绍 2.1 J2EE技术架构 Java2平台有3个主要版本它们分别是适合在微型设备应用的Micro 版(Java 2 Platform Micro Edition,J2ME)、用于桌面程序开发的标准版(Java 2 Platform Standard Edition,J2SE)、用于服务供应商程序开发的企业专用版。 J2EE是在Java2平台基础上构建的一种结构,此种结构能够完成系统开发、管理等任务。J2EE 技术延续了Java2标准版的跨平台、简易I/O等诸多优点,还包括了JDBC、CORBA等新型数据技术和安全模式。基于J2EE的系统开发技术规范很多,比如可扩展性标记语言、java服务器页面等技术。J2EE结构的系统具有高性能、高可靠性和高开发敏捷性等特点,因为 J2EE 提供了能够满足高可靠性和可用性要求的中间层集成框架,这就为多层应用开发和简化系统提供了方便17。J2EE 提供了面向现有应用程序集成的强有力支持,提供了良好的打包和部署、添加目录等应用,这些都是提高系统性能,增强系统安全机制的保障。 J2EE由一组系统组件、服务架构和技术层次组成,这些技术规范和指南均有通用的标准和规格,使得J2EE可以在各种平台和软硬件环境中良好兼容。这充分解决了企业级系统信息产品之间不能很好兼容,内外数据很难互通的问题18。除此之外,J2EE具有很多可以为企业级系统提供可伸缩性、灵活性、易维护性和安全性等特性的优良机制: (1)渐进式开发 由于企业的业务十分复杂,如果一次实现所有的系统业务显然不现实,再加上企业为了适应的市场环境往往经常变化企业管理方案,这些都要求企业信息化系统具备很好的渐进式开发特性。不能激进也不能全盘否定,要设法在原有的系统基础上建立或改进新的系统实现。J2EE的技术规范中对渐进式开发有专门的设计,支持植入式的系统升级和维护技术,再加上 JAVA 平台本身的低容量和可移植特性,J2EE 架构的系统可以部署在任意的硬件环境和操作系统中。这些特性都使得产品供应商和用户有更多的选择19。 (2)开发高效率 J2EE 架构是分层实现的,并且在每个层次中都保证了组件的低耦合特性。这种特性允许供应商把一些通用和频繁使用的系统组件外包给中间件供应商开发,这样不仅可以提高开发的敏捷性,还可以通过使用高校的中间件来保证系统性能。J2EE 中经常使用的中间件一般是状态管理、分布式共享数据和持续性服务组件,因为这些中间件都可以提供黑盒式的系统服务,系统供应商只需要提供相应的输入和输出规范,而无需考虑如何实现中间件和保证系统性能,这不仅降低了开发成本,还保证了系统的可维护性,因为可以让中间件供应商承担一定的系统开发任务和来维护其部署在系统中的中间件20。 (3)异构环境 J2EE架构秉承了JAVA平台可移植异构环境的优良传统,可以不依赖任何的软硬件环境,另外系统中的中间件、外部软件也可以支持异构环境。因此在设计J2EE系统时无需考虑如何部署到各个平台上,这十分有利于供应商的成本控制策略。客户可以任意订购符合自身硬件条件的J2EE标准系统,不需要为自己的软硬件是否兼容发愁,节省了一大笔开支21。 (4)可伸缩性 由于企业的大小不同,业务复杂度也不尽相同,要设计符合所有企业的信息化系统是一个十分困难的工作。J2EE凭借其强大的伸缩特性为不同级别的企业级用户提供了业务解决方案。例如同一个J2EE架构系统,可以部署到普通的PC上,也可以部署到架装服务器上,还可以部署到大型机系统上,还可以通过具有复杂平衡特性的分布式服务器集群上。从单机的单核、双核、多核,到集群式的服务器系统,J2EE架构都可以完美的兼容使用,这种强大的可伸缩特性是保证J2EE架构长盛不衰的基础特性22。 (5)高可靠性 企业级的信息化系统一般都要全天候的运行,要24小时满足用户和合作伙伴的访问需要。特别随着网络技术设施的普及,全球化的进程不断完善,任何的系统延迟或停机都会造成企业信息化系统的不可用,甚至出现灾难性的后果。J2EE的部署机制可以保证系统的高可靠性和安全性,并且和所有的操作系统安全机制兼容。据统计,全球型的J2EE架构web系统平均可用性在95%以上,年平均停机时间不足10分钟。可靠性和安全性是商业系统最低也是最先考虑的选择条件,J2EE在这方面的表现无遗是完美的。作为一类应用模型,J2EE系统开发体现出分布式的特点。按照功能分布将应用逻辑细化为若干个系统组件,每个组件又分布在不同的组件服务器上。这种多层分布式结构可以有效地解决传统Java平台系统客户端过于臃肿的问题。将主要的业务逻辑放在服务器上,可以避免由于客户端过于分散造成的难以升级维护和扩展性不强的问题,还能增强系统的重用性和安全性。J2EE一般分为四个层次,每个层次都由不同的服务器支持和维护,当要修改某个层次时不会影响其他层次的结构。这四个层次分别是,在客户端承载用户组件的客户层,在此种服务器中可以加载页面逻辑的web层,此类服务器能够加载业务量逻辑的业务层,也可以使与企业信息相关系统软件层得到有效的运行。J2EE的四层模型结构如图2-1所示。图2-1 J2EE的四层模型结构2.2 Struts+Spring框架 2.2.1 Struts框架 Struts属于一类开发性的应用模型。近年来,此项技术得到了快速的发展。该框架已经在JSP Web中得到了广泛的应用。发展之初,Web服务是以JSP为中心的运行状态。在JSP的主要作用是表现与控制逻辑。这样的方式,在页面规模很小的项目上无法体现出缺点,但是当项目规模扩大,页面间关系交错复杂时,如果将一张页面进行修改,那么它就会对其他页面产生一定的影响,进而使整个程序的运行受到严重的影响。同时,如果同时打开页面与逻辑开发,这样将会对分工合作与代码产生较大的影响,使程序不再具有可延展性23。 为了改进上述不足,在web服务中加入控制器,而控制器包括servlet,客户端的需求将不再直接发传送至JSP 页面,而是经由中央指挥者传送控制器,随后控制器会结合实际需要对业务逻辑进行调整,这样得到的结果将会反馈到页面中。这样便于将业务逻辑从JSP文件剥离出来,JSP文件也就净化为一个单纯完成显示的构建,即View视图层。而担当控制器的servlet则被赋予control控制,进行处理的事务逻辑便成为了Model模型,即MVC。Struts就是一种具体实现MVC理念的程序框架。可以使用servlet的接受客户发出全部需求。随后结合实际的参数与Struts配置内的Action Mapping,此后请求将会由Action进行处理,这些共同组成了Struts的控制器24。2.2.2 Spring架构 Spring框架是个轻量级的Java EE框架。最核心的理念是IOC(Inversion of control),即控制反转。在控制过程中,对象可以向容器进行切换。随后容器会结合配置文件来构建一些新型的实例,同时也要保证各个实例间形成一种相互依赖的关系。这样就让一个对象的创建不用new了。此种构建模式应用的原理是Java里的反射,以反射为基础使系统在运行过程中创建对象。当Spring开始运行时,可以结合相关的配置文件来构建动态对象以及调用对象中的方法25。 Spring另一个核心就是AOP(Aspect-Oriented Programming)属于一种面向切面的编程。此种编程可对某些对象间合理化的控制,这样就能够达到扩展模块的目的。只有通过配置才能达到实际的要求。而进行Spring编程的主要目标是:对象在进行关联时,就不需要借助代码来完成。Spring属于一类容器,只有容器内部含有对象,Spring才能提供相关功能与服务26。 2.3 IBatis数据框架 IBatis不同于被广泛使用的Hibernate数据映射技术,它不具备全自动的数据查询、插入、修改、删除操作,也没有紧密约束关系的OR映射。IBatis为开发者提供了更为灵活和便捷可控的类ORM数据解决方案,他们需要自己实现SQL语句,可以根据自己的需要进行灵活的创作和性能提升。当然,开发者在提供这些SQL之后,就无需担心他们是否会被正确的运行,IBatis会保证运行的稳定性和安全性。根据写好的SQL和参数条件,IBatis会动态生成执行带参数的SQL语句,然后传参数进去,为这些SQL参数提供具体值。IBatis会自动根据配置文件生成数据连接池,只要有合适的驱动文件,就可以自动的执行SQL语句,利用IDataReader 机制返回数据结果集,生成一个可被识别的强类型数据对象(IList)相对于其他配置复杂类似Community Server的数据操作架构,IBatis无需开发者编写复杂的重复代码,只需要一个配置文件,然后调用SqlMapper的实例对象即可简单的实现。当然,当系统的复杂度和数据操作量较大时,编写IBatis配置文件也是一个比较繁琐复杂的工作27。 数据操作的事务问题方面,IBatis为我们提供了全自动的管理和执行SQL语句的机制,返回的结果集也是强类型的数据对象。它直接生成DB Command返回集,这样用户可以自由的选择数据集合进行进一步的操作。 效率方面,虽然IBatis使用了少量的发射技术,但是由于配置文件的形式,数据操作性能的影响就可以忽略不计了。根据测试,使用IBatis进行多条记录的添加操作和使用UpdateDataSet 这种批量提交的形势比较,整体效率有所提高,性能优秀。IBatis的缓存机制很有特点,它可以根据不同的条件进行有选择的SQL执行,缓存机制可以保存某个条件执行之后的输出数据,这些都是在生成结果集之前封闭进行28。 IBatis运行环境必须的两个配置文件是SqlMap.config和Provider.config。SqlMap.config是IBatis的核心配置文件,用来保存相关的配置环境和实体文件地址,它的存放目录必须是应用程序的运行目录下,并且是静态不可改变。Provider.config是用来分配数据驱动类的配置文件,是用来区分不同数据库的,它的文件名是不固定的,可以通过SqlMap.config配置它的引用路径。 2.4 Oracle数据库 Oracle数据库管理系统是美国甲骨文公司的分布式数据库管理软件。甲骨文公司是目前世界上仅次于微软的第二大软件公司,公司英文名就是Oracle。1979年,Oracle公司在美国的加利福尼亚州城里,其核心软件产品就是以公司名命名的关系型数据库管理系统Oracle数据库。Oracle数据库是全球首个关系型数据库管理系统,其具有的跨平台、分布式、海量数据处理和安全体系都是世界一流,Oracle数据库目前仍被广泛的应用于B/S结构的企业级信息化系统开发过程中。Oracle数据库是一个系列产品,所有的甲骨文公司数据库产品编号都以Oracle开头,甲骨文公司也凭借Oracle产品成为实际上最大的数据库管理系统供应商,也是最主要的信息处理软件供应商之一29。Oracle数据库系统采用客户端/服务器的形式,服务器就和其他关系型数据库一样可以提供集成化、开发、全面的数据存储和维护管理办法。Oracle服务器又数据仓库和数据库实例共同构成,其中数据仓库包括了自治性的数据存储透明机制,数据库实例包括一个SID和相关的权限控制机制。Oracle服务器又权限机制,通过用户名来区分用户权限,具体包括Internal、Sys和System三种。其中Internal是Sys的别名,是由数据库管理员使用进行数据库启动和关闭的基础用户名;Sys用户名具有最高的操作权限,一般由数据库管理员所有,用来进行数据库操作;System用户名是较低权限的用户名,仅能进行普通的数据查询,供普通用户使用。 Oracle客户端是为了满足用户远程访问和操作数据库而设定,具体包括数据应用、维护工具和联网工具等。进行本地数据库访问可以通过制定用户名来登录客户端,进行远程访问则需要制定个特定的PC位置才能建立和维护数据库访问连接。由于Oracle数据库的物理存储和逻辑存储彼此分开,所以可以通过客户端操作逻辑结构时无需考虑物理存储结构,反之亦然。 2.5 UML语言 UML(Unified Modeling Language)属于一种能够进行编程的可视化语言,主要以图形化的形式进一步展现。UML的应用主要是为了各种开发人员的交流都给予一个标准的平台上进行,同时为了清晰便捷,UML定义了不同的图形来表示不同的信息,可以简单直观的表达程序开发人员对系统的理解。UML支持面向对象的编程理念,是一门图形化的语言,在每一个图形符号后面都拥有良好的语言机制,可以根据用户的需要增加标记值、构造型、约束等。UML作为一种建模语言,主要涵盖UML语义和UML表示法两个部分:UML语义可以精确描述建模的概念,形成一个统一、通用和简单的定义过程,是模型开发者可以在语法层次达成统一,可以消除语义形式对于模型定义的影响。UML表述法则是通过图形和文本语言相结合的方式为系统建模提供了统一和形象的标准展现方式。当程序设计人员对系统进行设计时,首先会对需求进行建模,其次便会对具体的需求进行系统行为描述。第一步需要使用到包括用例图、类图、对象图、组件图和配置图等五个图形,第二部则主要使用到包括活动图、状态图、合作图和顺序图等表示执行时的交互关系或时序状态的图形。UML作为一种抽象的描述语言,将各种需求用一种通用的语言来进行全面的描述,为来自不同语言文化背景的开发人员提供了一个统一的交流平台,类似于阿拉伯数字一样在整个业界通用流行30。2.6本章小结 主要针对本系统开发所需要的技术进行了介绍,包括J2EE技术架构、Struts+Spring框架、IBatis数据库框架、Oracle数据库以及UML语言等。 3 系统需求分析 3.1 系统业务需求 3.1.1业务分析 根据高校图书馆管理的实际情况,本系统的主要用户包括图书馆管理人员、普通用户和借阅者三类。图书馆管理人员也就是日常维护图书馆的人员,他们负责图书借阅信息的记录和管理,形成借书或还书报表供借阅者确认,同时还要负责图书馆的日常信息发布、管理机制维护等业务工作;普通用户是指通过本系统查询图书情况和借阅信息的用户;借阅者一般为学校的学生或教职员工,他们凭借统一规格的登录信息来进行系统登录后的借阅信息查看和图书借阅操作。基于J2EE的图书馆管理系统业务流程图如图3-1所示。 图3-1 系统业务流程图3.1.2用例分析 根据业务分析的介绍,本系统的主要角色有三种,分别是工作人员、借阅人员和普通用户。其中工作人员和借阅人员都需要登录系统才能操作,普通用户不需要登录系统。 本系统的设计与实现内容都要通过面向对象建模技术和UML语言来描述,在进行业务需求分析时要划分系统的主要角色和相关用例,在基于UML语言中,用例图能够全面的描述用户的需求,更好的发挥描述的各种功能。基于J2EE的图书馆管理系统业务角色有3种,分别用3个用例图来描述每个角色的用例和用例之间的关系。 工作人员角色是指图书馆管理员或系统管理员,他们的主要用例是系统信息维护、书籍信息维护和借阅信息维护,这些功能提供的信息都是维持系统正常运行的关键信息,所以工作人员的操作必须在系统登录之后且有相关功能的操作权限才能进行。工作人员可操作的功能包括图书信息维护、借阅信息维护、系统登录和系统信息维护等。工作人员角色的用例图如图3-2所示。 图3-2 工作人员用例图借阅人员角色主要是在图书馆借阅图书的教师或学生,他们有自己的登录账号(借书证号或读者条码),他们的主要用例包括图书查询、借阅历史查询、预约借书单和维护个人信息等。为了方便图书馆管理个人信息,借阅人员的信息必须真实且必须登录之后才能进行操作。借阅人员可操作的功能包括借阅管理、图书查询、个人信息维护和系统登录。借阅人员角色的用例图如图3-3所示。图3-3 借阅人员用例图普通用户是指不需要登录就可以进行系统浏览和操作的用户,这种角色的用例都只是查询功能,比如未借书的读者可以阅读读者须知、查询图书信息和电子图书信息、获取图书馆联系方式等。普通用户角色不需要登录系统,也不需要预留任何个人信息。普通用户可操作的功能包括图书查询和公告查询。普通用户角色的用例图如图3-4所示。 图3-4 普通用户角色用例图3.2 系统功能需求 系统的功能需求主要有: (1)书目查询:借阅人员和普通用户可以通过这个功能查看图书的详细信息、借阅信息以及评价信息等。借阅人员还可以把图书加入自己的预约清单和收藏夹里,方便借阅和查看。图书查询要提供多种条件的检索方式,包括简单查询、组合查询和分类查询等。 (2)读者管理:此功能是针对借阅人员的功能,借阅人员用自己的借书证和密码登录系统之后,可以查看或修改自己的个人信息、查看借书记录、预借书清单、图书收藏夹等,还可以在证件丢失时进行在线挂失记录。这些功能都必须是借阅人员本人才能操作,在进行系统登录时要根据登录信息判断操作权限。 (3)新书管理:这个功能是为了及时扩充图书馆馆藏而设的,具有登录权限的借阅人员和图书馆工作人员可以进行新书推荐,图书馆根据这些用户的推荐制定采购计划,然后统一进行采购扩充。这个功能主要包括新书推荐、信息确认和新书征订查询等。 (4)信息发布:这个功能主要是图书馆工作人员发布管理信息的功能,信息包括读者须知、网站使用说明、机构组成、联系方式、电子数据库地址、新书征订和采购计划等。另外,在借阅过程中超期未还的信息也会定期在这个功能内发布出来。 图书馆管理系统根据功能分布分为4个主要模块,分别是书目查询模块、读者管理模块、新书管理模块和信息发布模块。其中书目查询模块又分为图书查询、图书详细信息、图书评价三个子模块,读者管理模块分为个人信息维护、借书历史查询、预约借书单和借书证挂失四个子模块,新书管理模块分为新书推荐、新书征订、新书通报三个子模块,信息发布模块分为最新资讯、读者服务、入馆指南和资源数据库链接四个子模块。系统功能模块划分如图 3-5所示。 图3-5 系统功能模块划分3.2.1 书目查询模块 书目查询模块主要有图书查询、图书详细信息、图书评价3个功能,其中书目查询就是利用一些检索条件来查询书目的基本信息,根据检索条件的不同又分为简单查询、组合查询和分类查询。在书目查询之后,系统会列出所有符合检索条件书目名称和借阅信息,点击书目名称就会进入图书详细信息功能,图书详细信息功能会列出馆藏每一本图书的图书编号、作者、条形码、馆藏地址、馆藏书目、是否在架等信息,具有登录权限的借阅人员还可以把图书加入收藏单或预借单中方便借阅。图书评价是图书馆为了掌握读者对图书的喜好设置的功能,读者可以为图书打分和写评语,这有助于图书馆采购和补充馆藏图书。 书目查询和预借的业务流程如图3-6所示。图3-6 书目查询和预借业务流程图 书目查询的流程是这样的,首先在系统主页点击书目查询进入查询系统的页面,然后再在简单查询、组合查询和分类查询之中选择一个查询方式,根据自己的要求选择检索条件和录入检索信息。在完成检索条件录入之后,点击开始检索,系统会在数据库里查找符合检索条件的信息并把它们展示在检索列表内,检索列表的信息包括图书名和借阅情况等。如果图书全部被借出,用户可以把图书加入预借书单内(这里需要用户具有登录权限)。用户在列表中选择一个图书,点击图书名就可以进入图书详细信息页面,详细信息页面列出了图书的条形码和馆藏地址等信息,读者可以把图书加入收藏夹方便以后借阅(这里需要用户具有登录权限),还可以对该图书进行评价,评价也需要用户具有登录权限。 3.2.2 读者管理模块 读者管理模块是面向借阅人员的,必须通过登录才能操作其中的功能。读者管理模块的主要功能包括个人信息维护、借书历史查询、预约借书单和借书证挂失等。个人信息维护是为了保证借阅人员的信息正确性,因为借阅人员的个人信息是从教务系统获取的,为了保证不出现错误,需要借阅人员登录后首先确认个人信息,如果有误或者缺失要补全。借阅人员的登录账号和密码默认为借书证号码,借阅人员可以自己修改登录密码。借阅人员借阅过的图书都会在系统内记录,每个借阅人员可以查看自己的借书历史,借书历史包括借书和还书的书名、登录号、条形码和时间等信息。如果借阅人员推荐过新书,还可以通过借阅历史查询看到推荐历史。预约借书单是指借阅人员在查询图书时把没有馆藏在架的图书加入预借借书单里,每个预借借书单都有有效期,如果借阅人员没有在制定时间内借走图书,预约借书记录会自动失效。借书证挂失是指借阅人员需要挂失时,输入个人姓名就可以挂失借书证,挂失期间的借书证将不能借书和预借书。读者管理的业务流程图如图3-7所示。图3-7 读者管理业务流程图3.2.3 新书管理模块 新书征订是指图书馆工作人员根据借阅人员的推荐意见草拟购书计划的相关功能。本模块的功能包括新书推荐、新书征订、新书通报等。其中新书推荐是由具有登录权限的借阅人员才能操作的,用户可以填写推荐图书的基本信息、推荐理由和推荐购买数量,图书馆可以根据这些推荐信息来进行馆藏补充。新书征订是把所有的推荐图书信息列出来,供借阅人员补充推荐信息和图书馆工作人员查看的功能,新书征订提供征订查询功能,并在结果里把所有的推荐信息、推荐人和推荐时间列出来,借阅人员可以根据图书条目补充推荐信息,图书馆工作人员可以根据推荐信息制定采购计划。新书通报是提供近期加入馆藏的图书查询功能,查询条件包括图书类型、图书馆和上架时间等,方便读者选择最新的图书进行借阅。新书管理模块的业务流程图如图3-8所示。 图3-8 新书管理业务流程3.2.4 信息发布模块 信息发布模块的主要功能包括最新资讯、读者服务、入馆指南和资源数据库链接等。这些信息类功能都是图书馆为了方便读者和工作人员发布的实用信息,信息由专人负责定期更新。信息发布模块的信息类别和具体内容如表3-1所示。 表3-1 信息发布类别最新资讯读者服务入馆指南资源数据库链接图书馆概况读者须知规章制度数据库图书馆通讯信息咨询馆藏分布电子图书古籍典藏常用网站查收查引文献传递联系我们开馆时间入馆须知机构设置试用资源3.2.5 图书借还模块用户应用此模块可以办理图书借阅、还书等业务。其中各个子模块的主要内容如下表所示:表3-2 图书借阅描述表3-3 图书续借描述表3-4 图书归还描述3.2.6 个性化推荐模块要理解该模块的工作原理,我们先介绍它的计算模型,计算模型如图3-9所示:图3-9 个性化信息计算模型用户的个性化信息如兴趣爱好,阅读偏好等是一个比较模糊的概念,为了做个性化推荐,必须将用户的个性化信息通过标签的方式来描述,每个标签在描述个性化的时候都有一个权重,表示其影响力的大小。通过一个用户在其描述标签的各个维度上的投影,一本书籍使用该方法投影到被推荐用户的标签维度上,通过权重值的加权计算,可以计算出这本书对于特定用户的推荐值,推荐值越高表示用户可能更加会接收这本书籍。对待推荐书籍根据推荐值进行排序,就可以得到一个有序序列,这个序列就是系统推荐的结果候选集。书籍推荐模块的活动图如图3-10所示:图3-10 图书推荐活动图3.3 系统非功能需求 系统除了功能需求之外,还需要对系统的服务水平、承载力和非运行状态进行描述,这些都属于非功能需求的范畴。非功能需求虽然不能对系统的功能作出约束,但其内容都是直接影响用户体验和系统性能的,是非常重要的系统需求指标。 (1)权限规范 图书馆管理系统采用权限管理方式来规范系统的界面展示和操作,不同身份的用户将被分配不同的角色权限。比如工作人员就具有所有查询、管理图书信息的权限,借阅读者则具有管理自己个人信息和借阅信息的权限,普通用户仅具有查询图书的权限。 (2)易用性需求 图书馆管理系统本身部署在校园网内,面向全体教职员工和在校学生,用户界面的设计要充分考虑用户的接受能力,界面要美观大方、操作简单、有较多指引性的说明文字等。系统操作应具备一定的灵活性,不同角色权限用户的操作体验要统一,关键操作要有提示,避免由于误操作造成错误。 (3)可靠性需求 系统应能24小时运行,在出现错误需要重启或恢复的时间不应超过10分钟。系统部署配置要采用双机热备的方式,可在紧急时刻进行服务器转换。在进行系统备份和维护时,系统的数据要能够即时恢复且不会丢失。 (4)安全性需求 系统为了避免受到外来病毒或侵入代码的攻击,需要从软硬件两方面进行部署,硬件方面需要布置防火墙,软件方面则是需要从系统权限设定、密码加密和验证码等方面进行设计。 (5)可拓展性需求 系统要有较高的可拓展性,可根据实际需要任意拓展或兼容其他功能,要采用组件式的方式来设计系统。数据结构也要和校园网内的其他系统如学生管理系统同步,这样可以在不影响用户体验的情况下任意修改系统功能机构和实现数据共享。 3.4 本章小结 在本章中,对图书馆系统的多种业务需求、功能与非功能需求等展开了全面合理化分析。为后续的设计与实现工作提供了功能要求和非功能要求,也可以作为系统实现时模块划分和测试用例选择的依据。 4 系统设计 4.1 系统总体设计 4.1.1 系统软件架构 本系统基于J2EE架构开发,软件系统首先要根据J2EE的四个层次分层和模块化进行开发,这就可以保证系统实现期间系统的开发是按照技术标准和需求分析的要求进行的。本系统的软件架构分为四个层次,分别是表现层、Web层、业务层和数据层。其中表现层主要是指浏览器端的显示内容,需要使用HTML网页语言来显示,JavaScript脚本语言来控制页面元素。Web层主要是在表现层的基础上接受请求和响应应答用的,这里使用了Java平台的网页实现技术JSP和Struts框架。业务层是实现系统业务功能的层,每个功能都对应业务层的一些模块和功能类,这里用Spring技术来控制这些功能类。数据层主要是处理业务层封装的数据请求的,数据连接和响应的操作使用IBatis来完成,数据存储使用Oracle数据库。图书馆管理系统的软件架构如图4-1所示。图4-1 系统软件架构4.1.2 系统拓扑结构 系统的拓扑结构内包括数据库服务器、web服务器、网络设备和客户端浏览器等,此外为了保证系统的数据正确性和安全性,系统还要部署在校园网内,并要在校园网和外网之间部署防火墙和防攻击软件。在校园网内的用户可以登录系统进行操作,在外网的用户只能操作普通用户功能。所有的客户端访问都是通过浏览器进行的,没有在客户端部署任何业务逻辑软硬件设备。图书馆管理系统的拓扑图如图4-2所示。 图4-2 系统拓扑结构图4.2 模块数据流设计 基于J2EE的图书馆管理系统的顶层数据流图如图4-3所示。 图4-3 顶层数据流图4.2.1 书目查询模块 书目查询模块的功能主要包括图书查询、图书详细信息、图书评价功能等。图书查询就是利用一些检索条件来查询书目的基本信息,根据检索条件的不同又分为简单、分类查询等。在进行简单查询的过程中,主要涉及到主题内容、文献分类、查询类型、查询方式、排序方式、语言种类、显示列表方式、所属图书馆等。组合查询的条件包括题目、索书号、责任者、标准编码、主题词、题名缩写、作者、出版社等,这些条件可以多个并存。图书详细信息是指在搜索到指定的图书后,查看该书的各种详细信息和借阅信息,包括图书编号、作者条形码、馆藏地址、馆藏书目、是否在架等。图书评价是在查看详细信息后为图书填写评价和评分的功能,评价的内容可以作为检索条件和个人记录存储起来。书目查询模块的数据流图如图4-4所示。 图4-4 书目查询模块数据流图4.2.2 读者管理模块 读者管理模块是面向借阅人员的,必须通过登录才能操作其中的功能。读者管理模块的主要功能包括个人信息维护、借书历史查询、预约借书单和借书证挂失等。个人信息维护是指借阅人员可以在登录后查看和修改自己的个人信息和登录密码,因为为了便于管理,所有借阅人员的信息都是来自教务系统。借书历史查询是指借阅人员可以看自己在图书馆借书和还书的记录,记录信息包括图书名、借阅/归还时间、借阅条形码等。预约借书单是指借阅人员在图书查询过程中可以把要预约借阅的图书加入图书单中,预约借书的记录会在系统中显示,被预借或借出的图书其他借阅人员将不能再预借。借书证
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 合同文书


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!