《软件架构设计》学习笔记--6--6大步骤2:领域建模
分析的還有一種重要產(chǎn)品是領(lǐng)域模型,其目標(biāo)是使負(fù)責(zé)該系統(tǒng)基本行為的全部核心類可視。 ——Grady Booch,《面向?qū)ο箜?xiàng)目的解決方式》
本篇記錄6大步驟中的第二步:領(lǐng)域建模。
包含例如以下內(nèi)容:
- 什么是領(lǐng)域模型?
- 領(lǐng)域模型的價(jià)值和意義所在
1、什么是領(lǐng)域模型
“是什么”
領(lǐng)域模型,就是將領(lǐng)域概念(即這個(gè)領(lǐng)域內(nèi)的行話)以可視化的方式抽象成一個(gè)或一套模型。
領(lǐng)域模型比《領(lǐng)域詞匯表》更進(jìn)一步,它不僅關(guān)注重要的領(lǐng)域概念,并且它還刻畫這些概念之間的關(guān)系。
“什么樣”
就UML而言,領(lǐng)域模型最常採(cǎi)用以下兩種圖表示:
- 類圖
- 狀態(tài)圖
“為什么”
領(lǐng)域建模是公認(rèn)的促使OO項(xiàng)目成功的最佳實(shí)踐之中的一個(gè)。
2、領(lǐng)域模型的價(jià)值
領(lǐng)域模型在軟件開(kāi)發(fā)中的作用,如上圖所看到的。那么。它的意義又在哪里呢?
領(lǐng)域建模是探索問(wèn)題領(lǐng)域的工具,可以幫助我們探索和提煉問(wèn)題領(lǐng)域知識(shí)。
2.1對(duì)于需求人員
對(duì)于需求人員,領(lǐng)域建模可以幫助他們促進(jìn)用戶溝通。解決分析癱瘓。
需求分析階段,常會(huì)遇到兩個(gè)困難,
- 第一個(gè)困難,用戶的參與不夠。造成需求分析成果中如果的成分太多。
“參與不夠”,表現(xiàn)為用戶參與不夠多,用戶參與不夠深入。 - 第二個(gè)困難,問(wèn)題領(lǐng)域太復(fù)雜時(shí),需求分析的開(kāi)展會(huì)遇到困難。
2.2對(duì)于開(kāi)發(fā)者
對(duì)于開(kāi)發(fā)者。領(lǐng)域建模可以破解“領(lǐng)域知識(shí)不足”的死結(jié)。
破解“領(lǐng)域知識(shí)不足”的死結(jié)的關(guān)鍵是要“理順概念關(guān)系,搞清業(yè)務(wù)規(guī)則”。
這恰是領(lǐng)域模型的強(qiáng)項(xiàng)——通過(guò)對(duì)復(fù)雜的領(lǐng)域進(jìn)行概念抽象和關(guān)系抽象從而建立模型。獲得對(duì)領(lǐng)域知識(shí)整體上的把握,就不會(huì)掉入雜亂無(wú)章的概念堆里。
2.3可擴(kuò)展性
領(lǐng)域建模的輸入和輸出例如以下圖所看到的:
從圖中可以看到。領(lǐng)域模型的驅(qū)動(dòng)因素是功能,反過(guò)來(lái),領(lǐng)域模型的質(zhì)量高低可以決定軟件的可擴(kuò)展性。可以說(shuō),“功能決定怎樣建模,模型決定功能擴(kuò)展”。
功能是領(lǐng)域建模的核心驅(qū)動(dòng)力,也是領(lǐng)域模型評(píng)審和改進(jìn)的驅(qū)動(dòng)力。
總結(jié)
以上是生活随笔為你收集整理的《软件架构设计》学习笔记--6--6大步骤2:领域建模的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ELK实时日志分析平台的搭建部署及使用
- 下一篇: 再谈Docker,微服务的场景化应用