组成派与决策派

什么是架构?

  • 组成/结构派:面向客体(软件)

    • Mary Shaw:软件系统的架构将系统描述为计算组件以及组件之间的交互
    • 卡内基梅隆大学软件工程研究所:计算系统的软件架构是解释该系统所需的结构体的集合,其中包括:软件元素,元素之间的相互关系,以及二者各自的属性。
  • 决策派:面向主体(开发者)

    RUP:软件架构包含了关于以下问题的重要决策:

    • 软件系统的组织;
    • 选择组成系统的结构元素和它们之间的接口,以及当这些元素相互协作时所体现的行为;
    • 如何组合这些元素,使它们逐渐合成为更大的子系统;
    • 用于指导这个系统组织的架构风格:这些元素以及它们的接口、协作和组合。

    软件架构并不仅仅注重软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解性、经济和技术的限制和权衡,以及美学等。

组成派更简洁,决策派更全面。本人倾向于组成派的架构定义。

results matching ""

    No results matching ""