软件体系结构的基本概念

软件架构结构

常见软件架构结构

1.模块结构(Module)

系统如何被构造为一组代码或数据单元的决策
在这里插入图片描述
①分解结构
单元是通过子模块关系将彼此关联起来的模块,展示了如何将较大的模块递归地分解为较小的模块,直到它们足够小,很容易理解为止
②使用结构
单元之间通过“使用”关系这种特殊的依赖关系实现彼此关联
③分层结构
在由层组成的系统中,一个层就是相关功能的一个一致的集合

2.构件和连接件结构(Component-And-Connector)

系统如何被设计为一组具有运行时行为(构件)和交互(连接件)的元素
在这里插入图片描述
①客户/服务器结构
构件是客户和服务器,连接件是协议和消息
②并发结构
结构单元是组件,连接件是它们之间的通信机制。组件被划分为逻辑线程
③服务结构
系统结构单元是服务,服务之间通过一定的协作机制进行交互(如SOAP/REST)
④共享数据结构
构件是作用在数据上的计算单元和数据存储单元,连接件则是提供的数据存取机制

3.分配结构(Allocation)

展示如何将来自于模块结构或构件和连接件结构的单元映射到非软件结构(硬件、开发组和文件系统)
在这里插入图片描述
①工作分配结构
该结构将实现和集成模块的责任分配给适当的开发小组
②部署结构
软件是如何分配到硬件处理以及通信元素上的
③实现结构
软件元素是如何映射到系统开发、集成或配置控制环境中的文件结构上

软件架构视图模型

架构视图:从某一视角或某一点上看到的系统所作的简化描述,描述中涵盖了系统的某一特定方面,而省略了与此方面无关的元素
视点:视点是一个有关单个视图的规格说明,视图是基于某一视点对整个系统的一种表达,一个视图可由一个或多个架构模型组成
架构模型:架构意义上的图及其文字描述
视图模型:一个视图模型是指一组用来构建系统或软件架构的相关视图的集合,这样一组从不同角度表达系统的视图组合在一起构成对系统比较完整的表达

软件体系结构核心元模型

1.软件体系结构核心原模型

在这里插入图片描述

2.构件定义

构件是具有某种功能的可复用的软件结构单元,表示了系统中主要的计算元素和数据存储
任何在系统运行中承担一定功能、发挥一定作用的软件体都可看作是构件
动态构件和静态构件
在这里插入图片描述

3.构件粒度定义

粒度:构件的相对大小、规模、细节程度或关注程度的一个属性
原子构件:不可再分解
复合构件:由其他原子构件与复合构件通过连接而成;复合构件本身就是配置

下图为构件粒度层次:
在这里插入图片描述

4.连接定义

5.连接件定义

连接件(Connector)表示构件之间的交互并实现构件之间的连接
连接件也可看作一类特殊的构件,区别在于:
• 一般构件是软件功能设计和实现的承载体
• 连接件是负责完成构件之间信息交换和行为联系的专用构件

下表为常用连接件类型:
在这里插入图片描述

6.配置/拓扑定义

体系结构的配置或拓扑是构件和连接件的连接图(connected graph),描述了系统结构适当的连接、并发和分布特性、符合设计启发式规则和风格规则

软件架构风格

一种软件体系结构风格定义了构件类型和连接件类型的词汇表,以及它们如何组合的约束条件

下表为常见软件体系结构风格:
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

so.far_away

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值