我的架构思想(八):你所关注的系统——知识的构建(这种差异表现了不同的“架构意图”)

阅读数:17 2019 年 10 月 12 日 16:52

我的架构思想(八):你所关注的系统——知识的构建(这种差异表现了不同的“架构意图”)

这个“架构 v0.0.0.2”版本显然也是对现实中的办公环境的正确描述,但却与此前的“架构 v0.0.0.1”迥然不同。那究竟是什么原因造就了这样的差异呢?这仅仅是图形的组合方式的不同,还是某些“架构师”的个人喜好的差异,亦或是现实系统在本质上就存在着这样的多样性?

都是,但也都不是1。事实上当我们试图去表达现实系统的“一个映像”时,我们总是存有特定的意图。这种“架构上的意图”决定了我们的观察视角,也决定了我们之后表达的结果2

1 做第一种回答的人,是关注到了不同视角下的差异,因此会把系统变得更为复杂的。做第二种回答的人(亦如后文中的讨论),则试图进一步从差异中找到共性,从而简化对系统的讨论。

2 这并不一定决定我们的表达手法。的确存在这种可能:手法不同,但“表达的结果”中所呈现的意图却是相同的。

“架构 v0.0.0.2”中包含了此前版本中的全部“业务”,并且认为:

  • 业务是一个未知规模的“业务集”中的一部分;
  • 业务之间是否存在“公共业务”与“特定业务”等分别,是不确定的;
  • 业务仅仅是功能性的系统模块,与特定的使用者(用户)是无关的。

它还有一个“角色集”:

  • 角色集包含了此前版本的“一般用户”与“特定用户”等;
  • 角色集加入对系统持续观察后发现的一些新角色;
  • 角色集的规模是未知的,它可能随着现实系统的进化而扩展,也可能在某个(阶段交付的)计算系统中被确定。

最后,它还加入了一个在此前系统中并不存在的“组织机构”:

  • 组织机构是对现实系统的“组织”的重现,组织是一群有相互授权关系的人3

3 某些组织关系中,并非是单一的“授权”问题,因此这种表达方式也并非万能的。

  • 组织机构只表达了“人与人”或“系统与人”之间的授权关系,即“角色”;
  • 没有确定“一个人”是否能“被授权”为多个角色。

尽管“架构 v0.0.0.2”未能描述许多细节,例如是否交叉授权、组织本身是否有层级关系、业务之间是否有逻辑关系等,但是它准确地体现了架构者的一种意图:通过映射现实中的管理责权关系,而不是(如“架构 v0.0.0.1”那样)通过区别功能模块的适用群体来规划系统。

换言之,我们可以认为,“架构 v0.0.0.1”完成的是办公(功能)系统,而“架构 v0.0.0.2”体现的架构方向应该被称为办公管理系统。关键的区别在于,前者仅仅是对现实系统的一些事实的复制,而后者体现了一种架构意图。然而一旦架构思想中出现了这一意图,我们就不得不提出如下的设问:

  • “管理”是现实系统的需求吗?
  • “组织机构”能够正确地映射现实系统的“管理行为”吗?

评论

发布