PlantUML —— 應用於 Eclipse 的簡單快速的 UML 編輯軟件
PlantUML —— 應用於 Eclipse 的簡單快速的 UML 編輯軟件
簡介: 在應用系統軟件開發過程中,如果軟件由很多對象組成,它的結構僅僅憑借分析很難理清,同時為了有利於軟件的開發及重用,所以在開發系統之前建模是非常有必要的,在眾多的建模方法中選擇一種適應自身應用特點,方便不同背景的人們交流的建模方法已經成為開發人員及用戶的迫切願望。UML 是面向對象軟件開發中的一種通用、統一的圖形模型語言,是用於軟件系統規約化、可視化構造和建模的有效工具。本文介紹了一種簡單快速的 UML 編輯軟件 —— PlantUML,PlantUML 是一個用來繪制 UML 圖的 Java 類庫。支持的 UML 圖包括:時序圖、用例圖、類圖、組件圖、活動圖等。PlantUML 可以幫助開發人員建立和編輯 UML,有較好的應用前景。
發布日期: 2012 年 7 月 05 日
級別: 初級
訪問情況 : 9603 次瀏覽
評論: 2 (查看 | 添加評論 - 登錄)
為本文評分
隨著計算機技術的飛速發展,面向對象的軟件開發技術發展迅速並獲得了廣泛應用,在面向對象的分析、設計技術及面向對象的程序設計語言方面均獲得了豐富的研究成果,面向對象的方法占據著主導地位。統一建模語言 UML(Unified Modeling Language,簡稱 UML)是面向對象軟件開發中的一種通用、統一的圖形模型語言,是用於軟件系統規約化、可視化構造和建模的有效工具。他已經被國際化標準組織吸收為軟件建模領域的國際標準。UML 融入了軟件技術領域的新思想、新方法和新技術,不僅可以支持面向對象的分析與設計,更重要的是能夠有力的支持從需求分析開始的軟件開發全過程。基於 UML 的設計和開發過程也越來越受到廣泛的關註,UML 在面向對象的分析和設計中顯示了其強大的生命力。本文介紹了一種簡單快速的 UML 編輯軟件 -PlantUML,PlantUML 是一個用來繪制 UML 圖的 Java 類庫。支持的 UML 圖包括:時序圖、用例圖、類圖、組件圖、活動圖等。PlantUML 可以幫助開發人員建立和編輯 UML,有較好的應用前景。
UML 的簡介
統一建模語言(UML)是一個通用的可視化建模語言,用於對軟件進行描述、可視化處理、構造和建立軟件系統制品的文檔。UML 合並了由 BOOCH、OMT、OOSE 等方法的基本概念和表示符號的基礎上,溶入了軟件工程的方法,是一種通用的、易於表達的、具有強大的可視化的建模語言。UML 在 1997 年被國際化標準組織(OMG)接納為正式官方標準後已經成為新一代面向對象軟件設計的事實標準,其與 Rational 統一過程的配合使用已經被業界許多企業所采用。UML 提供了一套描述軟件系統模型的概念和圖形表示方法,軟件開發人員可以使用 UML 對復雜的面向對象軟件系統建立可視化的模型,並通過增量式的不斷細化直接控制從設計、編碼、測試到文檔編制的整個軟件開發過程。
UML 獨立於程序設計語言,用 UML 建立的模型可以采用 C++,Java 以及其它任何一種面向對象的程序設計語言來實現。另外 UML 具有以下等優點;UML 合並了由 BOOCH、OMT、OOSE 等方法的優點,提供了標準的面向對象模型元素定義和表示方法,能夠間接地表達面向對象的各種概念和模型元素。UML 是一種圖形化的語言,其可視性強,具有較強的表示能力。此外,UML 獨立於開發過程,能同多種開發過程結合使用,具有廣泛的適用性。最後,UML 易用使用,為開發人員及用戶提供了詳盡的說明文檔。
UML 由視圖、圖、模型元素和通用機制等幾個部分組成。其中,視圖是用於表達系統某一方面特征的 UML 建模元素的子集,由多個圖構成,是在某一抽象層上,對系統的抽象表示。圖是模型元素集的圖形表示。模型元素代表面向對象中的類、對象、消息和關系等概念,是構成圖的最基本的常用概念。通用機制用於表示其他信息。另外,UML 有事物,關系和圖三個基本構造塊。事物是實體抽象化的最終結果,是模型是中的基本成員;關系是將事物聯系在一起的方式;圖是事物集合的分類。
回頁首
PlantUML 的安裝及配置
PlantUML 支持在多個平臺上安裝使用,比如 Eclipse,NetBeans,oneline servlet 等,它也支持多種語言的編輯,例如 C/C++,PHP,Java,Html 等。用戶可以從 PlantUML 的官方網站上下載所需用的相應的文件。http://plantuml.sourceforge.net/download.html。
下面本文僅以 Eclipse 開發操作平臺為例簡要地介紹 PlantUML 的安裝及配置方法。
- 下載更新 PlantUML Eclipse 插件,打開 Eclipse,Help-> Install new software...。
填入相應的 URL:
http://basar.idi.ntnu.no/svn/tdt4100/anonymous/trunk/updatesite/
http://plantuml.sourceforge.net/updatesite/
圖 1. 下載安裝 PlantUML 插件
- 下載安裝成功後,重啟 Eclipse。會在 Windows->Show View->Other 看到 PlantUML 的圖標。
圖 2 . PlantUML 圖標成功顯示
用戶也可以下載相應的 plantuml.jar文件,進行手動安裝。
回頁首
PlantUML 的使用實例
用戶可以根據不同的需要,利用 PlantUML 可以生成不同的視圖。操作非常簡單方便。
圖 3. PlantUML 操作界面
下面本文將用實際的語法實例對應用 PlantUML 生成的各種視圖進行說明介紹。
時序圖
時序圖亦稱為 序列圖或循序圖,是一種 UML 行為圖。它通過描述 對象之間發送 消息的時間順序顯示多個對象之間的動態協作。它可以表示 用例的行為順序,當執行一個用例行為時,時序圖中的每條消息對應了一個類操作或狀態機中引起轉換的觸發事件。
語法實例:
@startuml title Sequence Diagram Example actor Tester1 #red actor Tester2 #Yellow Tester1 -> Tester2: 發送請求 Tester2 --> Tester1: 回復請求 @enduml |
圖 4. 時序圖視圖
用例圖
用例圖 - 由主角、用例以及它們之間的關系構成的圖。
語法實例:
@startuml : 管理員 : as Admin << 管理員 >> ( 應用程序 ) as (Use) Tester1 -> ( 開始 ) Tester2 --> (Use) Admin ---> (Use) note right of Admin : 管理員身份 note left of (Use) 實現 Notes Domino 的功能 end note note "測試人員進行測試工作" as user ( 開始 ) .. user user .. (Use) @enduml |
圖 5. 用例圖視圖
類圖
類圖 - 顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關系等。
語法實例:
@startuml skinparam classAttributeIconSize 12 class Test << 主函數 >> { -Function1 +Function2 #Function3 ~Function4 ~method1() +method2() #method3() ~method4() } Test <|-- Test2 Test1 o-- Test2 Test *-- Test3: 調用 @enduml |
圖 6. 類圖視圖
活動圖
活動圖 - 闡明了業務 用例實現的工作流程。業務用例工作流程說明了業務為向所服務的業務主角提供其所需的價值而必須完成的工作。業務用例由一系列活動組成,它們共同為業務主角生成某些工件。工作流程通常包括一個基本工作流程和一個或多個備選工作流程。
語法實例:
@startuml (*) --> "Start" note right: Start Testing if "result" then -->[true] "Next Testing" --> "End" -right-> (*) else ->[false] "Change Testing" -->[Ending process] (*) endif @enduml |
圖 7. 活動圖視圖
組件圖
組件圖 - 用來反映代碼的物理結構。從組件圖中,您可以了解各軟件組件(如源代碼文件或動態鏈接庫)之間的編譯器和運行時依賴關系。使用組件圖可以將系統劃分為內聚組件並顯示代碼自身的結構。
語法實例:
@startuml title Lotus interface "IBMDocs" as SC package "Test1" { SC - [ 第一個組件 ] Notes - [ 第一個組件 ]: use Symphony - [ 第二個組件 ] [ 其他組件 ] } package "Test2" { Connections - [ 第三個組件 ] [ 第一個組件 ] --> iNotes } @enduml |
圖 8. 組件圖視圖
狀態圖
狀態圖 - 描述一個實體基於事件反應的動態行為,顯示了該實體如何根據當前所處的狀態
對不同的事件做出反應的。
語法實例:
@startuml [*] --> Test state "Test" as Test { state "Testing Module" as TM state "Configuring Module" as CM [*] --> CM TM --> CM : Testing1 CM --> TM : Testing2 } note right of Test : 狀態圖實例 @enduml |
圖 9. 狀態圖視圖
對象圖
對象圖 - 顯示了一組對象和他們之間的關系。使用對象圖來說明數據結構,類圖中的類或組件等的實例的靜態快照。對象圖和類圖一樣反映系統的靜態過程,但它是從實際的或原型化的情景來表達的。對象圖顯示某時刻對象和對象之間的關系。一個對象圖可看成一個類圖的特殊用例,實例和類可在其中顯示。對象也和合作圖相聯系,合作圖顯示處於語境中的對象原型(類元角色)。
語法實例:
@startuml object Test1 object Test2 @enduml |
圖 10. 對象圖實例
下面本文將簡要地介紹一個具體實例的應用。
這個實例是由其官方網站提供:
http://plantuml.sourceforge.net/unicode.html
圖 11 是由 PlantUML 的方法生成的實例圖。
圖 11. 具體實例圖
在 PlantUML 的官方主頁中,有對各種方法更為詳盡的描述及說明。文本僅僅列舉了一些簡單的語法規則,利用 PlantUML 做出的各種視圖。可以看到 PlantUML 提供了非常簡單的語法規則,為用戶進行編輯提供了較為便捷的方法。
PlantUML 提供了多種語言的編輯方式,如 TXT 文本,HTML,Java,C/C++,LaTex,APT,Word 及 URL 等多種方式,滿足不同的用戶需求。
回頁首
總結
本文向讀者介紹了一種開源的軟件— PlantUML,它是一種簡單快速的 UML 編輯軟件,PlantUML 是一個用來繪制 UML 圖的 Java 類庫。提供了各種簡單有效地方法,支持的 UML 各種視圖,包括:時序圖、用例圖、類圖、組件圖、活動圖等。PlantUML 可以幫助開發人員建立和編輯 UML,為開發人員提供了更多的開發條件,有較好的應用前景。
PlantUML —— 應用於 Eclipse 的簡單快速的 UML 編輯軟件