【《基于SSM框架和UML的高校圖書館管理系統(tǒng)設(shè)計》22000字】_第1頁
【《基于SSM框架和UML的高校圖書館管理系統(tǒng)設(shè)計》22000字】_第2頁
【《基于SSM框架和UML的高校圖書館管理系統(tǒng)設(shè)計》22000字】_第3頁
【《基于SSM框架和UML的高校圖書館管理系統(tǒng)設(shè)計》22000字】_第4頁
【《基于SSM框架和UML的高校圖書館管理系統(tǒng)設(shè)計》22000字】_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于SSM框架和UML的高校圖書館管理系統(tǒng)設(shè)計摘要隨著智慧城市的發(fā)展,高校智慧校園建設(shè)的普及,開辟了高校智慧圖書館建設(shè)的新局面:建立全面的智慧圖書館,需要一個完善、高效、開放的圖書館管理做底層支撐。高校圖書館管理系統(tǒng),就是依據(jù)高等院校教育的特點,為高校圖書館提供資源、管理、決策等層面的支撐。為了完成對圖書館管理系統(tǒng)的基本功能,提高圖書館的服務(wù)運營能力,本文開發(fā)完成高校圖書館管理系統(tǒng)。圖書館管理系統(tǒng)采用SSM框架集,使用了SpringMVC模式的設(shè)計思想,結(jié)合了Spring、Mybatis、react等J2EE框架技術(shù),使用標準的三層體系結(jié)構(gòu)。本文首先提出系統(tǒng)的各模塊功能需求,使用UML用例圖進行用例分析。其次,采用業(yè)務(wù)流程分析的方式,對讀者服務(wù)、資源采編、資源典藏、統(tǒng)計查詢四大模塊的業(yè)務(wù)流程進行進一步的分析。進而,根據(jù)需求完成系統(tǒng)設(shè)計和數(shù)據(jù)庫設(shè)計,通過時序圖描述各個功能模塊的模塊執(zhí)行流程,使用靜態(tài)類圖的同時,對類和類的方法進行充分解釋,完成各個功能模塊的詳細設(shè)計。其次,本文根據(jù)系統(tǒng)的詳細設(shè)計,完成每個模塊,實現(xiàn)模塊的功能和運行結(jié)果。最后,完成項目的測試保證模塊運行質(zhì)量。關(guān)鍵詞:Managementsystem,SSM,library,UML目錄摘要 II目錄 ii第一章緒論 71.1 研究背景 71.2 研究意義 81.3 論文主要工作 81.4 論文章節(jié)安排 9第二章相關(guān)技術(shù)及發(fā)展現(xiàn)狀 112.1 高校圖書館管理類似系統(tǒng)研究現(xiàn)狀 112.1.1 國外圖書館管理類似系統(tǒng)分析 112.1.2 國內(nèi)圖書館管理類似系統(tǒng)分析 122.2 SSM技術(shù)分析 122.2.1 SSM框架集 122.2.2 Spring 132.2.3 SpringMVC 142.2.4 MyBatis 162.3 UML簡述 162.4 本章小結(jié) 17第三章圖書館管理系統(tǒng)需求分析與總體設(shè)計 183.1 概要分析 183.1.1 系統(tǒng)功能要求 183.1.2 系統(tǒng)性能要求 183.2 用例分析 193.3 業(yè)務(wù)流程分析 223.3.1 讀者服務(wù)流程 223.3.2 資源采編流程 263.3.3 資源典藏流程 303.3.4 統(tǒng)計查詢流程 313.4 系統(tǒng)設(shè)計 333.4.1 C/S與B/S選擇 333.4.2 表示層 343.4.3 系統(tǒng)業(yè)務(wù)層設(shè)計 353.4.4 系統(tǒng)DAO層設(shè)計 353.4.5 系統(tǒng)持久層設(shè)計 363.5 數(shù)據(jù)庫設(shè)計 373.6 本章小結(jié) 42第四章高校圖書館管理系統(tǒng)實現(xiàn) 434.1 高校圖書館管理系統(tǒng)開發(fā)概述 434.2 讀者服務(wù)模塊 444.3 資源采編模塊 494.4 資源典藏模塊 564.5 統(tǒng)計查詢模塊 584.6 關(guān)鍵技術(shù)解決方案 584.7 系統(tǒng)使用效果 594.8 本章小結(jié) 59第五章智慧圖書館服務(wù)平臺測試 615.1 測試目的 615.2 測試方法 615.3 測試用例 615.4 測試結(jié)果 625.5 本章小結(jié) 62第六章總結(jié)和展望 636.1 總結(jié) 636.2 展望 64參考文獻 66

第一章緒論研究背景圖書館是高等院校收藏各類在教學(xué)教研中所需的資源的場所,也是為高校內(nèi)師生提供資源服務(wù)的場所,它代表了每所高等院校歷史積淀,其中的館藏資源是高校的教學(xué)教研以及文化財富,象征著高等教育建設(shè)發(fā)展過程的里程碑,承擔著諸如一流學(xué)科建設(shè)、書香校園建設(shè)的重要使命。高校圖書館對館藏資源肩負著精準采購、妥善保護、整理研究與高效利用的責(zé)任,對資源的管理工作應(yīng)做到管理制度健全、賬目清晰、采購精準、編目詳細、典藏分布合理、檢索快捷方便。紙質(zhì)館藏資源的的采購、驗收、簽收、編目及典藏,屬于傳統(tǒng)高校圖書館經(jīng)常性的業(yè)務(wù)工作,隨著時代的發(fā)展,高校圖書館的館藏資源逐漸累積,紙質(zhì)館藏數(shù)量日益龐大,且種類發(fā)生了變化,傳統(tǒng)的人工管理模式顯得落后,給高校圖書館的管理工作造成館藏統(tǒng)計不完整、不同資源管理不規(guī)范、不同資源的賬目混亂、館藏利用統(tǒng)計不科學(xué)等一系列問題。特別是近二十年來,高校圖書館經(jīng)費使用方式、軟件相關(guān)技術(shù)以及資源利用方式發(fā)生了較大改變,非紙質(zhì)資源的廣泛利用,線上線下活動的不斷開展,此時傳統(tǒng)的高校圖書館系統(tǒng)管理難以支撐多資源的采購和管理以及多元化的讀者服務(wù)需求。在國內(nèi)移動互聯(lián)網(wǎng)大發(fā)展的環(huán)境之下,互聯(lián)網(wǎng)、移動終端廣泛普及,高校內(nèi)各部門都在加快信息化建設(shè)升級的步伐,高校圖書館行業(yè)也不例外,智慧化進程涉及到高校圖書館在新時代下是否具備生機和活力,并且在較大程度上決定著高校圖書館在新的社會環(huán)境、新的高校教學(xué)教研環(huán)境下生存方式與發(fā)展水平。從我國高校信息化建設(shè)的發(fā)展不難看出,隨著高校智慧校園的實施,高校各部門對信息化工作進一步重視與加強,IT技術(shù)在高校信息化中的應(yīng)用日益增加,信息化水平顯著提高。目前各大高校圖書館都在大力推進智慧圖書館的建設(shè),建設(shè)了智慧門戶、智慧移動端等,取得了一定的成績。然而,由于現(xiàn)行的圖書館自動化管理系統(tǒng)功能缺陷,維護和擴展困難,無法發(fā)揮系統(tǒng)應(yīng)有的優(yōu)勢,一定程度上影響了整個高校智慧圖書館的建設(shè)成果。因此,克服現(xiàn)行的圖書館自動化系統(tǒng)的弊端,構(gòu)建功能吻合圖書館管理實際需求、易維護和能夠不斷擴展的圖書館管理系統(tǒng),實現(xiàn)高校圖書館管理的高效,成為圖書館行業(yè)智慧化進程中必須解決的核心問題。研究意義本課題結(jié)合某高校圖書館的具體情況開展研究。首先,圖書館管理系統(tǒng)促進高校圖書館服務(wù)工作的進一步科學(xué)化、智慧化、規(guī)范化,把圖書館采訪、編目、讀者服務(wù)館員從繁瑣、枯燥的傳統(tǒng)加工勞動中解放出來,把主要精力投入到館藏資源的精確采購、價值研究、學(xué)術(shù)支撐和多元化讀者服務(wù)等工作中。研發(fā)新一代圖書館管理系統(tǒng),不但有助于圖書館管理工具及措施的升級換代,而且可以引發(fā)圖書館管理理念和業(yè)務(wù)模式的深刻變革。第二,從學(xué)術(shù)研究的角度看,圖書館屬于權(quán)威的學(xué)術(shù)資源機構(gòu),借助于圖書館管理系統(tǒng),能夠為相關(guān)專家學(xué)者建立一個開放的、全面的學(xué)術(shù)環(huán)境。第三,在圖書館管理系統(tǒng)功能方面,能夠符合圖書館管理要求。其中,資源采訪模塊不僅可以能夠記錄外部資源的采購情況,而且可以從外部采購單中挑選適應(yīng)的資源;資源管理模塊不但具備紙質(zhì)資源編目功能,而且能夠?qū)?fù)本進行批量的操作;資源典藏模塊對館藏資源進行新書分配,以及清點、調(diào)撥等功能;讀者服務(wù)模塊能為讀者提供借還書服務(wù),以及續(xù)借等服務(wù);分析決策模塊包括多條件查詢與分類統(tǒng)計功能,可以滿足不同查詢需求及各類報表的統(tǒng)計功能;系統(tǒng)管理子系有利于系統(tǒng)管理員對系統(tǒng)用戶進行管理,參數(shù)配置,并且能夠保證系統(tǒng)安全。第四,在圖書館管理系統(tǒng)技術(shù)架構(gòu)方面,SSM框架把模型、視圖和控制器分別映射到相應(yīng)的應(yīng)用組件,模型對應(yīng)DAO類,視圖對應(yīng)前端頁面渲染展示,控制器對應(yīng)Service類,處理業(yè)務(wù)邏輯,使圖書館管理系統(tǒng)程序結(jié)構(gòu)清晰,分層合理;DAO作為圖書館管理系統(tǒng)持久層框架,能夠使開發(fā)人員直接操作對象,與數(shù)據(jù)庫聯(lián)絡(luò)的任務(wù)都封裝在此;而且,在高校圖書館管理系統(tǒng)中,把系統(tǒng)模型層實行細分,在系統(tǒng)業(yè)務(wù)層同持久層之間添加了數(shù)據(jù)訪問層。這樣可以簡化開發(fā)中的工作流程,提高圖書館管理系統(tǒng)開發(fā)效率及可維護性,對相關(guān)行業(yè)管理系統(tǒng)的開發(fā)具有良好的借鑒意義。總體來說,在圖書館智慧建設(shè)的進程中,圖書館管理系統(tǒng)不但能更好地符合新形勢下圖書館管理的需要,還能夠為圖書館的可持續(xù)發(fā)展提供的資源。論文主要工作論文在探討現(xiàn)階段圖書館管理現(xiàn)狀與國內(nèi)外圖書館管理系統(tǒng)有關(guān)研究工作的基礎(chǔ)上,運用SSM相關(guān)技術(shù),研究、設(shè)計、開發(fā)圖書館管理系統(tǒng),主要工作如下:(1)分析圖書館管理系統(tǒng)的需求,并繪制圖書館管理系統(tǒng)的用例圖,對系統(tǒng)功能進行分析。(2)對圖書館管理系統(tǒng)的工作流程進行分析,繪制圖書館管理系統(tǒng)的業(yè)務(wù)流程圖。(3)在分析圖書館管理系統(tǒng)的基礎(chǔ)上,設(shè)計數(shù)據(jù)庫表以及表結(jié)構(gòu)。(4)站在高校圖書館管理邏輯思維的角度,進行系統(tǒng)控制層、業(yè)務(wù)層及持久層設(shè)計。其中,表現(xiàn)層及控制層運用SpringMVC框架,業(yè)務(wù)邏輯層運用業(yè)務(wù)Service類,系統(tǒng)數(shù)據(jù)持久層運用Mybatis框架,在業(yè)務(wù)Action類與持久層之間運用DAO(DataAccessObject)模式構(gòu)建數(shù)據(jù)訪問層。(5)運用SSM集成框架,對圖書館管理系統(tǒng)資源采訪、資源編目、資源典藏、讀者服務(wù)、分析決策及用戶管理等功能模塊,進行詳細設(shè)計與實現(xiàn)。論文章節(jié)安排論文共分為六個章節(jié),首先分析了圖書館管理系統(tǒng)研究背景、類似系統(tǒng)現(xiàn)狀及存在問題,簡述研發(fā)圖書館管理系統(tǒng)必要性。其次,概述了SSM框架以及UML相關(guān)理論。在這基礎(chǔ)之上,詳細分析高校圖書館管理系統(tǒng)需求,并基于SSM集成框架對系統(tǒng)的總體設(shè)計與實現(xiàn)進行了詳細的闡述。最后,總結(jié)了高校圖書館管理系統(tǒng)設(shè)計與實現(xiàn)過程,并對其應(yīng)用前景進行展望。論文的內(nèi)容具體安排如下:第一章簡述課題研究背景,突出論文的現(xiàn)實意義。第二章概述高校圖書館管理系統(tǒng)內(nèi)容與SSM、UML(UnifiedModelingLanguage,即統(tǒng)一建模語言)相關(guān)理論,主要內(nèi)容包括圖書館管理類似系統(tǒng)研究現(xiàn)狀及存在問題、SSM技術(shù)分析、UML概述。其中,SSM技術(shù)分析包括SSM框架集、Spring、SpringMVC與MyBatis等內(nèi)容。第三章探討高校圖書館管理系統(tǒng)需求分析與總體設(shè)計,主要內(nèi)容包含高校圖書館管理系統(tǒng)需求概要分析、系統(tǒng)用例分析、系統(tǒng)業(yè)務(wù)流程分析、系統(tǒng)架構(gòu)設(shè)計以及數(shù)據(jù)庫設(shè)計。其中,高校圖書館管理系統(tǒng)用例分析內(nèi)容,包括采訪館員用例、編目館員用例、典藏館員用例、流通館員用例、系統(tǒng)管理員用例;高校圖書館管理系統(tǒng)業(yè)務(wù)流程分析內(nèi)容,包括高校圖書館管理整體流程、采訪流程、編目流程以、典藏流程、流通流程、統(tǒng)計分析流程及統(tǒng)一檢索流程。第四章是論文的主要部分,在第三章高校圖書館管理系統(tǒng)需求分析與總體設(shè)計的基礎(chǔ)上,對高校圖書館管理系統(tǒng)實現(xiàn)過程進行闡述,主要內(nèi)容包括高校圖書館管理系統(tǒng)開發(fā)概述、讀者服務(wù)模塊、采編模塊、典藏模塊、統(tǒng)計查詢模塊的實現(xiàn)過程,以及系統(tǒng)可擴展性、系統(tǒng)切換方式等關(guān)鍵技術(shù)解決方案。第五章是對開發(fā)完的系統(tǒng)進行測試,并撰寫測試報告。第六章對圖書館管理系統(tǒng)設(shè)計與實現(xiàn)過程,并對其應(yīng)用前景進行展望。

第二章相關(guān)技術(shù)及發(fā)展現(xiàn)狀高校圖書館管理類似系統(tǒng)研究現(xiàn)狀國外圖書館管理類似系統(tǒng)分析1950年代,國外開始著手開發(fā)圖書館的機讀目錄(MARC),標志著圖書館自動化系統(tǒng)(ILS)的誕生。自此以后,圖書館開始利用自動化系統(tǒng)替代原有的人工登記目錄,為第二代系統(tǒng)的開發(fā)奠定了理論和技術(shù)基礎(chǔ)。第一代系統(tǒng)大多數(shù)由高校開發(fā),存在諸多問題,功能單一,且需要多個系統(tǒng)分別管理不同的功能。70年代末,自動化管理系統(tǒng)開始由多個單一功能的系統(tǒng)集成為一體的第二代圖書館管理系統(tǒng),專業(yè)研發(fā)圖書館管理系統(tǒng)的公司也在這一時期誕生。商業(yè)公司進入該領(lǐng)域,給很多缺乏開發(fā)能力的中小圖書館提供了使用自動化管理系統(tǒng)的可能,同時也帶來了系統(tǒng)發(fā)展方向不受圖書館自身控制的問題。2011年,馬歇爾·布利汀在自動化產(chǎn)品市場(AutomationMarketplace)2011年報告[1]中提出了下一代圖書館管理系統(tǒng)的概念,平臺正在產(chǎn)生。將以全新的業(yè)務(wù)模式和技術(shù)框架,為讀者提供服務(wù),為館員提供強有力的支撐,智慧圖書館時代也將來臨[2]。 新一代系統(tǒng)主要有艾利貝斯公司開發(fā)的Alma系統(tǒng)和OCLC開發(fā)的WMS系統(tǒng)(WorldShareManagementSystems)[4],他們的特點主要在:采用以服務(wù)為導(dǎo)向的SOA架構(gòu),同時提供軟件即服務(wù)的方式為圖書館提供應(yīng)用支撐,完美解決了多個高校之間的業(yè)務(wù)互聯(lián)互通問題。業(yè)務(wù)層面解決了,困擾了高校圖書館多年的多種類型館藏資源無法在同一系統(tǒng)中管理的困境。 然而,業(yè)務(wù)層面的突破帶來的是更多的資源在系統(tǒng)中被采訪、編目、存儲、使用,間接導(dǎo)致系統(tǒng)異常復(fù)雜。而SOA架構(gòu)無法解決高并發(fā)和高可用的難題,同時系統(tǒng)的擴展性也受到了影響。無法長期支撐高校智慧圖書館的建設(shè),僅可做短期內(nèi)業(yè)務(wù)支撐不足的補充。 國外,目前有不少的高校使用了第三代圖書館管理系統(tǒng),也有大量高校還在使用第二代圖書館管理系統(tǒng)。國內(nèi)圖書館管理類似系統(tǒng)分析我國圖書館管理的發(fā)展遠不如國外,早期發(fā)展也很緩慢,能夠使用的高校也比較少。20世紀70年代,國內(nèi)圖書館開始發(fā)展,跳過了國外的第一代圖書館管理系統(tǒng),直接使用第二代圖書館管理系統(tǒng)。但是由于自身經(jīng)濟和科技水平的限制,只能引進國外現(xiàn)成的圖書館管理系統(tǒng)。直到80年代末期才開始著手圖書館信息化建設(shè)的研究和探索,開始自主研發(fā)的道路,各大高校在這個階段開始投身圖書館管理系統(tǒng)的開發(fā)。90年代中期到90年代末,市面上涌現(xiàn)了一大批國產(chǎn)自動化管理系統(tǒng)。出現(xiàn)了如匯文、圖創(chuàng)、ILAS、金盤等系統(tǒng),這些系統(tǒng)從早期的文件系統(tǒng)存儲,到使用早期的數(shù)據(jù)庫如FoxPro、Sybase、SqlServer,再到后來基本使用Oracle數(shù)據(jù)庫。開發(fā)語言也是經(jīng)歷了漫長的技術(shù)更替,如vb、Delphi、.net、Jsp等。在這過程中,系統(tǒng)功能也發(fā)生了很大的變化。但是,由于軟件公司開發(fā)水平、管理水平的限制。2008年以后,國內(nèi)圖書館系統(tǒng)已無實質(zhì)性的開發(fā)升級。國內(nèi)圖書館系統(tǒng)存在以下問題:部分圖書館管理系統(tǒng)功能欠缺。大部分系統(tǒng)都包含基本的采編、流通、檢索、統(tǒng)計業(yè)務(wù)。缺乏對海量數(shù)據(jù)的管理,以及對新應(yīng)用場景的支持。從技術(shù)層面來說,絕大部分系統(tǒng)都是單機版,極少數(shù)采用B/S體系結(jié)構(gòu)。少部分系統(tǒng)依舊采用VB進行開發(fā),系統(tǒng)運行效率差,可擴展性弱,維護難度大。數(shù)據(jù)庫層面大部分使用Oracle和SqlServer,由于圖書館管理系統(tǒng)數(shù)據(jù)量大,同時此類系統(tǒng)缺乏對非結(jié)構(gòu)化數(shù)據(jù)的存儲、管理以及大數(shù)據(jù)分析的技術(shù)處理手段,所有數(shù)據(jù)都匯入Oracle等數(shù)據(jù)庫,此類數(shù)據(jù)庫會變得越來越臃腫。少數(shù)B/S體系的系統(tǒng),系統(tǒng)開發(fā)依賴Flash等控件,諸多瀏覽器已無法支持。圖書館管理系統(tǒng)采用C/S體系結(jié)構(gòu),需要在對于電腦上安裝客戶端,維護復(fù)雜。同時,客戶端軟件對操作系統(tǒng)有版本要求,使用場景有限制。鑒于C/S體系結(jié)構(gòu)的缺點,多校合并、新建校區(qū)的情況,很多高校不得已運行了兩套獨立的圖書館管理系統(tǒng),給圖書館的管理帶來巨大的困難。SSM技術(shù)分析SSM框架集SSM是Spring、SpringMVC和MyBatis組成的框架集,是目前比較主流的JavaEE企業(yè)級框架,適用于搭建各種企業(yè)級應(yīng)用系統(tǒng)[5]。Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架[6]。利用它可以裝載bean的機制,不需要在每次使用某個類的時候進行初始化,關(guān)鍵字new也很少被用到[7]。SpringMVC更加容易進行定制,因為他把分發(fā)器、模型、處理程序?qū)ο蟮慕巧约胺挚刂破鬟M行了分離。MyBatis是一個基于Java的持久層框架,封裝JDBC,使得數(shù)據(jù)庫底層的操作更加透明化[8]。MyBatis使用XML或注解用于配置和原始映射,通過配置文件關(guān)聯(lián)到各實體類的Mapper文件,Mapper文件中配置了每個類對數(shù)據(jù)庫所需進行的sql語句映射[9]??梢哉f,MyBatis是一個用來幫助管理數(shù)據(jù)增刪改查的框架。SSM是一種標準MVC模型,它將整個系統(tǒng)劃分為視圖、控制器、服務(wù)和DAO4[7]級別,使用SpringMVC管理請求的轉(zhuǎn)發(fā)和顯示,使用Spring實現(xiàn)業(yè)務(wù)對象管理,并使用mybatis作為數(shù)據(jù)對象[9]的持久引擎。由于DAO和Service級別匹配較低,必須獨立開發(fā);由于兩個控制器和視圖級別之間的耦合較高,因此在開發(fā)過程中需要關(guān)聯(lián)。SSM框架簡單易懂,易于維護,這也是為什么到目前為止依然還是企業(yè)級架構(gòu)的主要選擇。SpringSpring是一個開源框架,旨在降低企業(yè)應(yīng)用程序開發(fā)的復(fù)雜性。它能夠在開發(fā)中分離不同層,允許每一層靈活選擇組件,是為J2EE的發(fā)展提供一個整體框架。Spring為企業(yè)應(yīng)用程序開發(fā)提供了一個輕量級的解決方案[10]。Spring框架主要提供AOP編程,核心控制反轉(zhuǎn)(IoC)機制,一個可以集成各種持久層的框架,有自己的MVC框架。Spring框架希望在JavaEE應(yīng)用開發(fā)中提供不同層的解決方案,而不是只關(guān)注一層。從圖2.1可以看出,Spring框架實現(xiàn)了表示層、業(yè)務(wù)層和持久層的集成,但這并不意味著現(xiàn)有框架可以被Spring框架取代,而是Spring框架可以實現(xiàn)現(xiàn)有框架的無縫集成,為企業(yè)應(yīng)用開發(fā)提供更大的靈活性。圖2.1spring框架SpringMVCSpring框架是一種輕量級的開源框架,它的功能很大程度上是一個容器,是用來做集中管理。Spring是非侵入性的。在其他框架下的,程序開發(fā)過程中,我們經(jīng)常需要import相應(yīng)的包。因為spring的Jar包,但是Spring不需要進行import,非常方便。因為有了spring框架的存在,許多與業(yè)務(wù)邏輯無關(guān)的可重用功能會被交給其他組件。Spring的工作原理如圖2.2所示。WebWeb容器Spring框架對象A對象B圖2.2Spring工作原理Figure2.2SpringworkprincipleMVC是一個構(gòu)建網(wǎng)絡(luò)應(yīng)用程序的全功能框架。MVC由三部分組成:模型、視圖和控制器。MVC可以通過策略接口成為一個高度可配置的框架。之所以在整個架構(gòu)系統(tǒng)中用SpringMVC代替Struts1或者Struts2,是因為Struts框架經(jīng)過測試,開發(fā)效率和運行速度都不如SpringMVC。MVC框架將應(yīng)用系統(tǒng)分為三層,減少了三層之間的耦合。三層協(xié)同實現(xiàn)系統(tǒng)的業(yè)務(wù)功能,提高了系統(tǒng)整體的可擴展性,使系統(tǒng)更易于維護[11]。MVC模式圖如圖2.3所示。 View視圖層:主要用于用戶查看界面交互的顯示結(jié)果,可以查詢Model層的狀態(tài),向控制器發(fā)送用戶請求。 Model模型層:它可以管理和維護自己的或負責(zé)的數(shù)據(jù)和模型,但它不關(guān)心調(diào)用哪個控制器和使用哪個視圖向用戶顯示。當模型本身或其負責(zé)的數(shù)據(jù)發(fā)生變化時,系統(tǒng)通常會采用某種同步機制來通知模型對應(yīng)的視圖。Controller控制層:負責(zé)接收View傳遞過來的用戶請求,通過請求中的參數(shù)來調(diào)用對應(yīng)的Model進行請求處理,最終將相應(yīng)結(jié)果呈現(xiàn)給用戶[12]。方法調(diào)用方法調(diào)用事件Model(模型)封裝業(yè)務(wù)規(guī)則、狀態(tài)處理、業(yè)務(wù)流程通知改變用戶界面交互/顯示結(jié)果View(視圖)Controller(控制器)狀態(tài)改變接收請求、調(diào)用相應(yīng)模型圖2.3MVC模式圖解用戶請求視圖選擇Figure2.3MVCpatterngraph狀態(tài)查詢MyBatisMyBatis框架是一個半自動映射的框架,用來對該信息傳播共享平臺進行持久化操作。當開發(fā)的軟件產(chǎn)品需要一個靈活的、可以自動生成映射關(guān)系的框架時,MyBatis框架一定是最好的選擇。MyBatis框架具有自動映射的功能,可以對SQL進行動態(tài)配置,無需人工編寫映射關(guān)系,總體上提高了軟件產(chǎn)品開發(fā)的效率。但是需要開發(fā)人員提供SQL和相應(yīng)的映射規(guī)則,對于開發(fā)人員來說工作量會加大。所以在這里也可以選擇JavaORM框架Hibernate,Hibernate框架是建立在POJO和數(shù)據(jù)庫表模型的直接映射關(guān)系上的,它通過XML映射文件或者注釋提供的規(guī)則映射到數(shù)據(jù)表庫上的,提供了一種全表映射的模型。UML簡述UML是軟件界一種通用的、可視化的面向?qū)ο蠼UZ言,可以說是面向?qū)ο蠓治龊驮O(shè)計中的標準化表示,被軟件設(shè)計者用來實現(xiàn)軟件的具體的、可視化的、文檔化的描述,它包含了類圖、對象圖、用例圖、活動圖、順序圖、協(xié)作圖、狀態(tài)圖及實施圖等多種圖形,運用圖形來直觀、形象地描述應(yīng)用系統(tǒng)的不同參與者同系統(tǒng)之間的交互[13][14][15]。它提供了許多視圖,從不同的角度展示所開發(fā)系統(tǒng)的靜態(tài)、動態(tài)特性,幫助設(shè)計系統(tǒng)架構(gòu),或者為最終的軟件產(chǎn)品提供相關(guān)的詳細文檔數(shù)據(jù)[16][17][18]。在使用UML進行軟件設(shè)計的初始階段,最大限度地考慮和設(shè)計所有參與系統(tǒng)交互的用戶,開發(fā)的系統(tǒng)是一個高效、高可用的企業(yè)應(yīng)用系統(tǒng)[19][20][21]。在本課題中,需求分析階段利用用例圖、流程圖等UML視圖分析系統(tǒng)需求,用例圖用于分析軟件使用者怎樣和企業(yè)應(yīng)用系統(tǒng)進行交互,流程圖用于分析軟件使用者所屬組織機構(gòu)的工作流程。本章小結(jié)本章簡述了高校圖書館管理系統(tǒng)有關(guān)內(nèi)容及SSM框架集、UML相關(guān)理論,主要包括高校圖書館管理類似系統(tǒng)研究現(xiàn)狀及存在問題、Spring、SpringMVC概述、MyBatis以及UML簡述。其中,高校圖書館管理系統(tǒng)的研究現(xiàn)狀及存在的問題,包括國外高校圖書館管理系統(tǒng)建設(shè)的基本情況以及國內(nèi)高校圖書館管理系統(tǒng)建設(shè)基本情況兩部分內(nèi)容,SSM技術(shù)分析包括SSM框架集、spring、springMVC、MyBatis以及UML等內(nèi)容。本章內(nèi)容為下一步高校圖書館管理系統(tǒng)需求分析與設(shè)計奠定了基礎(chǔ)。

第三章圖書館管理系統(tǒng)需求分析與總體設(shè)計概要分析系統(tǒng)功能要求下面簡述圖書館管理系統(tǒng)功能要求。1.資源采編資源采訪包括征訂目錄、訂購、驗收等功能。從書商的清單中選擇圖書館需要的圖書,并且對書目信息的增刪改,以及復(fù)本信息如條碼號、索書號、館藏地、狀態(tài)等的增刪改。對圖書資源的館藏地的設(shè)置,調(diào)撥、清點等。2.讀者服務(wù)讀者信息管理和借還書、續(xù)借等操作。3.統(tǒng)計查詢對各項業(yè)務(wù)進行統(tǒng)計,包括借還統(tǒng)計、館藏統(tǒng)計等各類統(tǒng)計功能。檢索圖書等。4.系統(tǒng)管理設(shè)置權(quán)限,菜單管理等。根據(jù)圖書館自身業(yè)務(wù)場景設(shè)置各類參數(shù),做到因地制宜。系統(tǒng)性能要求按照用戶對圖書館管理系統(tǒng)的要求,確定系統(tǒng)在響應(yīng)時間、可靠性、安全等種領(lǐng)域符合圖書館各項管理工作的要求。具體分為以下幾方面:1.

響應(yīng)時間要求當有300個以上用戶同時對系統(tǒng)進行查詢操作時,百萬級檢索量的結(jié)果響應(yīng)時間應(yīng)不低于2秒,頁面刷新頻率應(yīng)在0.2-0.3次/秒。高校圖書館的管理系統(tǒng)應(yīng)該能夠監(jiān)控系統(tǒng)后臺服務(wù)的各種非正常狀態(tài)。比如通訊中斷,數(shù)據(jù)庫服務(wù)器無法連接,CPU使用率飆升等。2.系統(tǒng)可靠性分析系統(tǒng)運行時間7*24,數(shù)據(jù)更新處理必須是實時的,數(shù)據(jù)之間的轉(zhuǎn)換和傳輸時間,接口更新處理時間;3.系統(tǒng)可擴展性需求圖書館管理系統(tǒng)設(shè)計要能夠體現(xiàn)擴展性,方便后期功能擴展。4.系統(tǒng)安全性需求圖書館管理系統(tǒng)必須有權(quán)限管理,各個功能模塊才能運行。系統(tǒng)應(yīng)受到保護,防止因各種類型的誤操作而可能造成的數(shù)據(jù)丟失、破壞,防止未登錄用戶的非法操作。用例分析下面從圖書館管理系統(tǒng)采編館員、典藏館員、流通館員、統(tǒng)計查詢館員等角度,分析業(yè)務(wù)用例。從采編館員、典藏館員、流通館員、統(tǒng)計查詢館員等角度完成分析的業(yè)務(wù)用例。圖3.1為圖書館管理系統(tǒng)采編館員業(yè)務(wù)用例圖。在圖3.1中,采編館員用例包括圖書采購管理、圖書驗收、圖書編目、圖書典藏等四個子用例。其中,圖書采購子用例包括訂單組織和圖書查重兩項操作,圖書驗收子用例包括驗收核對、分配財產(chǎn)兩項操作,圖書編目子用例包括編輯書目信息、編輯復(fù)本信息兩項操作,圖書典藏子用例包括新書上架、舊書報廢兩項操作。<include>訂單組織<include>訂單組織圖書查重圖書采購圖書查重圖書采購<usecase><include><usecase><include>驗收核對驗收核對分配財產(chǎn)圖書驗收分配財產(chǎn)圖書驗收<usecase><usecase>編輯書目<usecase>編輯書目<usecase><include><include>編輯復(fù)本采編館員圖書編目編輯復(fù)本采編館員圖書編目<usecase><usecase>新書上架圖書典藏新書上架圖書典藏舊書報廢<include>圖3.1圖書館管理系統(tǒng)采編館員業(yè)務(wù)用例圖圖3.2為圖書館管理系統(tǒng)讀者服務(wù)館員業(yè)務(wù)用例圖。在圖3-2中,讀者服務(wù)館員用例包括圖書外借及讀者管理兩個子用例。其中,圖書外借子用例包括讀者認證、圖書借出,讀者管理子用例包括讀者注冊及讀者信息管理兩項操作。讀者認證<include>讀者認證<include>圖書借還圖書借還圖書借出<usecase>圖書借出<usecase>讀者注冊<include><usecase>讀者注冊<include><usecase>讀者管理讀者服務(wù)館員讀者管理讀者服務(wù)館員讀者信息管理讀者信息管理圖3.2圖書館管理系統(tǒng)讀者服務(wù)館員業(yè)務(wù)用例圖圖3.3為圖書館管理系統(tǒng)典藏館員用例圖。在圖3.3中,典藏館員用例包括新書典藏、圖書處理兩個子用例。其中,新書典藏子用例包括新書分配和狀態(tài)變更兩項操作內(nèi)容,圖書處理子用例包括調(diào)撥和舊書報廢兩項操作內(nèi)容。舊書報廢舊書報廢<include><include>圖書處理圖書處理調(diào)撥調(diào)撥<usecase><usecase>圖書典藏狀態(tài)變更圖書典藏狀態(tài)變更<include>新書分配<usecase>采編館員<usecase>采編館員圖3.3圖書館管理系統(tǒng)典藏館員業(yè)務(wù)用例圖圖3.4為圖書館管理系統(tǒng)查詢統(tǒng)計館員業(yè)務(wù)用例圖。在圖3.4中,查詢統(tǒng)計館員用例包括采購訂單查詢、新書入藏查詢、讀者借還量查詢、館藏清單查詢等子用例。其中,采購訂單查詢子用例包括按日期范圍查詢、按供應(yīng)商查詢、按批次查詢等操作內(nèi)容,新書入藏查詢包含按實際范圍查詢、按館藏地查詢、按圖書類型查詢等三項操作內(nèi)容,讀者借還量查詢包含按時間范圍查詢、按讀者類型查詢、按館藏地查詢等三項操作內(nèi)容,館藏清單查詢包含總體統(tǒng)計和按時間范圍統(tǒng)計。<include>按日期范圍查詢<include>按日期范圍查詢按供應(yīng)商查詢采購訂單查詢按供應(yīng)商查詢采購訂單查詢按批次查詢按批次查詢<usecase><usecase>按時間范圍查詢<include>按時間范圍查詢<include>按館藏地查詢新書入藏查詢按館藏地查詢新書入藏查詢按圖書類型查詢按圖書類型查詢<usecase><usecase><include>按時間范圍查詢<include>按時間范圍查詢<usecase><usecase>按讀者類型查詢讀者按讀者類型查詢讀者借還量查詢按館藏地查詢按館藏地查詢查詢統(tǒng)計館員<usecase><usecase><include>總體統(tǒng)計<include>總體統(tǒng)計按時間范圍統(tǒng)計館藏清單查詢查詢按時間范圍統(tǒng)計館藏清單查詢查詢圖3.4圖書館管理系統(tǒng)查詢統(tǒng)計館員業(yè)務(wù)用例圖業(yè)務(wù)流程分析讀者服務(wù)流程1.借書借書操作時,首先需要進行讀者認證,借助外部設(shè)備一卡通等認證讀者是否存在。根據(jù)認證的結(jié)果判斷,該讀者是否存在。如果存在,則進一步判斷讀者是否有效,讀者可能會存在多種狀態(tài)。例如,注銷、停借、凍結(jié)等。如果是有效讀者,那么此時接收圖書的條碼號,判斷該圖書是否為可借狀態(tài)。如果是可借,那么更新讀者信息,在讀者名下增加該書的借閱信息。同時變更圖書的狀態(tài)由可借變?yōu)榻璩?,最終完成借書流程。借書流程如圖3.5所示。

圖3.5圖書館管理系統(tǒng)借書流程圖2.還書 還書操作時先接收圖書條碼號,讀取成功后對該書當前狀態(tài)進行判斷。是否有超期、丟失、污損的情況存在,如果沒有進行下一步歸還圖書。如果有相關(guān)情況,需要根據(jù)圖書館管理辦法繳納罰款。執(zhí)行還書后,需要做判斷,該書是否有人預(yù)約或者委托。如果有,提醒上預(yù)約、委托書架。沒有的話,正常進行后續(xù)的圖書上架流程。還書流程如圖3.6所示。圖3.6圖書館管理系統(tǒng)還書流程圖3.續(xù)借續(xù)借時,首先需要進行讀者認證。根據(jù)認證的結(jié)果判斷,該讀者是否存在。如果存在,則進一步判斷讀者是否有效,讀者可能會存在多種狀態(tài)。例如,注銷、停借、凍結(jié)等。如果是有效讀者,那么此時展示出該讀者當前在借圖書信息。讀者選擇需要續(xù)借的圖書進行下一步操作,判斷所選圖書是否可以續(xù)借。如果是可續(xù)借,那么更新讀者信息,在讀者名下修改該書的應(yīng)還日期。同時變更圖書的應(yīng)還回時間,最終完成借書流程。續(xù)借流程如圖3.7所示。圖3.7圖書館管理系統(tǒng)續(xù)借流程圖資源采編流程1.采訪 采訪時有以下流程;(1.)導(dǎo)入書單 采訪時,由對應(yīng)供應(yīng)商提供所能采購書目訂單,也叫征訂目錄。書單文件格式一般有.iso或Excel等格式,導(dǎo)入信息入數(shù)據(jù)庫,可查看每種書的元數(shù)據(jù)信息。(2.)訂前查重 在選書前,先做查重。目的是為了減少重復(fù)選書,提高工作效率。訂前查重可根據(jù)書目的ISBN、題名、責(zé)任者、出版社等字段,選擇完全匹配或前方一致進行查重。匹配條件可單選或多選,也可以使用“與”、“或”進行多字段的查重。查重完成之后,可對重復(fù)數(shù)據(jù)進行處理,刪除或直接對不重復(fù)數(shù)據(jù)進行訂購操作。(3.)初選 在處理完重復(fù)數(shù)據(jù)后,在剩下的書目中選擇自己想要的數(shù)據(jù)。跟圖書的中圖法分類、出版社等情況進行單選或多選的訂購操作。做完訂購,將離開征訂流程進入訂購流程。(4.)終選 終選,顧名思義在初選的基礎(chǔ)上再次選擇所需的訂購書目,提高經(jīng)費使用效率。(5.)訂后查重 在終選完成后,發(fā)訂前,需要再次做查重。因為可能有多個采編館員對書單進行操作,書目選擇可能會在征訂后再次重復(fù),此刻為了避免重復(fù),再次查重。對查重結(jié)果進行處理,直接刪除與已發(fā)訂數(shù)據(jù)重復(fù)內(nèi)容。(6.)發(fā)訂 做完訂后查重后,選擇相應(yīng)書目,相應(yīng)經(jīng)費,發(fā)訂至對應(yīng)供應(yīng)商,整個采訪流程就完成了。采訪流程如圖3.8所示。

圖3.8圖書館管理系統(tǒng)采訪流程圖2.驗收驗收分為以下幾個流程:(1)接收書目 拿到實體書后,錄入ISBN號,與已發(fā)訂數(shù)據(jù)進行比對,命中對應(yīng)訂購書目。(2)核對信息 命中訂購信息,此刻需要進行幾項核對。首先核對拿到手的書是否題目、責(zé)任者等信息是否正確,如果錯誤可能需要退換貨。其次,核對價格等信息是否有誤,如果超出可能需要退換貨,否則將超出圖書館制定的采購規(guī)則。最后,核對到貨的數(shù)量與訂單訂購的數(shù)量是否一致,多的需要退貨,少則需要聯(lián)系供應(yīng)商補發(fā)貨。(3)分配財產(chǎn)號 完成核對信息后,確認該書為圖書館需要采購的書目。此刻需要對書目分配固定資產(chǎn)編號,分配固定資產(chǎn)編號,可以方便圖書館和學(xué)校對圖書資源進行清查,同時利于采訪館員數(shù)據(jù)記錄。驗收流程如圖3.9所示。圖3.9圖書館管理系統(tǒng)驗收流程圖2.編目 編目分為以下幾個流程:(1).編目 首先對書目進行元數(shù)據(jù)信息的編輯,增刪改相應(yīng)字段和字段信息,編目質(zhì)量的好壞直接決定了圖書檢索和利用的效率,檢索的索引全部來自于編目后的MARC信息。(2).分配條碼 對書目信息完成編輯后,需要對復(fù)本也就是每冊圖書進行相應(yīng)的信息加工。分配條碼號的目的是為了給每冊圖書一個唯一識別號,在借還書或其他場景利用時,不會出現(xiàn)圖書重復(fù)的情況。(3).分配索書號 索書號是便于圖書排架及查找的重要信息,根據(jù)圖書館規(guī)則分配對應(yīng)的索書號。(4).完成編目 在對書目和復(fù)本信息完成全部編輯后,整個編目流程就結(jié)束了。驗收流程如圖3.10所示。圖3.10圖書館管理系統(tǒng)編目流程圖資源典藏流程典藏分為以下幾個流程:1.分配館藏地 編目完成的書進入典藏流程。首先對所有書分配館藏地,館藏地的分配一般按照中圖分類法和館舍的構(gòu)成去完成,便于提高館藏利用效率。2.修改狀態(tài) 對于需要開架流通的書,默認給予可借狀態(tài)。對于不可外借的,則需要修改圖書的狀態(tài)為閱覽或不可借。3.圖書上架 完成這些操作后,最后一步圖書上架,標志著圖書由采編加工狀態(tài)變?yōu)榭墒褂脿顟B(tài),讀者可以去進行外借或閱覽。典藏流程如圖3.11所示。圖3.11圖書館管理系統(tǒng)典藏流程圖統(tǒng)計查詢流程1.館藏統(tǒng)計選擇多種條件進行全館館藏資源的統(tǒng)計,例如按種、按冊、按館藏地、按時間區(qū)間等,選擇完成后進行統(tǒng)計,得到相應(yīng)的統(tǒng)計結(jié)果,生成對應(yīng)的統(tǒng)計報表,最終選擇導(dǎo)出或打印,完成整個統(tǒng)計流程館藏統(tǒng)計流程如圖3.12所示。圖3.12圖書館管理系統(tǒng)館藏統(tǒng)計流程圖2.書刊檢索設(shè)置檢索條件,如題名、責(zé)任者、ISBN號、索書號、出版社等,輸入檢索詞進行檢索,展示結(jié)果列表頁,選擇想要查看的書刊,進入詳情頁,展示書刊詳細信息,如MARC何館藏復(fù)本。書刊檢索流程如圖3.13所示。圖3.13圖書館管理系統(tǒng)書刊檢索流程圖系統(tǒng)設(shè)計C/S與B/S選擇在系統(tǒng)體系結(jié)構(gòu)選擇時,主要考慮了高校圖書館管理系統(tǒng)的以下特點:1.高校建設(shè)通常存在多校區(qū)以及多校合并的情況,現(xiàn)實中系統(tǒng)管理人員偏少,硬件設(shè)備配置參差不齊。2.本系統(tǒng)為智慧圖書館建設(shè)體系的一個軟件,研究成果在實際中有諸多應(yīng)用。在高校圖書館建設(shè)過程中,不斷有新場景、新需求,需要對系統(tǒng)不斷的迭代升級。目前,主流體系結(jié)構(gòu)為B/S與C/S兩種。B/S架構(gòu)就是在瀏覽器訪問應(yīng)用系統(tǒng),不需要獨立安裝客戶端。B/S體系結(jié)構(gòu)主要特點是易于維護,開發(fā)可實現(xiàn)前后端分離,易于迭代升級。該結(jié)構(gòu)對用戶的終端PC硬件要求很低,并且終端維護幾乎為0;又因為軟件是集中部署在服務(wù)器上,所以,當系統(tǒng)軟件進行升級迭代時,無需對客戶端進行相關(guān)維護,適用于預(yù)期需求變化較大或頻繁的情況。本系統(tǒng)是圖書館日常業(yè)務(wù)運行的管理系統(tǒng),存在終端使用者較多的情況,并且終端硬件的配置、操作系統(tǒng)往往比較落后。C/S架構(gòu)雖然在流暢性、安全性、穩(wěn)定性等研究角度具備優(yōu)勢,但這些角度需求在本研究課題中優(yōu)先級較低。所以,圖書館管理系統(tǒng)選擇使用B/S架構(gòu)。表示層圖書館管理系統(tǒng)是基于react架構(gòu)的,表示層運用ant-design頁面技術(shù)進行編寫,控制層主要運用dva框架的控制器組件,它在圖書館管理系統(tǒng)模型同視圖之間承擔中間調(diào)度角色。dva基于redux、redux-saga和react-router@2.x的輕量級前端框架。Redux-saga是用于管理Redux應(yīng)用異步操作。ReactRouter@2.x是完整的React路由解決方案。dva主要由4個部分是數(shù)據(jù)流向,Models,Router,RouterComponent。dva數(shù)據(jù)的變化通常是由用戶交互行為或瀏覽器行為(如路由跳轉(zhuǎn)等)觸發(fā)的。).當這種行為改變數(shù)據(jù)時,可以通過dispatch發(fā)起action。如果是同步行為,會通過Reducers直接改變狀態(tài)。如果是異步行為(副作用),它將首先觸發(fā)Effects,然后流向Reducers,最后改變狀態(tài)。所以在dva中,數(shù)據(jù)流非常清晰簡潔,思路與開源社區(qū)基本一致。State表示Model的狀態(tài)數(shù)據(jù),通常表現(xiàn)為一個javascript對象(當然它可以是任何值);Action是改變State的唯一途徑。通過dispatch函數(shù)調(diào)用一個action,從而改變對應(yīng)的數(shù)據(jù)。action必須帶有

type

屬性指明具體的行為,其它字段可以自定義,如果要發(fā)起一個action需要使用

dispatch

函數(shù);需要注意的是

dispatch

是在組件connectModels以后,通過props傳入的。dispatchingfunction是一個用于觸發(fā)action的函數(shù),action是改變State的唯一途徑,但是它只描述了一個行為,而dipatch可以看作是觸發(fā)這個行為的方式,而Reducer則是描述如何改變數(shù)據(jù)的。在dva中,connectModel的組件通過props可以訪問到dispatch,可以調(diào)用Model中的Reducer或者Effects。Subscription語義是訂閱,用于訂閱一個數(shù)據(jù)源,然后根據(jù)條件dispatch需要的action。數(shù)據(jù)源可以是當前的時間、服務(wù)器的websocket連接、keyboard輸入、geolocation變化、history路由變化等。Router通過瀏覽器提供的

HistoryAPI

可以監(jiān)聽瀏覽器url的變化,從而控制路由相關(guān)操作。dva實例提供了router方法來控制路由,使用的是react-router.在組件設(shè)計方法中,dva中我們通常將其約束為RouteComponents,因為在dva中我們通常以頁面維度來設(shè)計ContainerComponents。系統(tǒng)業(yè)務(wù)層設(shè)計業(yè)務(wù)邏輯控制器負責(zé)處理圖書館管理系統(tǒng)圖書采編、典藏、借還等圖書館員及讀者相關(guān)請求。圖書館管理系統(tǒng)業(yè)務(wù)控制器包括PurchaseController、OrderController、UserController、CollectionController、LoanHistoryController、PhysicalItemController等Controller類,它們分別承擔資源預(yù)訂、資源訂購、用戶管理、訂購購包管理、借閱信息管理、資源管理等方面的業(yè)務(wù)轉(zhuǎn)發(fā)工作。業(yè)務(wù)層設(shè)計如圖3.14所示圖3.14業(yè)務(wù)設(shè)計系統(tǒng)DAO層設(shè)計圖書館管理系統(tǒng)采用SSM架構(gòu),業(yè)務(wù)控制器Action類只需要選擇和執(zhí)行業(yè)務(wù)邏輯處理方法,真正的業(yè)務(wù)處理是通過DAO類實現(xiàn)的。在系統(tǒng)業(yè)務(wù)類Action類中,首先構(gòu)建DAO類的對象,然后利用Mybatis框架的ORM映射文件和持久化類,實現(xiàn)與數(shù)據(jù)庫的數(shù)據(jù)交換。圖書館管理系統(tǒng)DAO類包括purchaseLineDAO、physicalitemDAO、orderDAO、userDAO等。DAO模式能夠?qū)?shù)據(jù)訪問和業(yè)務(wù)邏輯進行分離,并且能夠?qū)I(yè)務(wù)數(shù)據(jù)的對象化進行封裝。在本項目中,DAO模式通過對系統(tǒng)業(yè)務(wù)層給予數(shù)據(jù)抽象層接口,實現(xiàn)了以下幾個目標:1.獨立的數(shù)據(jù)訪問邏輯。上層結(jié)構(gòu)給出了抽象數(shù)據(jù)存儲邏輯和抽象數(shù)據(jù)訪問接口,可以方便團隊協(xié)作開發(fā)。2.分離底層數(shù)據(jù)訪問的具體實現(xiàn)。DAO模式將數(shù)據(jù)訪問分為抽象層和實現(xiàn)層,然后將數(shù)據(jù)應(yīng)用和數(shù)據(jù)訪問的底層實現(xiàn)細節(jié)分開。開發(fā)人員可以在保持上層結(jié)構(gòu)不變的情況下,通過切換底層實現(xiàn)措施來編輯數(shù)據(jù)訪問的具體機制。3.資源管理與調(diào)度的分離。DAO模式將數(shù)據(jù)存儲邏輯與業(yè)務(wù)邏輯分離,便于在數(shù)據(jù)訪問中完成統(tǒng)一的資源調(diào)度。通過使用數(shù)據(jù)庫連接池和緩存機制,可以在保持上層系統(tǒng)不變的情況下,大大提高系統(tǒng)性能。4.數(shù)據(jù)抽象。數(shù)據(jù)抽象。DAO模式通過對底層數(shù)據(jù)的完美封裝,為業(yè)務(wù)層提供了一個面向?qū)ο蟮恼{(diào)用接口,方便業(yè)務(wù)邏輯開發(fā)人員完成面向業(yè)務(wù)中實體的編碼。使用DAO模式,系統(tǒng)的業(yè)務(wù)邏輯更加清晰、生動、具有描述性,將會給運行時的維護帶來極大的便利。系統(tǒng)持久層設(shè)計系統(tǒng)DAO類調(diào)用的類是mybatis里面的持久化類,圖書館管理系統(tǒng)持久化類包括purchaseLineMapper.xml、orderLineMapper.xml、physicalItemMapper.xml、loanHistoryMapper.xml、userMapper.xml等數(shù)據(jù)庫映射文檔。Mybatis的每一個映射文件包含了一個持久化類同關(guān)系數(shù)據(jù)庫表的映射關(guān)系,包括映射到數(shù)據(jù)庫中具體每個表的具體字段,以及集合屬性映射到哪些相關(guān)字段。mybatis是一種持久層框架。和hibernate相比,hibernate全自動化地配置文件書寫之后不需要書寫sql語句。Mybatis的半自動化,既需要自己書寫sql語句,也需要自己映射進行定義。雖然看似增加了程序員的工作量,但是實際上能夠使得設(shè)計具有較高的靈活性,并且也支持一部分hibernate的特性,如緩存,映射和延遲加載等;mybatis數(shù)據(jù)庫的兼容性弱于hibernate。移植性也不是很強,但是勝在能夠靈活編寫sql語句,并且高性能的sql語句也是支持的。mybatis不會強加影響在應(yīng)用程序或者數(shù)據(jù)庫的現(xiàn)有設(shè)計上。Sql語句是在xml文件編寫的,可以很容易進行sql優(yōu)化和統(tǒng)一管理。通過Sql基本上可以實現(xiàn)所有功能,而不依賴于數(shù)據(jù)訪問框架。將sql與程序代碼解耦:通過提供DAO層,將業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯分開,使得系統(tǒng)設(shè)計更清晰,更易于維護,更易于單元測試。sql和代碼的分離提高了可維護性。數(shù)據(jù)庫設(shè)計1.數(shù)據(jù)庫設(shè)計原則數(shù)據(jù)庫是軟件系統(tǒng)的核心之一,數(shù)據(jù)庫運轉(zhuǎn)的優(yōu)良對整個系統(tǒng)的起著關(guān)鍵的作用。隨著圖書館館藏資源的不斷積累,業(yè)務(wù)數(shù)據(jù)量也在飛速增長,如何在穩(wěn)定的前提下高效地處理海量數(shù)據(jù)成為考核圖書館管理系統(tǒng)數(shù)據(jù)庫性能的重要標準之一。數(shù)據(jù)庫設(shè)計的目標是為圖書館管理系統(tǒng)準備一個信息基礎(chǔ)設(shè)施及高效的運行環(huán)境,不如人意的數(shù)據(jù)庫設(shè)計質(zhì)量和數(shù)據(jù)結(jié)構(gòu),會導(dǎo)致圖書館管理系統(tǒng)項目的失敗,所以需要合理設(shè)計數(shù)據(jù)庫。本系統(tǒng)使用mysql5.7作為數(shù)據(jù)庫,在設(shè)計系統(tǒng)的數(shù)據(jù)庫時,應(yīng)該著重考慮以下幾方面的問題:(1)系統(tǒng)的數(shù)據(jù)庫中表與表之間的關(guān)系必須明確、清晰。(2)數(shù)據(jù)表必須規(guī)范、標準,這樣才能在后期運行中進行系統(tǒng)功能的擴展和系統(tǒng)維護。(3)冗余也是必須要考慮的一個問題,否則很容易發(fā)生數(shù)據(jù)不一致,同時也能夠較少的使用存儲空間,也有利于提高數(shù)據(jù)庫的運行效率。(4)在并發(fā)操作時,需要特別考慮數(shù)據(jù)的一致,可以考慮利用到數(shù)據(jù)庫的鎖等機制。2.表結(jié)構(gòu)設(shè)計館藏數(shù)據(jù)表如表3.1所示表3.1

館藏復(fù)本表序號名稱代碼數(shù)據(jù)類型長度可空主鍵外鍵備注01副本idITEM_IDCHAR(19)19否是否02元數(shù)據(jù)控制號RECORD_IDCHAR(32)32否否是03條形碼BARCODECHAR(18)18否否否04財產(chǎn)號PROP_NOCHAR(8)8是否否05索書號CALL_NOCHAR(11)11是否否06借閱狀態(tài)CIRC_FLAGsmallint2否否否0在館,1外借07書架號SHELF_NOint11否否否08驗收包IDCOLLECTION_IDint11否否否09所屬館藏IDLOCATION_IDint11否否否10訂購工作臺IDDESK_IDint11否否否表3.2

借閱歷史表序號名稱代碼數(shù)據(jù)類型長度可空主鍵外鍵備注01借閱流水IDLOAN_HIST_IDCHAR(19)19否是否02復(fù)本IDITEM_IDCHAR(32)32否否是03用戶IDUSER_IDInt11否否是04實還日期RETURN_DATEDatetime8是否否05催還日期RECALL_DATEDatetime11是否否06借出日期LOAN_DATEDatetime2否否否07借閱規(guī)則RULE_IDint11否否否08操作類型LOAN_TYPEint11否否否09所屬館藏IDLOCATION_IDint11否否否10所屬借閱IDLOAN_IDint11否否否表3.3

讀者表序號名稱代碼數(shù)據(jù)類型長度可空主鍵外鍵備注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用戶狀態(tài)STATUSint11否否否(0注銷,1正常)10注冊日期REG_DATEDatetime否否否11注銷日期PURGE_DATEDatetime否否否表3.4

元數(shù)據(jù)表序號名稱代碼數(shù)據(jù)類型長度可空主鍵外鍵備注01元數(shù)據(jù)控制號RECORD_IDCHAR(19)19否是否02文獻類型LIT_CODECHAR(32)32否否是03資料類型代碼DOC_CODEVarchar(256)11否否是04元數(shù)據(jù)類型MD_TYPEInt18是否否05元數(shù)據(jù)過程狀態(tài)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

圖書屬性表序號名稱代碼數(shù)據(jù)類型長度可空主鍵外鍵備注01元數(shù)據(jù)控制號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責(zé)任者

AUTHORVarchar(256)11否否否09出版社PUBLISHERVarchar(256)11否否否10出版日期PUB_DATEDatetime否否否11連續(xù)性標志SERIRL_FLAGInt否否否

0圖書,1期刊表3.6

證件表序號名稱代碼數(shù)據(jù)類型長度可空主鍵外鍵備注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機構(gòu)代碼GROUP_CODEint11否否否08分館代碼BRANCH_CODEInt11否否否09證件狀態(tài)STATUSint11否否否10注冊日期DEPOSITDatetime否否否11預(yù)付款PREPAYMENTDouble否否否本章小結(jié)本章探討的是圖書館管理系統(tǒng)的需求分析和總體設(shè)計,主要內(nèi)容包含概要分析、系統(tǒng)用例分析、業(yè)務(wù)流程分析、系統(tǒng)涉及以及數(shù)據(jù)庫設(shè)計。其中,圖書館管理系統(tǒng)概要分析,包括系統(tǒng)功能要求和系統(tǒng)性能要求兩個層面的需求;圖書館管理系統(tǒng)用例分析內(nèi)容,包括圖書館管理系統(tǒng)采編館員用例、讀者服務(wù)館員員用例、典藏館員用例以及查詢統(tǒng)計管理員用例;圖書館管理系統(tǒng)業(yè)務(wù)流程分析內(nèi)容,包括讀者服務(wù)流程、資源采編流程、資源典藏流程以及統(tǒng)計查詢流程;圖書館管理系統(tǒng)的系統(tǒng)設(shè)計包括C/S與B/S選擇、系統(tǒng)框架選擇、表示層設(shè)計、系統(tǒng)業(yè)務(wù)層設(shè)計、系統(tǒng)DAO層設(shè)計以及系統(tǒng)持久層設(shè)計內(nèi)容。第四章高校圖書館管理系統(tǒng)實現(xiàn)高校圖書館管理系統(tǒng)開發(fā)概述圖書管理系統(tǒng)的開發(fā)過程包括創(chuàng)建系統(tǒng)持久性類和映射文件、創(chuàng)建Controller類、開發(fā)Service類、創(chuàng)建DAO類、編寫頁面、Mybatis配置,下面分別簡述。1.創(chuàng)建系統(tǒng)持久化類及映射文件(1)創(chuàng)建持久化類針對前述設(shè)計的系統(tǒng)數(shù)據(jù)表,創(chuàng)建相應(yīng)的持久化類,持久化類包含一些屬性,以及與之對應(yīng)的get()方法和set()方法,其中的屬性與數(shù)據(jù)表字段一一對應(yīng)。在持久化類時,需要繼承BaseDto類,這樣可以完成公共字段的處理,比如創(chuàng)建時間、更新時間等,從而減少冗余代碼。(2)創(chuàng)建映射文件實體類、mapper.xml映射文件能夠被mybatis的插件自動生成。首先創(chuàng)建用于自動生成的配置文件generatorConfig.xml,持久化類可以被映射到對應(yīng)的數(shù)據(jù)庫表。在該圖書管理系統(tǒng)中,部分持久類和數(shù)據(jù)表、mybatis映射文件對應(yīng)關(guān)系如表4.1所示。表4.1

系統(tǒng)數(shù)據(jù)表、數(shù)據(jù)持久類和有關(guān)mybatis映射文件對應(yīng)關(guān)系數(shù)據(jù)表持久類文件Mybatis映射文件collectioncollection.javacollectionMapper.xmlinstitutioninstitution.javainstitutionMapper.xmllocationlocation.javalocationMapper.xmluseruser.javauserMapper.xml2.創(chuàng)建Controller類、創(chuàng)建Service類Controller類可以根據(jù)映射的請求路徑實現(xiàn)請求的接受以及轉(zhuǎn)發(fā)到對應(yīng)的Service類。在圖書館管理中,Service實現(xiàn)類繼承了對應(yīng)的接口類,在該類中逐一實現(xiàn)了接口類中的所有業(yè)務(wù)方法,從而可以完成相應(yīng)的業(yè)務(wù)邏輯操作。3.創(chuàng)建DAO類在圖書館管理系統(tǒng)中,將業(yè)務(wù)控制類劃分在控制層,即上面Service類。此處DAO類實際上包括業(yè)務(wù)邏輯類及數(shù)據(jù)訪問層兩種職責(zé)。這里編寫DAO類,利用Mybatis映射,完成具體的業(yè)務(wù)邏輯操作。4.編寫頁面在圖書館管理系統(tǒng)中,頁面主要是由REACT技術(shù)實現(xiàn)。5.Mybatis配置主要完成mybatis-config.xml文件、generatorConfig.xml文件編寫。讀者服務(wù)模塊1.借書模塊(1)時序圖根據(jù)第三章的需求分析,得出借書模塊的時序圖。借書模塊時序圖如圖4.1所示圖4.1借書模塊時序圖描述:讀者向都著服務(wù)館員發(fā)起借書請求,讀者服務(wù)館員打開借還書頁面,輸入讀者證號,驗證讀者信息,驗證讀者是否超過最大借閱規(guī)則,讀者是否有欠款未還。驗證無誤,輸入圖書條碼號,查詢該圖書情況,判斷該書是否存在。選擇該書,更新圖書館藏狀態(tài),同時更新讀者借書信息,最后借書成功。圖4.2借書模塊類圖通過時序圖設(shè)計類,表4.2為借書模塊類圖說明表4.2借書模塊類說明表類名說明PhysicalItemLendService校驗讀者借書權(quán)限以及根據(jù)條碼號校驗書本借閱規(guī)則PhysicalLoanMapper記錄借書歷史PhysicalItemMapper更改書刊狀態(tài)借書模塊類圖方法說明,表4.3為借書模塊類方法表4.3借書模塊類方法表方法名

說明PhysicalItemLendService

::physicalItemLendCheckRegular()

校驗借閱規(guī)則PhysicalLoanMapper

::insertPhysicsLoan()

記錄借閱行為PhysicalItemMapper

::updatePhysicalItem()

更新復(fù)本流通2.還書模塊(1)時序圖根據(jù)第三章的需求分析,得出還書模塊的時序圖。還書模塊時序圖如圖4.3所示。描述: 讀者向讀者服務(wù)館員發(fā)起還書請求,讀者服務(wù)館員打開借還書頁面,輸入圖書條碼號,查詢庫中圖書信息,數(shù)據(jù)庫返回圖書在借信息,進行還書,更新館藏狀態(tài),還書成功,頁面提示讀者服務(wù)館員還書成功。圖4.3還書模塊時序圖(2)類圖圖4.4還書模塊類圖(3)還書模塊類表4.4還書模塊類說明表類名說明PhysicalItemReturnService還書處理PhysicalLoanMapper刪除借書歷史PhysicalItemMapper更改書刊狀態(tài)借書模塊類圖方法說明,表4.5為還書模塊類方法表4.5還書模塊類方法表方法名

說明PhysicalItemLendService

::physicalItemReturnCheckRegular()

還書處理PhysicalLoanMapper

::deletePhysicsLoan()

刪除借閱行為PhysicalItemMapper

::updatePhysicalItem()

更新復(fù)本流通3.續(xù)借模塊(1)時序圖根據(jù)第三章的需求分析,得出續(xù)借模塊的時序圖。續(xù)借模塊時序圖如圖4.5所示。描述:讀者向都著服務(wù)館員發(fā)起續(xù)借請求,讀者服務(wù)館員打開續(xù)借頁面,輸入讀者證號,驗證讀者信息。向數(shù)據(jù)庫后臺請求查詢讀者當前借閱書情況,數(shù)據(jù)庫后臺返回讀者當前在借未還書清單,選擇當中需要續(xù)借的書進行續(xù)借。驗證讀者是否超過最大續(xù)借規(guī)則,讀者是否有欠款未還。驗證無誤,輸入圖書條碼號,查詢該圖書情況,判斷該書是否存在。選擇該書,更新圖書館藏狀態(tài),同時更新讀者借書信息,最后續(xù)借成功。圖4.5續(xù)借模塊時序圖(2)類圖圖4.6續(xù)借模塊類圖(3)續(xù)借模塊類表4.7借書模塊類說明表類名說明reNewService校驗讀者借書權(quán)限以及根據(jù)條碼號校驗書本借閱規(guī)則PhysicalLoanMapper記錄借書歷史PhysicalItemMapper更改書刊狀態(tài)(4)續(xù)借模塊類圖方法說明,表4.8為借書模塊類方法表4.8借書模塊類方法表方法名

說明PhysicalItemLendService

::physicalItemLendCheckRegular()

校驗借閱規(guī)則PhysicalLoanMapper

::updatePhysicsLoan()

記錄借閱行為PhysicalItemMapper

::updatePhysicalItem()

更新復(fù)本流通資源采編模塊1.采訪(1)時序圖根據(jù)第三章的需求分析,得出采訪模塊的時序圖。采訪模塊時序圖如圖4.7所示 描述:采訪館員進入采訪界面,首先導(dǎo)入書商數(shù)據(jù),界面展示導(dǎo)入的書商數(shù)據(jù)。館員進行訂前查重,查重結(jié)果展示在界面上,采訪館員此時選擇需要采購的圖書,并進行訂購,進入訂單組織。在訂單組織中,再次精選需要采購的書,界面展示終選的結(jié)果。接下來進行查重,查重結(jié)果展示,選擇完需要訂購的書,發(fā)訂,完成采訪流程。圖4.7采訪模塊時序圖(2)類圖采訪類圖如圖4.8所示圖4.8采訪模塊類圖(3)采訪類圖說明采訪類圖說明如表4.10所示表4.10采訪類說明表類名說明OrderController提供前端調(diào)用批量訂購接口OrderService對訂購數(shù)據(jù)校驗處理等OrderProcessService單條訂購數(shù)據(jù)計算等OrderLineMapper提供訂購庫表增刪改查操作(4)采訪類圖方法說明采訪類圖方法說明如表4.11所示表4.11采訪類方法表方法名說明OrderController::orderOrRelOrderList()

提供前端調(diào)用批量訂購接口OrderService::orderRelList()

訂購校驗及計算訂購價格等OrderProcessService::orderOne()單條訂購記錄處理為符號保存庫表的格式OrderLineMapper::insertSelective()

保存到訂購記錄表2.驗收模塊(1)時序圖根據(jù)第三章的需求分析,得出驗收模塊的時序圖。驗收模塊時序圖如圖4.9所示描述:驗收館員打開驗收界面,掃描圖書的ISBN號,返回圖書信息,此時判斷該書是否為圖書館采購的書,判斷無誤,選擇該書,分配財產(chǎn)號,完成驗收。圖4.9驗收模塊時序圖(2)類圖圖4.10驗收模塊類圖(3)驗收類圖說明表4.13驗收類說明表類名說明OnceRecService對驗收數(shù)據(jù)校驗處理等OnceRecMapper提供驗收庫表增刪改查操作PhysicalItemMapper提供財產(chǎn)號增刪改查操作(4)驗收類圖方法說明表4.14驗收類方法表方法名說明OnceRecService::OnceRecCheck()

核對書目信息OnceRecMapper::insertSelective()

保存到驗收記錄表PhysicalItemMapper::insertSelective()

保存財產(chǎn)號到復(fù)本表3.編目模塊(1)時序圖根據(jù)第三章的需求分析,得出編目模塊的時序圖。編目模塊時序圖如圖4.11所示描述:館員打開編目界面進行編目,給圖書分配條碼號,分配索書號,完成編目。圖4.11編目模塊時序圖(2)類圖圖4.12編目模塊類圖(3)編目類圖說明表4.16編目類說明表類名說明CatalogueService對MARC進行處理等PhysicalItemService對復(fù)本進行處理HoldingsService對索書號進行處理MetadataMapper提供MARC數(shù)據(jù)增刪改查操作PhysicalItemMapper提供復(fù)本信息增刪改查操作HoldingsMapper提供索書號增刪改查操作(4)編目類圖方法說明表4.17編目類方法表方法名說明CatalogueService::catalogueSave()

對MARC進行處理PhysicalItemService::itemSave()

復(fù)本信息處理HoldingsService::callnoSave()索書號處理MetadataMapper::insertSelective()保存到元數(shù)據(jù)表PhysicalItemMapper::insertSelective()保存到復(fù)本表HoldingsMapper::insertSelective()保存到索書號表資源典藏模塊(1)時序圖根據(jù)第三章的需求分析,得出典藏模塊的時序圖。典藏模塊時序圖如圖4.13所示描述:描述:館員打開典藏界面進行編目,給圖書分配館藏地,修改圖書狀態(tài),圖書上架,最后完成典藏。圖4.13典藏模塊時序圖(2)類圖圖4.14典藏模塊類圖(3)典藏類圖說明表4.19典藏類說明表類名說明AllocateService典藏處理PhysicalItemService對復(fù)本進行處理PhysicalItemMapper提供復(fù)本信息增刪改查操作(4)典藏類圖方法說明表4.20典藏類方法表方法名說明AllocateService::orderOrRelOrderList()

對MARC進行處理PhysicalItemMapper::updateProcessType()變更狀態(tài)到復(fù)本表PhysicalItemMapper::updateCurLib()

變更館藏地到復(fù)本表統(tǒng)計查詢模塊1.館藏統(tǒng)計模塊(1)時序圖根據(jù)第三章的需求分析,得出館藏統(tǒng)計模塊的時序圖。館藏統(tǒng)計模塊時序圖如圖4.13所示描述:描述:館員打開典藏界面進行編目,給圖書分配館藏地,修改圖書狀態(tài),圖書上架,最后完成典藏。圖4.13典藏模塊時序圖(2)類圖圖4.14館藏統(tǒng)計模塊類圖(3)館藏統(tǒng)計類圖說明表4.21館藏統(tǒng)計類說明表類名說明PhysicalItemListService館藏清單BibliographyMapper提供書目信息批量獲取PhysicalItemMapper提供復(fù)本信息批量獲取LocationMapper提供館藏地信息批量獲?。?)典藏類圖方法說明表4.22館藏統(tǒng)計類方法表方法名說明PhysicalItemListService::displayPhysicalItemList()

獲取館藏清單BibliographyMapper::getByYearRangeBibliographyList()批量獲取書目信息PhysicalItemMapper::getByYearRangeItemList()批量獲取條碼號LocationMapper::getByYearRangeLocationList()

批量獲取館藏地2.書刊檢索模塊(1)時序圖根據(jù)第三章的需求分析,得出書刊檢索模塊的時序圖。書刊檢索模塊時序圖如圖4.15所示描述:館員打開書刊查詢界面,設(shè)置檢索條件(如ISBN號、題名、責(zé)任者等),輸入檢索詞,進行查詢。查詢界面展示結(jié)果列表,選擇需要查看的書刊,查詢界面展示該書刊的詳細信息,完成書刊檢索。圖4.15書刊檢索模塊時序圖(2)類圖圖4.16書刊檢索模塊類圖(3)書刊檢索類圖說明表4.23書刊檢索類說明表類名說明unifyTSearchUrlService書刊檢索PhysicalItemService對復(fù)本進行處理PhysicalItemMapper提供復(fù)本信息查找操作(4)書刊檢索類圖方法說明表4.24書刊檢索類方法表方法名說明unifyTSearchUrlService:getSearchList()

書刊檢索PhysicalItemService::getOne()對復(fù)本進行處理PhysicalItemMapper::getItemList()

提供復(fù)本信息查找操作關(guān)鍵技術(shù)解決方案對高校圖書館系統(tǒng)遷移方式,做以下兩種方式的討論:1.直接切換方式直接切換是在敲定的時間,停止運行正在使用的圖書館管理系統(tǒng),此類方式需要暫停圖書館的所有業(yè)務(wù)。在遷移完數(shù)據(jù)后,啟用新的圖書館管理系統(tǒng)啟動運行。這種方案的優(yōu)點是極大的保證了數(shù)據(jù)遷移的準確性以及數(shù)據(jù)的一致性。但是,需要暫停圖書館的開放業(yè)務(wù),如果遷移過程中出現(xiàn)問題,那么需要回退使用舊系統(tǒng)。這種方式非常適合數(shù)據(jù)量和業(yè)務(wù)量相對較小的圖書館,快速切換,業(yè)務(wù)影響的時間也比較短暫。2.并行切換方式并行切換是在一段時間內(nèi),圖書館管理工作中新舊兩個系統(tǒng)分別運行,互不干擾。同時可以在兩個系統(tǒng)之間做比較,以便發(fā)現(xiàn)新系統(tǒng)問題進行改正,直到新系統(tǒng)完全穩(wěn)定運行了,再完全放棄舊系統(tǒng)。并行的優(yōu)點是有足夠的時間去適應(yīng)系統(tǒng),并且。但是這種方式存在兩方面劣勢,第一,所有的業(yè)務(wù)工作需要在兩個系統(tǒng)都進行操作,實際工作中帶來了巨大的工作量,對于一線工作人員來說壓力非常大;第二,數(shù)據(jù)的一致性完全無法保障,圖書館業(yè)務(wù)量巨大,兩個系統(tǒng)的同步操作,稍有不慎,就導(dǎo)致數(shù)據(jù)不一致,嚴重的還會導(dǎo)致數(shù)據(jù)丟失。顯然,這種方式在圖書館管理工作中是非常難以實施的。3.分段切換方式 分段切換方式是指分階段、分業(yè)務(wù)流進行切換,準確來說把完全由后臺館員操作的采編部分和以服務(wù)為主的讀者服務(wù)部分分批切換。圖書館先進行采編業(yè)務(wù)的切換,同時暫停采編業(yè)務(wù),遷移采編數(shù)據(jù)。因為業(yè)務(wù)暫停,采編館員可以去學(xué)習(xí)、適應(yīng)新系統(tǒng)的功能。此時,讀者服務(wù)是在舊系統(tǒng)中正常運行的,無論采編業(yè)務(wù)切換的成敗都不會影響讀者服務(wù)。其次,在采編切換完成,并且熟悉系統(tǒng)后,進行讀者服務(wù)的切換。這種方式的好處是,分批次可以減少業(yè)務(wù)人員和系統(tǒng)管理人員的工作量,其次也能保證數(shù)據(jù)的一致性與準確性。同時,對于數(shù)據(jù)量和業(yè)務(wù)量大的圖書館,這種方式也能最大的減少對讀者服務(wù)的影響。系統(tǒng)使用效果圖書館管理系統(tǒng)資源采編、讀者服務(wù)、資源典藏、統(tǒng)計查詢等模塊,實現(xiàn)了系統(tǒng)中基本業(yè)務(wù)流程和數(shù)據(jù)的管理;從界面展示的效果來說,圖書館管理系統(tǒng)具備清晰的三級菜單導(dǎo)航,提高了易用性,減少了使用者的學(xué)習(xí)成本;三級角色權(quán)限的配置也極大提高了系統(tǒng)使用的安全性。圖書館管理系統(tǒng)預(yù)期實現(xiàn)對館藏資源的存儲、管理,解決了在海量館藏資源下系統(tǒng)使用的可靠性,圖書從采購、查重、驗收、編目、典藏全部在該系統(tǒng)中完成,將圖書館的管理人員從原始復(fù)雜的手工登記中脫離出來,將主要精力放在資源的精確采購、學(xué)科支撐上。通過統(tǒng)計分析功能的使用,可以迅速獲得圖書館當前的運行數(shù)據(jù),提高工作效率的同時,對圖書館管理人員的決策起到了輔助作用。另外,系統(tǒng)采用的SSM集成框架也極大的提高了系統(tǒng)的擴展性,降低了維護成本。本章小結(jié)本章基于第三章圖書館管理系統(tǒng)需求分析和總體設(shè)計,詳細介紹了如何實現(xiàn)圖書館管理系統(tǒng),主要內(nèi)容包括圖書館管理系統(tǒng)的開發(fā)概述、讀者服務(wù)模塊、資源采編模塊、資源典藏模塊、統(tǒng)計查詢模塊、關(guān)鍵技術(shù)解決方案、系統(tǒng)使用效果。其中,讀者服務(wù)模塊實現(xiàn)過程,從圖書外借、圖書歸還和圖書續(xù)借三個方面進行了探討;資源采編模塊實現(xiàn)過程,按照資源采訪、資源驗收、資源編目三部分進行了闡述;統(tǒng)計查詢模塊實現(xiàn)過程,從館藏統(tǒng)計層面進行了討論;至于關(guān)鍵技術(shù)解決方案,則從系統(tǒng)切換方式進行了深入全面的討論。

第五章智慧圖書館服務(wù)平臺測試測試目的測試本系統(tǒng)中各個模塊是否存在問題,設(shè)計的缺陷也會在測試中體現(xiàn)出來。通過測試可及時發(fā)現(xiàn)問題,對應(yīng)系統(tǒng)的功能模塊做出修改,以保障圖書館管理系統(tǒng)中各個模塊及功能在日常使用中正常,使得系統(tǒng)能夠達到預(yù)期目標。測試方法常用的測試方法分為兩種:白盒測試,也稱為結(jié)構(gòu)測試,通過源代碼測試的方式直接測試編碼過程中的錯誤。開發(fā)人員的開發(fā)經(jīng)驗、開發(fā)中使用的軟件的掌握程度和熟悉程度以及開發(fā)人員個人的工作狀態(tài)等會影響開發(fā)代碼的質(zhì)量,發(fā)生代碼錯誤。導(dǎo)致系統(tǒng)運行不暢。黑盒測試實質(zhì)是一種功能測試的方法,主要用于檢測系統(tǒng)各功能是否可以正常使用。測試時,不考慮系統(tǒng)內(nèi)部的結(jié)構(gòu)和系統(tǒng)內(nèi)部的特性,通過程序接口進行測試,檢查程序功能是否可以按照設(shè)計要求和說明書的規(guī)定正常打開使用。測試用例本次測試以黑盒測試為主,對主要幾個功能點的測試進行了設(shè)計。借書功能測試測試目標:測試系統(tǒng)功能的有效,包括圖書外借功能。其他功能測試流程的流程與此大相徑庭,不做贅述。具體測試用例如表5.1所示測試用例編號0001用例名稱借書功能測試測試目標借書功能正常運行過程描述預(yù)期結(jié)果測試步驟掃讀者證獲取讀

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論