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