狀態機圖


狀態機圖

一、概念

Ⅰ. 活動圖、狀態圖的區別:

活動圖將流程分解為一個一個的活動,通過活動的先后順序來展示流程

狀態機圖從某個事物的狀態是如果變化的角度來展示流程。

Ⅱ. 活動圖、狀態機圖圓角邊框的區別

活動圖 狀態機圖
圖例 img img
文字表達 采用主動賓或動賓的表達方式,表示某某做什么事情 一般使用形容詞或名詞,表示某種狀態
框框的形狀 左右兩邊框全部都是弧線 只有四個角是弧線

Ⅲ. 轉換(Transition)

狀態與狀態之間的箭頭叫轉換(Transition),箭頭上的文字說明發生了什么事情導致狀態發生變化。

轉換一般都應該有文字說明,但有例外情況:

  • 不想說明或不好說明轉換的具體原因,只想表達狀態A可以轉換為狀態B,那么可以只畫箭頭,不加說明。
  • 達到該狀態后,流程直接進入結束狀態,這時只需要畫箭頭,不用加說明。

二、進階

Ⅰ. 分支結構

監護(Guard)”,[......],表示某個條件,符合這個條件時走這個分支,這與活動圖的監護類似。

  • 狀態圖表示分支結構的方式就是通過多個轉換來表示的,轉換還可以加上監護,表明執行這個轉換應具備的條件。
  • 如果兩個狀態的后續處理方式都是一樣的,我們就不應該拆分為兩個狀態,更多的狀態可能或帶來更多的分支結構,讓流程更加復雜,如無必要,狀態應該盡量少。

示例:請假申請二級審批

少於等於3天表明經理審批,超過3天還需要部門經理審批。

img

Ⅱ. 常見問題

【問題1】如何克服活動圖的思維習慣?(應用狀態機圖需要記住什么?)

  • 流程是圍繞什么事物開展的?
  • 這個事物有怎樣的狀態?
  • 當一個狀態可以轉換為兩個或以上狀態時,這表示分支結構。

【問題2】活動圖的泳道狀態機圖可以用嗎?

  • 活動圖的每一條泳道,表示當中的活動都是有該泳道所代表的角色發動。
  • 狀態機圖中的圓角框代表的不是活動,而是某個事物的狀態,這個狀態是屬於該事件的,而不是屬於某個角色的,所以泳道在狀態機圖中不適應。

【問題3】活動圖和狀態機圖只能選中其一嗎?

如果流程是圍繞某一事物的狀態展開的,可首選狀態機圖。但不代表使用了其中一種另外一種就無法不能用。實際上跟建議使用兩種圖來分析

兩種圖分析的好處:

  • 你會對兩種圖有更深刻的認識,讓你更加嫻熟地應用這兩種圖。
  • 兩種圖是兩種角度,用兩種角度來分析問題,會有相得益彰的效果,讓你分析問題更加全面透徹。

三、復雜的狀態機圖

Ⅰ. 狀態機圖的實踐建議

  • 流程圍繞某一事物展開時,可考慮使用狀態機圖來分析。
  • 不管用什么圖來分析流程,都必須清楚流程的目的是什么,有什么角色參與,這些角色如何推動流程的發展?
  • 針對該流程的目的,列出流程中存在的問題。
  • 確定流程圍繞說明事物展開,思考該事物在流程不同階段有說明狀態,狀態為什么會發生變化?
  • 嘗試用狀態機圖表達出當前流程的情況。
  • 根據流程的目的和當前存在的問題,思考狀態應該如何調整。適當地增加、減少狀態,引入適當的狀態轉換,可能會簡化問題,達到流程的目標。
  • 用狀態機圖繪制出優化后的流程。

Ⅱ. 實踐

img

img

根據上述描述所創建的缺陷管理狀態機圖

img

圖中任未解決的問題:

  • 項目經理會指派缺陷給某位開發人員修改嗎?
  • 對於某些缺陷,測試人員與開發人員意見不一致時,如何處理?

四、練習

Ⅰ. 增加“草稿”狀態,重新繪制請假申請兩級審批狀態機圖。

img

Ⅱ. 用活動圖表達出缺陷管理流程,並且和狀態機圖做比較,列出你的心得


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM