StarUML 建模使用

helong3314發表於2021-03-09

定義:

Unified Modeling Language (UML)又稱統一建模語言或標準建模語言,是始於1997年一個OMG標準,它是一個支援模型化和軟體系統開發的圖形化語言,為軟體開發的所有階段提供模型化和視覺化支援,包括由需求分析到規格,到構造和配置。 物件導向的分析與設計(OOA&D,OOAD)方法的發展在80年代末至90年代中出現了一個高潮,UML是這個高潮的產物。

類圖關係概括:

1 Generalization :泛化(繼承)
2 Realization :實現
3 Dependency :依賴,體現在區域性變數函式引數
4 Association :關聯,體現在成員變數,雙向,單向 。如老師、學生
5 Aggregation :聚合,整體與區域性的關係,並且沒有了整體 , 區域性也可單獨存在。如公司和員工 , 車與輪胎
6 Composition :組合,整體與區域性的關係,是一種強烈的包含關係,部分不能脫離整體存在。如 公司 和 部門

工具推薦:

StarUML staruml.io/
Power Designer

UML的分類:

結構型的圖(Structure Diagram)

類圖(Class Diagram)

物件圖(Object Diagram)

構件圖(Component Diagram)

部署圖(Deployment Diagram)

包圖(Package Diagram)

行為型的圖(Behavior Diagram)

活動圖(Activity Diagram)

狀態機圖(State Machine Diagram)

順序圖(Sequence Diagram)

通訊圖(Communication Diagram)

用例圖(Use Case Diagram)

時序圖(Timing Diagram)

1.1 類圖:
類圖是描述系統中的類,以及各個類之間的關係的靜態檢視。能夠讓我們在正確編寫程式碼以前對系統有一個全面的認識。
類圖是一種模型型別,確切的說,是一種靜態模型型別。

1.2 時序圖:
序列圖是用來顯示你的參與者如何以一系列順序的步驟與系統的物件互動的模型。順序圖可以用來展示物件之間是如何進
行互動的。順序圖將顯示的重點放在訊息序列上,即強調訊息是如何在物件之間被髮送和接收的

1.3 用例圖:
描述角色以及角色與用例之間的連線關係。說明的是誰要使用系統,以及他們使用該系統可以做些什麼。一個用例圖包含
了多個模型元素,如系統、參與者和用例,並且顯示了這些元素之間的各種關係,如泛化、關聯和依賴。

1.4 協作圖:
和序列圖相似,顯示物件間的動態合作關係。可以看成是類圖和順序圖的交集,協作圖建模物件或者角色,以及它們彼此之
間是如何通訊的。如果強調時間和順序,則使用序列圖;如果強調上下級關係,則選擇協作圖;這兩種圖合稱為互動圖。

1.5 狀態圖:
描述類的物件所有可能的狀態,以及事件發生時狀態的轉移條件。可以捕獲物件、子系統和系統的生命週期。他們可以告知
一個物件可以擁有的狀態,並且事件(如訊息的接收、時間的流逝、錯誤、條件變為真等)會怎麼隨著時間的推移來影響這些
狀態。一個狀態圖應該連線到所有具有清晰的可標識狀態和複雜行為的類;該圖可以確定類的行為,以及該行為如何根據當
前的狀態變化,也可以展示哪些事件將會改變類的物件的狀態。狀態圖是對類圖的補充。

1.6 活動圖:
描述用例要求所要進行的活動,以及活動間的約束關係,有利於識別並行活動。能夠演示出系統中哪些地方存在功能,以及這
些功能和系統中其他元件的功能如何共同滿足前面使用用例圖建模的商務需求。

1.7 構件圖:
元件圖提供系統的物理檢視。它的用途是顯示系統中的軟體對其他軟體元件(例如,庫函式)的依賴關係。元件圖可以在一個
非常高的層次上顯示,從而僅顯示粗粒度的元件,也可以在元件包層次2上顯示。

1.8 部署圖:
部署圖表示該軟體系統如何部署到硬體環境中。它的用途是顯示該系統不同的元件將在何處物理地執行,以及它們將如何彼此
通訊。因為部署圖是對物理執行情況進行建模,系統的生產人員就可以很好地利用這種圖。

類圖 (類與類之間的關係)

1 Generalization :泛化(繼承)
2 Realization :實現
3 Dependency :依賴,體現在區域性變數函式引數
4 Association :關聯,體現在成員變數,雙向,單向
5 Aggregation :聚合,整體與區域性的關係,並且沒有了整體 , 區域性也可單獨存在。如公司和員工 , 車與輪胎
6 Composition :組合,整體與區域性的關係,是一種強烈的包含關係,部分不能脫離整體存在。如 公司 和 部門

下面展示下6種關係的UML圖:

StarUML 建模使用

繼承.png

StarUML 建模使用

實現.png

StarUML 建模使用

依賴.png

StarUML 建模使用

關聯.png

StarUML 建模使用

聚合.png

StarUML 建模使用

組合.png


文章推薦:blog.csdn.net/tianhai110/article/d...
這篇文章詳細解釋了各種關係的描述和UML使用以及案例。

1.泛化(Generalization)

【泛化關係】:是一種繼承關係,它指定了子類如何特化父類的所有特徵和行為例如:老虎是動物的一種.

【箭頭指向】:帶三角箭頭的實線,箭頭指向父類

StarUML 建模使用

泛化.gif

2.實現(Realization)

【實現關係】:是一種類與介面的關係,表示類是介面所有特徵和行為的實現

【箭頭指向】:帶三角箭頭的虛線,箭頭指向介面

!
StarUML 建模使用

繼承.gif

3.關聯(Association)

【關聯關係】:是一種擁有的關係,它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子

關聯可以是雙向的,也可以是單向的。雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。

【程式碼體現】:成員變數

【箭頭及指向】:帶普通箭頭的實心線,指向被擁有者

StarUML 建模使用

關聯.gif

上圖中,老師與學生是雙向關聯,老師有多名學生,學生也可能有多名老師。但學生與某課程間的關係為單向關聯,一名學生可能要上多門課程,課程是個抽象的東西他不擁有學生。

上圖為自身關聯:

StarUML 建模使用

自身關聯.gif

  1. 聚合(Aggregation)

【聚合關係】:是整體與部分的關係.如車和輪胎是整體和部分的關係.

聚合關係是關聯關係的一種,是強的關聯關係;關聯和聚合在語法上無法區分,必須考察具體的邏輯關係。

【程式碼體現】:成員變數

【箭頭及指向】:帶空心菱形的實心線,菱形指向整體

StarUML 建模使用

聚合.gif

  1. 組合(Composition)

【組合關係】:是整體與部分的關係.,沒有公司就不存在部門 組合關係是關聯關係的一種,是比聚合關係還要強的關係,它要求普通的聚合關係中代表整體的物件負責代表部分的物件的生命週期

【程式碼體現】:成員變數

【箭頭及指向】:帶實心菱形的實線,菱形指向整體

StarUML 建模使用

組合.gif

  1. 依賴(Dependency)

【依賴關係】:是一種使用的關係,所以要儘量不使用雙向的互相依賴。

【程式碼表現】:區域性變數、方法的引數或者對靜態方法的呼叫

【箭頭及指向】:帶箭頭的虛線,指向被使用者

StarUML 建模使用

依賴.gif

各種關係的強弱順序:

泛化= 實現> 組合> 聚合> 關聯> 依賴

下面這張UML圖,比較形象地展示了各種類圖關係:

StarUML 建模使用

各種類圖關係.gif

原文:blog.csdn.net/tianhai110/article/d...
版權宣告:本文為博主原創文章,轉載請附上博文連結!

以上內容不需要死記硬背,要理解這記憶,或者需要的時候回過頭來再看,再或者將上面內容摘錄出重點內容列印出來,貼在辦公桌或電腦附件,畢竟是概念性的東西嘛。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章