天天看點

時序圖、活動圖、狀态圖、協作圖的差別

時序圖

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

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

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

ATM 使用者成功登陸的時序圖

時序圖中的基本概念

時序圖、活動圖、狀态圖、協作圖的差別

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

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

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

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

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

練習:孫中山的……

時序圖、活動圖、狀态圖、協作圖的差別

活動圖

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

活動圖中的基本概念

時序圖、活動圖、狀态圖、協作圖的差別

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

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

狀态圖

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

時序圖、活動圖、狀态圖、協作圖的差別

狀态圖中的基本概念

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

轉換: 用帶箭頭的直線表示. 一端連着源狀态, 一端連着目标狀态.

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

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

協作圖

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

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

時序圖、活動圖、狀态圖、協作圖的差別

繼續閱讀