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