編輯導語:邏輯圖是用圖標符號、説明文字以及連接線等,形象化地表達複數要素之間的相互作用關係。作者在前幾篇文章中介紹了關於邏輯圖的三元素中的“要素”和“邏輯”,本篇文章作者繼續介紹“模型”,我們一起來看一下。
前面已經介紹了邏輯圖三元素中的“要素”和“邏輯”表達方式,最後一篇三元素的之三“模型”的表達方式。最後就是如何將要素、邏輯整合為一張具有説服力的“邏輯圖”。通常在選擇用什麼形式的圖形來表達研究對象時,往往會首選大家比較熟悉的圖形,這個圖的形式和表達的意圖存在着約定俗成的關聯,已經獲得了大家的認同,這個圖形就是模型。
有了要素、邏輯之後,為什麼還有特別地説明模型呢?因為模型選擇的正確與否會產生不同的結果
(1)模型選取的合適則觀者首先通過模型的外觀就知道作者要表達什麼意圖、觀者會按照模型的定義去確認作者的內容,比如:但觀者看到的是“流程模型”,就知道作者展示達成某個目標的工作過程,他會沿着流程的起點研究工作的每個步驟。又如:如果觀者看到的是“魚骨圖”,就知道作者要做一個歸集的分析,給出因果關係的結論。
(2)模型選取的有誤當要素和邏輯表達都很準確時,如果把要素和邏輯整合在一起的載體選的不合適,則最終傳遞的意圖還是會打折扣、或是將作者的意圖表達錯了。比如:當你要表達一個確定的工作目標、以及達成該目標工作步驟的前後順序時,就應該首選“流程圖”,如果你選擇的不是“流程圖”而是“思維導圖”的話就可能圖不達意了,因為用思維導圖是表達可能哪些相關工作,而不是給出確定的工作前後順序。
模型主要分為兩大類型,即:分析模型、架構模型。
01 分析模型分析模型,是建立分析要素與推測結果之間的關聯關係。
這裏推薦的5種分析模型可以分為兩類,第一類是在業內具有較高的認知度和使用頻率、第二類是基於作者的實踐經驗設計而成,參見圖1。
分析模型有如下的特點:
圖1 分析模型一覽
- 魚骨圖:由日本的石川馨先生所發明,故又名石川圖,也可稱之為因果圖。
- 思維導圖:由英國的東尼博贊先生(Tony Buzan)所提倡。
- 排比圖:④和⑤由作者整理、設計。
1)①關聯圖分析對象所包含的要素未必都具有可以結構化的特徵,現實中有很多業務場景是非常複雜、耦合度高、難以拆分的,因此,模型①的引入主要是為了解決這類問題。關聯圖看似簡單,實際是為理解和表現最複雜對象場景而引入的。
2)魚骨圖②與思維導圖③它們不但具較強的方向性,而且還可以自由、發散地收集相關的要素,並在使用中可以邊拓展、邊收集,在收集要素的過程中就完成了對要素的梳理。
3)排比圖④⑤:具有一定的結構化形式的模型,這樣的模型易於給出分析成果的規律性、收斂方向等,在調研、分析的現場就有很好的實用性,可以比較容易地建立起分析結果與業務架構(流程圖)之間的對應關係,加快分析與設計的速度。它是“分析模型”與“架構模型”之間的橋樑。
02 架構模型架構模型,是表達符合業務邏輯關係的要素結構圖。
1) 對模型的描述這裏推薦的5種架構模型可以分為兩類,第一類是在業內具有較高的認知度和使用頻率、第二類是基於作者的實踐經驗設計而成,參見圖2。架構模型有如下的特點:
圖2 架構模型一覽
1) 拓撲圖①為了開拓讀者的思路,這裏導入一款具有可以響應擴展、靈活部署的架構模型,主要用來做最粗的規劃設計,它不但可以用在一般的業務架構,也可以為未來參與軟件設計做一些實用知識的鋪墊。
2) 分層圖②和框架圖③用於複雜對象的第1級、第2級劃分,起到了從粗粒度的規劃→細粒度的設計的過渡作用,屬於架構圖中做概要層次描述的表達方法。
3) 分解圖④和流程圖⑤這兩個模型是採用結構化架構方法的核心,它們的作用是承接中粒度架構結果並向下做進一步的細分,屬於架構圖中做詳細層次描述的表達方法。
03 兩種模型的區別分析模型與架構類模型有什麼區別呢?構成分析模型中的要素不一定有明確的、精準的邏輯關係,由於這個階段要素之間的因果關係不清晰,此時無法使用精準的邏輯表達。
分析類模型可以解決梳理、歸集要素並給出分析結果的工作,但是分析模型不能直接用來做分析結果的解決方案,因為無法精準地表達邏輯關係,所以必須將分析得到的要素(業務、管理)融入到“業務架構(如:業務流程)”中,才能夠發揮出作用。
分析模型與架構模型的目的不同,它們之間的區別,從圖3的(a)、(b)兩張圖的對比可以看出,將實際的業務內容(要素)加入到模型中,觀察圖形的變化,
圖3 分析模型與架構模型的區別
1)圖(a)魚骨圖-成本超標問題 (分析模型)分析(a)給出的分析課題是研究成本超標問題,可以看出魚骨圖上呈現的分析要素都是 “意見、想法、現象、建議等”內容,它們是在調研中客户使用的語言,而不是通常設計中使用的業務設計用語,所以,“魚骨圖”+“非業務設計用語(客户用語)”,是不能用來表達解決方案中的“業務處理、管理控制等”內容的。
2)圖b.流程圖-業務流程圖(架構模型)再看架構圖(b)的內容,採用的都是業務設計用語(業務屬性),圖形是嚴謹的、結構化,清晰地給出了目標、方向、流程、步驟等信息,也就是説,圖(b)模仿的是真實的業務形態,所以也必須使用真實的業務設計用語(要素),流程上所有的節點之間必須用合理的邏輯相關聯,這樣的架構圖才能夠用來做業務的解決方案。
分析模型可以表現分析成果、需要的功能等,但不一定能夠表現出嚴謹的邏輯關係、可以執行的解決方案,所以分析與架構各自關注的是不同階段的工作和結果,因此分析模型是不能夠替代架構模型做架構圖的。
雖然分析工作與架構工作的目的都是用要素來構成一張圖,但作圖的方法也是有別的:□分析:是用“歸集要素”的方法做圖,歸集後要素的承載結構是分析模型;□架構:是用“組合要素”的方法做圖,組合後要素的承載結構是架構模型;
擴展説明:“模型”與“圖”的區別“模型”也是圖,稱之為“模型”的圖揭示了某種事物對象的規律,這個規律具有一定的普遍性,所以模型可作為具有類似規律研究對象的參考。
一般稱之為“xx圖”的圖形,只是表明對“xx”用圖形來表達其含義,不強調它是否是一個具有代表性的“模型”。以生產流程圖為例看兩者的區分:
圖4 生產流程圖
- 流程模型:給出了有規律性連續活動之間的關係表達圖形(與業務領域無關);
- 生產流程圖:給出了用圖形表達的“生產”過程、節點關係(與業務領域有關)
當然,如果這個生產行為在生產領域具有一定的代表性,則這個“生產流程圖”也可以稱為“生產流程模型”。
04 邏輯圖繪製方法的總結到此,就完成了對邏輯圖三元素的説明。不論描繪什麼內容的邏輯圖,都包含有這三種元素:要素、邏輯和模型,熟練度掌握了這三種元素的定義、用法,幾乎沒有不能表達的對象、事物。
你需要理解一張內容較多、業務比較複雜的、同時也不太熟悉的邏輯圖時,一定要從這三個元素入手,就可以快速的理解:
1)判斷模型的分類:知道了模型,就大概知道了作者要表達對象的哪個層面、維度的邏輯,如:
- 框架圖 → 表達研究對象的範圍、區分、模塊的邊界等關係;
- 流程圖 → 表達研究對象的行為過程的起點、節點數、順序、終點等;
2)判斷要素的合理性:要素表達的粒度/層級、內容劃分的耦合性等是否符合要求;
3)判斷邏輯的正確性:根據業務知識、軟件設計要求等,檢查邏輯表達的方式是否正確;
作為一種能力,不論你從事軟件工程上的哪個崗位(諮詢、需求、架構、開發、測試、實施等),邏輯思維、邏輯推理、邏輯表達等有關邏輯的能力都是必須的。這種能力是做好任何業務領域軟件(ERP、電商平台、物聯網等)的基礎。
能夠用邏輯圖完美、精準地表達、傳遞意圖,是你展示自己才能的一個重要方式,同時也是其他人評估你能力的一個重要參考。
本系列博文到此結束,謝謝收看!
作者:李鴻君;《大話軟件工程—需求分析與軟件設計》一書作者。
本文由 @李鴻君 原創發佈於人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基於 CC0 協議