文章目錄
- 1 簡介
- 2、掌握面向對象模組化常用模組化圖
-
- 2.1 用例圖 The Use Case Diagram
- 2.2 結構圖
-
- 2.2.1 類圖 The Class Diagram
- 2.2.2 組合結構圖 Composite Structure Diagram
- 2.2.3 對象圖 Object Diagram
- 2.2.4 包圖 Package Diagram
- 2.3 動态圖
-
- 2.3.1 時序圖 Sequence diagram
- 2.3.2 通信圖 Communication diagram
- 2.3.3 活動圖 Activity diagram
- 2.3.4 狀态圖 Statechart diagram
- 2.3.5 互動縱橫圖 Interaction overview diagram
- 2.4 互動圖
-
- 2.4.1 元件圖 Component Diagram
- 2.4.2 部署圖 Deployment Diagram
- 3 工具使用
-
- 3.1 繪圖工具
- 3.2 思維導圖工具
- 4 微信支付時序圖
1 簡介
UMI
定義:是統一模組化語言,是一種開放的方法,用于說明、可視化、建構和編寫一個正在開發 的、面向對象的、軟體密集系統的制品的開放方法。
作用:
1、幫助開發團隊以一種可視化的方式了解系統的功能需求。
2、有利于開發團隊隊員間在各個開發環節間确立溝通的标準,便于系統文檔的制定和項 目的管理。因為UML的簡單、直覺和标準性,在一個團隊中用UML來交流比用文字說 明的文檔要好得多。
3、UML為非專業程式設計人士了解軟體的功能和構造,提供了一種直白、簡單、通俗的方法。 4、使用uml可以友善了解各種架構的設計方式。
用例圖概述: 用例圖主要模拟系統中的動态行為,并且描述了使用者、需求、以及系統功能單元、之間的關系。 用例圖由參與者(使用者),用例(功能)和它們之間的關系組成。
1 用例圖:
UML 用例圖的目的: 用例圖用來收集系統的要求。 用例圖用于擷取系統的外觀圖。 用例圖識别外部和内部因素影響系統。 用例圖顯示要求之間的互相作用是參與者。
主要構成元素:參與者(Actor)、用例(UseCase)、關聯關系(Association [əˌsoʊsiˈeɪʃn] 、 包含關系(Include)、擴充關系(Extend)、泛化關系(Generalization)
2 結構圖:
結構圖作用:用來描述程式結構的
類圖(Class Diagram )概述 :是面向對象系統模組化中最常用和最重要的圖。主要是用來顯示系統中的類、接口以及它們之 間的靜态結構和關系的一種靜态模型。是唯一可以直接映射到面向對象的語言。
UML 類圖的目的:
1、分析和設計應用程式的靜态視圖。
2、描述一個系統的責任。
3、基地元件圖和部署圖。
4、正向和逆向工程。
正向工程是通過從特定實作語言的映射而把模型轉換為代碼的過程。
逆向工程是通過從特定實作語言的映射而把代碼轉換為模型的過程。
主要構成元素:
類(class)、接口(interface)、端口(port)、關聯關系(Association [əˌsoʊsiˈeɪʃn] )、依賴 (Dependency [dɪˈpendənsi] )、聚合(Aggregation [ˌæɡrɪˈɡeɪʃn] )、組合(Composition [ˌkɑːmpəˈzɪʃn])
端口(Port):
類元與外部部件互動的連接配接處。用類元邊框線上的小矩形框辨別類元一般都是以封閉的結構體,在組合結構圖中通過端口與外部互動.
組合結構圖(Composite [ˌkɑːmpəˈzɪʃn] Structure [ˈstrʌktʃər] Diagram [ˈdaɪəɡræm] ):
用來顯示組 合結構或部分系統的内部構造,包括類、接口、包、元件、端口和連接配接器等元素
主要構成元素:
類(class)、接口(interface)、端口(port)、部件(part)、關聯關系 (Association [əˌsoʊsiˈeɪʃn] )、依賴(Dependency [dɪˈpendənsi] )、聚合(Aggregation [ˌæɡrɪˈɡeɪʃn] )、組合(Composition )
部件(part):
代表屬于類中的一個元素,該元素可能包含一個或多個執行個體。常用在類或元件内 部用不加修飾的矩形框辨別。
對象圖(Object Diagram [ˈdaɪəɡræm] ):
對象圖和類圖一樣反映系統的靜态過程,顯示某時 刻對象和對象之間的關系。
UML 對象圖目的:
1、正向和逆向工程。2、一個系統的對象間的關系。3、一個互動的靜态視圖。4、從實用的 角度了解對象的行為和他們的關系。
主要構成元素:
對象(object)、實列(instance link)、依賴(Dependency [dɪˈpendənsi] )
3 活動圖:
同步互動:指發送一個請求,需要等待傳回,然後才能夠發送下一個請求,有個等待過 程;
異步互動:指發送一個請求,不需要等待傳回,随時可以再發送下一個請求,即不需要 等待。
差別:一個需要等待,一個不需要等待,在部分情況下,我們的項目開發中都會優 先選擇不需要等待的異步互動方式。
互動圖的使用範圍:
互動圖描述的比較宏觀,主要用于系統繼承,比如說需要描述伺服器,防火牆,
用戶端,用互動圖描述是非常友善的。
4 課後作業:
根據微信時序圖,搭建微信支付系統架構
要求:
1、繪制類圖,和活動圖各一副。
2、類圖結構清晰,關鍵元素必須要存在
3、活動圖步驟要明确,關鍵步驟必須要存在
2、掌握面向對象模組化常用模組化圖
2.1 用例圖 The Use Case Diagram
用例圖是指由參與者(Actor)、用例(Use Case),邊界以及它們之間的關系構成的用于描述系統功能的視圖。用例圖(User Case)是外部使用者(被稱為參與者)所能觀察到的系統功能的模型圖。用例圖是系統的藍圖。
用例圖呈現了一些參與者,一些用例,以及它們之間的關系,主要用于對系統、子系統或類的功能行為進行模組化。
參與者(Actor)、用例(UseCase)、關聯關系(Association)、包含關系(Include)、擴充關系(Extend)、泛化關系(Generalization)

用例圖執行個體
2.2 結構圖
2.2.1 類圖 The Class Diagram
類圖(Class diagram)是顯示了模型的靜态結構,特别是模型中存在的類、類的内部結構以及它們與其他類的關系等。
類圖不顯示暫時性的資訊。類圖是面向對象模組化的主要組成部分。
它既用于應用程式的系統分類的一般概念模組化,也用于詳細模組化,将模型轉換成程式設計代碼。類圖也可用于資料模組化。
-
泛化(Generalization)
是一種繼承關系, 表示一般與特殊的關系, 它指定了子類如何特化父類的所有特征和行為. 例如:老虎是動物的一種, 即有老虎的特性也有動物的共性.
-
實作(Realization)
是一種類與接口的關系, 表示類是接口所有特征和行為的實作.
-
關聯(Association)
是一種擁有的關系, 它使一個類知道另一個類的屬性和方法;如:老師與學生,丈夫與妻子。
關聯可以是雙向的,也可以是單向的。雙向的關聯可以有兩個箭頭或者沒有箭頭,單向的關聯有一個箭頭。
-
依賴(Dependency)
是一種使用的關系, 即一個類的實作需要另一個類的協助, 是以要盡量不使用雙向的互相依賴.
-
聚合(Aggregation)
是整體與部分的關系, 且部分可以離開整體而單獨存在. 如車和輪胎是整體和部分的關系, 輪胎離開車仍然可以存在.
-
組合(Composition)
是整體與部分的關系, 但部分不能離開整體而單獨存在. 如公司和部門是整體和部分的關系, 沒有公司就不存在部門.
可以通過圖生成代碼(正向工程)
選擇 language- Generate Java code
也可以通過代碼生成圖(逆向工程)
選擇 language-Reverse Engineer Java
2.2.2 組合結構圖 Composite Structure Diagram
主要用于描述類中的内部構造,和類與類之間的關系
比類圖更抽象的表示,一般來說先畫組合結構圖,再畫類圖
注意事項:側重類的整體特性,就使用類圖;側重類的内部結構,就使用組合結構圖。
2.2.3 對象圖 Object Diagram
顯示某時刻對象和對象之間的關系
2.2.4 包圖 Package Diagram
包與包之間關系
2.3 動态圖
2.3.1 時序圖 Sequence diagram
時序圖(Sequence Diagram),又名序列圖、循序圖、順序圖,是一種UML互動圖。
它通過描述對象之間發送消息的時間順序顯示多個對象之間的動态協作。
它可以表示用例的行為順序,當執行一個用例行為時,其中的每條消息對應一個類操作或狀态機中引起轉換的觸發事件。
角色(Actor)
對象(Object)
生命線(Lifeline)
控制焦點(Focus of Control)
消息(Message)- 同步用實心,異步用開放
仿微信支付時序圖:
2.3.2 通信圖 Communication diagram
和時序圖相同,隻是表示形式不同,可通過時序圖直接轉換
2.3.3 活動圖 Activity diagram
表示一個過程,有點像流程圖。
組織單元泳道圖(organization unit swimlane)
異步:
同步:
2.3.4 狀态圖 Statechart diagram
2.3.5 互動縱橫圖 Interaction overview diagram
用來表示多張圖之間的關聯
2.4 互動圖
2.4.1 元件圖 Component Diagram
主要目的是顯示系統元件間的結構關系
2.4.2 部署圖 Deployment Diagram
多數用于表示硬體結構,做系統內建很友善
3 工具使用
3.1 繪圖工具
Win 版本
本地繪圖工具: PowerDesigner (隻支援 Win)
下載下傳位址: http://soft.onlinedown.net/soft/577763.htm
Mac 版本
繪圖工具: argouml
下載下傳位址: http://argouml.tigris.org/
繪圖工具: violet下載下傳位址: http://alexdp.free.fr/violetumleditor/page.php?id=en:download
線上
線上工具: Processon
線上位址: https://www.processon.com/
3.2 思維導圖工具
MindMaster
下載下傳位址: https://www.edrawsoft.cn/download/mindmaster/
微信支付時序圖
官網連結:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_3