如何繪制邏輯圖——要素的屬性:黑盒與白盒(4)
編輯導語:我們在日常工作中,特別是交流的時候,邏輯是其中重要的一點。很多時候我們都需要邏輯圖來說明自己的用意,邏輯圖可以幫助我們表達的更加流暢和清晰。上一篇文章中作者給大家介紹了描述要素大小的屬性(粒度與分層),本篇作者繼續分享說明描述要素狀態的屬性,希望能夠給你帶來一定的啟發。
看到了“黑盒/白盒”,可能認為在討論軟件的測試工作?錯了,在分析方法中借用了軟件測試的黑/白盒概念,利用這個概念可以對理解邏輯圖中要素的表達方式起著很好的幫助作用。當然,這個概念不僅僅對繪制邏輯圖有用,它對訓練分析師的思維能力、觀察能力和敘述能力也都有著非常好的效果。
屬性2:黑盒與白盒,是對要素所處狀態的描述。
一、黑/白盒的概念
黑盒、白盒是對要素兩個相反狀態的描述。
前面講過,要素是可以再拆分的,當討論的對象由復數的要素構成時,注意討論要素的粒度要相同,將小粒度的要素暫時隱蔽起來,避免發生因要素的粒度不同而造成討論結果難以收斂的情況,為了便于解釋這個情況,就引入了黑盒/白盒的概念。
1. 黑盒的概念
黑盒:將盒子蓋起來,從外面看不到里面的內容(要素)時的狀態。
原指一個只知道輸入輸出關系而不知道內部結構的系統或設備的狀態。在這里借用了這個概念,意思是指當研究幾個同粒度要素之間的關系時,不需要同時關注其中某個要素的內部細節,此時,就可以將這些“看不到里面細節”的要素稱之為處在“黑盒狀態”(因為盒子是蓋著的,所以看不見盒子里面的內容),參見圖1(a)。
圖1 黑盒/白盒的狀態示意圖
比如,以圖1(a)為例:從企業管理這個對象中拆分出來了財務、銷售、計劃、設計等同粒度的要素(=部門),在討論部門級的問題時不必去關注財務所包含的“收入”和“支出”等小粒度業務細節,此時可以將“財務”看成是一個整體(黑盒),專注于財務與銷售、設計、生產等具有相同粒度要素之間的關系研究。
2. 白盒的概念
白盒:打開盒子,讓盒子里面的內容(要素)的暴露出來時的狀態。
白盒與黑盒的定義相反,比如,見圖1(b):打開財務這個“黑盒”后,里面小粒度的要素就顯示出來了,這時財務就不是處于“黑盒”的狀態,而是處于“白盒”的狀態了,同時財務也就從要素變為了對象,而白盒中的“收入”、“支出”、“預算”等內容又成為了構成財務對象的要素,此時,財務中的諸要素(預算、支出、收入等)之間又可以彼此看成是黑盒狀態了。
圖1(b)中只有財務盒子被打開處于了白盒狀態,其余的銷售、生產等要素仍處于黑盒狀態。
二、黑盒/白盒概念的作用
黑盒與白盒概念在繪制邏輯圖時起著什么作用呢?
在繪制邏輯圖,特別是復雜業務關系的圖形時,要特別注意圖上展示要素要是同等粒度的內容,如果要素粒度不相同,則圖中表達要素間的關系就會變得非常復雜,傳遞的意圖就可能變得混亂。下面舉例說明黑盒/白盒概念在繪制生產流程圖時的應用。
假定一條生產流程上有6個節點,每個節點為一個要素,即:銷售、設計、采購、生產、物流、結算,這6個要素是同一粒度的。本案例重點研究節點“4.生產”分別處于黑盒狀態和白盒狀態時的不同。
圖2 生產流程
研究一:“4.生產=黑盒”的場景
研究節點“4.生產”與它的上游節點1、2、3以及下游節點5、6之間的關系,如圖3所示。
因為要研究“4.生產”與其他上下游節點的關系,所以其他節點也都看作是處于“黑盒”狀態。此時“4.生產”的輸入端和輸出端的關系表達分別是
- 輸入端:上游的1、2、3節點分別向“4.生產”節點提供了①訂單、②圖紙、③計劃;
- 輸出端:“4.生產”節點向下游的5、6節點分別輸出了④合格單、⑤結算單;
圖3 “4.生產”節點處在黑盒的狀態
研究2:“4.生產=白盒”的場景
如果要表達“4.生產”內部的情況,就要將“4.生產”節點看成是“白盒”,將它的內部細節顯示出來,那么上游的輸入(訂單、圖紙、計劃)就要直接與其內部的內容發生關聯,如圖4所示:
圖4 “4.生產”處在白盒的狀態
“4.生產”打開后(=白盒),分別會與輸入內容發生如下關系(不限于此)。
- 訂單:要與“4.生產”節點內的生產流程、設備情況等發生關系;
- 圖紙:要與生產的工藝、工法、質量等發生關系;
- 計劃:要與生產的計劃、交付、材料價格等發生關系;
可以看出,如何將包括“4.生產”在內的各個節點都看成是“黑盒”,那么圖形中要素之間的關系表達就比較簡單,如圖3所示。一旦打開“4.生產”的內部,就會暴露出很多細小的要素,這些細小要素和輸入內容之間的邏輯表達就會變得比較復雜,因此在繪制邏輯圖時就要思考:黑盒狀態是否滿足表達要求?如果夠了,就不要打開“4.生產”。如果必須進行詳細的表達,則就要讓“4.生產”處于白盒狀態。
三、擴展說明
除去繪制邏輯圖,黑盒與白盒的概念在需求分析時也起著非常重要的作用。
為什么當遇到復雜的問題時新手會感到束手無策,而經驗豐富的老手則可以從容地找到解決問題的路徑呢?下面也嘗試用黑/白盒的概念來解釋一下。
1)沒有經驗的新手
在觀察問題時缺乏經驗,他們看到問題(對象、要素)的狀態,既有呈黑盒狀態的、也有呈白盒狀態的,結果會感到問題非常的多、盤根錯節,一團混亂。原因就是新手的眼睛不會“只抓取同粒度的要素去觀察”,而是同時看到了所有不同粒度的問題。
2)有豐富經驗的老手
首先搞清楚粗粒度要素(=黑盒)之間的關系,如果關注某個要素的詳細情況,則可以將其打開成為白盒狀態,再對該白盒內的細節問題進行深入的研究,這樣就避免了黑白盒同在的狀態,大幅度地降低了研究的難度(當然,有經驗但缺方法的老手也會犯與新手一樣的初級錯誤)。
要素的粒度越粗,理解時需要的業務知識就越少。反之,要素的粒度越細需要的業務知識就越多。不同分類的黑盒同時打開,不但造成了大量的細節同時出現,同時需要具有多種多樣的業務知識,而且不同黑盒中的要素之間還可能存在著復雜關聯,這就使得判斷的工作量和難度達到了難以把握的程度。
因此可以說,理解了黑盒/白盒的概念,不但可以幫助軟件工程師正確地繪制邏輯圖、而且還可以幫助提升交流和分析的水平。
#相關閱讀#
本文由 @李鴻君 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自?Unsplash,基于 CC0 協議
文章內容很好,通俗易懂,接下來我就會將這一概念運用到實際場景中去。感謝作者
沒太懂一點:當4呈現黑盒或者白盒狀態時,其他123的粒度有了變化,細分出來一層,這個時候上游123還能算黑盒狀態嗎
不是粒度有變化吧,是上游的接口傳遞的訊息吧
其實類似中臺概念