[答題賽題目解析]抽象級別一致

  • 2019 年 10 月 6 日
  • 筆記

25輪題目

以下圖都是不合適的。其中犯錯的思想根源相同的是( )

1)

2)

3)

4)

 A) 1和4

 B) 2和3

 C) 2和4

 D) 3和4

【解析】答案D。

圖1的錯誤是對類關係的誤解,圖2的錯誤是責任分配不恰當,而圖3和圖4看起來每一處採用的符號都沒有問題,但從整體上看,兩張圖都違反了建模抽象級別一致的原則。

圖3,研究對象寫著永王商場,突然想到自己做的系統可能有刷臉結賬用例,隨手就畫了上去,如果剛好突然想到程式碼怎麼實現,有可能會把每行程式碼也畫在用例圖中。

圖4,類圖畫著畫著,突然想到了訂單有幾個狀態,恰好又突然想到了怎麼實現這些狀態(用GoF的State模式),於是就畫上去了。莫非訂單項,商品等類沒有狀態?

這種「建模」的特點是沒有嚴格的推導,思維無序跳躍,「突然想到」什麼就亂畫什麼,沒「突然想到」就是不存在。

缺少嚴謹、有序的建模訓練,很容易得到這種「突然想到」的模型,而且還可能邊畫邊為自己的「靈感」沾沾自喜呢。

話又說回來,能畫出圖3和圖4,已經算是不太差的了。犯圖1圖2錯誤的人,估計建模水平還達不到讓人專挑圖3圖4錯誤的地步。

至於為什麼要抽象級別一致,可以看《軟體方法》第8章。