软件总体结构剖析:架构与体系构建

软件体系结构的基本概念

  • 软件架构结构
  • 常见软件架构结构
  • 1.模块结构(Module)
  • 2.构件和连接件结构(Component-And-Connector)
  • 3.分配结构(Allocation)
  • 软件架构视图模型
  • 软件体系结构核心元模型
  • 1.软件体系结构核心原模型
  • 2.构件定义
  • 3.构件粒度定义
  • 4.连接定义
  • 5.连接件定义
  • 6.配置/拓扑定义
  • 软件架构风格


软件架构结构


常见软件架构结构



1.模块结构(Module)

系统如何被构造为一组代码或数据单元的决策

软件总体结构 总体架构 软件结构体系_设计模式


①分解结构

单元是通过子模块关系将彼此关联起来的模块,展示了如何将较大的模块递归地分解为较小的模块,直到它们足够小,很容易理解为止


②使用结构

单元之间通过“使用”关系这种特殊的依赖关系实现彼此关联

③分层结构

在由层组成的系统中,一个层就是相关功能的一个一致的集合

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

系统如何被设计为一组具有运行时行为(构件)和交互(连接件)的元素

软件总体结构 总体架构 软件结构体系_软件总体结构 总体架构_02


①客户/服务器结构

构件是客户和服务器,连接件是协议和消息

②并发结构

结构单元是组件,连接件是它们之间的通信机制。组件被划分为逻辑线程

③服务结构

系统结构单元是服务,服务之间通过一定的协作机制进行交互(如SOAP/REST)

④共享数据结构

构件是作用在数据上的计算单元和数据存储单元,连接件则是提供的数据存取机制

3.分配结构(Allocation)

展示如何将来自于模块结构或构件和连接件结构的单元映射到非软件结构(硬件、开发组和文件系统)

软件总体结构 总体架构 软件结构体系_设计模式_03


①工作分配结构

该结构将实现和集成模块的责任分配给适当的开发小组

②部署结构

软件是如何分配到硬件处理以及通信元素上的

③实现结构

软件元素是如何映射到系统开发、集成或配置控制环境中的文件结构上



软件架构视图模型

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

软件体系结构核心元模型

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

软件总体结构 总体架构 软件结构体系_服务器_04

2.构件定义

构件是具有某种功能的可复用的软件结构单元,表示了系统中主要的计算元素和数据存储

任何在系统运行中承担一定功能、发挥一定作用的软件体都可看作是构件

动态构件和静态构件

软件总体结构 总体架构 软件结构体系_服务器_05

3.构件粒度定义

粒度:构件的相对大小、规模、细节程度或关注程度的一个属性

原子构件:不可再分解

复合构件:由其他原子构件与复合构件通过连接而成;复合构件本身就是配置

下图为构件粒度层次:

软件总体结构 总体架构 软件结构体系_软件总体结构 总体架构_06

4.连接定义

5.连接件定义

连接件(Connector)表示构件之间的交互并实现构件之间的连接

连接件也可看作一类特殊的构件,区别在于:

• 一般构件是软件功能设计和实现的承载体

• 连接件是负责完成构件之间信息交换和行为联系的专用构件



下表为常用连接件类型:

软件总体结构 总体架构 软件结构体系_软件架构_07

6.配置/拓扑定义

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

软件架构风格

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

下表为常见软件体系结构风格:

软件总体结构 总体架构 软件结构体系_软件体系结构_08

               

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空