Python设计模式 - UML - 部署图(Deployment Diagram)
简介
部署图也称配置图,用来显示系统中硬件和软件的物理架构。从中可以了解到软件和硬件组件之间的物理拓扑、连接关系以及处理节点的分布情况。
部署图建模步骤
- 找出需要进行部署的各类节点,如网络硬件设备、服务器硬件设备、及部署在硬件设备上的软件系统等
- 确定各类节点之间的连接关系及通信方式
- 从性能、可扩展性、可维护性、可移植性角度确定各类节点的数目和部署方式
- 绘制部署图,将artifact分配给各个节点
部署图主要元素
部署图中的主要元素有节点、物件和连接。其中节点根据其状态不同又有节点实例、节点容器等区别于节点的拓扑方式。
- 节点(Node):硬件设备或运行在硬件设备上的软件系统。
- UML表示

- 节点实例:节点的实例形式。格式为instance name: Node,与类实例格式相似,冒号前面可以有实例名称也可以没有实例名称

- 节点类型:根据节点是否能够进行
- 处理器:本身具有计算、执行等软件运行处理能力的节点
- 设备:本身不具有软件运行处理能力的节点
- 节点容器(Node as Container):一个节点可以包括其他的物件或节点,比如Artifact类型的库文件、可执行文件等。

- 物件(Artifact):UML部署图中的物件时软件开发过程中的产物,包括需求文档、源代码、库文件、可执行程序、库文件、用户手册等。
UML标识为 artifact + 图标 或 <<artifact>> + Name

- 连接(Association):节点或物件之间的连线。见部署图主要关系部分
部署图主要关系
部署图中节点或物件之间存在依赖或关联关系。
- 依赖:节点的物件之间存在相互调用的弱关系

- 关联:节点间的通信方式。跟具体的协议有关,比如TCP/IP, ftp, http, soap, web service等

部署图示例
以订单-库存系统为例

部署图与组件图的区别
- 组件图侧重系统组件在软件层面的定义、结构及调用关系;部署图侧重系统组件在硬件层面的组织结构
- 组件图侧重描述哪个组件位于哪个模块或包以及各个组件的版本信息;部署图侧重描述哪个组件部署在哪个硬件设备上以及硬件设备之间的交互关系
- 组件图中的组件侧重源文件的模块化打包;部署图中的节点侧重组件的物理部署
- 组件图中的组件和部署图中的Artifact相对照
部署图与组件图的联系
- 组件图和部署图都是对系统实现的UML描述,联系起来对比使用,更易加深对整个系统架构的理解,一般来说大型项目两类图都需要
- 组件图和部署图包含相同的构成元素:组件、接口、组件间关系、组件通过提供接口向外部提供的服务、组件通过需求接口向外部请求的服务
- 组件图和部署图都包含关联、依赖关系
- 组件图和部署图都可以被嵌套、都可以参与外部和内部接口间的交互通信
部署图注意事项
- 一般部署图的绘画分为四阶段:
- 第一阶段确定需要进行部署的各类节点,如网络硬件设备、服务器硬件设备、及部署在硬件设备上的软件系统等
- 第二阶段侧重确定节点信息、节点关系、及连接方式
- 第三阶段把物件分配到节点
- 第四阶段根据性能、可靠性、可维护性、可移植性等确定各类节点的数目及拓扑方式
- 对于部署图来说,最有价值的就是节点上的物件信息
- 在UML1.x部署图规范中,组件图中的组件可以直接部署到节点中;在UML2.x规范中,组件图中的组件不能直接部署到节点,需要通过Artifact
- 部署图中摆放元素时尽量避免线的交叉
Python设计模式 - UML - 部署图(Deployment Diagram)的更多相关文章
- Python设计模式 - UML - 对象图(Object Diagram)
简介 对象图和类图的基本概念是类似的,可以看作类图在系统某一时刻的镜像,显示了该时刻系统中参与交互的各个对象以及它们之间的关系. 对象图的元素包括对象.链接.包,元素之间的关系和类图相似. 对象图建模 ...
- Python设计模式 - UML - 总览
说到设计模式就不得不涉及建模思想,说到建模思想自然而然会应用UML,目前业界开源的UML工具很多,用起来也非常便捷.近几年来随着软件应用领域开发模式转向快速迭代试错,UML在敏捷开发,尤其是web及m ...
- UML之部署图(Deployment Diagram)
计算机系统由硬件和软件组成,应用软件的命令,先转化为操作系统命令,再转化为汇编语言,最后再转化为二进制命令,由硬件来运行.软件要部署到硬件上才具有生命.Deployment Diagram展示的就是把 ...
- Python设计模式 - UML - 类图(Class Diagram)
简介 类图是面向对象分析和设计的核心,用来描述系统各个模块中类与类之间.接口与接口之间.类与接口之间的关系,以及每个类的属性.操作等特性,一般在详细设计过程中实施. 类图本身就是现实世界的抽象,是对系 ...
- 部署图 Deployment Diagram
UML部署图描述了一个运行时的硬件结点,以及在这些结点上运行的软件组件的静态视图. 部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构的机器之间的中间件. 下面这张图介绍了部署图的基本内容: ...
- Python设计模式 - UML - 通信图(Communication Diagram)
简介 通信图表示对象之间的消息往来,是表述时序图中信息交互的另一种UML图,介绍完时序图就要对照学习一下通信图,二者是一体两面的. 通信图和时序图可以相互转换,二者的侧重点不同,通信图侧重哪些对象发送 ...
- Python设计模式 - UML - 交互概述图(Interaction Overview Diagram)
简介 交互概述图是将不同交互图衔接在一起的图,属于UML2.0的新增图.交互概述图并没有引入新的建模元素,其主要元素来自于活动图和时序图.交互概述图侧重从整体上概览交互过程中的控制流,包括交互图之间的 ...
- Python设计模式 - UML - 定时图(Timing Diagram)
简介 定时图也是一种交互图,用来描述对象或实体随时间变化的状态或值,及其相应的时间或期限约束.定时图应用较广,并不局限于软件工程领域. 定时图侧重与时间线相关的值或状态的改变,这些改变可能来自于收到消 ...
- Python设计模式 - UML - 组件图(Component Diagram)
简介 组件图又称构建图,用于显示系统各组件及各组件关系的物理视图. 组件图通常包括组件.接口.关系.端口和连接器,用来显示程序代码中相应的模块.源文件或源文件集合之间的依赖和泛化关系. 组件图中的组件 ...
随机推荐
- Spring Boot Shiro 权限管理 【转】
http://blog.csdn.net/catoop/article/details/50520958 主要用于备忘 本来是打算接着写关于数据库方面,集成MyBatis的,刚好赶上朋友问到Shiro ...
- 19/03/17Python笔记
一.判断元素是否为数字 ".isdigit() #判断123是不是数字,是的话输出True,不是输出False 二.标志位 需要死循环时,不一定用 while True 还可以用 while ...
- Windows下struct和union字节对齐设置以及大小的确定(一 简介和结构体大小的确定)
在windows下设置字节对齐大小的方式,目前我了解有三种: 1. 在编译程序时候的编译选项 /Zp[n],如 cl /Zp4 表示对齐大小是4字节: 2. 预处理命令 #pragma pack ...
- windows server 修改远程桌面连接端口号
1. [运行]输入 regedit 2. 在注册表编辑器中找到以下PortNamber键,改为要使用的远程端口,如10000. HKEY_LOCAL_MACHINE\SYSTEM\CurrentCo ...
- shell脚本实现定时备份某文件
1:目标 实现在图像化界面输入需要备份的源文件路径.目标路径,定时的时间.然后通过输入的信息,把需要备份的源文件打包放到指定的目标路径下以执行定时任务的时间为子目录 把/she ...
- expect脚本实现ssh自动登录
1:简单的实现ssh登录 #!/usr/bin/expect set ip "10.0.0.142" set user "root" set password ...
- 关于DDR3控制器的使用
关于DDR3控制器的使用 mig_7series_0 u_mig_7series_0 ( // Memory interface ports .ddr3_addr (ddr3_addr), // ou ...
- Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置
简介: 无论办公.文件共享.团队协作还是家庭照片.视频.音乐.高清电影的存储,我们常常都有文件同步和存储的需求.但随着国内各大网盘的花式阵亡或限速,早已没什么好选择了.好吧,我已经转战使用onedri ...
- 学习笔记之Linux / Shell / QSHELL
shell(计算机壳层)_百度百科 http://baike.baidu.com/subview/849/15831672.htm Shell (computing) - Wikipedia, the ...
- kubernetes核心组件kube-proxy 学习总结
一. kube-proxy 和 service kube-proxy是Kubernetes的核心组件,部署在每个Node节点上,它是实现Kubernetes Service的通信与负载均衡机制的重 ...