版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SSM框架和UML的高校图书馆管理系统设计摘要随着智慧城市的发展,高校智慧校园建设的普及,开辟了高校智慧图书馆建设的新局面:建立全面的智慧图书馆,需要一个完善、高效、开放的图书馆管理做底层支撑。高校图书馆管理系统,就是依据高等院校教育的特点,为高校图书馆提供资源、管理、决策等层面的支撑。为了完成对图书馆管理系统的基本功能,提高图书馆的服务运营能力,本文开发完成高校图书馆管理系统。图书馆管理系统采用SSM框架集,使用了SpringMVC模式的设计思想,结合了Spring、Mybatis、react等J2EE框架技术,使用标准的三层体系结构。本文首先提出系统的各模块功能需求,使用UML用例图进行用例分析。其次,采用业务流程分析的方式,对读者服务、资源采编、资源典藏、统计查询四大模块的业务流程进行进一步的分析。进而,根据需求完成系统设计和数据库设计,通过时序图描述各个功能模块的模块执行流程,使用静态类图的同时,对类和类的方法进行充分解释,完成各个功能模块的详细设计。其次,本文根据系统的详细设计,完成每个模块,实现模块的功能和运行结果。最后,完成项目的测试保证模块运行质量。关键词:Managementsystem,SSM,library,UML目录摘要 II目录 ii第一章绪论 71.1 研究背景 71.2 研究意义 81.3 论文主要工作 81.4 论文章节安排 9第二章相关技术及发展现状 112.1 高校图书馆管理类似系统研究现状 112.1.1 国外图书馆管理类似系统分析 112.1.2 国内图书馆管理类似系统分析 122.2 SSM技术分析 122.2.1 SSM框架集 122.2.2 Spring 132.2.3 SpringMVC 142.2.4 MyBatis 162.3 UML简述 162.4 本章小结 17第三章图书馆管理系统需求分析与总体设计 183.1 概要分析 183.1.1 系统功能要求 183.1.2 系统性能要求 183.2 用例分析 193.3 业务流程分析 223.3.1 读者服务流程 223.3.2 资源采编流程 263.3.3 资源典藏流程 303.3.4 统计查询流程 313.4 系统设计 333.4.1 C/S与B/S选择 333.4.2 表示层 343.4.3 系统业务层设计 353.4.4 系统DAO层设计 353.4.5 系统持久层设计 363.5 数据库设计 373.6 本章小结 42第四章高校图书馆管理系统实现 434.1 高校图书馆管理系统开发概述 434.2 读者服务模块 444.3 资源采编模块 494.4 资源典藏模块 564.5 统计查询模块 584.6 关键技术解决方案 584.7 系统使用效果 594.8 本章小结 59第五章智慧图书馆服务平台测试 615.1 测试目的 615.2 测试方法 615.3 测试用例 615.4 测试结果 625.5 本章小结 62第六章总结和展望 636.1 总结 636.2 展望 64参考文献 66
第一章绪论研究背景图书馆是高等院校收藏各类在教学教研中所需的资源的场所,也是为高校内师生提供资源服务的场所,它代表了每所高等院校历史积淀,其中的馆藏资源是高校的教学教研以及文化财富,象征着高等教育建设发展过程的里程碑,承担着诸如一流学科建设、书香校园建设的重要使命。高校图书馆对馆藏资源肩负着精准采购、妥善保护、整理研究与高效利用的责任,对资源的管理工作应做到管理制度健全、账目清晰、采购精准、编目详细、典藏分布合理、检索快捷方便。纸质馆藏资源的的采购、验收、签收、编目及典藏,属于传统高校图书馆经常性的业务工作,随着时代的发展,高校图书馆的馆藏资源逐渐累积,纸质馆藏数量日益庞大,且种类发生了变化,传统的人工管理模式显得落后,给高校图书馆的管理工作造成馆藏统计不完整、不同资源管理不规范、不同资源的账目混乱、馆藏利用统计不科学等一系列问题。特别是近二十年来,高校图书馆经费使用方式、软件相关技术以及资源利用方式发生了较大改变,非纸质资源的广泛利用,线上线下活动的不断开展,此时传统的高校图书馆系统管理难以支撑多资源的采购和管理以及多元化的读者服务需求。在国内移动互联网大发展的环境之下,互联网、移动终端广泛普及,高校内各部门都在加快信息化建设升级的步伐,高校图书馆行业也不例外,智慧化进程涉及到高校图书馆在新时代下是否具备生机和活力,并且在较大程度上决定着高校图书馆在新的社会环境、新的高校教学教研环境下生存方式与发展水平。从我国高校信息化建设的发展不难看出,随着高校智慧校园的实施,高校各部门对信息化工作进一步重视与加强,IT技术在高校信息化中的应用日益增加,信息化水平显著提高。目前各大高校图书馆都在大力推进智慧图书馆的建设,建设了智慧门户、智慧移动端等,取得了一定的成绩。然而,由于现行的图书馆自动化管理系统功能缺陷,维护和扩展困难,无法发挥系统应有的优势,一定程度上影响了整个高校智慧图书馆的建设成果。因此,克服现行的图书馆自动化系统的弊端,构建功能吻合图书馆管理实际需求、易维护和能够不断扩展的图书馆管理系统,实现高校图书馆管理的高效,成为图书馆行业智慧化进程中必须解决的核心问题。研究意义本课题结合某高校图书馆的具体情况开展研究。首先,图书馆管理系统促进高校图书馆服务工作的进一步科学化、智慧化、规范化,把图书馆采访、编目、读者服务馆员从繁琐、枯燥的传统加工劳动中解放出来,把主要精力投入到馆藏资源的精确采购、价值研究、学术支撑和多元化读者服务等工作中。研发新一代图书馆管理系统,不但有助于图书馆管理工具及措施的升级换代,而且可以引发图书馆管理理念和业务模式的深刻变革。第二,从学术研究的角度看,图书馆属于权威的学术资源机构,借助于图书馆管理系统,能够为相关专家学者建立一个开放的、全面的学术环境。第三,在图书馆管理系统功能方面,能够符合图书馆管理要求。其中,资源采访模块不仅可以能够记录外部资源的采购情况,而且可以从外部采购单中挑选适应的资源;资源管理模块不但具备纸质资源编目功能,而且能够对复本进行批量的操作;资源典藏模块对馆藏资源进行新书分配,以及清点、调拨等功能;读者服务模块能为读者提供借还书服务,以及续借等服务;分析决策模块包括多条件查询与分类统计功能,可以满足不同查询需求及各类报表的统计功能;系统管理子系有利于系统管理员对系统用户进行管理,参数配置,并且能够保证系统安全。第四,在图书馆管理系统技术架构方面,SSM框架把模型、视图和控制器分别映射到相应的应用组件,模型对应DAO类,视图对应前端页面渲染展示,控制器对应Service类,处理业务逻辑,使图书馆管理系统程序结构清晰,分层合理;DAO作为图书馆管理系统持久层框架,能够使开发人员直接操作对象,与数据库联络的任务都封装在此;而且,在高校图书馆管理系统中,把系统模型层实行细分,在系统业务层同持久层之间添加了数据访问层。这样可以简化开发中的工作流程,提高图书馆管理系统开发效率及可维护性,对相关行业管理系统的开发具有良好的借鉴意义。总体来说,在图书馆智慧建设的进程中,图书馆管理系统不但能更好地符合新形势下图书馆管理的需要,还能够为图书馆的可持续发展提供的资源。论文主要工作论文在探讨现阶段图书馆管理现状与国内外图书馆管理系统有关研究工作的基础上,运用SSM相关技术,研究、设计、开发图书馆管理系统,主要工作如下:(1)分析图书馆管理系统的需求,并绘制图书馆管理系统的用例图,对系统功能进行分析。(2)对图书馆管理系统的工作流程进行分析,绘制图书馆管理系统的业务流程图。(3)在分析图书馆管理系统的基础上,设计数据库表以及表结构。(4)站在高校图书馆管理逻辑思维的角度,进行系统控制层、业务层及持久层设计。其中,表现层及控制层运用SpringMVC框架,业务逻辑层运用业务Service类,系统数据持久层运用Mybatis框架,在业务Action类与持久层之间运用DAO(DataAccessObject)模式构建数据访问层。(5)运用SSM集成框架,对图书馆管理系统资源采访、资源编目、资源典藏、读者服务、分析决策及用户管理等功能模块,进行详细设计与实现。论文章节安排论文共分为六个章节,首先分析了图书馆管理系统研究背景、类似系统现状及存在问题,简述研发图书馆管理系统必要性。其次,概述了SSM框架以及UML相关理论。在这基础之上,详细分析高校图书馆管理系统需求,并基于SSM集成框架对系统的总体设计与实现进行了详细的阐述。最后,总结了高校图书馆管理系统设计与实现过程,并对其应用前景进行展望。论文的内容具体安排如下:第一章简述课题研究背景,突出论文的现实意义。第二章概述高校图书馆管理系统内容与SSM、UML(UnifiedModelingLanguage,即统一建模语言)相关理论,主要内容包括图书馆管理类似系统研究现状及存在问题、SSM技术分析、UML概述。其中,SSM技术分析包括SSM框架集、Spring、SpringMVC与MyBatis等内容。第三章探讨高校图书馆管理系统需求分析与总体设计,主要内容包含高校图书馆管理系统需求概要分析、系统用例分析、系统业务流程分析、系统架构设计以及数据库设计。其中,高校图书馆管理系统用例分析内容,包括采访馆员用例、编目馆员用例、典藏馆员用例、流通馆员用例、系统管理员用例;高校图书馆管理系统业务流程分析内容,包括高校图书馆管理整体流程、采访流程、编目流程以、典藏流程、流通流程、统计分析流程及统一检索流程。第四章是论文的主要部分,在第三章高校图书馆管理系统需求分析与总体设计的基础上,对高校图书馆管理系统实现过程进行阐述,主要内容包括高校图书馆管理系统开发概述、读者服务模块、采编模块、典藏模块、统计查询模块的实现过程,以及系统可扩展性、系统切换方式等关键技术解决方案。第五章是对开发完的系统进行测试,并撰写测试报告。第六章对图书馆管理系统设计与实现过程,并对其应用前景进行展望。
第二章相关技术及发展现状高校图书馆管理类似系统研究现状国外图书馆管理类似系统分析1950年代,国外开始着手开发图书馆的机读目录(MARC),标志着图书馆自动化系统(ILS)的诞生。自此以后,图书馆开始利用自动化系统替代原有的人工登记目录,为第二代系统的开发奠定了理论和技术基础。第一代系统大多数由高校开发,存在诸多问题,功能单一,且需要多个系统分别管理不同的功能。70年代末,自动化管理系统开始由多个单一功能的系统集成为一体的第二代图书馆管理系统,专业研发图书馆管理系统的公司也在这一时期诞生。商业公司进入该领域,给很多缺乏开发能力的中小图书馆提供了使用自动化管理系统的可能,同时也带来了系统发展方向不受图书馆自身控制的问题。2011年,马歇尔·布利汀在自动化产品市场(AutomationMarketplace)2011年报告[1]中提出了下一代图书馆管理系统的概念,平台正在产生。将以全新的业务模式和技术框架,为读者提供服务,为馆员提供强有力的支撑,智慧图书馆时代也将来临[2]。 新一代系统主要有艾利贝斯公司开发的Alma系统和OCLC开发的WMS系统(WorldShareManagementSystems)[4],他们的特点主要在:采用以服务为导向的SOA架构,同时提供软件即服务的方式为图书馆提供应用支撑,完美解决了多个高校之间的业务互联互通问题。业务层面解决了,困扰了高校图书馆多年的多种类型馆藏资源无法在同一系统中管理的困境。 然而,业务层面的突破带来的是更多的资源在系统中被采访、编目、存储、使用,间接导致系统异常复杂。而SOA架构无法解决高并发和高可用的难题,同时系统的扩展性也受到了影响。无法长期支撑高校智慧图书馆的建设,仅可做短期内业务支撑不足的补充。 国外,目前有不少的高校使用了第三代图书馆管理系统,也有大量高校还在使用第二代图书馆管理系统。国内图书馆管理类似系统分析我国图书馆管理的发展远不如国外,早期发展也很缓慢,能够使用的高校也比较少。20世纪70年代,国内图书馆开始发展,跳过了国外的第一代图书馆管理系统,直接使用第二代图书馆管理系统。但是由于自身经济和科技水平的限制,只能引进国外现成的图书馆管理系统。直到80年代末期才开始着手图书馆信息化建设的研究和探索,开始自主研发的道路,各大高校在这个阶段开始投身图书馆管理系统的开发。90年代中期到90年代末,市面上涌现了一大批国产自动化管理系统。出现了如汇文、图创、ILAS、金盘等系统,这些系统从早期的文件系统存储,到使用早期的数据库如FoxPro、Sybase、SqlServer,再到后来基本使用Oracle数据库。开发语言也是经历了漫长的技术更替,如vb、Delphi、.net、Jsp等。在这过程中,系统功能也发生了很大的变化。但是,由于软件公司开发水平、管理水平的限制。2008年以后,国内图书馆系统已无实质性的开发升级。国内图书馆系统存在以下问题:部分图书馆管理系统功能欠缺。大部分系统都包含基本的采编、流通、检索、统计业务。缺乏对海量数据的管理,以及对新应用场景的支持。从技术层面来说,绝大部分系统都是单机版,极少数采用B/S体系结构。少部分系统依旧采用VB进行开发,系统运行效率差,可扩展性弱,维护难度大。数据库层面大部分使用Oracle和SqlServer,由于图书馆管理系统数据量大,同时此类系统缺乏对非结构化数据的存储、管理以及大数据分析的技术处理手段,所有数据都汇入Oracle等数据库,此类数据库会变得越来越臃肿。少数B/S体系的系统,系统开发依赖Flash等控件,诸多浏览器已无法支持。图书馆管理系统采用C/S体系结构,需要在对于电脑上安装客户端,维护复杂。同时,客户端软件对操作系统有版本要求,使用场景有限制。鉴于C/S体系结构的缺点,多校合并、新建校区的情况,很多高校不得已运行了两套独立的图书馆管理系统,给图书馆的管理带来巨大的困难。SSM技术分析SSM框架集SSM是Spring、SpringMVC和MyBatis组成的框架集,是目前比较主流的JavaEE企业级框架,适用于搭建各种企业级应用系统[5]。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架[6]。利用它可以装载bean的机制,不需要在每次使用某个类的时候进行初始化,关键字new也很少被用到[7]。SpringMVC更加容易进行定制,因为他把分发器、模型、处理程序对象的角色以及分控制器进行了分离。MyBatis是一个基于Java的持久层框架,封装JDBC,使得数据库底层的操作更加透明化[8]。MyBatis使用XML或注解用于配置和原始映射,通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射[9]。可以说,MyBatis是一个用来帮助管理数据增删改查的框架。SSM是一种标准MVC模型,它将整个系统划分为视图、控制器、服务和DAO4[7]级别,使用SpringMVC管理请求的转发和显示,使用Spring实现业务对象管理,并使用mybatis作为数据对象[9]的持久引擎。由于DAO和Service级别匹配较低,必须独立开发;由于两个控制器和视图级别之间的耦合较高,因此在开发过程中需要关联。SSM框架简单易懂,易于维护,这也是为什么到目前为止依然还是企业级架构的主要选择。SpringSpring是一个开源框架,旨在降低企业应用程序开发的复杂性。它能够在开发中分离不同层,允许每一层灵活选择组件,是为J2EE的发展提供一个整体框架。Spring为企业应用程序开发提供了一个轻量级的解决方案[10]。Spring框架主要提供AOP编程,核心控制反转(IoC)机制,一个可以集成各种持久层的框架,有自己的MVC框架。Spring框架希望在JavaEE应用开发中提供不同层的解决方案,而不是只关注一层。从图2.1可以看出,Spring框架实现了表示层、业务层和持久层的集成,但这并不意味着现有框架可以被Spring框架取代,而是Spring框架可以实现现有框架的无缝集成,为企业应用开发提供更大的灵活性。图2.1spring框架SpringMVCSpring框架是一种轻量级的开源框架,它的功能很大程度上是一个容器,是用来做集中管理。Spring是非侵入性的。在其他框架下的,程序开发过程中,我们经常需要import相应的包。因为spring的Jar包,但是Spring不需要进行import,非常方便。因为有了spring框架的存在,许多与业务逻辑无关的可重用功能会被交给其他组件。Spring的工作原理如图2.2所示。WebWeb容器Spring框架对象A对象B图2.2Spring工作原理Figure2.2SpringworkprincipleMVC是一个构建网络应用程序的全功能框架。MVC由三部分组成:模型、视图和控制器。MVC可以通过策略接口成为一个高度可配置的框架。之所以在整个架构系统中用SpringMVC代替Struts1或者Struts2,是因为Struts框架经过测试,开发效率和运行速度都不如SpringMVC。MVC框架将应用系统分为三层,减少了三层之间的耦合。三层协同实现系统的业务功能,提高了系统整体的可扩展性,使系统更易于维护[11]。MVC模式图如图2.3所示。 View视图层:主要用于用户查看界面交互的显示结果,可以查询Model层的状态,向控制器发送用户请求。 Model模型层:它可以管理和维护自己的或负责的数据和模型,但它不关心调用哪个控制器和使用哪个视图向用户显示。当模型本身或其负责的数据发生变化时,系统通常会采用某种同步机制来通知模型对应的视图。Controller控制层:负责接收View传递过来的用户请求,通过请求中的参数来调用对应的Model进行请求处理,最终将相应结果呈现给用户[12]。方法调用方法调用事件Model(模型)封装业务规则、状态处理、业务流程通知改变用户界面交互/显示结果View(视图)Controller(控制器)状态改变接收请求、调用相应模型图2.3MVC模式图解用户请求视图选择Figure2.3MVCpatterngraph状态查询MyBatisMyBatis框架是一个半自动映射的框架,用来对该信息传播共享平台进行持久化操作。当开发的软件产品需要一个灵活的、可以自动生成映射关系的框架时,MyBatis框架一定是最好的选择。MyBatis框架具有自动映射的功能,可以对SQL进行动态配置,无需人工编写映射关系,总体上提高了软件产品开发的效率。但是需要开发人员提供SQL和相应的映射规则,对于开发人员来说工作量会加大。所以在这里也可以选择JavaORM框架Hibernate,Hibernate框架是建立在POJO和数据库表模型的直接映射关系上的,它通过XML映射文件或者注释提供的规则映射到数据表库上的,提供了一种全表映射的模型。UML简述UML是软件界一种通用的、可视化的面向对象建模语言,可以说是面向对象分析和设计中的标准化表示,被软件设计者用来实现软件的具体的、可视化的、文档化的描述,它包含了类图、对象图、用例图、活动图、顺序图、协作图、状态图及实施图等多种图形,运用图形来直观、形象地描述应用系统的不同参与者同系统之间的交互[13][14][15]。它提供了许多视图,从不同的角度展示所开发系统的静态、动态特性,帮助设计系统架构,或者为最终的软件产品提供相关的详细文档数据[16][17][18]。在使用UML进行软件设计的初始阶段,最大限度地考虑和设计所有参与系统交互的用户,开发的系统是一个高效、高可用的企业应用系统[19][20][21]。在本课题中,需求分析阶段利用用例图、流程图等UML视图分析系统需求,用例图用于分析软件使用者怎样和企业应用系统进行交互,流程图用于分析软件使用者所属组织机构的工作流程。本章小结本章简述了高校图书馆管理系统有关内容及SSM框架集、UML相关理论,主要包括高校图书馆管理类似系统研究现状及存在问题、Spring、SpringMVC概述、MyBatis以及UML简述。其中,高校图书馆管理系统的研究现状及存在的问题,包括国外高校图书馆管理系统建设的基本情况以及国内高校图书馆管理系统建设基本情况两部分内容,SSM技术分析包括SSM框架集、spring、springMVC、MyBatis以及UML等内容。本章内容为下一步高校图书馆管理系统需求分析与设计奠定了基础。
第三章图书馆管理系统需求分析与总体设计概要分析系统功能要求下面简述图书馆管理系统功能要求。1.资源采编资源采访包括征订目录、订购、验收等功能。从书商的清单中选择图书馆需要的图书,并且对书目信息的增删改,以及复本信息如条码号、索书号、馆藏地、状态等的增删改。对图书资源的馆藏地的设置,调拨、清点等。2.读者服务读者信息管理和借还书、续借等操作。3.统计查询对各项业务进行统计,包括借还统计、馆藏统计等各类统计功能。检索图书等。4.系统管理设置权限,菜单管理等。根据图书馆自身业务场景设置各类参数,做到因地制宜。系统性能要求按照用户对图书馆管理系统的要求,确定系统在响应时间、可靠性、安全等种领域符合图书馆各项管理工作的要求。具体分为以下几方面:1.
响应时间要求当有300个以上用户同时对系统进行查询操作时,百万级检索量的结果响应时间应不低于2秒,页面刷新频率应在0.2-0.3次/秒。高校图书馆的管理系统应该能够监控系统后台服务的各种非正常状态。比如通讯中断,数据库服务器无法连接,CPU使用率飙升等。2.系统可靠性分析系统运行时间7*24,数据更新处理必须是实时的,数据之间的转换和传输时间,接口更新处理时间;3.系统可扩展性需求图书馆管理系统设计要能够体现扩展性,方便后期功能扩展。4.系统安全性需求图书馆管理系统必须有权限管理,各个功能模块才能运行。系统应受到保护,防止因各种类型的误操作而可能造成的数据丢失、破坏,防止未登录用户的非法操作。用例分析下面从图书馆管理系统采编馆员、典藏馆员、流通馆员、统计查询馆员等角度,分析业务用例。从采编馆员、典藏馆员、流通馆员、统计查询馆员等角度完成分析的业务用例。图3.1为图书馆管理系统采编馆员业务用例图。在图3.1中,采编馆员用例包括图书采购管理、图书验收、图书编目、图书典藏等四个子用例。其中,图书采购子用例包括订单组织和图书查重两项操作,图书验收子用例包括验收核对、分配财产两项操作,图书编目子用例包括编辑书目信息、编辑复本信息两项操作,图书典藏子用例包括新书上架、旧书报废两项操作。<include>订单组织<include>订单组织图书查重图书采购图书查重图书采购<usecase><include><usecase><include>验收核对验收核对分配财产图书验收分配财产图书验收<usecase><usecase>编辑书目<usecase>编辑书目<usecase><include><include>编辑复本采编馆员图书编目编辑复本采编馆员图书编目<usecase><usecase>新书上架图书典藏新书上架图书典藏旧书报废<include>图3.1图书馆管理系统采编馆员业务用例图图3.2为图书馆管理系统读者服务馆员业务用例图。在图3-2中,读者服务馆员用例包括图书外借及读者管理两个子用例。其中,图书外借子用例包括读者认证、图书借出,读者管理子用例包括读者注册及读者信息管理两项操作。读者认证<include>读者认证<include>图书借还图书借还图书借出<usecase>图书借出<usecase>读者注册<include><usecase>读者注册<include><usecase>读者管理读者服务馆员读者管理读者服务馆员读者信息管理读者信息管理图3.2图书馆管理系统读者服务馆员业务用例图图3.3为图书馆管理系统典藏馆员用例图。在图3.3中,典藏馆员用例包括新书典藏、图书处理两个子用例。其中,新书典藏子用例包括新书分配和状态变更两项操作内容,图书处理子用例包括调拨和旧书报废两项操作内容。旧书报废旧书报废<include><include>图书处理图书处理调拨调拨<usecase><usecase>图书典藏状态变更图书典藏状态变更<include>新书分配<usecase>采编馆员<usecase>采编馆员图3.3图书馆管理系统典藏馆员业务用例图图3.4为图书馆管理系统查询统计馆员业务用例图。在图3.4中,查询统计馆员用例包括采购订单查询、新书入藏查询、读者借还量查询、馆藏清单查询等子用例。其中,采购订单查询子用例包括按日期范围查询、按供应商查询、按批次查询等操作内容,新书入藏查询包含按实际范围查询、按馆藏地查询、按图书类型查询等三项操作内容,读者借还量查询包含按时间范围查询、按读者类型查询、按馆藏地查询等三项操作内容,馆藏清单查询包含总体统计和按时间范围统计。<include>按日期范围查询<include>按日期范围查询按供应商查询采购订单查询按供应商查询采购订单查询按批次查询按批次查询<usecase><usecase>按时间范围查询<include>按时间范围查询<include>按馆藏地查询新书入藏查询按馆藏地查询新书入藏查询按图书类型查询按图书类型查询<usecase><usecase><include>按时间范围查询<include>按时间范围查询<usecase><usecase>按读者类型查询读者按读者类型查询读者借还量查询按馆藏地查询按馆藏地查询查询统计馆员<usecase><usecase><include>总体统计<include>总体统计按时间范围统计馆藏清单查询查询按时间范围统计馆藏清单查询查询图3.4图书馆管理系统查询统计馆员业务用例图业务流程分析读者服务流程1.借书借书操作时,首先需要进行读者认证,借助外部设备一卡通等认证读者是否存在。根据认证的结果判断,该读者是否存在。如果存在,则进一步判断读者是否有效,读者可能会存在多种状态。例如,注销、停借、冻结等。如果是有效读者,那么此时接收图书的条码号,判断该图书是否为可借状态。如果是可借,那么更新读者信息,在读者名下增加该书的借阅信息。同时变更图书的状态由可借变为借出,最终完成借书流程。借书流程如图3.5所示。
图3.5图书馆管理系统借书流程图2.还书 还书操作时先接收图书条码号,读取成功后对该书当前状态进行判断。是否有超期、丢失、污损的情况存在,如果没有进行下一步归还图书。如果有相关情况,需要根据图书馆管理办法缴纳罚款。执行还书后,需要做判断,该书是否有人预约或者委托。如果有,提醒上预约、委托书架。没有的话,正常进行后续的图书上架流程。还书流程如图3.6所示。图3.6图书馆管理系统还书流程图3.续借续借时,首先需要进行读者认证。根据认证的结果判断,该读者是否存在。如果存在,则进一步判断读者是否有效,读者可能会存在多种状态。例如,注销、停借、冻结等。如果是有效读者,那么此时展示出该读者当前在借图书信息。读者选择需要续借的图书进行下一步操作,判断所选图书是否可以续借。如果是可续借,那么更新读者信息,在读者名下修改该书的应还日期。同时变更图书的应还回时间,最终完成借书流程。续借流程如图3.7所示。图3.7图书馆管理系统续借流程图资源采编流程1.采访 采访时有以下流程;(1.)导入书单 采访时,由对应供应商提供所能采购书目订单,也叫征订目录。书单文件格式一般有.iso或Excel等格式,导入信息入数据库,可查看每种书的元数据信息。(2.)订前查重 在选书前,先做查重。目的是为了减少重复选书,提高工作效率。订前查重可根据书目的ISBN、题名、责任者、出版社等字段,选择完全匹配或前方一致进行查重。匹配条件可单选或多选,也可以使用“与”、“或”进行多字段的查重。查重完成之后,可对重复数据进行处理,删除或直接对不重复数据进行订购操作。(3.)初选 在处理完重复数据后,在剩下的书目中选择自己想要的数据。跟图书的中图法分类、出版社等情况进行单选或多选的订购操作。做完订购,将离开征订流程进入订购流程。(4.)终选 终选,顾名思义在初选的基础上再次选择所需的订购书目,提高经费使用效率。(5.)订后查重 在终选完成后,发订前,需要再次做查重。因为可能有多个采编馆员对书单进行操作,书目选择可能会在征订后再次重复,此刻为了避免重复,再次查重。对查重结果进行处理,直接删除与已发订数据重复内容。(6.)发订 做完订后查重后,选择相应书目,相应经费,发订至对应供应商,整个采访流程就完成了。采访流程如图3.8所示。
图3.8图书馆管理系统采访流程图2.验收验收分为以下几个流程:(1)接收书目 拿到实体书后,录入ISBN号,与已发订数据进行比对,命中对应订购书目。(2)核对信息 命中订购信息,此刻需要进行几项核对。首先核对拿到手的书是否题目、责任者等信息是否正确,如果错误可能需要退换货。其次,核对价格等信息是否有误,如果超出可能需要退换货,否则将超出图书馆制定的采购规则。最后,核对到货的数量与订单订购的数量是否一致,多的需要退货,少则需要联系供应商补发货。(3)分配财产号 完成核对信息后,确认该书为图书馆需要采购的书目。此刻需要对书目分配固定资产编号,分配固定资产编号,可以方便图书馆和学校对图书资源进行清查,同时利于采访馆员数据记录。验收流程如图3.9所示。图3.9图书馆管理系统验收流程图2.编目 编目分为以下几个流程:(1).编目 首先对书目进行元数据信息的编辑,增删改相应字段和字段信息,编目质量的好坏直接决定了图书检索和利用的效率,检索的索引全部来自于编目后的MARC信息。(2).分配条码 对书目信息完成编辑后,需要对复本也就是每册图书进行相应的信息加工。分配条码号的目的是为了给每册图书一个唯一识别号,在借还书或其他场景利用时,不会出现图书重复的情况。(3).分配索书号 索书号是便于图书排架及查找的重要信息,根据图书馆规则分配对应的索书号。(4).完成编目 在对书目和复本信息完成全部编辑后,整个编目流程就结束了。验收流程如图3.10所示。图3.10图书馆管理系统编目流程图资源典藏流程典藏分为以下几个流程:1.分配馆藏地 编目完成的书进入典藏流程。首先对所有书分配馆藏地,馆藏地的分配一般按照中图分类法和馆舍的构成去完成,便于提高馆藏利用效率。2.修改状态 对于需要开架流通的书,默认给予可借状态。对于不可外借的,则需要修改图书的状态为阅览或不可借。3.图书上架 完成这些操作后,最后一步图书上架,标志着图书由采编加工状态变为可使用状态,读者可以去进行外借或阅览。典藏流程如图3.11所示。图3.11图书馆管理系统典藏流程图统计查询流程1.馆藏统计选择多种条件进行全馆馆藏资源的统计,例如按种、按册、按馆藏地、按时间区间等,选择完成后进行统计,得到相应的统计结果,生成对应的统计报表,最终选择导出或打印,完成整个统计流程馆藏统计流程如图3.12所示。图3.12图书馆管理系统馆藏统计流程图2.书刊检索设置检索条件,如题名、责任者、ISBN号、索书号、出版社等,输入检索词进行检索,展示结果列表页,选择想要查看的书刊,进入详情页,展示书刊详细信息,如MARC何馆藏复本。书刊检索流程如图3.13所示。图3.13图书馆管理系统书刊检索流程图系统设计C/S与B/S选择在系统体系结构选择时,主要考虑了高校图书馆管理系统的以下特点:1.高校建设通常存在多校区以及多校合并的情况,现实中系统管理人员偏少,硬件设备配置参差不齐。2.本系统为智慧图书馆建设体系的一个软件,研究成果在实际中有诸多应用。在高校图书馆建设过程中,不断有新场景、新需求,需要对系统不断的迭代升级。目前,主流体系结构为B/S与C/S两种。B/S架构就是在浏览器访问应用系统,不需要独立安装客户端。B/S体系结构主要特点是易于维护,开发可实现前后端分离,易于迭代升级。该结构对用户的终端PC硬件要求很低,并且终端维护几乎为0;又因为软件是集中部署在服务器上,所以,当系统软件进行升级迭代时,无需对客户端进行相关维护,适用于预期需求变化较大或频繁的情况。本系统是图书馆日常业务运行的管理系统,存在终端使用者较多的情况,并且终端硬件的配置、操作系统往往比较落后。C/S架构虽然在流畅性、安全性、稳定性等研究角度具备优势,但这些角度需求在本研究课题中优先级较低。所以,图书馆管理系统选择使用B/S架构。表示层图书馆管理系统是基于react架构的,表示层运用ant-design页面技术进行编写,控制层主要运用dva框架的控制器组件,它在图书馆管理系统模型同视图之间承担中间调度角色。dva基于redux、redux-saga和react-router@2.x的轻量级前端框架。Redux-saga是用于管理Redux应用异步操作。ReactRouter@2.x是完整的React路由解决方案。dva主要由4个部分是数据流向,Models,Router,RouterComponent。dva数据的变化通常是由用户交互行为或浏览器行为(如路由跳转等)触发的。).当这种行为改变数据时,可以通过dispatch发起action。如果是同步行为,会通过Reducers直接改变状态。如果是异步行为(副作用),它将首先触发Effects,然后流向Reducers,最后改变状态。所以在dva中,数据流非常清晰简洁,思路与开源社区基本一致。State表示Model的状态数据,通常表现为一个javascript对象(当然它可以是任何值);Action是改变State的唯一途径。通过dispatch函数调用一个action,从而改变对应的数据。action必须带有
type
属性指明具体的行为,其它字段可以自定义,如果要发起一个action需要使用
dispatch
函数;需要注意的是
dispatch
是在组件connectModels以后,通过props传入的。dispatchingfunction是一个用于触发action的函数,action是改变State的唯一途径,但是它只描述了一个行为,而dipatch可以看作是触发这个行为的方式,而Reducer则是描述如何改变数据的。在dva中,connectModel的组件通过props可以访问到dispatch,可以调用Model中的Reducer或者Effects。Subscription语义是订阅,用于订阅一个数据源,然后根据条件dispatch需要的action。数据源可以是当前的时间、服务器的websocket连接、keyboard输入、geolocation变化、history路由变化等。Router通过浏览器提供的
HistoryAPI
可以监听浏览器url的变化,从而控制路由相关操作。dva实例提供了router方法来控制路由,使用的是react-router.在组件设计方法中,dva中我们通常将其约束为RouteComponents,因为在dva中我们通常以页面维度来设计ContainerComponents。系统业务层设计业务逻辑控制器负责处理图书馆管理系统图书采编、典藏、借还等图书馆员及读者相关请求。图书馆管理系统业务控制器包括PurchaseController、OrderController、UserController、CollectionController、LoanHistoryController、PhysicalItemController等Controller类,它们分别承担资源预订、资源订购、用户管理、订购购包管理、借阅信息管理、资源管理等方面的业务转发工作。业务层设计如图3.14所示图3.14业务设计系统DAO层设计图书馆管理系统采用SSM架构,业务控制器Action类只需要选择和执行业务逻辑处理方法,真正的业务处理是通过DAO类实现的。在系统业务类Action类中,首先构建DAO类的对象,然后利用Mybatis框架的ORM映射文件和持久化类,实现与数据库的数据交换。图书馆管理系统DAO类包括purchaseLineDAO、physicalitemDAO、orderDAO、userDAO等。DAO模式能够将数据访问和业务逻辑进行分离,并且能够对业务数据的对象化进行封装。在本项目中,DAO模式通过对系统业务层给予数据抽象层接口,实现了以下几个目标:1.独立的数据访问逻辑。上层结构给出了抽象数据存储逻辑和抽象数据访问接口,可以方便团队协作开发。2.分离底层数据访问的具体实现。DAO模式将数据访问分为抽象层和实现层,然后将数据应用和数据访问的底层实现细节分开。开发人员可以在保持上层结构不变的情况下,通过切换底层实现措施来编辑数据访问的具体机制。3.资源管理与调度的分离。DAO模式将数据存储逻辑与业务逻辑分离,便于在数据访问中完成统一的资源调度。通过使用数据库连接池和缓存机制,可以在保持上层系统不变的情况下,大大提高系统性能。4.数据抽象。数据抽象。DAO模式通过对底层数据的完美封装,为业务层提供了一个面向对象的调用接口,方便业务逻辑开发人员完成面向业务中实体的编码。使用DAO模式,系统的业务逻辑更加清晰、生动、具有描述性,将会给运行时的维护带来极大的便利。系统持久层设计系统DAO类调用的类是mybatis里面的持久化类,图书馆管理系统持久化类包括purchaseLineMapper.xml、orderLineMapper.xml、physicalItemMapper.xml、loanHistoryMapper.xml、userMapper.xml等数据库映射文档。Mybatis的每一个映射文件包含了一个持久化类同关系数据库表的映射关系,包括映射到数据库中具体每个表的具体字段,以及集合属性映射到哪些相关字段。mybatis是一种持久层框架。和hibernate相比,hibernate全自动化地配置文件书写之后不需要书写sql语句。Mybatis的半自动化,既需要自己书写sql语句,也需要自己映射进行定义。虽然看似增加了程序员的工作量,但是实际上能够使得设计具有较高的灵活性,并且也支持一部分hibernate的特性,如缓存,映射和延迟加载等;mybatis数据库的兼容性弱于hibernate。移植性也不是很强,但是胜在能够灵活编写sql语句,并且高性能的sql语句也是支持的。mybatis不会强加影响在应用程序或者数据库的现有设计上。Sql语句是在xml文件编写的,可以很容易进行sql优化和统一管理。通过Sql基本上可以实现所有功能,而不依赖于数据访问框架。将sql与程序代码解耦:通过提供DAO层,将业务逻辑和数据访问逻辑分开,使得系统设计更清晰,更易于维护,更易于单元测试。sql和代码的分离提高了可维护性。数据库设计1.数据库设计原则数据库是软件系统的核心之一,数据库运转的优良对整个系统的起着关键的作用。随着图书馆馆藏资源的不断积累,业务数据量也在飞速增长,如何在稳定的前提下高效地处理海量数据成为考核图书馆管理系统数据库性能的重要标准之一。数据库设计的目标是为图书馆管理系统准备一个信息基础设施及高效的运行环境,不如人意的数据库设计质量和数据结构,会导致图书馆管理系统项目的失败,所以需要合理设计数据库。本系统使用mysql5.7作为数据库,在设计系统的数据库时,应该着重考虑以下几方面的问题:(1)系统的数据库中表与表之间的关系必须明确、清晰。(2)数据表必须规范、标准,这样才能在后期运行中进行系统功能的扩展和系统维护。(3)冗余也是必须要考虑的一个问题,否则很容易发生数据不一致,同时也能够较少的使用存储空间,也有利于提高数据库的运行效率。(4)在并发操作时,需要特别考虑数据的一致,可以考虑利用到数据库的锁等机制。2.表结构设计馆藏数据表如表3.1所示表3.1
馆藏复本表序号名称代码数据类型长度可空主键外键备注01副本idITEM_IDCHAR(19)19否是否02元数据控制号RECORD_IDCHAR(32)32否否是03条形码BARCODECHAR(18)18否否否04财产号PROP_NOCHAR(8)8是否否05索书号CALL_NOCHAR(11)11是否否06借阅状态CIRC_FLAGsmallint2否否否0在馆,1外借07书架号SHELF_NOint11否否否08验收包IDCOLLECTION_IDint11否否否09所属馆藏IDLOCATION_IDint11否否否10订购工作台IDDESK_IDint11否否否表3.2
借阅历史表序号名称代码数据类型长度可空主键外键备注01借阅流水IDLOAN_HIST_IDCHAR(19)19否是否02复本IDITEM_IDCHAR(32)32否否是03用户IDUSER_IDInt11否否是04实还日期RETURN_DATEDatetime8是否否05催还日期RECALL_DATEDatetime11是否否06借出日期LOAN_DATEDatetime2否否否07借阅规则RULE_IDint11否否否08操作类型LOAN_TYPEint11否否否09所属馆藏IDLOCATION_IDint11否否否10所属借阅IDLOAN_IDint11否否否表3.3
读者表序号名称代码数据类型长度可空主键外键备注01用户IDUSER_IDCHAR(19)19否是否02主要标识PRIMARY_IDCHAR(32)32否否是03姓名NAMEVarchar(256)11否否是04身份证号CARD_NOInt18是否否05密码PASSWORDVarchar(256)11是否否06单位IDUNIT_ID2否否否07单位UNITint11否否否08性别GENDERint11否否否0=男(默认)1=女09用户状态STATUSint11否否否(0注销,1正常)10注册日期REG_DATEDatetime否否否11注销日期PURGE_DATEDatetime否否否表3.4
元数据表序号名称代码数据类型长度可空主键外键备注01元数据控制号RECORD_IDCHAR(19)19否是否02文献类型LIT_CODECHAR(32)32否否是03资料类型代码DOC_CODEVarchar(256)11否否是04元数据类型MD_TYPEInt18是否否05元数据过程状态MD_LEVELint2是否否06国别COUNTRY_CODEint2否否否07编目等级CATALOG_LEVELint11否否否08源编工作人员CATALOG_EDITORint11否否否0=男(默认)1=女09源编审校工作人员CATALOG_SAVE_EDITORint11否否否(0注销,1正常)10isbn13位ISBN13Varchar(256)否否否11isbn10ISBN10Varchar(256)否否否表3.5
图书属性表序号名称代码数据类型长度可空主键外键备注01元数据控制号RECORD_IDCHAR(19)19否是否02索书号CALL_NOCHAR(32)32否否是03题名TITLEVarchar(256)11否否是04题名(格式化)TITLE_SVarchar(256)18是否否05ISBN13位ISBN13Varchar(256)11是否否06ISBN10位ISBN10Varchar(256)2否否否07ISBNISBNVarchar(256)11否否否08责任者
AUTHORVarchar(256)11否否否09出版社PUBLISHERVarchar(256)11否否否10出版日期PUB_DATEDatetime否否否11连续性标志SERIRL_FLAGInt否否否
0图书,1期刊表3.6
证件表序号名称代码数据类型长度可空主键外键备注01用户IDUSER_IDCHAR(19)19否是否02用户条码号USER_BARCODECHAR(32)32否否是03积分CREDIT_NUMVarchar(256)11否否是04用户类型idUSER_GROUP_IDInt18是否否05借阅等级代码LOAN_GRADE_CODEVarchar(256)11是否否06所属成员馆LIB_CODE2否否否07机构代码GROUP_CODEint11否否否08分馆代码BRANCH_CODEInt11否否否09证件状态STATUSint11否否否10注册日期DEPOSITDatetime否否否11预付款PREPAYMENTDouble否否否本章小结本章探讨的是图书馆管理系统的需求分析和总体设计,主要内容包含概要分析、系统用例分析、业务流程分析、系统涉及以及数据库设计。其中,图书馆管理系统概要分析,包括系统功能要求和系统性能要求两个层面的需求;图书馆管理系统用例分析内容,包括图书馆管理系统采编馆员用例、读者服务馆员员用例、典藏馆员用例以及查询统计管理员用例;图书馆管理系统业务流程分析内容,包括读者服务流程、资源采编流程、资源典藏流程以及统计查询流程;图书馆管理系统的系统设计包括C/S与B/S选择、系统框架选择、表示层设计、系统业务层设计、系统DAO层设计以及系统持久层设计内容。第四章高校图书馆管理系统实现高校图书馆管理系统开发概述图书管理系统的开发过程包括创建系统持久性类和映射文件、创建Controller类、开发Service类、创建DAO类、编写页面、Mybatis配置,下面分别简述。1.创建系统持久化类及映射文件(1)创建持久化类针对前述设计的系统数据表,创建相应的持久化类,持久化类包含一些属性,以及与之对应的get()方法和set()方法,其中的属性与数据表字段一一对应。在持久化类时,需要继承BaseDto类,这样可以完成公共字段的处理,比如创建时间、更新时间等,从而减少冗余代码。(2)创建映射文件实体类、mapper.xml映射文件能够被mybatis的插件自动生成。首先创建用于自动生成的配置文件generatorConfig.xml,持久化类可以被映射到对应的数据库表。在该图书管理系统中,部分持久类和数据表、mybatis映射文件对应关系如表4.1所示。表4.1
系统数据表、数据持久类和有关mybatis映射文件对应关系数据表持久类文件Mybatis映射文件collectioncollection.javacollectionMapper.xmlinstitutioninstitution.javainstitutionMapper.xmllocationlocation.javalocationMapper.xmluseruser.javauserMapper.xml2.创建Controller类、创建Service类Controller类可以根据映射的请求路径实现请求的接受以及转发到对应的Service类。在图书馆管理中,Service实现类继承了对应的接口类,在该类中逐一实现了接口类中的所有业务方法,从而可以完成相应的业务逻辑操作。3.创建DAO类在图书馆管理系统中,将业务控制类划分在控制层,即上面Service类。此处DAO类实际上包括业务逻辑类及数据访问层两种职责。这里编写DAO类,利用Mybatis映射,完成具体的业务逻辑操作。4.编写页面在图书馆管理系统中,页面主要是由REACT技术实现。5.Mybatis配置主要完成mybatis-config.xml文件、generatorConfig.xml文件编写。读者服务模块1.借书模块(1)时序图根据第三章的需求分析,得出借书模块的时序图。借书模块时序图如图4.1所示图4.1借书模块时序图描述:读者向都着服务馆员发起借书请求,读者服务馆员打开借还书页面,输入读者证号,验证读者信息,验证读者是否超过最大借阅规则,读者是否有欠款未还。验证无误,输入图书条码号,查询该图书情况,判断该书是否存在。选择该书,更新图书馆藏状态,同时更新读者借书信息,最后借书成功。图4.2借书模块类图通过时序图设计类,表4.2为借书模块类图说明表4.2借书模块类说明表类名说明PhysicalItemLendService校验读者借书权限以及根据条码号校验书本借阅规则PhysicalLoanMapper记录借书历史PhysicalItemMapper更改书刊状态借书模块类图方法说明,表4.3为借书模块类方法表4.3借书模块类方法表方法名
说明PhysicalItemLendService
::physicalItemLendCheckRegular()
校验借阅规则PhysicalLoanMapper
::insertPhysicsLoan()
记录借阅行为PhysicalItemMapper
::updatePhysicalItem()
更新复本流通2.还书模块(1)时序图根据第三章的需求分析,得出还书模块的时序图。还书模块时序图如图4.3所示。描述: 读者向读者服务馆员发起还书请求,读者服务馆员打开借还书页面,输入图书条码号,查询库中图书信息,数据库返回图书在借信息,进行还书,更新馆藏状态,还书成功,页面提示读者服务馆员还书成功。图4.3还书模块时序图(2)类图图4.4还书模块类图(3)还书模块类表4.4还书模块类说明表类名说明PhysicalItemReturnService还书处理PhysicalLoanMapper删除借书历史PhysicalItemMapper更改书刊状态借书模块类图方法说明,表4.5为还书模块类方法表4.5还书模块类方法表方法名
说明PhysicalItemLendService
::physicalItemReturnCheckRegular()
还书处理PhysicalLoanMapper
::deletePhysicsLoan()
删除借阅行为PhysicalItemMapper
::updatePhysicalItem()
更新复本流通3.续借模块(1)时序图根据第三章的需求分析,得出续借模块的时序图。续借模块时序图如图4.5所示。描述:读者向都着服务馆员发起续借请求,读者服务馆员打开续借页面,输入读者证号,验证读者信息。向数据库后台请求查询读者当前借阅书情况,数据库后台返回读者当前在借未还书清单,选择当中需要续借的书进行续借。验证读者是否超过最大续借规则,读者是否有欠款未还。验证无误,输入图书条码号,查询该图书情况,判断该书是否存在。选择该书,更新图书馆藏状态,同时更新读者借书信息,最后续借成功。图4.5续借模块时序图(2)类图图4.6续借模块类图(3)续借模块类表4.7借书模块类说明表类名说明reNewService校验读者借书权限以及根据条码号校验书本借阅规则PhysicalLoanMapper记录借书历史PhysicalItemMapper更改书刊状态(4)续借模块类图方法说明,表4.8为借书模块类方法表4.8借书模块类方法表方法名
说明PhysicalItemLendService
::physicalItemLendCheckRegular()
校验借阅规则PhysicalLoanMapper
::updatePhysicsLoan()
记录借阅行为PhysicalItemMapper
::updatePhysicalItem()
更新复本流通资源采编模块1.采访(1)时序图根据第三章的需求分析,得出采访模块的时序图。采访模块时序图如图4.7所示 描述:采访馆员进入采访界面,首先导入书商数据,界面展示导入的书商数据。馆员进行订前查重,查重结果展示在界面上,采访馆员此时选择需要采购的图书,并进行订购,进入订单组织。在订单组织中,再次精选需要采购的书,界面展示终选的结果。接下来进行查重,查重结果展示,选择完需要订购的书,发订,完成采访流程。图4.7采访模块时序图(2)类图采访类图如图4.8所示图4.8采访模块类图(3)采访类图说明采访类图说明如表4.10所示表4.10采访类说明表类名说明OrderController提供前端调用批量订购接口OrderService对订购数据校验处理等OrderProcessService单条订购数据计算等OrderLineMapper提供订购库表增删改查操作(4)采访类图方法说明采访类图方法说明如表4.11所示表4.11采访类方法表方法名说明OrderController::orderOrRelOrderList()
提供前端调用批量订购接口OrderService::orderRelList()
订购校验及计算订购价格等OrderProcessService::orderOne()单条订购记录处理为符号保存库表的格式OrderLineMapper::insertSelective()
保存到订购记录表2.验收模块(1)时序图根据第三章的需求分析,得出验收模块的时序图。验收模块时序图如图4.9所示描述:验收馆员打开验收界面,扫描图书的ISBN号,返回图书信息,此时判断该书是否为图书馆采购的书,判断无误,选择该书,分配财产号,完成验收。图4.9验收模块时序图(2)类图图4.10验收模块类图(3)验收类图说明表4.13验收类说明表类名说明OnceRecService对验收数据校验处理等OnceRecMapper提供验收库表增删改查操作PhysicalItemMapper提供财产号增删改查操作(4)验收类图方法说明表4.14验收类方法表方法名说明OnceRecService::OnceRecCheck()
核对书目信息OnceRecMapper::insertSelective()
保存到验收记录表PhysicalItemMapper::insertSelective()
保存财产号到复本表3.编目模块(1)时序图根据第三章的需求分析,得出编目模块的时序图。编目模块时序图如图4.11所示描述:馆员打开编目界面进行编目,给图书分配条码号,分配索书号,完成编目。图4.11编目模块时序图(2)类图图4.12编目模块类图(3)编目类图说明表4.16编目类说明表类名说明CatalogueService对MARC进行处理等PhysicalItemService对复本进行处理HoldingsService对索书号进行处理MetadataMapper提供MARC数据增删改查操作PhysicalItemMapper提供复本信息增删改查操作HoldingsMapper提供索书号增删改查操作(4)编目类图方法说明表4.17编目类方法表方法名说明CatalogueService::catalogueSave()
对MARC进行处理PhysicalItemService::itemSave()
复本信息处理HoldingsService::callnoSave()索书号处理MetadataMapper::insertSelective()保存到元数据表PhysicalItemMapper::insertSelective()保存到复本表HoldingsMapper::insertSelective()保存到索书号表资源典藏模块(1)时序图根据第三章的需求分析,得出典藏模块的时序图。典藏模块时序图如图4.13所示描述:描述:馆员打开典藏界面进行编目,给图书分配馆藏地,修改图书状态,图书上架,最后完成典藏。图4.13典藏模块时序图(2)类图图4.14典藏模块类图(3)典藏类图说明表4.19典藏类说明表类名说明AllocateService典藏处理PhysicalItemService对复本进行处理PhysicalItemMapper提供复本信息增删改查操作(4)典藏类图方法说明表4.20典藏类方法表方法名说明AllocateService::orderOrRelOrderList()
对MARC进行处理PhysicalItemMapper::updateProcessType()变更状态到复本表PhysicalItemMapper::updateCurLib()
变更馆藏地到复本表统计查询模块1.馆藏统计模块(1)时序图根据第三章的需求分析,得出馆藏统计模块的时序图。馆藏统计模块时序图如图4.13所示描述:描述:馆员打开典藏界面进行编目,给图书分配馆藏地,修改图书状态,图书上架,最后完成典藏。图4.13典藏模块时序图(2)类图图4.14馆藏统计模块类图(3)馆藏统计类图说明表4.21馆藏统计类说明表类名说明PhysicalItemListService馆藏清单BibliographyMapper提供书目信息批量获取PhysicalItemMapper提供复本信息批量获取LocationMapper提供馆藏地信息批量获取(4)典藏类图方法说明表4.22馆藏统计类方法表方法名说明PhysicalItemListService::displayPhysicalItemList()
获取馆藏清单BibliographyMapper::getByYearRangeBibliographyList()批量获取书目信息PhysicalItemMapper::getByYearRangeItemList()批量获取条码号LocationMapper::getByYearRangeLocationList()
批量获取馆藏地2.书刊检索模块(1)时序图根据第三章的需求分析,得出书刊检索模块的时序图。书刊检索模块时序图如图4.15所示描述:馆员打开书刊查询界面,设置检索条件(如ISBN号、题名、责任者等),输入检索词,进行查询。查询界面展示结果列表,选择需要查看的书刊,查询界面展示该书刊的详细信息,完成书刊检索。图4.15书刊检索模块时序图(2)类图图4.16书刊检索模块类图(3)书刊检索类图说明表4.23书刊检索类说明表类名说明unifyTSearchUrlService书刊检索PhysicalItemService对复本进行处理PhysicalItemMapper提供复本信息查找操作(4)书刊检索类图方法说明表4.24书刊检索类方法表方法名说明unifyTSearchUrlService:getSearchList()
书刊检索PhysicalItemService::getOne()对复本进行处理PhysicalItemMapper::getItemList()
提供复本信息查找操作关键技术解决方案对高校图书馆系统迁移方式,做以下两种方式的讨论:1.直接切换方式直接切换是在敲定的时间,停止运行正在使用的图书馆管理系统,此类方式需要暂停图书馆的所有业务。在迁移完数据后,启用新的图书馆管理系统启动运行。这种方案的优点是极大的保证了数据迁移的准确性以及数据的一致性。但是,需要暂停图书馆的开放业务,如果迁移过程中出现问题,那么需要回退使用旧系统。这种方式非常适合数据量和业务量相对较小的图书馆,快速切换,业务影响的时间也比较短暂。2.并行切换方式并行切换是在一段时间内,图书馆管理工作中新旧两个系统分别运行,互不干扰。同时可以在两个系统之间做比较,以便发现新系统问题进行改正,直到新系统完全稳定运行了,再完全放弃旧系统。并行的优点是有足够的时间去适应系统,并且。但是这种方式存在两方面劣势,第一,所有的业务工作需要在两个系统都进行操作,实际工作中带来了巨大的工作量,对于一线工作人员来说压力非常大;第二,数据的一致性完全无法保障,图书馆业务量巨大,两个系统的同步操作,稍有不慎,就导致数据不一致,严重的还会导致数据丢失。显然,这种方式在图书馆管理工作中是非常难以实施的。3.分段切换方式 分段切换方式是指分阶段、分业务流进行切换,准确来说把完全由后台馆员操作的采编部分和以服务为主的读者服务部分分批切换。图书馆先进行采编业务的切换,同时暂停采编业务,迁移采编数据。因为业务暂停,采编馆员可以去学习、适应新系统的功能。此时,读者服务是在旧系统中正常运行的,无论采编业务切换的成败都不会影响读者服务。其次,在采编切换完成,并且熟悉系统后,进行读者服务的切换。这种方式的好处是,分批次可以减少业务人员和系统管理人员的工作量,其次也能保证数据的一致性与准确性。同时,对于数据量和业务量大的图书馆,这种方式也能最大的减少对读者服务的影响。系统使用效果图书馆管理系统资源采编、读者服务、资源典藏、统计查询等模块,实现了系统中基本业务流程和数据的管理;从界面展示的效果来说,图书馆管理系统具备清晰的三级菜单导航,提高了易用性,减少了使用者的学习成本;三级角色权限的配置也极大提高了系统使用的安全性。图书馆管理系统预期实现对馆藏资源的存储、管理,解决了在海量馆藏资源下系统使用的可靠性,图书从采购、查重、验收、编目、典藏全部在该系统中完成,将图书馆的管理人员从原始复杂的手工登记中脱离出来,将主要精力放在资源的精确采购、学科支撑上。通过统计分析功能的使用,可以迅速获得图书馆当前的运行数据,提高工作效率的同时,对图书馆管理人员的决策起到了辅助作用。另外,系统采用的SSM集成框架也极大的提高了系统的扩展性,降低了维护成本。本章小结本章基于第三章图书馆管理系统需求分析和总体设计,详细介绍了如何实现图书馆管理系统,主要内容包括图书馆管理系统的开发概述、读者服务模块、资源采编模块、资源典藏模块、统计查询模块、关键技术解决方案、系统使用效果。其中,读者服务模块实现过程,从图书外借、图书归还和图书续借三个方面进行了探讨;资源采编模块实现过程,按照资源采访、资源验收、资源编目三部分进行了阐述;统计查询模块实现过程,从馆藏统计层面进行了讨论;至于关键技术解决方案,则从系统切换方式进行了深入全面的讨论。
第五章智慧图书馆服务平台测试测试目的测试本系统中各个模块是否存在问题,设计的缺陷也会在测试中体现出来。通过测试可及时发现问题,对应系统的功能模块做出修改,以保障图书馆管理系统中各个模块及功能在日常使用中正常,使得系统能够达到预期目标。测试方法常用的测试方法分为两种:白盒测试,也称为结构测试,通过源代码测试的方式直接测试编码过程中的错误。开发人员的开发经验、开发中使用的软件的掌握程度和熟悉程度以及开发人员个人的工作状态等会影响开发代码的质量,发生代码错误。导致系统运行不畅。黑盒测试实质是一种功能测试的方法,主要用于检测系统各功能是否可以正常使用。测试时,不考虑系统内部的结构和系统内部的特性,通过程序接口进行测试,检查程序功能是否可以按照设计要求和说明书的规定正常打开使用。测试用例本次测试以黑盒测试为主,对主要几个功能点的测试进行了设计。借书功能测试测试目标:测试系统功能的有效,包括图书外借功能。其他功能测试流程的流程与此大相径庭,不做赘述。具体测试用例如表5.1所示测试用例编号0001用例名称借书功能测试测试目标借书功能正常运行过程描述预期结果测试步骤扫读者证获取读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供水工程标准化管理方案
- 仓库供应商管理方案
- 储备粮仓库设计优化技术方案
- 标准化厂房外部交通规划方案
- 小学社会实践活动组织方案
- 小学教室通风系统改进方案
- 储备粮仓库包装材料选择方案
- 2025年巴音郭楞职业技术学院单招(计算机)考试备考题库必考题
- 2026年榆林能源科技职业学院单招(计算机)考试备考题库必考题
- 2026年工贸试题-考试题库及参考答案【夺分金卷】
- DB61∕T 1434-2021 崩塌、滑坡、泥石流专业监测规范
- 2025年《治安管理处罚法》知识考试题及答案
- 电力设计部门管理制度
- 饮片物料管理培训
- 2025年及未来5年中国正辛硫醇行业市场全景监测及投资战略咨询报告
- DB4403-T 377-2023 民宿消防安全管理规范
- 危险化学品运输安全手册
- GB/T 46146-2025家具五金件铰链及其部件的强度和耐久性绕垂直轴转动的铰链
- 粤教花城版音乐 钢琴独奏《雪橇》听评课记录
- 管桩供货保障方案(3篇)
- 名著导读傅雷家书
评论
0/150
提交评论