架构之Refined Architecture阶段

  Refined Architecture是细化架构阶段,是架构的第三阶段,属于架构设计,而不是详细设计。下文对该阶段进行了解。

  下面先谈一下细化架构与逻辑架构的差异:

  1、接口。在细化架构中,接口占据非常核心的地位,而概念架构并不关心明确的接口定义(只有抽象的的组件和抽象的交互机制)
  2、子系统。细化架构重视通过子系统和模块来分割整个系统,并且子系统往往有明确的接口;而概念架构中只有抽象的组件,这些组件没有接口,只有职责,一般是处理组件、数据组件或连接组件中的一种。当然,概念架构中也有“大组件分解成小组件”的设计决策,但并非子系统的含义。

  3、交互机制。细化架构中的交互机制应是“实在”的,如基于接口编程、消息机制或远程方法调用等。而概念架构中的交互机制是“概念化”的,例如“A层使用B层的服务”就是典型的例子,这里的“使用”到了细化架构中可能基于接口编程、消息机制或远程方法调用等其中的一种。

  但是细化架构与逻辑架构都满足软件架构的定义,就如:架构=组件+交互。

  

  在细化架构中,采用多视图方法分析系统,多视图方法是业界广泛认同的一种架构设计思路,方法种类有很多,下面介绍的是RUP4+1视图法:

       逻辑视图:职责划分

       开发视图:程序单元组织

       运行视图:控制流组织

       物理视图:物理节点安排

       数据视图:持久化设计

 

  划分子系统策略有三种:

  1、分层的细化,由于3层或4层架构不足以支持团队的并行开发,所以分层的细化是必不可少的。

  

  2、分区的引入

  架构是迭代开发的基础,为了支持迭代开发,逻辑架构设计中必须引入分区,分区是一种单元,它位于某一层的内部,其粒度比层要小。

  3、机制的提取

  软件系统中的机制是指预先定义好的、能够完成预期目标的、基于抽象角色的协作方式。机制不仅包含了协作关系,同时包含了协作流程。

  

 

 

   三者之间的关系:

  

 

  分层的细化、分区的引入、机制的提取这3种策略背后的4个通用设计原则:

  1、职责不同的单元划归不同子系统。
  2、通用性不同的单元划归不同子系统。
  3、需要不同开发技能的单元划归不同子系统。
  4、兼顾工作量的相对均衡,进一步切分太大的子系统。

  

posted @ 2020-04-09 20:42  星*月  阅读(172)  评论(0编辑  收藏  举报