一.软件架构的概念
1)组成派认为:
(1)软件系统的架构将系统描述为计算机组件及组件之间的交互。
其中:计算机组件是泛指,计算机组件可以进一步细分为处理组件、数据组件、连接组件等。组件可以指子系统、框架、模块、类等不同粒度的软件单元。
(2) 组成派的软件架构概念,具有以下两个特点:
<1> 关注架构实践中的客体--软件,以软件本身作为描述对象;
<2> 分析了软件的组成,即软件由承担不同计算任务的组件组成,这些组件通过相互交互完成更高层次的计算。
2)决策派认为:
(1)软件架构是在一些重要方面所作出的决策的集合。重要的决策如下所示:
<1> 软件系统的组织;
<2> 选择组成系统的结构元素和他们之间的接口,以及当这些元素相互协作时所 体现的行为;
<3> 如何组织这些元素,使他们称为更大的子系统;
<4> 用于指导这个系统组织的架构风格:这些元素以及他们的接口,协作和组合
(2)决策派的软件架构概念,具有以下两个特点:
<1> 关注架构实践中的主体--人,以人的决策为描述对象;
<2> 归纳了架构决策的类型,指出架构决策不仅包括关于软件系统的组织、元素 、子系统和架构风格这几类决策,还包括众多非功能需求的决策。