基本信息
【原文出處】現代圖書情報技術
【原刊地名】京
【原刊期號】200206
【原刊頁號】4~6
【分 類 號】G9
【分 類 名】圖書館學、信息科學、資料工作
【複印期號】200301
【 標 題】基於UML的高校圖書館管理系統
【英文標題】The Application of UML in Digital Library
Jin Yi Yang Zongying
(Institute of Information Science and Technology,Shanghai Jiaotong University, Shanghai 200030,China)
【 作 者】金毅/楊宗英
【作者簡介】金毅,楊宗英,上海交通大學情報科學技術研究所 上海 200030
【摘 要 題】實踐研究
【英文摘要】The study of digital library is booming. Now traditional library is converting to digital library,this needs the application and integration of the latest information technologies for the maximum usage and shareof network information resources. Traditional system analysis and design methods can't guarantee the efficiencyand quality. Using UML in developing digital library can quicken the process, improve the code quality, supportthe dynamic needs and easily integrate the traditional resources. This is a hopeful application field for UML.
【關 鍵 詞】UML/數字圖書館
UML/Digital library
【 正 文】
【分類號】G250.76
引言
在信息技術迅猛發展及基於Internet網路套用日益普及的現今,傳統圖書館正在向自動化、網路化、電子化的數位化方向發展,這是當前網路信息資源開發和研究的熱點。數字圖書館的建設涉及到信息資源數位化、多媒體資料庫、分散式網路、信息管理系統結構等多方面的問題,需要有效地集成和套用最新的信息技術。如何在巨觀上有效地把握和組織,並運用到數字圖書館的開發建設上,是數字圖書館研究的重點。UML(The Unified Modeling Language,即統一建模語言)是一種編制系統藍圖的標準化語言,可以對複雜的系統建立可視化的系統模型,現已經被工業標準化組織OMG(Object Management Group)接受,一經推出便得到許多著名的計算機廠商如Microsoft、HP、IBM、Oracle等的支持,在國際上的套用日益廣泛。數字圖書館的開發建設是一個複雜的軟體工程,需要集成不同的作業系統、資料庫和套用軟體,有眾多不同級別的用戶、管理員,滿足圖書館從書目查詢、普通和電子書刊借閱到提供網上信息服務、資源共享等各種需求。用傳統的系統開發和集成的分析設計方法難以保證效率和質量,UML的特點及數字圖書館的要求,決定UML在數字圖書館中應該有很好的套用前景。
1.1 數字圖書館的基本特徵和模式
數字圖書館組織了一系列與平台無關、面向對象、分散式的數位化信息資源並且提供相關的服務,它應該具有以下一些特徵〔2〕〔4〕:
(1)數字圖書館擁有數位化資源, 其信息度量單位不再是KB、MB,而是GB、TB甚至PB。數位化的資源又是多種媒體(如文字、圖像、音頻、視頻、虛擬空間等)的,具有多種存儲和壓縮格式。
(2)數位化資源並不是孤立的,而是相互關聯的動態的。 數字圖書館是數位化資源的統一,可以通過一定的相關關係,由特定的協定和存取方法來查找和訪問這些數位化資源。
(3)數字圖書館必須為用戶提供統一的訪問手段, 能夠讓用戶透明方便地獲取所需的信息而不必關心這些信息的具體位置。對數字資源的檢索應該是智慧型化、互動式的,對全文、多媒體信息、多語言信息的檢索都可以達到很好的查全率和查準率。
(4)數字圖書館建立在異構平台上,具有分布、 開放的信息結構,高速、可靠的網路環境是其運行的基礎。它突破了時間、空間的限制,讓用戶可以在任何地方、任何時間獲取自己所需的信息。在此基礎上提供的導航式和個性化的服務,使服務內容更多樣、服務模式更廣泛,這是對傳統圖書館服務功能的突破。
數字圖書館的模式,可以用圖1簡單說明, 用戶通過網路和通信系統,連線到數字圖書館的諮詢系統,通過這個統一的訪問界面,用戶可以透明地獲取各種信息資源。
附圖
圖1 數字圖書館模式
1.2 UML概述及特點
UML是一種編制系統藍圖的標準化語言, 可以對大型複雜的系統的各種成分可視化、說明並構造系統模型,以及建立各種所需的文檔。UML通過三類圖形建立系統模型:Use Case圖、靜態結構圖(對象類圖、對象圖、組件圖、配置圖)和動態行為圖(順序圖、協同圖、狀態圖、活動圖),這些圖可以從不同的抽象角度使系統可視化。UML 具有以下特點〔1〕:
(1)面向對象。UML支持面向對象技術的主要概念,提供了一批基本的模型元素的表示圖形和方法,能簡潔明了地表達面向對象的各種概念。
(2)可視化,表示能力強。通過UML的模型圖能清晰地表示系統的邏輯模型和實現模型,可用於各種複雜系統的建模。
(3)獨立與過程。UML是系統建模語言,獨立與開發過程。
(4)獨立於程式設計語言。用UML建立的軟體系統模型可以用Java、VC++、Smalltalk等任何一種面向對象的程式設計來實現。
(5)易於掌握使用。UML圖形結構清晰,建模簡潔明了,容易掌握使用。
使用UML進行系統的分析和設計,可以加速開發的進程,提高代碼的質量,支持動態的業務需求。UML適用於各種規模的系統開發,能促進軟體復用,方便地集成已有的系統並有效處理開發中的各種風險。
2 UML在數字圖書館中的套用
UML是一種建模語言,是系統開發的一個組成部分,本身並沒有關於開發過程概念的定義和表示符號。UML的創始者Booch、Jacobson和Rumbaugh在Rational公司的支持下綜合了多種系統開發過程的長處,提出新的面向對象的開發過程,稱為Rational 統一過程(RationalUnified Process, RUP)。RUP過程的核心工作流包括:業務建模、需求分析、系統分析與設計、實現、測試和系統配置。下面通過UML來分析並構造數字圖書館模型,並結合Rational統一過程加以描述,圖形用Rational Rose工具軟體繪製。
2.1 數字圖書館的業務建模和需求分析
業務建模和需求分析的目的是對數字圖書館進行評估,採集和分析系統的需求,理解系統要解決的問題,重點是充分考慮系統的實用性。結果可以用一個Use Case模型表達(圖2), 模型中的活動者代表外部與系統互動的單元,包括用戶、圖書館工作人員和外部信息源;UseCase是對系統需求的描述,表達了系統的功能和所提供的服務,包括採購子系統、編目子系統和流通子系統。對於數字圖書館而言,流通子系統還應該考慮到普通書刊流通和電子書刊流通的區別。電子書刊是指內容為數字格式、發行為電子方式、用計算機閱讀和存儲的電子讀物,可以實現普通書刊所沒有的全文檢索、頁面批註、摘要、字型縮放等功能。用戶無論何時何地,都可以線上借還,這是數字圖書館服務功能的一個重要組成部分,也是對傳統圖書館服務功能的延伸和拓展,其中的關鍵是流通子系統在實現時必須能對電子書刊的著作權、以及可以同時借閱的用戶數進行保護和控制。
附圖
圖2 數字圖書館Use Case模型
圖2中模型元素之間的實線表示二者存在關聯關係, 帶空心箭頭的實箭線說明存在泛化關係,這裡有兩種情況,一種是一般與特殊的關係,如“流通子系統”與“普通書刊流通”、“電子書刊流通”的關係;另一種是使用關聯,表示一個模型元素需要使用另一個模型元素,在箭線上標有<>, 如“流通子系統”需要使用“編目子系統”生成的書目數據,圖2是數字圖書館系統層的Use Case模型, 只包含了最基本的Use Case模型,是系統的高層抽象。在開發過程中,隨著對系統的認識不斷加深,Use Case模型可以從頂向下不斷精化,演化出更為詳細的Use Case模型。
2.2 數字圖書館系統分析與設計
系統分析與設計是研究欲採用的實現環境和系統結構,結果是產生一個對象模型,即設計模型,設計模型包含了Use Case的實現,可以表現對象是如何相互通信和運作來實現Use Case流的。對於系統的靜態結構,可以通過對象類圖、對象圖、組件圖和配置圖來描述;對於系統的動態行為,可以通過順序圖、協同圖、狀態圖、活動圖描繪。這些圖再加上支持說明文檔就構成一個完整的設計模型。
(1)靜態結構的分析與設計
數字圖書館擁有大量數位化信息資源,這些資源是多種媒體、多種格式的,而且還是相互關聯的。其數據量大,信息長度不定,非結構化信息與結構化信息並存。傳統的資料庫和信息管理系統在數據模型、系統結構、用戶接口等方面都難以實現對這些數位化信息資源的管理和操作,這就決定了數字圖書館必須採用面向對象的方法來建立數據模型和管理模型,建立面向對象的資料庫,實現面向對象的信息管理系統。使用UML 對數字圖書館系統進行基於面向對象的分析和設計,可以從開發的第一步開始,從系統的底層就把握住數字圖書館信息資源的特徵,為下一步的具體實現打好基礎。在為數字圖書館系統建立模型時要涉及到處理大量的模型元素,如對象類、接口、組件、節點、圖等,可以將語義上相近的模型元素組織在一起,這就是UML的包, 包從較高的層次來組織管理數字圖書館的系統模型。
在詳細設計階段可以對包圖中的所有類、對象從實現角度再進一步進行細化,繪製具體的對象類圖、對象圖等。圖3 是數字圖書館系統的包圖,虛箭線說明包之間的依賴關係,如“流通”包依賴於“資料庫”包,要使用“資料庫”包中的類及數據。帶空心箭頭的實箭線說明包之間的泛化關係,這裡是一般與特殊的關係,如“編目”包與“本館編目”包、“聯合編目”包之間存在泛化關係。
附圖
圖3 數字圖書館系統包圖
(2)動態結構的分析與設計
數字圖書館提供的各種服務都是建立在分布、開放的信息結構之上,依託高速、可靠的網路環境來完成。每項服務都可以看成一個事件流,由若干相關的對象互動合作來完成。對於這種系統內部的協作關係和過程行為,可以通過繪製順序圖和協同圖來幫助觀察和理解。
一個對象在其生存期間所經歷的狀態序列,對於把握對象的行為和狀態的遷移變化是非常重要的,可以通過狀態圖來了解一個對象的歷史,引起一個狀態向另一個狀態轉移的事件,以及由於狀態的轉移而引發的動作。
此外,描述工作流和並發處理行為還可以用活動圖,表達從一個活動到另一個活動的控制流。
順序圖和協同圖適合描述多個對象的協同行為,而狀態圖適合描述一個對象穿越多個Use Case的行為。狀態圖與活動圖的區別是,狀態圖描述的是對象類回響事件的外部行為,活動圖描述的是回響內部處理的對象類的行為。
附圖
圖4 數字圖書館電子書刊流通服務順序圖
圖4是一個電子書刊流通服務的順序圖例子, 用以說明數字圖書館電子書刊基本流通服務。用戶向流通子系統的用戶接口登錄,經用戶合法性驗證後,向流通子系統的電子書刊流通模組提交服務請求,電子書刊需要經過著作權和複本的驗證,以保證電子書刊的每一個複本在同一時間只允許一個用戶借閱或閱讀。比如購買了一本電子書的五個複本,那么就可以有五個用戶同時借閱或閱讀這本書,而且必須能夠控制用戶對電子書刊的任意複製和列印,以保護電子書刊出版者的合法權益。然後就可以完成電子書刊的借、還、預約、續借等流通服務,最後退出。
通過順序圖可以清晰地看出用戶、流通子系統的用戶接口和電子書刊流通模組之間按時間順序的訊息交換,這對於把握系統的控制流、順序行為和互動行為是非常有益的。建立在分布、網路環境下的數字圖書館其事件流和控制流是十分複雜的,需要從層頂到底層進行一步步的分解,用多幅能反映動態結構的圖來分析與說明。
2.3 數字圖書館的實現、測試和系統配置
經過系統分析與設計後,就可以根據設計模型在具體的環境中實現系統,生成系統的原始碼、可執行程式和相應的軟體文檔,建立一個可執行的系統。然後需要對系統進行測試和排錯,保證系統符合預定的要求,獲得一個無錯的系統實現。測試的結果將確認所完成的系統可以真正使用。最後系統配置的任務是在真實的使用運行環境中配置、調試系統、解決系統正式使用前可能存在的任何問題。
參考文獻
〔1〕張龍詳.UML與系統分析設計.人民郵電出版社,2001
〔2〕鄭巧英.楊宗英.圖書館自動化新論:信息管理自動化.上海交通大學出版社,1998
〔3〕鄭巧英.數字圖書館的一種模式——網路圖書館. 現代圖書情報技術,2000,(2)
〔4〕陳英.UML多視點建模機制套用研究.北京理工大學學報.2001,(2)
〔5〕於升峰.數字圖書館的關鍵技術研究.情報學報,1999,(12)