PowerDesigner16 活動圖
阿新 • • 發佈:2017-10-19
指定 觸發 mage 動作 nbsp 特點 state 出現 線程
活動是某件事情正在進行的狀態。活動在狀態機中表現為一個由一系列動作組成 的非原子的執行過程。
活動圖是一種描述系統行為的圖,它用於展現 參與行為的實體所進行的各種活動的順序關系。活動圖(Activity diagram)是UML用於對 系統的動態行為建模的另一種常用工具,它描 述活動的順序,展現從一個活動到另一個活動 的控制流。活動圖在本質上是一種流程圖。
一:活動圖的組成元素
(1) 動作狀態 (Action State)
- 動作狀態是指執行原子的、不可中斷的 動作,並在此動作完成後通過完成轉換 轉向另一個狀態的狀態。
-
動作狀態使用平滑的圓角矩形表示,動 作狀態所表示的動作寫在圓角矩形內部。
- 動作狀態的特點:
- 動作狀態是原子的,它是構造活動圖的最小單位,已經 無法分解為更小的部分。
- 動作狀態是不可中斷的狀態,它一旦開始運行就不能中 斷,一直運行到結束。
- 動作狀態是瞬時的行為,它所占用的處理事件極短,有 時甚至可以忽略。
- 動作狀態可以有入轉換,入轉換既可以是動作流,也可 以是對象流。動作狀態至少有一條出轉換,這條轉換以 內部動作的完成為起點,與外部事件無關。
- 動作狀態和狀態圖中的狀態不同,它不能有入口動作和 出口動作,更不能有內部轉移。
- 在一張活動圖中,動作狀態允許多處出現。
(2)活動狀態(Activity State)
- 活動狀態用於表達狀態機中的一個非原 子的運行。
- 活動狀態的表示圖標也是平滑的圓角矩 形,並可以在圖標中給出入口動作和出 口動作等信息。
- 點擊建立,雙擊圖標,設置屬性如圖:
- 活動狀態的特點:
- 活動狀態可以分解成其他子活動或動作狀態, 由於它是一組不可中斷的動作或操作的組合, 所以可以被中斷。
- 活動狀態的內部活動可以用另一個活動圖來表示。
- 和動作狀態不同,活動狀態可以有入口動作和 出口動作,也可以有內部轉移。
- 動作狀態是活動狀態的一個特例,如果某個活 動狀態只包括一個動作,那麽它就是一個動作 狀態。
(3)動作流(Action Flow)
- 所有動作狀態之間的轉換 流稱之為動作流。
- 與狀態圖的轉換相同,活 動圖的轉換也用帶箭頭的 直線表示,箭頭的方向指 向轉入的方向。
(4)分支(Branch)與合並(Merge)
- 分支一般用於表示對象類所具有的條件行為。
- 條件行為用分支和合並表達。
- 在活動圖中分支與合並用空心小菱形表示。
- 一個分支有一個入轉換和兩個帶條件的出轉 換,出轉換的條件應當是互斥的,這樣可以 保證只有一條出轉換能夠被觸發。
- 一個合並有兩個帶條件的入轉換和一個出轉 換,合並表示從對應的分支開始的條件行為 的結束。
- 圖標
圖例1:
圖例2:
(5)分叉(Fork)與匯合(Join)
- 分叉用於將動作流分為兩個或者多個並發運行的分 支,而匯合則用於同步這些並發分支,以達到共同 完成一項事務的目的。
- 分叉可以用來描述並發線程,每個分叉可以有一個 輸入轉換和兩個或多個輸出轉換,每個轉換都可以 是獨立的控制流。
- 匯合代表兩個或多個並發控制流同步發生,當所有 的控制流都達到匯合點後,控制才能繼續往下進行。 每個匯合可以有兩個或多個輸入轉換和一個輸出轉 換。
- 分叉和匯合都使用加粗的水平線段表示。
- 分叉與匯合用於顯示平行分支流,使您 能夠顯示業務用例的工作流程中的並行 線程。
- 警戒條件用於說明一組並行線程中的某 個線程是有條件的。例如,在上面的"個 人登記"示例中,進行登記的乘客可能是 頻繁乘機旅行的顧客。在此情況下,您 需要給他獎勵一些飛行裏程數。
(6)甬道(Swimlane)
沒有甬道的活動圖:
- 甬道將活動圖中的活動化分為若幹組,並把每一組 指定給負責這組活動的業務組織即對象。
- 甬道區分了負責活動的對象,明確地表示了哪些活 動是由哪些對象進行的。
- 每個活動只能明確地屬於一個甬道。
- 甬道用垂直實線繪出,垂直線分隔的區域就是甬道。 在甬道上方可以給出甬道的名字或對象(對象類) 的名字,該對象(對象類)負責甬道內的全部活動。
- 甬道沒有順序,不同甬道中的活動既可以順序進行 也可以並發進行,動作流和對象流允許穿越分隔線。
一個有通道的活動圖:
(7) 對象流(Object Flow)
PowerDesigner16 活動圖