活動圖
一、結構建模與行為建模
結構建模表達的是靜態內容,用於闡明事物內容及事物間的關系
行為建模表達的是動態內容,用於闡明相關流程
二、活動圖基礎
Ⅰ. 基礎語法
Ⅱ. 判斷的三種處理方式
-
在判斷菱形旁邊寫下判斷的句子。
-
在不需要寫下判斷的內容,直接通過監護來表示這個判斷
-
在判斷菱形前增加一個活動,表明判斷的動作,而判斷菱形不需要寫下判斷的句子。
Ⅲ. 泳道/分區
我們可以通過活動圖中的活動發起者來使用泳道(Lane),泳道也叫分區(Partition)
泳道的使用如圖下:
Ⅳ. 泳道的使用規范
-
在泳道中表明活動的發起者,然后將該發起者發起的活動全部畫進該泳道中
-
泳道可以是橫的,也可以是豎的;開始狀態、結束狀態畫在哪都可以
-
判斷合並也可以畫在任意泳道,但是如果判斷是由某種角色負責的,則應該將這個判斷的工作抽離為一個活動,將這個活動畫在適合的泳道上。
三、活動圖進階
Ⅰ. 並行的活動
注意:有“分叉”必須有“匯合”,“分叉”與“匯合”必須成對出現。
示例:會簽評審
-
文檔作者編寫文檔后需發給高層評審
-
各角色收到郵件后分別對文檔提出意見
-
當所有角色都同意文檔時,才認為評審通過
-
哪怕只有一個角色不同意,則認為評審未通過,作者需要修改文檔再次發起評審。
Ⅱ. 對象流(Object Flow)
和“輸入”、“輸出”相連的箭頭叫對象流(Object Flow)
而活動與活動之間的箭頭叫控制流(Control Flow)
示例
我們說:工作產品1、2是活動A的輸入,活動B輸出工作產品3、4、5,其中工作產品5是活動C的輸入
Ⅲ. 連接件(Connector)
左邊的符號是箭頭指向A,表示活動圖到這里要轉到另外一張圖。
右邊的符號由A開始指向一個箭頭,這表示從這個A符號開始繼續這個活動圖。
四、活動的粒度
Ⅰ. 活動(Activity)與動作(Action)
活動與動作在外觀上沒有什么大差異,但是它們表示的意思不一樣:
- 活動:表示流程中的一個步驟,活動可大可小,可進一步分解為子活動,最后可以分解為多個動作
- 動作:也表示流程中的一個步驟,但不可細分。
Ⅱ. 活動的粒度問題
-
想清楚本活動圖要表達什么內容,表達的重點是什么。
-
根據第一點來確定合適的活動圖粒度。
-
可先用比較大粒度的活動,達到搞清楚流程的總體情況
-
流程大體情況明確后,可逐步細化活動的粒度。
-
需要重點說明的部分,活動的粒度應該足夠細,能說明問題。
五、用活動圖表達復雜流程
- 明確該流程要達到怎樣的業務目的。
- 給流程說明有那些角色參與?那些是主要角色?
- 排除異常情況,畫出正常情況下的流程,這就是流程的主干,通常是線性的流程。
- 明確流程主干中的活動設計到的角色。
- 逐步增加分支流程,關鍵的分支流程應該表達出來,但要注意並不需要畫出所有的異常情況,必須時通過注釋或文字說明
- 適當控制活動的粒度
- 先畫出反應當前情況的流程,再畫出優化后的流程。
- 對照前后差異,整理處業務需要調整的地方,客戶管理需要改善的地方,盡快與客戶確認。