一、流程圖種類
業務流程圖是軟件開發人員經常製作的。畫法有多種,從VISIO的Stencil(模具)中你也可以發現以下3種:
》混合流程圖(Flow Chart)
》數據流圖(DFD,Data Flow Diagram)
》跨職能流程圖
二、如何選擇
1、流程描述中有一些共性元素:
》角色(Role)/參與者(Actor),注意,有時需要加上System, Timer 或 DB
》流程/處理(Process)
》流向(Flow)
》數據(Data) / 文檔(Document)
2、構成元素的差異
下面先用一張表來比較一下上述3種圖構成元素的差異
圖類型 | 角色Role | 處理Process | 流向Flow | 數據Data |
FlowChart | Y | Y | ||
DFD | Y | Y | Y | |
跨職能流程圖 | Y | Y | Y |
3、比較
流程圖(FlowChart)的優點是突出‘Process’及相互間的次序關係;但它的弱點在於:
A)未識別參考者。當參與者較多時,難以區分清楚,導致理解困難。
B)對何對象進行操作,來、去不明。
這2個弱點常常導致業務人員難以理解、開發人員理解偏差。
數據流圖(DFD)克服了上述弱點B。從名稱上雖然是以‘數據’爲核心,事實上是同時展現了數據與處理。通常情況下要比FlowChart清晰。
跨職能流程圖則克服了上述弱點A。它有了明確的角色劃分(以帶狀來劃定規範)。是不是覺得象泳道(Swimming Lane)?沒錯,UML中的一個術語。這樣,你就很容易明白它將比較容易地轉化爲時序圖了。
有一點需要注意,如果你不能很好地掌握‘自頂向下、逐步細化’的原則,使用後2種方法很容易讓你走火入魔。當你將大量內容擠在一頁中,排版技巧又不是很高時,看上去會非常混亂。當你大力抨擊後2種方法時,想想我剛纔的話吧。
三、我的選擇與Sample
那麼,如果同時補充了‘角色劃分’與‘數據對象’,是不是會更好呢?
Yes,我個人比較推崇的正是以‘跨職能流程圖’爲基礎,適當輔助DFD圖的技巧。— 或許,這可以稱爲‘跨職能數據流圖’。
PS:這面這個圖是個Sample;由於一些現實業務情況的制約,做出來也沒什麼大價值:(
===== by 鬼谷子@魔教,更多內容在 http://DavyYew.BlogBus.com ======