3分鐘弄懂時序圖、活動圖、狀態(tài)圖、協(xié)作圖的區(qū)別
時序圖用于描述對象之間的傳遞消息的時間順序, 即用例中的行為順序.當執(zhí)行一個用例時, 時序圖中的每條消息對應了一個類操作或者引起轉換的觸發(fā)事件.
在 UML 中, 時序圖表示為一個二維的關系圖, 其中, 縱軸是時間軸, 時間延豎線向下延伸. 橫軸代表在協(xié)作中各個獨立的對象. 當對象存在時, 生命線用一條虛線表示, 消息用從一個對象的生命線到另一個對象的生命線的箭頭表示. 箭頭以時間的順序在圖中上下排列.
ATM 用戶成功登陸的時序圖
時序圖中的基本概念
對象: 時序圖中對象使用矩形表示, 并且對象名稱下有下劃線. 將對象置于時序圖的頂部說明在交互開始時對象就已經(jīng)存在了. 如果對象的位置不在頂部, 表示對象是在交互的過程中被創(chuàng)建的.
生命線: 生命線是一條垂直的虛線. 表示時序圖中的對象在一段生命周期內(nèi)存在. 每個對象底部中心的位置都帶有生命線.
消息: 兩個對象之間的單路通信. 從發(fā)送方指向接收方. 在時序圖中很少使用返回消息.
激活: 時序圖可以描述對象的激活和鈍化. 激活表示該對象被占用以完成某個任務. 鈍化指對象處于空閑狀態(tài), 等待消息. 在 UML 中, 對象激活時將對象的生命線拓寬為矩形來表示的. 矩形稱為計劃條或控制期. 對象就是在激活條的頂部被激活的. 對象在完成自己的工作后被鈍化.
對象的創(chuàng)建和銷毀: 在時序圖中, 對象的默認位置是在圖的頂部. 這說明對象在交互開始之前就已經(jīng)存在了. 如果對象是在交互過程中創(chuàng)建的, 那么就應該將對象放到中間部分. 如果要撤銷一個對象, 在其生命線終止點處放置 “ X” 符號.
練習:孫中山的……
活動圖
在 UML 中, 活動圖本質上就是流程圖. 它用于描述系統(tǒng)的活動, 判定點和分支等.
活動圖中的基本概念
動作狀態(tài): 原子的, 不可中斷的動作, 并在此動作完成之后向另一個動作轉變. 在 UML 中動作狀態(tài)用圓角矩形 表示, 動作狀態(tài)所表示的動作寫在圓角矩形內(nèi)部.
分支與合并: 分支在軟件系統(tǒng)中很常見. 一般用于表示對象類所具有的條件行為. 用一個布爾型表達式的真假來判定動作的流向. 條件行為用分支和合并表達.在活動圖中, 分支用空心小菱形 表示. 分支包括一個入轉換和兩個帶條件的出轉換, 出轉換的條件應該是互斥的, 須保證只有一條出轉換能夠被觸發(fā). 合并包含兩個帶條件的入轉換和一個出轉換.
狀態(tài)圖: 通過建立對象的生存周期模型來描述對象隨時間變化的動態(tài)行為.
狀態(tài)圖中的基本概念
狀態(tài): 用圓角矩形表示. 狀態(tài)名稱表示狀態(tài)的名字, 通常用字符串表示. 一個狀態(tài)的名稱在狀態(tài)圖所在的上下文中應該是唯一的.
轉換: 用帶箭頭的直線表示. 一端連著源狀態(tài), 一端連著目標狀態(tài).
初始狀態(tài): 每個狀態(tài)圖都有一個初始狀態(tài). 此狀態(tài)代表狀態(tài)圖的起始位置. 初始狀態(tài)只能作為轉換的源, 不能作為轉換的目標, 并且在狀態(tài)圖中只能有一個. 初始狀態(tài)用一個實心圓表示.
終止狀態(tài): 模型元素的最后狀態(tài), 是一個狀態(tài)圖的終止點. 終止狀態(tài)在一個狀態(tài)圖中可以有多個.
協(xié)作圖
協(xié)作圖(也叫合作圖)是一種交互圖.時序圖主要側重于對象間消息傳遞在時間上的先后關系, 而協(xié)作圖表達對象間的交互過程及對象間的關聯(lián)關系
免責聲明:本文系網(wǎng)絡轉載,版權歸原作者所有。如有問題,請聯(lián)系我們,謝謝!
免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!