软件架构概念与思想-组成派、决策派
http://jpkc.whu.edu.cn/jpkc/dxqyxxxtfgnjg/dzja/dzjc/jc2.htm
1.2.1 软件架构概念:组成派
关于软件架构的概念,有太多版本,这对我们的实践也造成了很多麻烦。笔者认为,可以将这些概念大致分为两大流派:组成派和决策派。
Mary Shaw在《软件体系结构:一门初露端倪学科的展望》中,为“软件架构”给出了精致利索的定义:
软件系统的架构将系统描述为计算组件及组件之间的交互(The architecture of a software system defines that system in terms of computational components and interactions among those components.)。
1.2.2 软件架构概念:决策派
下面来看看RUP(Rational Unified Process,Rational统一过程)为软件架构下的定义:
软件架构包含了关于以下问题的重要决策:
l 软件系统的组织;
l 选择组成系统的结构元素和它们之间的接口,以及当这些元素相互协作时所体现的行为;
l 如何组合这些元素,使它们逐渐合成为更大的子系统;
l 用于指导这个系统组织的架构风格:这些元素以及它们的接口、协作和组合。
l 软件架构并不仅仅注重软件本身的结构和行为,还注重其他特性:使用、功能性、性能、弹性、重用、可理解性、经济和技术的限制及权衡、以及美学等。
上述定义看似冗长,其实核心思想非常明确:软件架构是在一些重要方面所做出的决策的集合。
我思故我在