UML

UML-(Unified Modeling Language)統一建模語言

1.介紹

UML 能夠幫助咱們作軟件的需求分析和軟件設計,它可以直觀、形象、嚴謹地描述出業務概念、業務流程、客戶需求。UML是一種基於面向對象的可視化的通用建模語言。它提供一組具備明肯定義的圖形符號,能夠創建清晰的模型便於交流,同時全部的開發人員均可以無歧義地理解這個模型。html

UML是一種富有表達力的語言,能夠描述開發所須要的各類視圖,並以此爲基礎組建系統。異步

2.分類

2.1UML定義了5類,10種模型圖

五種圖定義:ide

1.用例圖:從用戶角度描述系統功能,並指各功能的操做者。oop

2.靜態圖:包括類圖,包圖,對象圖。ui

類圖:描述系統中類的靜態結構.net

包圖:是包和類組成的,表示包與包之間的關係,包圖描述系統的分層結構設計

對象圖:是類圖的實例3d

3.行爲圖:描述系統動態模型和對象組成的交換關係。包括狀態圖和活動圖htm

活動圖:描述了業務實現用例的工做流程對象

狀態圖:是描述狀態到狀態控制流,經常使用於動態特性建模

4.交互圖:描述對象之間的交互關係

順序圖:對象之間的動態合做關係,強調對象發送消息的順序,同時顯示對象之間的交互

合做圖:描述對象之間的協助關係

5.實現圖:

配置圖:定義系統中軟硬件的物理體系結構

2.2 UML 大體能夠分爲兩類:結構型和行爲型

UML.png

圖片來自 火球UML大戰

3.各類圖

3.1用例圖

用例圖表達的是什麼角色(Actor)可以作什麼事情(use case).

簡單例子:

注意:擴展箭頭執行被擴展對象。

Untitled.png

圖片來自:火球UML大戰

3.2 類圖

類圖描述系統中類的靜態結構。不只定義系統中的類,類之間的聯繫如關聯、依賴、聚合等,也包括類的內部結構(類的屬性和操做),幫助人們簡化對系統的理解。

類圖中的「類」與面嚮對象語言中的「類」的概念是對應的,是對現實世界中的事物的抽象。

UML支持的可見性標誌:(+Public)(-private) (#protected) (~package)

Untitled.png

3.2.1 關聯關係

關聯關係(Association)關係式類與類之間最經常使用的一種關係,他是一種結構化關係,用於表示對象與另外一個類對象之間有聯繫。如班級和學生。用實線鏈接有關聯關係的兩個類。

3.2.2「 包含」關係

有兩種表示法,一種是空心菱形,一種是實心菱形。 實心菱形更強烈,關係更緊密。

空心菱形的中文術語標準說法是聚合(Aggregation),實心菱形組合(Composition)。

汽車和發動機是聚合。 杯子和杯柄是組合。

關係爲「has a 」。 總體和部分之間的關係。

具備組合關係的兩個類,他們的生命週期是一致的。

菱形指向頂端

3.2.3 泛化關係

在面向對象中通常稱爲繼承關係,存在於父類於子類、父接口與子接口之間。

箭頭指向父類

3.2.4 依賴關係(實現)

依賴關係體如今某個類的方法使用另外一個類的對象做爲參數。 之間的關係爲「使用」。

依賴關係使用一條帶箭頭的虛線表示,如A----->B(A依賴於B).


一個好的例子:

Untitled.png

圖片來自: http://www.360doc.com/content/13/0304/13/10504424_269223190.shtml

3.3 活動圖

活動圖描述系統的動態行爲。

每一個活動指的是一個執行步驟或者一個操做。

活動圖描述的是系統內部的邏輯執行過程。

Untitled.png

Untitled.png

圖片來自:火龍果軟件

Untitled.png

圖片來自:火龍果軟件

3.4 順序圖

順序圖是用來表示用例中的行爲順序。

順序圖包含了四個元素:對象(Object)、聲明線(Lifeline)、消息(Message)和激活(Activation)

對象帶下劃線, 傳遞消息是實線實體箭頭,返回消息是虛線

消息體:實心箭頭(同步調用操做) ; 棍型箭頭(異步操做)

<1> 點餐

Untitled.png

圖片來自:火球UML大戰

順序圖的循環及分值結構:

loop:循環,在知足循環條件的前提下,不斷地重複作某些事情。

alt : alternative的縮寫,條件分分支,根據不一樣的條件選擇不一樣的分支。

opt : optional 的縮寫,可選分支,知足必定條件則執行該分支,不然就跳過。

Untitled.png

圖片來自:火球UML大戰

參考資料:

《火球UML大戰》

https://blog.csdn.net/lovelion/article/details/7838679

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-class-diagram/

相關文章
相關標籤/搜索