软件体系结构通常包括以下几个关键组成部分:
构件(Components)
负责对数据进行加工的处理构件(Processing Components)。
作为被加工信息的数据构件(Data Components)。
用于连接不同部分的连接构件(Connecting Components)。
连接件(Connectors)
负责将软件体系结构的各个部分组合连接起来。
约束(Constraints)
描述了体系结构配置和拓扑的要求,确定了体系结构的构件与连接件的连接关系。
软件体系结构还可以根据不同的分类标准进一步划分:
软件设计层次:
结构级(宏观):反映系统最上层的部件和连接关系。
代码级:涉及算法和数据结构的选择。
执行级:包括存储器的映射、数据格式设置等。
体系结构类别:
概略型(宏观):反映系统最上层的部件和连接关系。
需求型(深入):满足用户功能和非功能需求。
设计型(更深入):设计系统的各个部件,描述各部件的连接关系。
特定领域软件体系结构(DSSA):
专用于一类特定的应用领域,支持一组应用的领域模型、参考需求、参考架构等组成的标准体系结构。
分为垂直域和水平域,垂直域局限在一个特定领域中的通用完整软件架构,水平域横跨多个领域,涵盖多个领域之间相同的、共有的部分功能。
软件体系结构是软件设计的重要组成部分,它决定了软件系统的组织方式、部件间的相互作用方式以及系统的总体性能。