查看原文
其他

《软件方法》自测题解析007:设计工作流,有彩蛋

潘加宇 UMLChina 2024-03-10

DDD领域驱动设计批评文集>>

《软件方法》强化自测题集>>

《软件方法》各章合集>>

第1章自测题 Part2
5 [单选题]以下描述最可能对应于软件开发中的哪个工作流?
A) 业务建模
B) 需求
C) 分析
D) 设计
答案和解析:
 A) 错误选项。
 B) 错误选项。
 C) 错误选项。
 D) 正确选项。
这段源代码是用非核心域C#的概念来实现和Account、Credit、Balance等核心域概念相关的逻辑。
以下是彩蛋:
这段源代码属于设计工作流的工件,这个是这道题考察的知识点。
但要注意,不代表一名开发人员面对(注意此处用词是“面对”而不是“输入”)着源代码时,他的工作内容一定是设计工作流的内容。
就拿题目中这张图来说,我们可能会观察到一名开发人员正在面对着Visual Studio的界面在敲键盘。这名开发人员并不像三十年前打字店的五笔字型打字员或者很多电影里面的程序员一样,一直在啪啪啪啪运指如飞,而是敲一会停一会,有时甚至陷入长考。
卡住他的是什么?是C#的语法不熟?是某个库不熟?有可能,但更大的可能是核心域逻辑没有理清楚,这时他思考的是分析工作流的问题;甚至可能是系统要提供什么功能都没有搞清楚,这时他思考的是需求工作流的问题。
在学习《软件方法》或相关课程之后,我们都有一个“改进指南”,要求学员找出结合自己的工作,找出最值得先引进我们教授的建模方法来改进的一个点。
经常会有这样的问答:
学员:
老师,我平时的工作就是编码,我也只会编码,结合自己的工作的话,是不是应该先改进设计工作流?
我:
你编码是怎么编的?是不是前面有人已经用类图、序列图、状态机图等把核心域逻辑整理得清清楚楚,实现架构的套路也示范得清清楚楚,你照着搬砖就行了?
学员:
不是,客户或者老板就是说要做一个什么什么,然后我就开始编码了。
我:
说明你还是需要做业务建模、需求、分析的工作,只不过是在大脑里做的,而且往往是坐在编码环境的界面前发呆时做的。
8月18-21晚网课:软件需求设计方法学全程实例剖析
8月11-14晚剔除“伪创新”的领域驱动设计-网络公开课
[新增EA027智慧公寓系统]25套UML+EA和StarUML的建模示范视频-全程字幕(2022.7.25更新)
《软件方法》书中自测题-题目全文+分卷自测(1-8章)16套111题
《软件方法》强化自测题集110题
CTO也糊涂的常用术语:功能模块、业务架构、用户需求……[20210217更新]
如何选择UMLChina服务
作者微信:umlchina2
继续滑动看下一个

《软件方法》自测题解析007:设计工作流,有彩蛋

潘加宇 UMLChina
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存