软件架构对于每一个人的理解都是不同的,通过分类可以在包容细节差异的小基础上明确共性,达到“概念总体上的清晰”。
将软件架构概念分派别:
1.组成派
软件系统的架构将系统描述为计算组件及组件之间的交互。
计算组件是泛指的,可以进一步细分为处理组件,数据组件,连接组件可以是子系统,框架,模块,类等不同粒度的软件单元
特征:
(1.关注架构实践中的客体--软件,以软件本身为描述对象;
(2.分析了软件的组成,即软件由承担不同计算任务的组件组成,这些组件通过相互交互完成更高层次的计算。
2.决策派
软件架构包含了关于一下问题的重要决策,对关键问题进行决策:
×软件系统的组织
×选择组成系统的结构元素和他们之间的接口,以及当这些元素相互协作时所体现的行为;
×如何组成这些元素,使他们逐渐合成为更大的子系统
*用于指导这个系统组织的架构风格,这些元素以及他们的接口,协作和组合。
软件架构并不仅仅注重软件本身的结构和行为,还组中其他特性,使用,功能性,性能,弹性,重用,可理解性,经济和技术的限制的权衡。
特征:
(1关注架构实践中的主体--人,一人为决策为描述的对象;
(2归纳了架构决策的类型,指出架构决策不仅包括关于软件系统的组织,元素,子系统和架构风格等几类决策,还包括非功能性决策。
参考阅读:
《软件架构设计》