聂同学

一个程序员和架构师的实践与思考

问题空间与解空间

问题空间与解空间1,体现了思考的一般过程,所以在很多方法论中有所表现。

“设计思维”讲到4D过程,Discovery、Define、Design、Delivery。 其中Discovery、Define就是在研究和结构化问题空间,而Design、Delivery则分别是解决问题和归纳整合,属于解空间。

领域驱动设计方法中,子域与上下文是两个看来近似的概念。其实子域在问题空间,是对领域这个大问题的分解,而上下文在解空间,是对子域的解决。研究上下文的关系,则是在归纳整合,使这些解决能互相融洽,共同解决领域这个大问题。

有一类问题,难点和重点在于分析和分解问题,解决问题倒是比较容易。针对这类问题的方法,自然是强调研究问题空间。

威胁建模方法,是一个很好的例子。数据流图,信任空间,STRIDE模型,都是研究问题空间的方法。找到了可能的威胁之后,还要对威胁进行评估排序,这些都是在问题空间。到最后才谈到解空间,也就是如何解决威胁。


  1. 前一篇中首先提及。

思维, 方法论, 架构, 过程

分享 -