聂同学

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

架构设计过程的驱动技术(三)

特征驱动和风险驱动,看来是相对完备的驱动技术;模式驱动,则不是那么完备。 这两类驱动技术的区别究竟从何而来呢?

大部分人思考问题,特别是比较复杂的问题的过程。分为两个步骤 -

  • 第一个步骤,分析问题,定义问题,分解问题,将大问题、复杂的棘手的问题,分解为小的可解决的子问题。这个步骤,我们称为处理问题空间。
  • 第二个步骤,对第一个步骤得到的子问题分别解决,并将所有答案归纳整合,使之可以解决最初的复杂问题。这个步骤,我们成为处理解空间。

两个步骤如下图所示。图中ABCD步骤,就是处理问题空间,步骤EFGH则是处理解空间。

显然,模式驱动没有覆盖第一个步骤,只覆盖了第二个步骤。而特征驱动和风险驱动,覆盖了第一第二两个步骤。其中,特征驱动认为实现特征就是我们面对的大问题,提供了分析分解这个大问题的办法,这些方法都是作用于问题空间的方法。而风险驱动认为应对风险就是我们的大问题,提供了定义风险衡量风险等在问题空间方法。

方法论, 架构, 过程

分享 -