標籤:

時序圖 活動圖 狀態圖 協作圖

時序圖

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

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

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

ATM 用戶成功登陸的時序圖

時序圖中的基本概念

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

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

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

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

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

練習:孫中山的……

活動圖

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

活動圖中的基本概念

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

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

狀態圖

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

狀態圖中的基本概念

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

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

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

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

協作圖

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

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


推薦閱讀:

突然不想努力了怎麼辦?認真看完幫你找回好狀態

TAG:狀態 |