為人父母始知天下事---“寶寶哭了”的問題來說說什么是分析,什么是設計


引子:

今晚跟朋友討論DDD(領域驅動設計),說到如何分析業務、設計方案的事情,大家對於分析與設計的關系有點搞不清,DDD到底是分析,還是設計,談了很久的DDD,還是搞不清楚該怎么分析,怎么設計。我覺得在設計之前一定要搞清楚前一個問題,即什么是分析,什么是設計。

“業務分析”之寶寶哭了:

以領域的思維來分析問題,以分析的結果來驅動設計

----這是我理解的DDD(領域驅動設計)。

比如,嬰兒哭了,這個是問題,客戶拿着這個問題,來請你分析。

 

角色領域視角分析:

  

角色 領域視角 分析 設計
媽媽 育兒領域

 

如果你是有經驗的媽媽(育兒領域專家),根據寶寶的哭聲洪亮 ,吸吮手指,你的分析是寶寶可能餓了。

 

於是你腦袋里面開始設計:喂奶?喂奶粉?米粉?。。。。 最終,你決定直接母乳。 在你最終采取行動之前的過程,是設計的過程,設計一種喂養方案。

爸爸 育兒領域

如果你是嬰兒的爸爸(嬰兒問題的另一種領域專家),你開始分析:是不是生氣了?沒有陪他玩?。。。。

 

 

 

於是你開始設計:我該用哪種玩具來哄他玩?小鈴鐺?風車?變形金剛?。。。。 最后,你拿了一個風車過來。

兒科醫生 醫學領域

 

如果你是醫生(嬰兒問題的另一個領域專家了),你開始分析:這孩子是不是消化不良?或者其它疾病?

先去做個檢查 ,根據檢查結果再進一步分析確診。 

 

於是你開始設計嬰兒的檢查方案:查體溫、超聲波檢查、核磁。。。。。 最終你決定,查查體溫即可。這就是你對嬰兒哭鬧問題的設計方案。

 

 

領域分析的缺陷:

由上面的例子可見,我們對同樣一個問題,以不同領域專家的視覺,會得到不同的分析結果

到底哪種分析是正確的?

這,就是領域事先不能評判的。所以這是領域分析的短板。

但是將問題放到歷史的時間軸去觀察,我們很快就能夠發現哪種領域分析是最可靠的,同時結合場景,就能夠做出正確的判斷。

場景角色分析法:

比如,在睡覺的場景,嬰兒突然哭鬧,那找媽媽這個領域專家即可解決,孩子可能做噩夢了,媽媽抱抱即可;

在玩耍場景,嬰兒突然哭鬧,那找爸爸這個領域專家即可解決。

而結合歷史情況,嬰兒有愛哭鬧的習慣,嬰兒身體體質不好....

那么同一個場景下可能又該使用不同的領域視覺去分析解決問題。而從分利用這個分析方式,就能夠設計出滿意的解決方案:

業務分析三維度理論:

所以,離開場景談領域,離開時間談領域,都是不合適的,領域都沒有找對,那么分析就算是有道理,但也無助於解決問題。 而具體會采用哪種領域視角,又跟場景中的角色有關。 不同的角色總有不同的領域思維。

因此我們發現,僅僅依靠領域的思維來分析解決問題,有很大的局限性。

所以我們可以總結出,采用 場景+角色+時間 這三個緯度的問題分析方式,才是最合適的方式。

這就是《業務分析三維度(場景+角色+時間)理論》

 

 

注:本文的圖片均來自網絡,如果侵權請和我聯系。

     本文理論屬於原創,歡迎轉載,轉載請注明出處。

相關鏈接:

春節前最后一篇,CRUD碼農專用福利:PDF.NET之SOD Version 5.1.0 開源發布(兼更名)

 

 


免責聲明!

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



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