乾貨|關於UML統一建模語言


什麼是UML


UML全稱是:Unified Modeling Language 又稱統一建模語言或標準建模語言。

統一建模語言UML是OMG(Object Management Group)在1997年發表的圖標式軟件設計語言,它綜合了很多種當時已經存在的面向對象的建模語言、方法和過程。



為什麼我們要使用UML?

軟件工程的目標:利用工程化的方法在給定成本、進度的前提下,開發出具有可維護性、正確性、可移植性的軟件. 提高軟件產品的質量和開發效率,減少維護的困難隨著軟件工程地進展,IT界想用一種語言來描述它們完成的需求,設計,但是不同的公司開發了自己的產品。於是乎,為了統一起來,就有了OMG組織

【ObjectManagementGroup對象管理組織】,這個組織讓這種描述需求、設計的語言統一了,就稱作是UML 了。也就是說,UML用來給我們設計,需求分析。



類圖

類圖(Class Diagram)是顯示類、接口以及它們之間的靜態結構和關係的圖。類圖最基本的元素是類或接口。

如下圖:

乾貨|關於UML統一建模語言

第一層是類名。類名不能省略,必須顯示

第二層是屬性層。一個屬性可以是public、private或protected。一個屬性的左面如果有一個加號(+),表示它是public;左面如果是一個減號(-),表示它是privae;左面如果是一個(#),表示它是protected。

第三層是方法層。一個方法可以是public、private或protected。一個方法的左面如果有一個加號(+),表示它是public;左面如果是一個減號(-),表示它是privae;左面如果是一個(#),表示它是protected;如果方法下面有一個下劃線,表明是一個靜態的方法。

類圖用於描述系統中的類與類之間的各種關係

1. 繼承(泛化)

概念:泛化是一種一般與特殊、一般與具體之間關係的描述,具體描述建立在一般描述的基礎之上,並對其進行了擴展。在程序中是通過繼承類實現的。比如狗是對動物的具體描述,在面向對象設計的時候一般把狗設計為動物的子類。

表示方法:空心三角形箭頭的實線,子類指向父類。


乾貨|關於UML統一建模語言


2.實現

概念:實現是一種類與接口的關係,表示類是接口所有特徵和行為的實現,在程序中一般通過類實現接口來描述。

表示方法:空心三角形箭頭的虛線,實現類指向接口.


乾貨|關於UML統一建模語言


3.依賴

概念:是一種使用的關係,即一個類的實現需要另一個類的協助,所以要儘量不使用雙向的互相依賴,在程序中一般表現為類A中的方法需要類B的實例作為其參數或者變量,而類A本身並不需要引用類B的實例作為其成員變量。

表示方法:虛線箭頭,類A指向類B。


乾貨|關於UML統一建模語言


4.關聯

概念:表示類與類之間的聯接,它使一個類知道另一個類的屬性和方法,這種關係比依賴更強、不存在依賴關係的偶然性、關係也不是臨時性的,一般是長期性的,在程序中被關聯類B以類屬性的形式出現在關聯類A中,也可能是關聯類A引用了一個類型為被關聯類B的全局變量。

表示方法:實線箭頭,類A指向類B

乾貨|關於UML統一建模語言

5.聚合

概念:聚合關聯關係的一種特例,是強的關聯關係。聚合是整體和個體之間的關係,即has-a的關係,整體與個體可以具有各自的生命週期,部分可以屬於多個整體對象,也可以為多個整體對象共享。程序中聚合和關聯關係是一致的,比如計算機與CPU、公司與員工的關係等;表現在代碼層面,和關聯關係是一致的,只能從語義級別來區分表示方法:尾部為空心菱形的實線箭頭(也可以沒箭頭),類A指向類B

乾貨|關於UML統一建模語言

6.組合

概念:組合也是關聯關係的一種特例。組合是一種整體與部分的關係,即contains-a的關係,比聚合更強。部分與整體的生命週期一致,整體的生命週期結束也就意味著部分的生命週期結束,組合關係不能共享。程序中組合和關聯關係是一致的,只能從語義級別來區分。

表示方法:尾部為實心菱形的實現箭頭(也可以沒箭頭),類A指向類B

乾貨|關於UML統一建模語言

get最新最全的IT技能,免費領取各種編程資料(Java、python、前端、大數據、區塊鏈....)

用例圖

用例圖顯示誰將是系統的使用者、用戶希望系統提供什麼服務以及系統能夠為用戶提供什麼樣的服務;從用戶的角度描述系統的功能。用例圖最常用來描述系統以及子系統

下圖是描述一個論壇網站,遊客、會員與管理員可以使用不同的功能的用例圖


乾貨|關於UML統一建模語言


時序圖

時序圖有時又叫做序列圖、活動序列圖。作為交互圖的一種,序列交互圖按照時間順序從上到下顯示每個使用案例。下圖所示的例子是一個普通網站登錄的時序圖。

乾貨|關於UML統一建模語言

UML建模工具

有很多工具可以幫助我們畫出UML圖。這樣的工具包括如下內容:

  • Rational Rose
  • Rational Rose是Rational公司出品的一種www.rational.com 收費軟件
  • UDE – community
  • JUDE是一箇中日合作的軟件項目,有商業化的Professional版本和免費的Community版本,最大的區別是免費版的不支持UML 2.0,對於一般應用足夠了。
  • 下載地址:http://astah.net/editions/community有收費和免費的
  • BOUml
  • 一個免費的UML 2工具箱,支持C++,Java以及Idl。
  • 下載地址:http://bouml.free.fr/免費
  • Microsoft Visio
  • Microsoft Visio是Windows操 作系統下運行的流程圖和矢量繪圖軟件,它是Microsoft Office軟 件的一個部分可以繪製UML圖,本文檔建模工具選擇就是 Visio.
  • 下載地址:www.microsoft.com 收費軟件


總結

通過以上講解,在軟件開發的過程中,可以使用UML建模語言對項目中的業務進行分析和設計,掌握了這些圖形的創建可以幫助開發團隊以一種可視化的方式理解系統的功能需求。

寫在最後

get最新最全的IT技能,免費領取各種編程資料(Java、python、前端、大數據、區塊鏈....)


分享到:


相關文章: