最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用IDEA畫UML圖的詳細(xì)步驟

 更新時(shí)間:2021年06月16日 10:38:13   作者:AC-fun  
UML是面向?qū)ο笤O(shè)計(jì)的建模工具,獨(dú)立于任何具體程序設(shè)計(jì)語言,是一種為面向?qū)ο笙到y(tǒng)的產(chǎn)品進(jìn)行說明、可視化和編制文檔的一種標(biāo)準(zhǔn)語言,本文重點(diǎn)給大家介紹使用IDEA畫UML圖的詳細(xì)步驟,需要的朋友參考下吧

 寫在前面:大家好!我是AC-fun,我的昵稱來自兩個(gè)單詞Acceptedfun。我是一個(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插件

 使用 IDEAUML 圖需要安裝 plantMUL 插件。PlantUML 是一個(gè)支持快速繪制的開源項(xiàng)目。其定義了一套完整的語言用于實(shí)現(xiàn) UML 關(guān)系圖的描述,并基于強(qiáng)大的 Graphviz 圖形渲染庫(kù)進(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目錄。

環(huán)境變量示意圖

 配置完成之后打開 cmd 輸入:dot -version,如果版本號(hào)打印成功,說明環(huán)境配置完成。

示意圖

 成功之后重新啟動(dòng) IDEA 即可創(chuàng)建 PlantUML File 了。

PlantUML FIle

點(diǎn)擊之后可以發(fā)現(xiàn)可以創(chuàng)建很多 UML 圖,例如:時(shí)序圖、用例圖、類圖、活動(dòng)圖、組件圖、狀態(tài)圖、對(duì)象圖。

可創(chuàng)建的項(xiàng)目

創(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):

  1. 錢雪忠,王月海主編;陳國(guó)俊,徐華,
    錢瑛副主編.?dāng)?shù)據(jù)庫(kù)原理及應(yīng)用:北京郵電大學(xué)出版社,2015.04:第209頁 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

以上就是使用IDEA畫UML圖的詳細(xì)步驟的詳細(xì)內(nèi)容,更多關(guān)于IDEA畫UML圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java 8 Stream filter流式過濾器詳解

    Java 8 Stream filter流式過濾器詳解

    本文介紹了Java 8的Stream API中的filter方法,展示了如何使用lambda表達(dá)式根據(jù)條件過濾流式數(shù)據(jù),通過實(shí)際代碼示例,展示了filter方法的高效性以及如何結(jié)合findAny和orElse方法處理更復(fù)雜的情況,適合Java新手和追求代碼優(yōu)雅的開發(fā)者閱讀,感興趣的朋友一起看看吧
    2025-02-02
  • JSON 與對(duì)象、集合之間的轉(zhuǎn)換的示例

    JSON 與對(duì)象、集合之間的轉(zhuǎn)換的示例

    在開發(fā)過程中,經(jīng)常需要和別的系統(tǒng)交換數(shù)據(jù),數(shù)據(jù)交換的格式有XML、JSON等,JSON作為一個(gè)輕量級(jí)的數(shù)據(jù)格式比xml效率要高,本篇文章主要介紹了JSON 與 對(duì)象 、集合 之間的轉(zhuǎn)換,有興趣的可以了解一下。
    2017-01-01
  • springboot如何集成Minio文件服務(wù)器

    springboot如何集成Minio文件服務(wù)器

    這篇文章主要介紹了springboot如何集成Minio文件服務(wù)器問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • deepseek本地部署及java、python調(diào)用步驟詳解

    deepseek本地部署及java、python調(diào)用步驟詳解

    這篇文章主要介紹了如何下載和使用Ollama模型,包括安裝JDK?17及以上版本和Spring?Boot?3.3.6,配置pom文件和application.yml,創(chuàng)建Controller,以及使用Python調(diào)用模型,需要的朋友可以參考下
    2025-02-02
  • Java參數(shù)校驗(yàn)Validator與@AssertTrue深度解析

    Java參數(shù)校驗(yàn)Validator與@AssertTrue深度解析

    本文詳細(xì)介紹了Java的Validator框架及其@AssertTrue注解的使用,包括環(huán)境準(zhǔn)備、基礎(chǔ)注解介紹、實(shí)戰(zhàn)示例、@AssertTrue的深入解析、高級(jí)特性和最佳實(shí)踐建議,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Elasticsearch QueryBuilder簡(jiǎn)單查詢實(shí)現(xiàn)解析

    Elasticsearch QueryBuilder簡(jiǎn)單查詢實(shí)現(xiàn)解析

    這篇文章主要介紹了Elasticsearch QueryBuilder簡(jiǎn)單查詢實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • java.net.MalformedURLException異常的解決方法

    java.net.MalformedURLException異常的解決方法

    下面小編就為大家?guī)硪黄猨ava.net.MalformedURLException異常的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • java面試常見問題---ConcurrentHashMap

    java面試常見問題---ConcurrentHashMap

    ConcurrentHashMap是由Segment數(shù)組結(jié)構(gòu)和HashEntry數(shù)組結(jié)構(gòu)組成。Segment的結(jié)構(gòu)和HashMap類似,是一種數(shù)組和鏈表結(jié)構(gòu),今天給大家普及java面試常見問題---ConcurrentHashMap知識(shí),一起看看吧
    2021-06-06
  • Spring?Security實(shí)現(xiàn)添加圖片驗(yàn)證功能

    Spring?Security實(shí)現(xiàn)添加圖片驗(yàn)證功能

    這篇文章主要為大家介紹了Spring?Security實(shí)現(xiàn)添加圖片驗(yàn)證功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Java通過反射,如何動(dòng)態(tài)修改注解的某個(gè)屬性值

    Java通過反射,如何動(dòng)態(tài)修改注解的某個(gè)屬性值

    這篇文章主要介紹了Java通過反射,動(dòng)態(tài)修改注解的某個(gè)屬性值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評(píng)論

定远县| 桃江县| 新晃| 乌兰察布市| 建平县| 海兴县| 晋江市| 富源县| 古田县| 灵石县| 吉林市| 长宁县| 敖汉旗| 沅江市| 嘉禾县| 白玉县| 胶州市| 益阳市| 三明市| 昆山市| 揭阳市| 达孜县| 峨山| 通辽市| 彰化市| 永兴县| 阜阳市| 乌什县| 博爱县| 正镶白旗| 巴林右旗| 和硕县| 陇川县| 水城县| 扬州市| 平舆县| 博乐市| 朝阳市| 荔波县| 海伦市| 叙永县|