時序圖、流程圖、狀態圖、協作圖之間的區別
時序圖
時序圖用於描述物件之間的傳遞訊息的時間順序, 即用例中的行為順序.
當執行一個用例時, 時序圖中的每條訊息對應了一個類操作或者引起轉換的觸發事件.
在 UML 中, 時序圖表示為一個二維的關係圖, 其中, 縱軸是時間軸, 時間延豎線向下延伸. 橫軸代表在協作中各個獨立的物件. 當物件存在時, 生命線用一條虛線表示, 訊息用從一個物件的生命線到另一個物件的生命線的箭頭表示. 箭頭以時間的順序在圖中上下排列.
ATM 使用者成功登陸的時序圖
時序圖中的基本概念
物件: 時序圖中物件使用矩形表示, 並且物件名稱下有下劃線. 將物件置於時序圖的頂部說明在互動開始時物件就已經存在了. 如果物件的位置不在頂部, 表示物件是在互動的過程中被建立的.
生命線: 生命線是一條垂直的虛線. 表示時序圖中的物件在一段生命週期記憶體在. 每個物件底部中心的位置都帶有生命線.
訊息: 兩個物件之間的單路通訊. 從傳送方指向接收方. 在時序圖中很少使用返回訊息.
啟用: 時序圖可以描述物件的啟用和鈍化. 啟用表示該物件被佔用以完成某個任務. 鈍化指物件處於空閒狀態, 等待訊息. 在 UML 中, 物件啟用時將物件的生命線拓寬為矩形來表示的. 矩形稱為計劃條或控制期. 物件就是在啟用條的頂部被啟用的. 物件在完成自己的工作後被鈍化.
物件的建立和銷燬: 在時序圖中, 物件的預設位置是在圖的頂部. 這說明物件在互動開始之前就已經存在了. 如果物件是在互動過程中建立的, 那麼就應該將物件放到中間部分. 如果要撤銷一個物件, 在其生命線終止點處放置 “ X” 符號.
練習:孫中山的……
活動圖
在 UML 中, 活動圖本質上就是流程圖. 它用於描述系統的活動, 判定點和分支等.
活動圖中的基本概念
動作狀態: 原子的, 不可中斷的動作, 並在此動作完成之後向另一個動作轉變. 在 UML 中動作狀態用圓角矩形 表示, 動作狀態所表示的動作寫在圓角矩形內部.
分支與合併: 分支在軟體系統中很常見. 一般用於表示物件類所具有的條件行為. 用一個布林型表示式的真假來判定動作的流向. 條件行為用分支和合並表達.在活動圖中, 分支用空心小菱形 表示. 分支包括一個入轉換和兩個帶條件的出轉換, 出轉換的條件應該是互斥的, 須保證只有一條出轉換能夠被觸發. 合併包含兩個帶條件的入轉換和一個出轉換.
狀態圖
狀態圖: 通過建立物件的生存週期模型來描述物件隨時間變化的動態行為.
狀態圖中的基本概念
狀態: 用圓角矩形表示. 狀態名稱表示狀態的名字, 通常用字串表示. 一個狀態的名稱在狀態圖所在的上下文中應該是唯一的.
轉換: 用帶箭頭的直線表示. 一端連著源狀態, 一端連著目標狀態.
初始狀態: 每個狀態圖都有一個初始狀態. 此狀態代表狀態圖的起始位置. 初始狀態只能作為轉換的源, 不能作為轉換的目標, 並且在狀態圖中只能有一個. 初始狀態用一個實心圓表示.
終止狀態: 模型元素的最後狀態, 是一個狀態圖的終止點. 終止狀態在一個狀態圖中可以有多個.
協作圖
協作圖(也叫合作圖)是一種互動圖.
時序圖主要側重於物件間訊息傳遞在時間上的先後關係, 而協作圖表達物件間的互動過程及物件間的關聯關係