Python设计模式

摘要:
您可以了解软件和硬件组件之间的物理拓扑、连接关系和处理节点的分布。例如,部署在硬件设备上的网络硬件设备、服务器硬件设备和软件系统——确定各个节点之间的连接关系和通信模式——从性能、可扩展性、可维护性和可移植性的角度确定各个节点的数量和部署模式——绘制部署图。

简介

部署图也称配置图,用来显示系统中硬件和软件的物理架构。从中可以了解到软件和硬件组件之间的物理拓扑、连接关系以及处理节点的分布情况。

部署图建模步骤

    - 找出需要进行部署的各类节点,如网络硬件设备、服务器硬件设备、及部署在硬件设备上的软件系统等

    - 确定各类节点之间的连接关系及通信方式

    - 从性能、可扩展性、可维护性、可移植性角度确定各类节点的数目和部署方式

    - 绘制部署图,将artifact分配给各个节点

部署图主要元素

部署图中的主要元素有节点、物件和连接。其中节点根据其状态不同又有节点实例、节点容器等区别于节点的拓扑方式。

  • 节点(Node):硬件设备或运行在硬件设备上的软件系统。

     - UML表示

 

   Python设计模式第1张

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

        Python设计模式第2张

      - 节点类型:根据节点是否能够进行

        - 处理器:本身具有计算、执行等软件运行处理能力的节点

        - 设备:本身不具有软件运行处理能力的节点

      - 节点容器(Node as Container):一个节点可以包括其他的物件或节点,比如Artifact类型的库文件、可执行文件等。

        Python设计模式第3张

  • 物件(Artifact):UML部署图中的物件时软件开发过程中的产物,包括需求文档、源代码、库文件、可执行程序、库文件、用户手册等。

    UML标识为 artifact + 图标 <<artifact>> + Name 

 Python设计模式第4张

  • 连接(Association):节点或物件之间的连线。见部署图主要关系部分

部署图主要关系

部署图中节点或物件之间存在依赖或关联关系。

  • 依赖:节点的物件之间存在相互调用的弱关系

 Python设计模式第5张

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

Python设计模式第6张

部署图示例

以订单-库存系统为例

Python设计模式第7张

部署图与组件图的区别

    - 组件图侧重系统组件在软件层面的定义、结构及调用关系;部署图侧重系统组件在硬件层面的组织结构

    - 组件图侧重描述哪个组件位于哪个模块或包以及各个组件的版本信息;部署图侧重描述哪个组件部署在哪个硬件设备上以及硬件设备之间的交互关系

    - 组件图中的组件侧重源文件的模块化打包;部署图中的节点侧重组件的物理部署

    - 组件图中的组件和部署图中的Artifact相对照

部署图与组件图的联系

    - 组件图和部署图都是对系统实现的UML描述,联系起来对比使用,更易加深对整个系统架构的理解,一般来说大型项目两类图都需要

    - 组件图和部署图包含相同的构成元素:组件、接口、组件间关系、组件通过提供接口向外部提供的服务、组件通过需求接口向外部请求的服务

    - 组件图和部署图都包含关联、依赖关系

    - 组件图和部署图都可以被嵌套、都可以参与外部和内部接口间的交互通信

部署图注意事项

     - 一般部署图的绘画分为四阶段:

          - 第一阶段确定需要进行部署的各类节点,如网络硬件设备、服务器硬件设备、及部署在硬件设备上的软件系统等

          - 第二阶段侧重确定节点信息、节点关系、及连接方式

          - 第三阶段把物件分配到节点

          - 第四阶段根据性能、可靠性、可维护性、可移植性等确定各类节点的数目及拓扑方式

     - 对于部署图来说,最有价值的就是节点上的物件信息

     - 在UML1.x部署图规范中,组件图中的组件可以直接部署到节点中;在UML2.x规范中,组件图中的组件不能直接部署到节点,需要通过Artifact

     - 部署图中摆放元素时尽量避免线的交叉

免责声明:文章转载自《Python设计模式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇左右手(直角)坐标系叉乘计算公式所有可能的路径下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

UVM_COOKBOOK学习【DUT-Testbench Connections】

关注微信公众号摸鱼范式,后台回复COOKBOOK获取COOKBOOK原本和译本 PDF度盘链接 将testbench连接到DUT 概述 本节,我们主要讨论将UVM testbench连接到RTL DUT的问题。 UVM testbench对象不能直接连接到DUT信号来驱动或采样。driver和monitor组件对象与DUT之间的连接是通过一个或多个具有静态...

【Android】XML文件的解析

1.首先我们可以在res包路径下创建一个raw包,然后在raw下创建一个email.xml 文件,并修改其内容如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <email> 3 <from>123@163.com</from> 4 <to&g...

DGL学习(三): 消息传递教程

在本节中,我们将不同级别的消息传递API与PageRank一起使用。 在DGL中,消息传递和功能转换是用户定义的函数(UDF)。 PageRank 算法: 在PageRank的每次迭代中,每个节点(网页)首先将其PageRank值均匀地分散到其下游节点。 每个节点的新PageRank值是通过汇总从其邻居收到的PageRank值来计算的,然后通过阻尼因子(d...

vue SSR 部署详解

 先用vue cli初始化一个项目 输入命令行开始创建项目: vue create my-vue-ssr 记得不要选PWA,不知为何加了这个玩意儿就报错。 后续选router模式记得选 history 模式。 项目就绪后,cd 进入,开始改造。 先贴项目结构: 改造main.js、router.js和store.js 根据vue ssr官方文档进行路由...

Beaglebone Black教程BeagleBone Black安装最新系统映像

Beaglebone Black教程BeagleBone Black安装最新系统映像 BeagleBone Black安装最新系统映像 Beaglebone Black虽然已经预装了Debian操作系统,但是有时候你想要一个纯净的系统或者想要使用最新的系统。当然,笔者非常推荐你将系统和软件都更新到最新版。所以,下面将分别介绍更新旧系统和全新安装系统的方式。...

Word 中设置图、表、公式、代码要与正文之间行间距

一、概述 在撰写论文等文档时,常常对图、表、公式、代码要与正文之间行间距有要求。例如: (5)图、表、公式、代码要与正文之间有6磅的行间距。 二、设置方式 选中 图/表/公式/代码 与 图题/表头/-/- ,点击鼠标右键->段落->间距->段前/段后。 如下图: 效果如下图: 此文在我的 Github Pages 上同步发布,地址为:{...