交大樊同学-UMLChina建模答题赛第7赛季第12轮
DDD领域驱动设计批评文集
做强化自测题获得“软件方法建模师”称号
《软件方法》各章合集
参考潘加宇在《软件方法》和UMLChina公众号文章中发表的内容作答。在本文下留言回答。
所有题目的回答必须放在同一条消息中,方为有效回答。同一人多次回答,以最新的回答为有效回答。
只要最先答对前3题,即可获得本轮优胜。
如果有第4题,第4题为附加题,对错不影响优胜者的判定,影响的是优胜者的得分。
1 [单选]
最近,上海交大樊同学奖金事件引起关注。
用UML类图表示樊同学事件相关概念如下,假设同一团队可以同时获得多个奖项,包括同一等级,例如,F同学和K同学组成的团队可以获得两个二等奖,总奖金2*5000=10000元。
如果给“团队”加一个约束:团队所得奖金总和等于团队人员所分奖金的总和,用OCL如何表达?
A) 获奖s->collect(x | x.数量 * x.奖项.奖金)->sum() = 成员s.所分奖金->sum()
B) 获奖s.奖项.奖金->sum() = 成员s.所分奖金->sum()
C) 获奖s.数量->sum() * self.获奖s.奖项.奖金->sum() = 成员s.所分奖金->sum()
D) 获奖s->collect(x | x.数量 * x.奖项.奖金)->sum() = 成员s.所分奖金->asSet()->sum()
2 [单选]
DDD圈子曾经写文章展示了一个等式的“不变式”(该文用词为“固定规则)
受到了批评,批评文章在这里:续1-续3 你的医书是假的!
抛开图中所谓“不变式”的位置错误、表示错误等不谈,请问,什么情况下这样内容的“不变式”是合理的?
A) 拉一群年轻的资深敏捷专家和DDD专家,边喝酒边头脑风暴足足三小时,投票决定:这样内容的“不变式”是合理的。
B) 使用领域驱动设计的革命性创造,令在某个上下文中,这样的不变式是合理的。
C) 系统有一个从总价出发做假账的功能。
D) 系统需要从订单项的属性值来计算订单的属性值。
3 [单选]
最近,上海交大樊同学奖金事件引起关注。
用UML类图表示樊同学事件相关概念如下。
假设同一团队可以同时获得多个奖项,包括同一等级,例如,F同学和K同学组成的团队可以获得两个二等奖,总奖金2*5000=10000元。
奖金严格按团队成员的等级(例如 婆罗门>刹帝利>吠舍>首陀罗)来分配。目前的分配规则是:如果团队成员等级相同,则平分奖金,如果团队成员存在等级差别,则最高等级成员先平分90%的奖金,剩下的奖金和成员继续按同样规则处理。
如果90%这个数字可以灵活设置,如果强制它一定要成为以下某个类的属性,那么相对比较合适的是:
A) 奖项
B) 团队
C) 人员
D) 等级
