使用IDEA畫UML圖的詳細(xì)步驟
寫在前面:大家好!我是
AC-fun
,我的昵稱來自兩個(gè)單詞Accepted
和fun
。我是一個(gè)熱愛ACM的蒟蒻。如果博客中有不足或者的錯(cuò)誤的地方歡迎在評(píng)論區(qū)或者私信我指正,感謝大家的不吝賜教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感謝大家的支持。一起加油,沖鴨!
用知識(shí)改變命運(yùn),用知識(shí)成就未來!加油 (ง •̀o•́)ง (ง •̀o•́)ง
UML簡(jiǎn)介
統(tǒng)一建模語言
(Unified Modeling Language,UML) 是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說明、可視化和編制文檔的一種標(biāo)準(zhǔn)語言,是非專利的第三代建模和規(guī)約語言。UML是面向?qū)ο笤O(shè)計(jì)的建模工具,獨(dú)立于任何具體程序設(shè)計(jì)語言。1
UML 作為一種統(tǒng)一的軟件建模語言具有廣泛的建模能力。UML 是在消化、吸收、提煉至今存在的所有軟件建模語言的基礎(chǔ)上提出的,集百家之所長(zhǎng),它是軟件建模語言的集大成者。UML還突破了軟件的限制,廣泛吸收了其他領(lǐng)域的建模方法,并根據(jù)建模的一般原理,結(jié)合了軟件的特點(diǎn),因此具有堅(jiān)實(shí)的理論基礎(chǔ)和廣泛性。UML不僅可以用于軟件建模,還可以用于其他領(lǐng)域的建模工作。 1
UML 立足于對(duì)事物的實(shí)體、性質(zhì)、關(guān)系、結(jié)構(gòu)、狀態(tài)和動(dòng)態(tài)變化過程的全程描述和反映。UML可以從不同角度描述人們所觀察到的軟件視圖,也可以描述在不同開發(fā)階段中的軟件的形態(tài)。UML可以建立需求模型、邏輯模型、設(shè)計(jì)模型和實(shí)現(xiàn)模型等,但UML在建立領(lǐng)域模型方面存在不足,需要進(jìn)行補(bǔ)充。 1
作為一種建模語言,UML有嚴(yán)格的語法和語義規(guī)范。UML建立在元模型理論基礎(chǔ)上,包括 4 層元模型結(jié)構(gòu),分別是基元模型、元模型、模型和用戶對(duì)象。4 層結(jié)構(gòu)層層抽象,下一層是上一層的實(shí)例。UML中的所有概念和要素均有嚴(yán)格的語義規(guī)范。 1
UML 采用一組圖形符號(hào)來描述軟件模型,這些圖形符號(hào)具有簡(jiǎn)單、直觀和規(guī)范的特點(diǎn),開發(fā)人員學(xué)習(xí)和掌握起來比較簡(jiǎn)單。所描述的軟件模型,可以直觀地理解和閱讀,由于具有規(guī)范性,所以能夠保證模型的準(zhǔn)確、一致。 1
如何使用IDEA畫UML圖
安裝PlantUML插件
使用 IDEA 畫 UML 圖需要安裝 plantMUL 插件。PlantUML 是一個(gè)支持快速繪制的開源項(xiàng)目。其定義了一套完整的語言用于實(shí)現(xiàn) UML 關(guān)系圖的描述,并基于強(qiáng)大的 Graphviz 圖形渲染庫進(jìn)行 UML 圖的生成。繪制的 UML 圖還可以導(dǎo)出為圖片,以及通用的矢量 SVG 格式文件。
為什么要使用 plantMUL 呢?因?yàn)?PlantUml 與開發(fā)語言,平臺(tái)無關(guān),如果你愿意,只要能編輯文本,就可以開始編寫uml圖。而且 PlantUml 擁有十分廣泛的插件支持,包括:chrom插件 (PlantUml Viewer/UML Diagram Editor)、IDEA插件(PlantUML)、eclipse插件(PlantUML)、Sublime插件(sublime_diagram_plugin)等等。PlantUML甚至還有 在線編輯器,我們不用安裝任何插件即可在該網(wǎng)站畫 UML 圖。
安裝步驟為:File -> Settings -> Plugins 搜索 PlantUML ,找到 PlantUML integration 并安裝。
安裝Graphviz
IDEA 安裝 PlantUML 插件之后發(fā)現(xiàn)光有插件還不能渲染類圖,還需要 Graphviz 的支持。
Graphviz安裝和環(huán)境變量配置
Graphviz安裝
安裝包下載地址:https://graphviz.org/download/。下載完成之后雙擊安裝即可。安裝的過程中可以直接配置環(huán)境變量,如果忘記選可以手動(dòng)配置一下。
環(huán)境變量配置
打開電腦系統(tǒng)屬性選擇高級(jí) -> 環(huán)境變量添加path變量,變量值為之前安裝路徑下的bin目錄。
配置完成之后打開 cmd 輸入:dot -version,如果版本號(hào)打印成功,說明環(huán)境配置完成。
成功之后重新啟動(dòng) IDEA 即可創(chuàng)建 PlantUML File 了。
點(diǎn)擊之后可以發(fā)現(xiàn)可以創(chuàng)建很多 UML 圖,例如:時(shí)序圖、用例圖、類圖、活動(dòng)圖、組件圖、狀態(tài)圖、對(duì)象圖。
創(chuàng)建成功之后即可看到畫圖界面了。
類圖畫法
與其所畫UML圖不如說是寫UML圖。因?yàn)槲覀兪鞘褂?統(tǒng)一建模語言
(Unified Modeling Language,UML) 來“畫”UML圖的。使用 PlantUML 畫圖的具體方式詳見 類圖的語法和功能。
@startuml title 類圖 scale 1.5 /'組合關(guān)系(composition)'/ class Human { - Head mHead; - Heart mHeart; .. - CreditCard mCard; -- + void travel(Vehicle vehicle); } Human *-up- Head : contains > Human *-up- Heart : contains > /'聚合關(guān)系(aggregation)'/ Human o-left- CreditCard : owns > /'依賴關(guān)系(dependency)'/ Human .down.> Vehicle : dependent /'關(guān)聯(lián)關(guān)系(association'/ Human -down-> Company : associate /'繼承關(guān)系(extention)'/ interface IProgram { + void program(); } class Programmer { + void program(); } Programmer -left-|> Human : extend Programmer .up.|> IProgram : implement @enduml
參考文獻(xiàn):
-
錢雪忠,王月海主編;陳國(guó)俊,徐華,
錢瑛副主編.?dāng)?shù)據(jù)庫原理及應(yīng)用:北京郵電大學(xué)出版社,2015.04:第209頁 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
以上就是使用IDEA畫UML圖的詳細(xì)步驟的詳細(xì)內(nèi)容,更多關(guān)于IDEA畫UML圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解決復(fù)制springboot項(xiàng)目后,啟動(dòng)日志無顏色的問題
這篇文章主要介紹了解決復(fù)制springboot項(xiàng)目后,啟動(dòng)日志無顏色的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Mybatis?在?insert?插入操作后返回主鍵?id的操作方法
這篇文章主要介紹了Mybatis?在?insert?插入操作后返回主鍵?id的操作方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12java中LinkedBlockingQueue與ArrayBlockingQueue的異同
這篇文章主要介紹了java中LinkedBlockingQueue與ArrayBlockingQueue的異同,需要的朋友可以參考下2016-08-08springboot json時(shí)間格式化處理的方法
這篇文章主要介紹了springboot json時(shí)間格式化處理的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03java開發(fā)SSM框架具有rest風(fēng)格的SpringMVC
這篇文章主要介紹了java開發(fā)中如何使SSM框架具有rest風(fēng)格的SpringMVC實(shí)現(xiàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10淺談java中math類中三種取整函數(shù)的區(qū)別
下面小編就為大家?guī)硪黄獪\談java中math類中三種取整函數(shù)的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11基于Java實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于Java實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01