DDD领域驱动设计批评文集
做强化自测题获得“软件方法建模师”称号
《软件方法》各章合集
按照业务建模、需求、分析、设计工作流考察,答案不直接给出,可访问自测链接或扫二维码自测,做到全对才能知道答案。
知识点见《软件方法》、“软件需求设计方法学全程实例剖析”幻灯片(http://www.umlchina.com/training/slide.html)以及UMLChina公众号文章。
自测链接:https://www.101test.com/cand/index?paperId=AFV57I
或扫以下二维码:
1. [单选]
就业寒冬,程序员马宝国(人称阿宝)被裁员。在不断尝试找工作的同时,阿宝也在思考:自己应该趁着这段时间,学习一些什么样的技能?
《软件方法》中ABCD工作流的内容,哪一个最能帮助阿宝做这样的思考?
A) A
B) B
C) C
D) D
2. [单选]
图示表示法中,图形元素之间的关系可以表达为连接、邻接、包含三种。
以下选项列出了一些在软件开发领域使用过的图形表示法。
请问,哪一种表示法的“连接”表达比例最大?
A) N-S图
B) E-R图
C) 类图
D) 状态机图
3. [单选]
以下选项中,和SysML的角色相似的是:
A) MBSE
B) OPL
C) INCOSE
D) SYSMOD
4. [多选]
关于DSL(领域特定语言),以下说法正确的有:
A) DSL是Martin Fowler发明的革命性和划时代的领域驱动设计语言。
B) DSL是提高软件复用级别的路径之一。
C) DSL的最早使用是在Lockheed(洛克希德)公司。
D) 构造一门DSL和构造一门编程语言没有本质区别。
5. [多选]
潘老师将以下类图映射到关系数据库,并按照《软件方法》书中所授方法学的建模内容,为数据的各个表填上了充分的数据,这样就可以从不同视角观察方法学。
此时,查看数据库的各个表的数据,发现存在以下行:
“表示法”表中有:
{(ID,1),(名称,UML)}
“表示元素”表中有:
{(ID,1),(名称,类图)}
“工件形式”表中有:
{(ID,1),(名称,业务用例图)}
“工件类型”表中有:
{(ID,1),(名称,分析类),……}
“工作流类型”表中有:
{(ID,1),(名称,业务建模),……}
“方法学”表中有:
{(ID,1),(名称,《软件方法》)}
******
浑元太极马老师也把闪电五连鞭思想应用到软件开发,发明了“闪电五连鞭革命性创造划时代洞见领域驱动设计敏捷精益方法学”,但依然遵守ABCD工作流的划分以及用UML表示法来表示所产出的工件。
马老师看到潘老师的数据库后,大感兴趣,于是提出以“虎扑”、“崩拳”两招的秘籍交换此数据库。
潘老师把上面已填好《软件方法》内容的数据库做了一个备份文件,通过微信发给了马老师。
马老师将数据库备份文件还原,把潘老师的《软件方法》数据改为“闪电五连鞭革命性创造划时代洞见领域驱动设计敏捷精益方法学”的数据。
潘老师担心马老师搞“换词”的伪创新,于是也向马老师要了他的一份数据文件。查看后确认内容确实有所不同,而不只是把《软件方法》方法学数据库中的各种名称换个了词。
请问,选项给出的各个表中,哪些表中的数据肯定会被马老师增加或修改?
A) 表示元素
B) 工件类型
C) 工件形式
D) 方法学
6. [单选]
开发人员自创的各种“乱七八糟图”往往会在“一致性”上出现问题,主要原因是:
A) 背后没有严谨的表示法规范的支撑。
B) 开发人员明知不一致却故意这样画,以达到利益绑架的目的。
C) 使用的画图工具不如建模工具方便。
D) 开发人员看出了UML等标准建模语言存在的问题,因此选择了更优的做法。
7. [单选]
被很多人挂在嘴边的“源代码就是设计”,其实是被有意无意歪曲后的结果。
起源的文章原来的标题是:
A) The Tao of Domain-Driven Design: Revolutionary Creation, Epoch-Making Insights
B) Agile C++
C) Source Code and Software Design
D) What Is Software Design
8. [单选]
以下选项中A和B的关系,哪一个最适合说“A就是B”?
A) A∈B
B) A⊂B
C) A=B
D) A∪B
9. [单选]
被很多人挂在嘴边的“源代码就是设计”,其实是被有意无意歪曲后的结果。
歪曲的开始是给起源文章另加了一个标题“The Source Code Is the Design”,加这个标题的人是:
A) Robert C. Martin
B) Fowler Martin
C) Neal Ford
D) Kent Beck
10. [多选]
以下是网络上较流行的描述"最小可行产品"(minimum viable product)开发过程的图。
可以看出,这张图的作者缺少经济学常识或者故作无知以迎合缺少经济学常识的开发人员。
那么,这张图的内容可能隐含的认识错误有:
A) 以为汽车厂商在造汽车时会先造轮子。
B) 以为滑板车行业比汽车行业容易混。
C) 以为汽车行业的业务用户领域功能模块逻辑规则架构需求不能用革命性创新和划时代洞见的领域驱动设计来解决。
D) 以为客户目前什么交通工具都没有,随便给他个什么车都会感恩戴德。
如何选择UMLChina服务
UMLChina公众号精选(20240207更新)