時序圖、活動圖、狀態圖、協作圖的區別

時序圖

時序圖用於描述對象之間的傳遞消息的時間順序, 即用例中的行為順序.

當執行一個用例時, 時序圖中的每條消息對應了一個類操作或者引起轉換的觸發事件.

在 UML 中, 時序圖表示為一個二維的關係圖, 其中, 縱軸是時間軸, 時間延豎線向下延伸. 橫軸代表在協作中各個獨立的對象. 當對象存在時, 生命線用一條虛線表示, 消息用從一個對象的生命線到另一個對象的生命線的箭頭表示. 箭頭以時間的順序在圖中上下排列.

ATM 用戶成功登陸的時序圖

時序圖中的基本概念

時序圖、活動圖、狀態圖、協作圖的區別

對象: 時序圖中對象使用矩形表示, 並且對象名稱下有下劃線. 將對象置於時序圖的頂部說明在交互開始時對象就已經存在了. 如果對象的位置不在頂部, 表示對象是在交互的過程中被創建的.

生命線:生命線是一條垂直的虛線. 表示時序圖中的對象在一段生命週期內存在. 每個對象底部中心的位置都帶有生命線.

消息: 兩個對象之間的單路通信. 從發送方指向接收方. 在時序圖中很少使用返回消息.

激活:時序圖可以描述對象的激活和鈍化. 激活表示該對象被佔用以完成某個任務. 鈍化指對象處於空閒狀態, 等待消息. 在 UML 中, 對象激活時將對象的生命線拓寬為矩形來表示的. 矩形稱為計劃條或控制期. 對象就是在激活條的頂部被激活的. 對象在完成自己的工作後被鈍化.

對象的創建和銷燬: 在時序圖中, 對象的默認位置是在圖的頂部. 這說明對象在交互開始之前就已經存在了. 如果對象是在交互過程中創建的, 那麼就應該將對象放到中間部分. 如果要撤銷一個對象, 在其生命線終止點處放置 “ X” 符號.

練習:孫中山的……

時序圖、活動圖、狀態圖、協作圖的區別

活動圖

在 UML 中, 活動圖本質上就是流程圖. 它用於描述系統的活動, 判定點和分支等.

活動圖中的基本概念

時序圖、活動圖、狀態圖、協作圖的區別

動作狀態: 原子的, 不可中斷的動作, 並在此動作完成之後向另一個動作轉變. 在 UML 中動作狀態用圓角矩形 表示, 動作狀態所表示的動作寫在圓角矩形內部.

分支與合併: 分支在軟件系統中很常見. 一般用於表示對象類所具有的條件行為. 用一個布爾型表達式的真假來判定動作的流向. 條件行為用分支和合並表達.在活動圖中, 分支用空心小菱形 表示. 分支包括一個入轉換和兩個帶條件的出轉換, 出轉換的條件應該是互斥的, 須保證只有一條出轉換能夠被觸發. 合併包含兩個帶條件的入轉換和一個出轉換.

狀態圖

狀態圖: 通過建立對象的生存週期模型來描述對象隨時間變化的動態行為.

時序圖、活動圖、狀態圖、協作圖的區別

狀態圖中的基本概念

狀態: 用圓角矩形表示. 狀態名稱表示狀態的名字, 通常用字符串表示. 一個狀態的名稱在狀態圖所在的上下文中應該是唯一的.

轉換: 用帶箭頭的直線表示. 一端連著源狀態, 一端連著目標狀態.

初始狀態: 每個狀態圖都有一個初始狀態. 此狀態代表狀態圖的起始位置. 初始狀態只能作為轉換的源, 不能作為轉換的目標, 並且在狀態圖中只能有一個. 初始狀態用一個實心圓表示.

終止狀態: 模型元素的最後狀態, 是一個狀態圖的終止點. 終止狀態在一個狀態圖中可以有多個.

協作圖

協作圖(也叫合作圖)是一種交互圖.

時序圖主要側重於對象間消息傳遞在時間上的先後關係, 而協作圖表達對象間的交互過程及對象間的關聯關係

時序圖、活動圖、狀態圖、協作圖的區別時序圖、活動圖、狀態圖、協作圖的區別

免責聲明:本文由作者原創,文章內容系作者個人觀點,電子發燒友網轉載僅作為傳達一種不同的觀點,不代表電子發燒友網對該觀點的贊同或支持,如有異議,歡迎聯繫電子發燒友網。

  • 華為斥資6600萬入股中電儀器,國內測試儀器局面將鉅變?

  • 拆解華為P40:“去A化”加強,國產化更進一步

  • 主動降噪與音質加強,TWS耳機的未來走向

  • 醫療大廠與開源自制的呼吸機方案,危機時刻該如何選擇?

  • 還記得網紅風筒、筋膜槍麼?2020年BLDC天量商機是…


分享到:


相關文章: