活動圖概述node
•活動圖和交互圖是UML中對系統動態方面建模的兩種主要形式併發
•交互圖強調的是對象到對象的控制流,而活動圖則強調的是從活動到活動的控制流工具
•活動圖是一種表述過程基理、業務過程以及工做流的技術。它能夠用來對業務過程、工做流建模,也能夠對用例實現甚至是程序實現來建模spa
•UML 2.0而言,去除了「活動圖是狀態圖的一種特例」這一規定3d
【用途】活動圖是UML用於對系統的動態行爲建模的另外一種經常使用工具,它描述活動的順序,展示從一個活動到另外一個活動的控制流。活動圖在本質上是一種流程圖。活動圖着重表現從一個活動到另外一個活動的控制流,是內部處理驅動的流程。對象
1、活動圖的組成元素 Activity Diagram Elementblog
一、活動狀態圖(Activity)——活動狀態用於表達狀態機中的非原子的運行事件
活動狀態圖特色以下:事務
(1)、活動狀態能夠分解成其餘子活動或者動做狀態。ci
(2)、活動狀態的內部活動能夠用另外一個活動圖來表示。
(3)、和動做狀態不一樣,活動狀態能夠有入口動做和出口動做,也能夠有內部轉移。
(4)、動做狀態是活動狀態的一個特例,若是某個活動狀態只包括一個動做,那麼它就是一個動做狀態。
UML中活動狀態和動做狀態的圖標相同,可是活動狀態能夠在圖標中給出入口動做和出口動做等信息。
【圖形】平滑的圓角矩形
二、動做狀態(Actions)—— 動做狀態是指原子的,不可中斷的動做,並在此動做完成後經過完成轉換轉向另外一個狀態。
動做狀態有以下特色:
(1)、動做狀態是原子的,它是構造活動圖的最小單位。
(2)、動做狀態是不可中斷的。
(3)、動做狀態是瞬時的行爲。
(4)、動做狀態能夠有入轉換,入轉換既能夠是動做流,也能夠是對象流。動做狀態至少有一條出轉換,這條轉換之內部的完成爲起點,與外部事件無關。
(5)、動做狀態與狀態圖中的狀態不一樣,它不能有入口動做和出口動做,更不能有內部轉移。
(6)、在一張活動圖中,動做狀態容許多處出現。
【圖形】平滑的圓角矩形
三、動做狀態約束(Action Constraints)——動做狀態約束:用來約束動做狀態。
【圖形】以下圖展現了動做狀態的前置條件和後置條件
四、動做流(Control Flow)——動做之間的轉換稱之爲動做流活動圖的轉換
【圖形】用帶箭頭的直線表示,箭頭的方向指向轉入的方向。
5、開始節點(Initial Node)——活動開始節點
【圖形】實心黑色圓點
6、終止節點(Final Node)——分爲活動終止節點(activity final nodes)和流程終止節點(flow final nodes)
(1)、活動終止節點表示整個活動的結束
【圖形】圓圈+內部實心黑色圓點
(2)、而流程終止節點表示是子流程的結束。
【圖形】圓圈+內部十字叉
7、對象(Objects)
【圖形】矩形方框
8、數據存儲對象(DataStore) ——使用關鍵字«datastore»
【圖形】矩形方框,內含關鍵字
9、對象流(Object Flows)——對象流是動做狀態或者活動狀態與對象之間的依賴關係,表示動做使用對象或動做對對象的影響。
用活動圖描述某個對象時,能夠把涉及到的對象放置在活動圖中並用一個依賴將其鏈接到進行建立、修改和撤銷的動做狀態或者活動狀態上,對象的這種使用方法就構成了對象流。
對象流中的對象有如下特色:
(1)、一個對象能夠由多個動做操做。
(2)、一個動做輸出的對象能夠做爲另外一個動做輸入的對象。
(3)、在活動圖中,同一個對象能夠屢次出現,它的每一次出現表面該對象正處於對象生存期的不一樣時間點。
【圖形】用帶有箭頭的虛線表示。若是箭頭是從動做狀態出發指向對象,則表示動做對對象施加了必定的影響。施加的影響包括建立、修改和撤銷等。若是箭頭從對象指向動做狀態,則表示該動做使用對象流所指向的對象。
狀態圖中的對象用矩形表示,矩形內是該對象的名稱,名稱下的方括號代表對象此時的狀態。
10、分支與合併(Decision and Merge Nodes)——選擇分支
【圖形】分支與合併用菱形表示,它有一個進入轉換(箭頭從外指向分支符號),一個或多個離開轉換(箭頭從分支符號指向外)。而每一個離開轉換上都會有一個監護條件,用來表示知足什麼條件的時候執行該轉換。
11、分叉與匯合(Fork and Join Nodes)——分叉用於將動做流分爲兩個或多個併發運行的分支,而匯合則用於同步這些併發分支,以達到共同完成一項事務的目的。
對象在運行時可能會存在兩個或多個併發運行的控制流,爲了對併發的控制流建模,UML中引入了分叉與匯合的概念。
【圖形】分爲水平風向和垂直方向。
12、時間信號
13、發送信號
1四、接收信號
14、泳道(Partition)——泳道將活動圖中的活動劃分爲若干組,並把每一組指定給負責這組活動的業務組織,即對象。
在活動圖中,泳道區分了負責活動的對象,它明確地表示了哪些活動是由哪些對象進行的。在包含泳道的活動圖中,每一個活動只能明確地屬於一個泳道。
泳道是用垂直實線繪出,垂直線分隔的區域就是泳道。在泳道的上方能夠給出泳道的名字或對象的名字,該對象負責泳道內的所有活動。泳道沒有順序,不一樣泳道中的活動既能夠順序進行也能夠併發進行,動做流和對象流容許穿越分隔線。
例1.購物用例圖
一、 泳道分爲:會員泳道和系統泳道。會員選擇商品並加入購物車,系統完成訂單生成及其支付完畢。
二、 開始節點:會員添加商品到購物車,點擊【訂單確認】,開始交於系統處理訂單流程
三、 結束節點:商品發送完畢和付款成功,訂單處理流程結束
四、 活動狀態:產生訂單、Check Credit Cart覈對信用卡、Check Stock 覈對庫存量、Deliver Goods 發送商品、Process Credit Cart付款
五、 分叉與匯合:【產生訂單】份叉爲檢查庫存量和會員支付金額是否足夠,若是不足,取消訂單,如過庫存量和支付金額足夠,發送商品和付款,最後匯合爲訂單完成。
例2. 帶有發送信號與接收信號的活動圖
例3.帶對象流的活動圖
例4.輔助活動圖