- 軟件研發行業創新實戰案例解析
- 茹炳晟主編
- 334字
- 2023-11-17 17:09:56
1.5 軟件復雜度的分類
軟件復雜度的分類如圖1-4所示。

圖1-4 軟件復雜度的分類
最上層是問題域本身的復雜度,也稱為業務復雜度,該復雜度和軟件系統本身無關,在沒有軟件的時候就已經存在了,代表業務本身。
第二層是解決方案的復雜度,指業務問題映射到軟件領域之后的解決方案,描述軟件系統處理業務領域問題的具體方法,領域驅動設計(Domain-Driven Design,DDD)就工作在這一層。
第三層是軟件的復雜度,分為本質復雜度和隨機復雜度。
本質復雜度是軟件必須擁有的,繼承自問題域本身的復雜度,除非縮小問題域的范圍,否則無法消除本質復雜度,本質復雜度是系統復雜度的下限。
隨機復雜度是軟件可以擁有也可以沒有的屬性,由解決方案的實現過程附加產生,主要表現為短視效應、認知負荷和協同成本,是我們需要盡力規避的部分,也是需要關注的重點。