使用IDEA畫UML圖的詳細步驟

 寫在前面:大傢好!我是AC-fun,我的昵稱來自兩個單詞Acceptedfun。我是一個熱愛ACM的蒟蒻。如果博客中有不足或者的錯誤的地方歡迎在評論區或者私信我指正,感謝大傢的不吝賜教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感謝大傢的支持。一起加油,沖鴨!
用知識改變命運,用知識成就未來!加油 (ง •̀o•́)ง (ง •̀o•́)ง

UML簡介

統一建模語言 (Unified Modeling Language,UML) 是一種為面向對象系統的產品進行說明、可視化和編制文檔的一種標準語言,是非專利的第三代建模和規約語言。UML是面向對象設計的建模工具,獨立於任何具體程序設計語言。1

UML 作為一種統一的軟件建模語言具有廣泛的建模能力。UML 是在消化、吸收、提煉至今存在的所有軟件建模語言的基礎上提出的,集百傢之所長,它是軟件建模語言的集大成者。UML還突破瞭軟件的限制,廣泛吸收瞭其他領域的建模方法,並根據建模的一般原理,結合瞭軟件的特點,因此具有堅實的理論基礎和廣泛性。UML不僅可以用於軟件建模,還可以用於其他領域的建模工作。 1

UML 立足於對事物的實體、性質、關系、結構、狀態和動態變化過程的全程描述和反映。UML可以從不同角度描述人們所觀察到的軟件視圖,也可以描述在不同開發階段中的軟件的形態。UML可以建立需求模型、邏輯模型、設計模型和實現模型等,但UML在建立領域模型方面存在不足,需要進行補充。 1

作為一種建模語言,UML有嚴格的語法和語義規范。UML建立在元模型理論基礎上,包括 4 層元模型結構,分別是基元模型、元模型、模型和用戶對象。4 層結構層層抽象,下一層是上一層的實例。UML中的所有概念和要素均有嚴格的語義規范。 1

UML 采用一組圖形符號來描述軟件模型,這些圖形符號具有簡單、直觀和規范的特點,開發人員學習和掌握起來比較簡單。所描述的軟件模型,可以直觀地理解和閱讀,由於具有規范性,所以能夠保證模型的準確、一致。 1

如何使用IDEA畫UML圖

安裝PlantUML插件

 使用 IDEAUML 圖需要安裝 plantMUL 插件。PlantUML 是一個支持快速繪制的開源項目。其定義瞭一套完整的語言用於實現 UML 關系圖的描述,並基於強大的 Graphviz 圖形渲染庫進行 UML 圖的生成。繪制的 UML 圖還可以導出為圖片,以及通用的矢量 SVG 格式文件。

 為什麼要使用 plantMUL 呢?因為 PlantUml 與開發語言,平臺無關,如果你願意,隻要能編輯文本,就可以開始編寫uml圖。而且 PlantUml 擁有十分廣泛的插件支持,包括:chrom插件 (PlantUml Viewer/UML Diagram Editor)、IDEA插件(PlantUML)、eclipse插件(PlantUML)、Sublime插件(sublime_diagram_plugin)等等。PlantUML甚至還有 在線編輯器,我們不用安裝任何插件即可在該網站畫 UML 圖。

 安裝步驟為:File -> Settings -> Plugins 搜索 PlantUML ,找到 PlantUML integration 並安裝

安裝界面

安裝Graphviz

IDEA 安裝 PlantUML 插件之後發現光有插件還不能渲染類圖,還需要 Graphviz 的支持。

Graphviz安裝和環境變量配置

Graphviz安裝

 安裝包下載地址:https://graphviz.org/download/。下載完成之後雙擊安裝即可。安裝的過程中可以直接配置環境變量,如果忘記選可以手動配置一下。

環境變量配置

 打開電腦系統屬性選擇高級 -> 環境變量添加path變量,變量值為之前安裝路徑下的bin目錄。

環境變量示意圖

 配置完成之後打開 cmd 輸入:dot -version,如果版本號打印成功,說明環境配置完成。

示意圖

 成功之後重新啟動 IDEA 即可創建 PlantUML File 瞭。

PlantUML FIle

點擊之後可以發現可以創建很多 UML 圖,例如:時序圖、用例圖、類圖、活動圖、組件圖、狀態圖、對象圖。

可創建的項目

創建成功之後即可看到畫圖界面瞭。

畫圖界面

類圖畫法

 與其所畫UML圖不如說是寫UML圖。因為我們是使用 統一建模語言 (Unified Modeling Language,UML) 來“畫”UML圖的。使用 PlantUML 畫圖的具體方式詳見 類圖的語法和功能。

@startuml

title 類圖
scale 1.5
/'組合關系(composition)'/
class Human {
    - Head mHead;
    - Heart mHeart;
    ..
    - CreditCard mCard;
    --
    + void travel(Vehicle vehicle);
}

Human *-up- Head : contains >
Human *-up- Heart : contains >

/'聚合關系(aggregation)'/
Human o-left- CreditCard : owns >

/'依賴關系(dependency)'/
Human .down.> Vehicle : dependent

/'關聯關系(association'/
Human -down-> Company : associate

/'繼承關系(extention)'/
interface IProgram {
    + void program();
}
class Programmer {
    + void program();
}
Programmer -left-|> Human : extend
Programmer .up.|> IProgram : implement
@enduml

類圖


參考文獻:

  1. 錢雪忠,王月海主編;陳國俊,徐華,
    錢瑛副主編.數據庫原理及應用:北京郵電大學出版社,2015.04:第209頁 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

以上就是使用IDEA畫UML圖的詳細步驟的詳細內容,更多關於IDEA畫UML圖的資料請關註WalkonNet其它相關文章!

推薦閱讀: