软件体系结构的发展史
软件体系结构定义
1.组成派定义
①软件体系结构是具有一定形式的结构化元素
元素是指具有一定形式的结构化元素,包括处理元素、数据元素和连接元素
处理元素负责对数据进行加工
数据元素是被加工的信息
连接元素把体系结构的不同部分组合连接起来
②软件架构三大要素:
组件/构件:可以是一组代码,也可以是独立的程序
连接件:用于表示组件之间的相互关系,可以是过程调用、管道和消息等
约束:为组件连接时的条件
③ISO/IEC/IEEE标准中定义软件架构是某一系统的基本组织结构,其内容包括软件构件,构件间的联系,构件与其环境间的联系,以及指导上述内容设计与演化的原理
2.决策派定义
①认为架构是一系列重要决策的集合
②一系列重要决策的集合关于:
软件系统的组织
组成系统之间的结构元素和它们之间的接口,及这些元素相互协作时所体现的行为
如何组合这些元素,使它们逐渐合成为更大的子系统
指导这一软件系统组织的架构风格
3.定义总结
软件体系结构主要包括构件(Component)、连接件(Connector)、约束(Constraint)三部分
即:SA={ Component , Connector, Constraint }
即:
软件体系结构=组件+连接件+约束(比较重要,后边的软件体系结构风格的分析会用到)
组件:具有某种功能的可重用的软件模块单元,表示了系统中主要的计算单元和数据存储
连接件:表示了组件之间的交互,简单的连接件有:管道、过程调用、事件广播等,复杂的连接件有:客户-服务器、通信协议、数据库和应用之间SQL连接等
约束:表示了组织和连接件的拓扑逻辑和约束
下图为软件体系结构核心模型:
软件体系结构的研究活动
软件体系结构的作用
下图为SA在软件生命周期中的作用: