[答题赛题目解析]抽象级别一致
- 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章。