1.安裝和使用AmaterasUML
安裝AmaterasUML前,需要先安裝GEF
采用eclipse在線安裝方式安裝就好。
eclipse在線安裝GEF的地址:http://download.eclipse.org/tools/gef/updates/releases/
安裝好GEF后,安裝AmaterasUML
先到如下地址下載:http://sourceforge.jp/projects/amateras/downloads/56447/AmaterasUML_1.3.4.zip/
解壓后把里面的3個jar文件拷貝到eclipse的plugins目錄即可(如果是新版本的eclipse,放在dropins中),重新啟動Eclipse即可。選擇 "File"->"New"->"Other",你就可以看見AmaterasUML的選項了。
用法:
在工程名稱右鍵選擇New-Other,彈出新建對話框可以看到AmaterasUML選項,在其中選擇Class Diagram,並命名后得到.cld文件,接着我們把工程network包中三個java文件拖拽到.cld文件視圖中,AmaterasUML瞬間幫我們生成了這三個類的關系圖
2.安裝和使用ModelSpoon
功能:能將Eclipse中現有的java類生成類圖
一:什么是ModelGoon?
它是一個Eclipse插件,用於基於UML圖的模型設計,以及逆向工程(即從已有源代碼生成類圖)。
二:安裝
下載地址:http://download.csdn.net/detail/shizhongwen/7858139
下載ModelGoon-4.4.1-site.zip到電腦,從eclipse中選擇help-->install new software.在work with-->Add選擇已經下載的ModelGoon-4.4.1-site.zip,一路next完成安裝。
三:使用
安裝成功后,在eclipse中File-->new-->other-->ModelGoon Diagrams選擇Class Diagram,在自己Java工程中創建一個后綴是.mgc的文件,用它來生成類圖。用法很簡單,直接把Java類拖拽到這個文件視圖中,就會自動生成UML類圖。
3、想要在Eclipse中自動生成UML圖,需要下載eclipse插件:Green UML,官網是:http://green.sourceforge.net/builds.html
1.按照它的提示,打開Eclipse,Help->install New software->將網址上列出的URLhttp://www.cse.buffalo.edu/faculty/alphonce/green 粘貼上->ADD->Next->Next->Finish
2.重啟Eclipse
3.新建UML圖:File->New->Green UML Class Diagram->輸入UML圖名->OK->自己所需的類右鍵->Green UML->Add to last viewed diagram
PlantUML —— 應用於 Eclipse 的簡單快速的 UML 編輯軟件
在應用系統軟件開發過程中,如果軟件由很多對象組成,它的結構僅僅憑借分析很難理清,同時為了有利於軟件的開發及重用,所以在開發系統之前建模是非常有必要的,在眾多的建模方法中選擇一種適應自身應用特點,方便不同背景的人們交流的建模方法已經成為開發人員及用戶的迫切願望。UML 是面向對象軟件開發中的一種通用、統一的圖形模型語言,是用於軟件系統規約化、可視化構造和建模的有效工具。本文介紹了一種簡單快速的 UML 編輯軟件 —— PlantUML,PlantUML 是一個用來繪制 UML 圖的 Java 類庫。支持的 UML 圖包括:時序圖、用例圖、類圖、組件圖、活動圖等。PlantUML 可以幫助開發人員建立和編輯 UML,有較好的應用前景。
隨着計算機技術的飛速發展,面向對象的軟件開發技術發展迅速並獲得了廣泛應用,在面向對象的分析、設計技術及面向對象的程序設計語言方面均獲得了豐富的研究成果,面向對象的方法占據着主導地位。統一建模語言 UML(Unified Modeling Language,簡稱 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 行為圖。它通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作。它可以表示用例的行為順序,當執行一個用例行為時,時序圖中的每條消息對應了一個類操作或狀態機中引起轉換的觸發事件。
語法實例:
1
2
3
4
5
6
7
|
@startuml
title Sequence Diagram Example
actor Tester1 #red
actor Tester2 #Yellow
Tester1 -> Tester2: 發送請求
Tester2 --> Tester1: 回復請求
@enduml
|
圖 4. 時序圖視圖
用例圖
用例圖 - 由主角、用例以及它們之間的關系構成的圖。
語法實例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@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. 用例圖視圖
類圖
類圖 - 顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其他類的關系等。
語法實例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
@startuml
skinparam classAttributeIconSize
12
class
Test << 主函數 >> {
-Function1
+Function2
#Function3
~Function4
~method1()
+method2()
#method3()
~method4()
}
Test <|-- Test2
Test1 o-- Test2
Test *-- Test3: 調用
@enduml
|
圖 6. 類圖視圖
活動圖
活動圖 - 闡明了業務用例實現的工作流程。業務用例工作流程說明了業務為向所服務的業務主角提供其所需的價值而必須完成的工作。業務用例由一系列活動組成,它們共同為業務主角生成某些工件。工作流程通常包括一個基本工作流程和一個或多個備選工作流程。
語法實例:
1
2
3
4
5
6
7
8
9
10
11
12
|
@startuml
(*) -->
"Start"
note right: Start Testing
if
"result"
then
-->[
true
]
"Next Testing"
-->
"End"
-right-> (*)
else
->[
false
]
"Change Testing"
-->[Ending process] (*)
endif
@enduml
|
圖 7. 活動圖視圖
組件圖
組件圖 - 用來反映代碼的物理結構。從組件圖中,您可以了解各軟件組件(如源代碼文件或動態鏈接庫)之間的編譯器和運行時依賴關系。使用組件圖可以將系統划分為內聚組件並顯示代碼自身的結構。
語法實例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@startuml
title Lotus
interface
"IBMDocs"
as SC
package
"Test1"
{
SC - [ 第一個組件 ]
Notes - [ 第一個組件 ]: use
Symphony - [ 第二個組件 ]
[ 其他組件 ]
}
package
"Test2"
{
Connections - [ 第三個組件 ]
[ 第一個組件 ] --> iNotes
}
@enduml
|
圖 8. 組件圖視圖
狀態圖
狀態圖 - 描述一個實體基於事件反應的動態行為,顯示了該實體如何根據當前所處的狀態
對不同的事件做出反應的。
語法實例:
1
2
3
4
5
6
7
8
9
10
11
|
@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. 狀態圖視圖
對象圖
對象圖 - 顯示了一組對象和他們之間的關系。使用對象圖來說明數據結構,類圖中的類或組件等的實例的靜態快照。對象圖和類圖一樣反映系統的靜態過程,但它是從實際的或原型化的情景來表達的。對象圖顯示某時刻對象和對象之間的關系。一個對象圖可看成一個類圖的特殊用例,實例和類可在其中顯示。對象也和合作圖相聯系,合作圖顯示處於語境中的對象原型(類元角色)。
語法實例:
1
2
3
4
|
@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,為開發人員提供了更多的開發條件,有較好的應用前景。