順序圖
一、概念
Ⅰ. 基本語法
- 角色:角色還可以表示對象,表示格式為:[對象名]:類名
- 聲明線(Lifeline):角色或對象下面的那條虛線
- 激活框(Activation Box):激活框也叫會話,依次會話表示一次交互
- 消息(Message):表示指出角色對被指向角色做了什么事情
- 返回值(Return Value):通常表示為響應消息后反饋某個東西給對方
Ⅱ. 簡單概念
- 任何復雜的交互其實都是可以分解為自己與自己、自己與別人、別人與別人的對各簡單交互。
- 順序圖其實就是以圖形的方式將復雜的交互按時間順序分解。
- 順序圖基本語法很簡單,有角色(對象)、生命線、激活框、消息、返回值。
- 順序圖的讀法是由上到下、由左到右。
二、業務流程
Ⅰ. 點餐順序圖
顧客向服務員點菜后,服務員向廚師下單,初始做好菜后,服務員取菜給顧客。
Ⅱ. 練習
繼續畫出“指示買單”和“付款”者兩個事情背后的故事
Ⅲ. 用順序圖發掘業務流程的建議
- 分析出什么角色參與到這個流程。
- 分析各角色在這流程中擔當的職責、各角色的專業特色。
- 將流程分解為角色與角色之間的交互,想清楚各角色之間的“接口”是怎樣實現的。
- 用順序圖按時間順序將這些“交互”組織起來。
- 在上述過程中,不斷思考業務流程的合理性,是否可以優化和重組?
三、體會順序圖的粒度控制
【練習】請你用順序圖描述出你通過ATM取款的過程,不需要考慮ATM背后的故事,也不需要考慮異常情況
左圖:詳細記錄了每個步驟,幾乎是事物大小全部都記錄下來
右圖:記錄的內容比較簡單和概括
在實際工作中,業務分析要抓住核心問題、重點內容、難點內容,我們希望能真正理解核心業務流程,打通各種理解難點,順序圖要用到刀刃上。
四、順序圖的循環和分支
Ⅰ. frame的使用
- 嵌套層次達到兩層以上時,很難畫出來,就算畫出來也難讀懂。
- 沒有嵌套情況是比較容易畫的,如果有特殊流程可以用注解(Note)說明,或者另外畫一個順序圖來說明,這樣表達其實會更加清晰易懂。
Ⅱ. 循環與分支結構的用法:
- 先用順序圖畫出主要流程,用注解或文字說明特殊流程。
- 如果特殊流程也很重要,那么我會在用一個順序圖來表達。
- 分支很多並且都比較重要時,我會首選活動圖而不是順序圖。
Ⅲ. 【練習】提款機
- 插入卡,輸入密碼。
- 密碼正確,進入下一步菜單。
- 密碼不正確,提示再次輸入密碼。
- 三次輸入不正確,吞卡。
第一種
第二種
五、購買地鐵票——活動圖與順序圖的比較
Ⅰ. 【練習】購買地鐵票
- 你需要先問地鐵服務員到目的站的價錢。
- 你沒有隱蔽,而地鐵售票機只接受硬幣,你需要趙服務員換硬幣。
- 得到硬幣后,你到售票機購買車票。
活動圖
順序圖
Ⅱ. 順序圖和帶泳道的活動圖的業務場景
- 沒有說明特殊流程或需要強盜主干流程時,偏好用順序圖。
- 發唔知比較多,或者需要強調各種特殊情況時,我會使用活動圖。
- 有時候不知道用哪種圖合適時,我會同時使用兩種圖來表達同一個事情,仔細考慮再做取舍。
- 有時候為了從不同角度表達清楚,我會同時用兩種圖表達同一個事情,互為補充。
六、流程分析三劍客
Ⅰ. 順序圖的特點:
- 情調角色之間的交互,信息傳遞很明確。
- 強調按時間順序分別發生了什么事情。
- 不太適合表達復雜的特殊流程(循環分支、條件分支、可選分支).
Ⅱ. 活動圖的特點:
- 強調每個角色做了什么事情,這些事情的先后關系。
- 適合表達各種特殊流程,如分支、並發等。
Ⅲ. 狀態機圖的特點:
- 事情圍繞某東西開展。
- 該東西有不同的狀態,狀態會因為發生了一些二事情而變化。
Ⅳ. 實際工作中如何在活動圖、狀態機圖、順序圖中取舍呢?
- 如果事情是圍繞某個東西開展的,可以考慮用狀態機圖。
- 如果事情不是圍繞某個東西開始的,狀態機圖的能不適合,可考慮用順序圖或者活動圖。
- 如果沒有復制的特殊流程,可考慮順序圖。
- 如果有較復制的特殊流程,可考慮活動圖。
- 不要限制自己只能用一種圖,可同時使用兩種甚至三種圖,從多個角度來分析問題,稍后再適當取舍。
七、通信圖——順序圖的另外一種表示方式
八、練習
【1-1】一級審批,不考錄異常流程 【1-2】多級審批(二級),不考慮異常流程
【1-3】多級審批(二級),考慮異常流程
【3】將“多級審批,不考慮異常流程”轉換為通信圖