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


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

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

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

    第1章自测题 Part2

    5 [单选题]以下描述最可能对应于软件开发中的哪个工作流?

    A) 业务建模

    B) 需求

    C) 分析

    D) 设计

    答案和解析:

     A) 错误选项。

     B) 错误选项。

     C) 错误选项。

     D) 正确选项。

    这段源代码是用非核心域C#的概念来实现和Account、Credit、Balance等核心域概念相关的逻辑。

    以下是彩蛋:

    这段源代码属于设计工作流的工件,这个是这道题考察的知识点。

    但要注意,不代表一名开发人员面对(注意此处用词是“面对”而不是“输入”)着源代码时,他的工作内容一定是设计工作流的内容。

    就拿题目中这张图来说,我们可能会观察到一名开发人员正在面对着Visual Studio的界面在敲键盘。这名开发人员并不像三十年前打字店的五笔字型打字员或者很多电影里面的程序员一样,一直在啪啪啪啪运指如飞,而是敲一会停一会,有时甚至陷入长考。

    卡住他的是什么?是C#的语法不熟?是某个库不熟?有可能,但更大的可能是核心域逻辑没有理清楚,这时他思考的是分析工作流的问题;甚至可能是系统要提供什么功能都没有搞清楚,这时他思考的是需求工作流的问题。

    在学习《软件方法》或相关课程之后,我们都有一个“改进指南”,要求学员找出结合自己的工作,找出最值得先引进我们教授的建模方法来改进的一个点。

    经常会有这样的问答:

    学员:

    老师,我平时的工作就是编码,我也只会编码,结合自己的工作的话,是不是应该先改进设计工作流?

    我:

    你编码是怎么编的?是不是前面有人已经用类图、序列图、状态机图等把核心域逻辑整理得清清楚楚,实现架构的套路也示范得清清楚楚,你照着搬砖就行了?

    学员:

    不是,客户或者老板就是说要做一个什么什么,然后我就开始编码了。

    我:

    说明你还是需要做业务建模、需求、分析的工作,只不过是在大脑里做的,而且往往是坐在编码环境的界面前发呆时做的。

  • 相关阅读:
    C++:异常、异常的处理方法、C++常用标准异常
    在互联网上做好这两件事,轻松年赚50w?
    Java集成云打印机(芯烨云)——文档篇
    岛屿的最大面积leetcode
    stm32编写Modbus步骤
    如何免费试用阿里云的视频画质增强服务50元额度
    Linux基础命令[25]-groupadd
    Hbase,Hive和Hdfs的关系以及区别
    day-06 多进程服务器端 -- 进程间通信
    【LeetCode】Day149-二叉搜索树转为累加树 & 最短无序连续子数组
  • 原文地址:https://blog.csdn.net/rolt/article/details/126277689