專家解析 圖書館管理系統中UML應用
本節向大家介紹一下UML應用方面的內容,以圖書館管理系統為例向大家介紹UML建模工具,相信通過本節的介紹你對圖書館管理系統中UML應用有一定的了解。下面讓我們一起來學習UML的應用吧。
圖書館管理系統中UML應用
1引言
在信息技術迅猛發展及基于Internet網絡應用日益普及的今天,傳統圖書館正在向自動化、網絡化、電子化的數字化方向發展,這是目前網絡信息資源開發和研究的熱點。數字圖書館的建設涉及到信息資源數字化、多媒體數據庫、分布式網絡、信息管理系統結構等多方面的問題,需要有效地集成和應用最新的信息技術。如何在宏觀上有效地把握和組織,并運用到數字圖書館的開發建設上,是數字圖書館研究的重點。UML(TheUnifiedModelingLanguage,即統一建模語言)是一種編制系統藍圖的標準化語言,可以對復雜的系統建立可視化的系統模型,目前已經被工業標準化組織OMG(ObjectManagementGroup)接受,一經推出便得到許多著名的計算機廠商如Microsoft、HP、IBM、Oracle等的支持,在國際上的應用日益廣泛。數字圖書館的開發建設是一個復雜的軟件工程,需要集成不同的操作系統、數據庫和應用軟件,有眾多不同級別的用戶、管理員,滿足圖書館從書目查詢、普通和電子書刊借閱到提供網上信息服務、資源共享等各種需求。用傳統的系統開發和集成的分析設計方法難以保證效率和質量,UML的特點及數字圖書館的要求,決定UML在數字圖書館中應該有很好的應用前景。
1.1數字圖書館的基本特征和模式
圖書館管理系統中UML應用中數字圖書館組織了一系列與平臺無關、面向對象、分布式的數字化信息資源并且提供相關的服務,它應該具有以下一些特征〔2〕〔4〕:
?。?)數字圖書館擁有海量的數字化資源,其信息度量單位不再是KB、MB,而是GB、TB甚至PB。數字化的資源又是多種媒體(如文字、圖像、音頻、視頻、虛擬空間等)的,具有多種存儲和壓縮格式。
(2)數字化資源并不是孤立的,而是相互關聯的動態的。數字圖書館是數字化資源的統一,可以通過一定的相關關系,由特定的協議和存取方法來查找和訪問這些數字化資源。
?。?)數字圖書館必須為用戶提供統一的訪問手段,能夠讓用戶透明方便地獲取所需的信息而不必關心這些信息的具體位置。對數字資源的檢索應該是智能化、交互式的,對全文、多媒體信息、多語言信息的檢索都可以達到很好的查全率和查準率。
(4)數字圖書館建立在異構平臺上,具有分布、開放的信息結構,高速、可靠的網絡環境是其運行的基礎。它突破了時間、空間的限制,讓用戶可以在任何地方、任何時間獲取自己所需的信息。在此基礎上提供的導航式和個性化的服務,使服務內容更多樣、服務模式更廣泛,這是對傳統圖書館服務功能的突破。
數字圖書館的模式,可以用圖1簡單說明,用戶通過網絡和通信系統,連接到數字圖書館的咨詢系統,通過這個統一的訪問界面,用戶可以透明地獲取各種信息資源。
1.2UML概述及特點
UML是一種編制系統藍圖的標準化語言,可以對大型復雜的系統的各種成分可視化、說明并構造系統模型,以及建立各種所需的文檔。UML通過三類圖形建立系統模型:UseCase圖、靜態結構圖(對象類圖、對象圖、組件圖、配置圖)和動態行為圖(順序圖、協同圖、狀態圖、活動圖),這些圖可以從不同的抽象角度使系統可視化。UML具有以下特點〔1〕:
(1)面向對象。UML支持面向對象技術的主要概念,提供了一批基本的模型元素的表示圖形和方法,能簡潔明了地表達面向對象的各種概念。
(2)可視化,表示能力強。通過UML的模型圖能清晰地表示系統的邏輯模型和實現模型,可用于各種復雜系統的建模。
?。?)獨立與過程。UML是系統建模語言,獨立與開發過程。
?。?)獨立于程序設計語言。用UML建立的軟件系統模型可以用Java、VC++、Smalltalk等任何一種面向對象的程序設計來實現。
?。?)易于掌握使用。UML圖形結構清晰,建模簡潔明了,容易掌握使用。
使用UML進行系統的分析和設計,可以加速開發的進程,提高代碼的質量,支持動態的業務需求。UML適用于各種規模的系統開發,能促進軟件復用,方便地集成已有的系統并有效處理開發中的各種風險。
2數字圖書館管理系統中UML應用
UML是一種建模語言,是系統開發的一個組成部分,本身并沒有關于開發過程概念的定義和表示符號。UML的創始者Booch、Jacobson和Rumbaugh在Rational公司的支持下綜合了多種系統開發過程的長處,提出新的面向對象的開發過程,稱為Rational統一過程(RationalUnifiedProcess,RUP)。RUP過程的核心工作流包括:業務建模、需求分析、系統分析與設計、實現、測試和系統配置。下面通過UML來分析并構造數字圖書館模型,并結合Rational統一過程加以描述,圖形用RationalRose工具軟件繪制。
2.1數字圖書館的業務建模和需求分析
圖書館管理系統中UML應用中業務建模和需求分析的目的是對數字圖書館進行評估,采集和分析系統的需求,理解系統要解決的問題,重點是充分考慮系統的實用性。結果可以用一個UseCase模型表達(圖2),模型中的活動者代表外部與系統交互的單元,包括用戶、圖書館工作人員和外部信息源;UseCase是對系統需求的描述,表達了系統的功能和所提供的服務,包括采購子系統、編目子系統和流通子系統。對于數字圖書館而言,流通子系統還應該考慮到普通書刊流通和電子書刊流通的區別。電子書刊是指內容為數字格式、發行為電子方式、用計算機閱讀和存儲的電子讀物,可以實現普通書刊所沒有的全文檢索、頁面批注、摘要、字體縮放等功能。用戶無論何時何地,都可以在線借還,這是數字圖書館服務功能的一個重要組成部分,也是對傳統圖書館服務功能的延伸和拓展,其中的關鍵是流通子系統在實現時必須能對電子書刊的版權、以及可以同時借閱的用戶數進行保護和控制。
圖2中模型元素之間的實線表示二者存在關聯關系,帶空心箭頭的實箭線說明存在泛化關系,這里有兩種情況,一種是一般與特殊的關系,如“流通子系統”與“普通書刊流通”、“電子書刊流通”的關系;另一種是使用關聯,表示一個模型元素需要使用另一個模型元素,在箭線上標有<<Use>>,如“流通子系統”需要使用“編目子系統”生成的書目數據,圖2是數字圖書館系統層的UseCase模型,只包含了最基本的UseCase模型,是系統的高層抽象。在開發過程中,隨著對系統的認識不斷加深,UseCase模型可以從頂向下不斷精化,演化出更為詳細的UseCase模型。
2.2數字圖書館系統分析與設計
圖書館管理系統中UML應用中系統分析與設計是研究欲采用的實現環境和系統結構,結果是產生一個對象模型,即設計模型,設計模型包含了UseCase的實現,可以表現對象是如何相互通信和運作來實現UseCase流的。對于系統的靜態結構,可以通過對象類圖、對象圖、組件圖和配置圖來描述;對于系統的動態行為,可以通過順序圖、協同圖、狀態圖、活動圖描繪。這些圖再加上支持說明文檔就構成一個完整的設計模型。#p#
(1)靜態結構的分析與設計
數字圖書館擁有大量數字化信息資源,這些資源是多種媒體、多種格式的,而且還是相互關聯的。其數據量大,信息長度不定,非結構化信息與結構化信息并存。傳統的數據庫和信息管理系統在數據模型、系統結構、用戶接口等方面都難以實現對這些數字化信息資源的管理和操作,這就決定了數字圖書館必須采用面向對象的方法來建立數據模型和管理模型,建立面向對象的數據庫,實現面向對象的信息管理系統。使用UML對數字圖書館系統進行基于面向對象的分析和設計,可以從開發的第一步開始,從系統的底層就把握住數字圖書館信息資源的特征,為下一步的具體實現打好基礎。在為數字圖書館系統建立模型時要涉及到處理大量的模型元素,如對象類、接口、組件、節點、圖等,可以將語義上相近的模型元素組織在一起,這就是UML的包,包從較高的層次來組織管理數字圖書館的系統模型。
在詳細設計階段可以對包圖中的所有類、對象從實現角度再進一步進行細化,繪制具體的對象類圖、對象圖等。圖3是數字圖書館系統的包圖,虛箭線說明包之間的依賴關系,如“流通”包依賴于“數據庫”包,要使用“數據庫”包中的類及數據。帶空心箭頭的實箭線說明包之間的泛化關系,這里是一般與特殊的關系,如“編目”包與“本館編目”包、“聯合編目”包之間存在泛化關系。
?。?)動態結構的分析與設計
圖書館管理系統中UML應用中數字圖書館提供的各種服務都是建立在分布、開放的信息結構之上,依托高速、可靠的網絡環境來完成。每項服務都可以看成一個事件流,由若干相關的對象交互合作來完成。對于這種系統內部的協作關系和過程行為,可以通過繪制順序圖和協同圖來幫助觀察和理解。
一個對象在其生存期間所經歷的狀態序列,對于把握對象的行為和狀態的遷移變化是非常重要的,可以通過狀態圖來了解一個對象的歷史,引起一個狀態向另一個狀態轉移的事件,以及由于狀態的轉移而引發的動作。
此外,描述工作流和并發處理行為還可以用活動圖,表達從一個活動到另一個活動的控制流。
順序圖和協同圖適合描述多個對象的協同行為,而狀態圖適合描述一個對象穿越多個UseCase的行為。狀態圖與活動圖的區別是,狀態圖描述的是對象類響應事件的外部行為,活動圖描述的是響應內部處理的對象類的行為。
圖4是一個電子書刊流通服務的順序圖例子,用以說明數字圖書館電子書刊基本流通服務。用戶向流通子系統的用戶接口登錄,經用戶合法性驗證后,向流通子系統的電子書刊流通模塊提交服務請求,電子書刊需要經過版權和復本的驗證,以保證電子書刊的每一個復本在同一時間只允許一個用戶借閱或閱讀。比如購買了一本電子書的五個復本,那么就可以有五個用戶同時借閱或閱讀這本書,而且必須能夠控制用戶對電子書刊的任意復制和打印,以保護電子書刊出版者的合法權益。然后就可以完成電子書刊的借、還、預約、續借等流通服務,最后退出。
圖書館管理系統中UML應用中通過順序圖可以清晰地看出用戶、流通子系統的用戶接口和電子書刊流通模塊之間按時間順序的消息交換,這對于把握系統的控制流、順序行為和交互行為是非常有益的。建立在分布、網絡環境下的數字圖書館其事件流和控制流是十分復雜的,需要從層頂到底層進行一步步的分解,用多幅能反映動態結構的圖來分析與說明。
2.3數字圖書館的實現、測試和系統配置
經過系統分析與設計后,就可以根據設計模型在具體的環境中實現系統,生成系統的源代碼、可執行程序和相應的軟件文檔,建立一個可執行的系統。然后需要對系統進行測試和排錯,保證系統符合預定的要求,獲得一個無錯的系統實現。測試的結果將確認所完成的系統可以真正使用。最后系統配置的任務是在真實的使用運行環境中配置、調試系統、解決系統正式使用前可能存在的任何問題。
3小結
數字圖書館的發展方興未艾,目前正處于傳統圖書館向數字圖書館過渡的階段,轉變過程中需要應用和集成最新的信息技術,以達到對網絡信息資源最有效的利用和共享。傳統的系統分析設計的方法難以保證效率和質量,將UML應用于數字圖書館建設,可以加速開發進程,提高代碼質量,支持動態的業務需求,并方便地集成已有的傳統圖書館信息資源。這是UML一個有著很好前景的應用方向。
【編輯推薦】