移動架構 (一) 架構第一步,學會畫各種 UML 圖。

距離上一個 “性能優化系列” 已經快一個月沒有發佈文章了,最近公司真的是太忙了,甚是想念掘友們啊。最近把學習架構方面的知識記錄下來,供自己和掘友們一起學習。
注意: 文章中 UML 圖開始用是 Windows PowerDesigner 工具,後來換電腦了用的 StarUML。

UML

定義

UML 是統一建模語言, 是一種開放的方法,用於說明、可視化、構建和編寫一個正在開發的、面向對象的、軟件密集系統的製品的開放方法。

作用

  1. 幫組開發團隊以一種可視化的方式理解系統的功能需求。
  2. 有利於開發團隊隊員之間在各個開發環節間確立溝通的標準,便於系統文檔的制定和項目的管理。因爲 UML 的簡單、直觀和標準性,在一個團隊中用 UML 來交流比用文字說明的文檔要好的多。
  3. UML 爲非專業編程人士理解軟件的功能和構造,提供了一種直白、簡單、通俗的方法。
  4. 使用 UML 可以方便的理解各種框架的設計方式。

面向對象模型

用例圖 (User Case Diagram)

概述

. 用例圖主要模擬系統中的動態行爲,並且描述了用戶、需求、以及系統功能單元之間的關係。
. 用例圖由參與者 (用戶) ,用例 (功能) 和它們之間的關係組成。

目的

  1. 用來收集系統的要求。
  2. 用於獲取系統的外觀圖。
  3. 識別外部和內部影響因素。
  4. 顯示要求之間的相互作用是參與者。

構成元素

在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

用例圖例子

需求: 以一個登錄的例子來畫一個用例圖

  1. 包含 登錄/註冊/
  2. 登錄/註冊 支持手機號碼、第三方 QQ/weichat/GitHub 登錄註冊

效果圖:

在這裏插入圖片描述

提供的登錄用例基本上已經包含了剛剛所學的組成元素部分。

結構圖

類圖 (Class Diagram)
概念

類圖 (Class Diagram) 是顯示了模型的靜態結構,特別是模型中存在的類、類的內部結構以及它們與其它類的關係等。
類圖不顯示暫時性的信息,類圖是面向對象建模的主要組成部分。它即用於應用程序的系統分類的一般概念建模,也用於詳細建模,將模型轉換成編程代碼。

構成元素
在這裏插入圖片描述
在這裏插入圖片描述

類圖例子
需求: 基於 google 官方 MVP 架構繪製一個基本的 MVP 類圖架構

在這裏插入圖片描述

組合結構圖 (Composite Structure Diagram)
概念

用來顯示組合結構或部分系統的內部構造,包括類、接口、包、組件、端口和連接器等元素。比類圖更抽象的表示,一般來說先畫組合結構圖,再畫類圖。

構成元素
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述注意事項
側重類的整體特性,就用類圖;側重類的內部結構,就使用組合結構圖。

組合結構圖例子
在這裏插入圖片描述對象圖 (Object Diagram)
概念

顯示某時刻對象和對象之間的關係

構成元素
在這裏插入圖片描述
在這裏插入圖片描述
對象圖例子

在這裏插入圖片描述
包圖 (Package Diagram)
概念

包與包的之間的關係

構成元素
在這裏插入圖片描述
包圖例子

在這裏插入圖片描述
動態圖
時序圖 (Sequence Diagram)
概念

時序圖(Sequence Diagram) , 又名序列圖、循序圖、順序圖,是一種UML交互圖。
它通過描述對象之間發送消息的時間順序顯示多個對象之間的動態協作。
它可以表示用例的行爲順序,當執行一個用例行爲時,其中的每條消息對應一個類操作或狀態機中引起轉換的觸發事件。

構成元素
在這裏插入圖片描述在這裏插入圖片描述時序圖例子
需求:這裏爲了簡單就用一個登陸的時序圖爲參考
在這裏插入圖片描述通訊圖 (Communication Diagram)
概念

順序圖強調先後順序,通信圖則是強調相互之間的關係。順序圖和通信圖基本同構,但是很少使用通信圖,因爲順序圖更簡潔,更直觀。

構成元素

在這裏插入圖片描述在這裏插入圖片描述通訊圖例子在這裏插入圖片描述活動圖 (Activity Diagram)
概念

活動圖是 UML 用於對系統的動態行爲建模的另一種常用工具,它描述活動的順序,展現從一個活動到另一個活動的控制流。活動圖在本質上是一種流程圖。活動圖着重表現從一個活動到另一個活動的控制流,是內部處理驅動的流程。

構成元素
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述活動圖例子
需求: 點開直播 -> 觀看直播的動作
在這裏插入圖片描述狀態圖 (Statechart Diagram)
概念

描述了某個對象的狀態和感興趣的事件以及對象響應該事件的行爲。轉換 (transition) 用標記有事件的箭頭表示。狀態(state)用圓角矩形表示。通常的做法會包含一個初始狀態,當實例創建時,自動從初始狀態轉換到另外一個狀態。
狀態圖顯示了對象的生命週期:即對象經歷的事件、對象的轉換和對象在這些事件之間的狀態。當然,狀態圖不必要描述所有的事件。

構成元素

在這裏插入圖片描述在這裏插入圖片描述狀態圖例子
需求: 這裏直接借鑑 Activity 官方狀態圖
在這裏插入圖片描述
交錯縱橫圖 (Interaction overview Diagram)
概念
用來表示多張圖之間的關聯
構成元素
在這裏插入圖片描述在這裏插入圖片描述交錯縱橫圖例子在這裏插入圖片描述
交互圖
組件圖 (Component Diagram)
概念
組件圖(component diagram)是用來反映代碼的物理結構。從組件圖中,您可以瞭解各軟件組件(如源代碼文件或動態鏈接庫)之間的編譯器和運行時依賴關係。使用組件圖可以將系統劃分爲內聚組件並顯示代碼自身的結構
構成元素

在這裏插入圖片描述組件圖例子在這裏插入圖片描述
部署圖 (Deployment Diagram)
概念

部署圖可以用於描述規範級別的架構,也可以描述實例級別的架構。這與類圖和對象圖有點類似,做系統集成很方便。

構成元素在這裏插入圖片描述部署圖例子在這裏插入圖片描述經典例子
微信支付時序圖
在這裏插入圖片描述總結
只要掌握常用的幾種圖 (用例圖、類圖、時序圖、活動圖) ,就已經邁向架構第一步了,加油!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章