www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 公眾號精選 > 架構師社區(qū)
[導讀]前言 上一篇文章寫了一篇建造者模式,其中有幾個UML類圖,有的讀者反饋看不懂了,我們今天就來解決一哈。 什么是UML? UML是Unified Model Language的縮寫,中文是統(tǒng)一建模語言,是由一整套圖表組成的標準化建模語言。 為什么要用UML? 通過使用UML使得在軟件

UML科普文,一篇文章掌握14種UML圖

前言

上一篇文章寫了一篇建造者模式,其中有幾個UML類圖,有的讀者反饋看不懂了,我們今天就來解決一哈。

什么是UML?

UMLUnified Model Language的縮寫,中文是統(tǒng)一建模語言,是由一整套圖表組成的標準化建模語言。

為什么要用UML?

通過使用UML使得在軟件開發(fā)之前, 對整個軟件設計有更好的可讀性,可理解性,從而降低開發(fā)風險。同時,也能方便各個開發(fā)人員之間的交流。

UML提供了極富表達能力的建模語言,可以讓軟件開發(fā)過程中的不同人員分別得到自己感興趣的信息。

Page-Jones 在《Fundamental Object-Oriented Design in UML》 一書中總結了UML的主要目的,如下:

  1. 為用戶提供現成的、有表現力的可視化建模語言,以便他們開發(fā)和交換有意義的模型。
  2. 為核心概念提供可擴展性 (Extensibility) 和特殊化 (Specialization) 機制。
  3. 獨立于特定的編程語言和開發(fā)過程。
  4. 為了解建模語言提供一個正式的基礎。
  5. 鼓勵面向對象工具市場的發(fā)展。
  6. 支持更高層次的開發(fā)概念,如協(xié)作,框架,模式和組件。
  7. 整合最佳的工作方法 (Best Practices)。

UML圖有哪些?

  • UML圖分為結構圖和行為圖。
  • 結構圖分為類圖、輪廓圖、組件圖、組合結構圖、對象圖、部署圖、包圖。
  • 行為圖又分活動圖、用例圖、狀態(tài)機圖和交互圖。
  • 交互圖又分為序列圖、時序圖、通訊圖、交互概覽圖。
UML科普文,一篇文章掌握14種UML圖

UML圖概覽

UML科普文,一篇文章掌握14種UML圖

什么是類圖?

  • 【概念】 類圖是一切面向對象方法的核心建模工具。類圖描述了系統(tǒng)中對象的類型以及它們之間存在的各種靜態(tài)關系。
  • 【目的】用來表示類、接口以及它們之間的靜態(tài)結構和關系。

在類圖中,常見的有以下幾種關系。

泛化(Generalization)

  • 【泛化關系】是一種繼承關系,表示子類繼承父類的所有特征和行為。
  • 【箭頭指向】帶三角箭頭的實線,箭頭指向父類。
UML科普文,一篇文章掌握14種UML圖

實現(Realization)

  • 【實現關系】是一種類與接口的關系,表示類是接口所有特征和行為的實現。
  • 【箭頭指向】帶三角箭頭的虛線,箭頭指向接口。
UML科普文,一篇文章掌握14種UML圖

關聯(Association)

  • 【關聯關系】是一種擁有關系,它使得一個類知道另一個類的屬性和方法。
  • 【代碼體現】成員變量
  • 【箭頭指向】帶普通箭頭的實線,指向被擁有者。雙向的關聯可以有兩個箭頭,或者沒有箭頭。單向的關聯有一個箭頭。
UML科普文,一篇文章掌握14種UML圖

自己買的車,想什么時候開就開。但是車是車,人是人,沒有整體與部分的關系。

聚合(Aggregation)

  • 【聚合關系】是一種整體與部分的關系。且部分可以離開整體而單獨存在。聚合關系是關聯關系的一種,是強的關聯關系;關聯和聚合在語法上無法區(qū)分,必須考察具體的邏輯關系。
  • 【代碼體現】成員變量
  • 【箭頭指向】帶空心菱形的實線,空心菱形指向整體。
UML科普文,一篇文章掌握14種UML圖

電腦有鍵盤才能輸入信息,電腦是整體,鍵盤是部分,鍵盤也可以離開電腦,單純的拿去敲。所以是聚合。

組合(Composition)

  • 【組合關系】是一種整體與部分的關系。但部分不能離開整體而單獨存在,組合關系是關聯關系的一種,是比聚合關系還要強的關系。
  • 【代碼體現】成員變量
  • 【箭頭指向】帶實心菱形和普通箭頭的實線,實心菱形指向整體。
UML科普文,一篇文章掌握14種UML圖

鳥是整體,翅膀是部分。鳥死了,翅膀也就不能飛了。所以是組合。我們再看一下,下面的一組經典的聚合組合關系的例子。

UML科普文,一篇文章掌握14種UML圖

一個公司擁有多個部門,公司和部門之間是組合關系,公司破產了,部門就不復存在了。部門和員工是聚合關系,部門被裁掉,員工就換下家了。

依賴(Dependency)

  • 【依賴關系】是一種使用關系,即一個類的實現需要另一個類的協(xié)助。
  • 【箭頭指向】帶普通箭頭的虛線,普通箭頭指向被使用者。
UML科普文,一篇文章掌握14種UML圖

老司機只管開車,車是誰的不重要,給什么車開什么車。

什么是組件圖?

  • 【概念】描繪了系統(tǒng)中組件提供的、需要的接口、端口等,以及它們之間的關系。
  • 【目的】用來展示各個組件之間的依賴關系。
UML科普文,一篇文章掌握14種UML圖

訂單系統(tǒng)組件依賴于客戶資源庫和庫存系統(tǒng)組件。中間的虛線箭頭表示依賴關系。另外兩個符號,表示組件連接器,一個提供接口,一個需要接口。

什么是部署圖?

  • 【概念】描述了系統(tǒng)內部的軟件如何分布在不同的節(jié)點上。
  • 【目的】用來表示軟件和硬件的映射關系。
UML科普文,一篇文章掌握14種UML圖

圖中簡單的表示,不同機器上面部署的不同軟件。

什么是對象圖?

  • 【概念】對象圖是類圖的一個實例,是系統(tǒng)在某個時間點的詳細狀態(tài)的快照。
  • 【目的】用來表示兩個或者多個對象之間在某一時刻之間的關系。
UML科普文,一篇文章掌握14種UML圖

圖中就是描述的,某時間點bat這個公司有一個研發(fā)部,一個銷售部,兩個部門只有一個人iisheng。

什么是包圖?

  • 【概念】描繪了系統(tǒng)在包層面上的結構設計。
  • 【目的】用來表示包和包之間的依賴關系。
UML科普文,一篇文章掌握14種UML圖
  • 《Use》關系表示使用依賴, Web Shopping依賴 Payment
  • 《Merge》關系表示合并, Web Shopping合并了 Shopping Cart就擁有了 Shopping Cart的功能
  • 《Access》關系表示私有引入,比如代碼中的指定包名類名
  • 《Import》關系表示公共引入,比如Java中的 import之后,就可以直接使用 import包中的類了。

什么是組合結構圖?

  • 【概念】描述了一個"組合結構"的內部結構,以及他們之間的關系。這個"組合結構"可以是系統(tǒng)的一部分,或者一個整體。
  • 【目的】用來表示系統(tǒng)中邏輯上的"組合結構"。
UML科普文,一篇文章掌握14種UML圖

圖中描述了Car是由車軸連接著的兩個前面輪子、兩個后面輪子,和引擎組合的。

什么是輪廓圖?

  • 【概念】輪廓圖提供了一種通用的擴展機制,用于為特定域和平臺定制UML模型。
  • 【目的】用于在特定領域中構建UML模型。
UML科普文,一篇文章掌握14種UML圖

圖中我們定義了一個簡易的EJB的概要圖。Bean是從Component擴展來的。Entity BeanSession Bean繼承了Bean。EJB擁有RemoteHome接口,和JAR包。

什么是用例圖?

  • 【概念】用例圖是指由參與者、用例,邊界以及它們之間的關系構成的用于描述系統(tǒng)功能的視圖。
  • 【目的】用來描述整個系統(tǒng)的功能。
UML科普文,一篇文章掌握14種UML圖

用例圖中包含以下三種關系:

  • 包含關系使用符號《include》,想要查看訂單列表,前提是需要先登錄。
  • 擴展關系使用符號《extend》,基于查詢訂單列表的功能,可以增加一個導出數據的功能
  • 泛化關系,子用例繼承父用例所有結構、行為和關系。

什么是活動圖?

  • 【概念】描述了具體業(yè)務用例的實現流程。
  • 【目的】用來表示用例實現的工作流程。
UML科普文,一篇文章掌握14種UML圖

圖中簡單描述了,從開始到登錄到查看訂單列表,或者登錄失敗直接結束。

什么是狀態(tài)機圖?

  • 【概念】狀態(tài)機圖對一個單獨對象的行為建模,指明對象在它的整個生命周期里,響應不同事件時,執(zhí)行相關事件的順序。
  • 【目的】用來表示指定對象,在整個生命周期,響應不同事件的不同狀態(tài)。
UML科普文,一篇文章掌握14種UML圖

圖中描述了,門在其生命周期內所經歷的狀態(tài)。

什么是序列圖?

  • 【概念】序列圖根據時間序列展示對象如何進行協(xié)作。它展示了在用例的特定場景中,對象如何與其他對象交互。
  • 【目的】通過描述對象之間發(fā)送消息的時間順序顯示多個對象之間的動態(tài)協(xié)作。
UML科普文,一篇文章掌握14種UML圖

圖中展示的是支付寶條碼支付場景的序列圖。其中,loop是循環(huán),alt是選擇,序列圖的其他關系這里就不介紹了。

什么是通訊圖?

  • 【概念】描述了收發(fā)消息的對象的組織關系,強調對象之間的合作關系而不是時間順序。
  • 【目的】用來顯示不同對象的關系。
UML科普文,一篇文章掌握14種UML圖

圖中展示了一個線上書店的通訊圖,方框和小人表示生命線,不同生命線之間可以傳遞消息,消息前面的數字可以表達序列順序。

什么是交互概覽圖?

  • 【概念】交互概覽圖與活動圖類似,但是它的節(jié)點是交互圖。
  • 【目的】提供了控制流的概述。
UML科普文,一篇文章掌握14種UML圖

圖中表示一個調度系統(tǒng)的交互概覽圖,跟活動圖很像。其中sd的框代表具體的交互流程,ref框代表使用交互。

什么是時序圖?

  • 【概念】時序圖被用來顯示隨時間變化,一個或多個元素的值或狀態(tài)的更改。也顯示時控事件之間的交互和管理它們的時間和期限約束。
  • 【目的】用來表示元素狀態(tài)或者值隨時間的變化而變化的視圖。
UML科普文,一篇文章掌握14種UML圖

圖中展示了老年癡呆病人隨著時間的變化病情的變化。

總結

學習UML,我們沒必要糾結比如像聚合關系是帶箭頭還是不帶箭頭,這樣的問題。更重要的是UML圖所給我們帶來的畫圖思想,讓我們畫UML圖或者其他圖能讓其他人更好的理解我們的設計思想。

當然,你要是明確知道帶箭頭或者不帶箭頭哪個是錯誤的,歡迎留言告訴我。

參考文獻:
[1]:《Learning UML 2.0》
[2]: https://www.uml-diagrams.org/
[3]: https://www.visual-paradigm.com/guide/
[4]: https://sparxsystems.com/resources/tutorials/

特別推薦一個分享架構+算法的優(yōu)質內容,還沒關注的小伙伴,可以長按關注一下:

UML科普文,一篇文章掌握14種UML圖

長按訂閱更多精彩▼

UML科普文,一篇文章掌握14種UML圖

如有收獲,點個在看,誠摯感謝

免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉