部署图

以下内容部分出至博客园coolstream,主要是自己懒得写了,部分做了修改。
官方连接

image.png

部署图(Deployment Diagram)简介

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

部署图建模步骤

(1)找出需要进行部署的各类节点,如网络硬件设备、服务器硬件设备、及部署在硬件设备上的软件系统等
(2) 确定各类节点之间的连接关系及通信方式
(3)从性能、可扩展性、可维护性、可移植性角度确定各类节点的数目和部署方式
(4)绘制部署图,将artifact分配给各个节点

部署图主要元素

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

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

    1. UML表示


      image
    2. 节点实例:节点的实例形式。格式为instance name: Node,与类实例格式相似,冒号前面可以有实例名称也可以没有实例名称
      在EA中选择实例:右击选择高级Advanced,然后选择instance classifier。一般都是新建一个不在图中的节点作为实例被引用。
      image
    3. 节点类型:节点的构造型
      EA为节点提供了许多标准的构造型,分别命名为 «cdrom», «cd-rom», «computer», «disk array», «pc», «pc client», «pc server», «secure», «server», «storage», «unix server», «user pc»。 并在节点符号的右上角显示适当的图标。


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


      image
    5. 在EA中节点可以设置状态、任务和约束


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

    image

    关于ArtifactEA提供了很多其他构造类型,下图可以参考
    image.png

  • 设备(Device):设备是一种具有处理能力的物理电子资源,可以在其上部署Artifact以供执行。

    image.png

  • 执行环境(Execution Environment):执行环境是一个节点。
    它为部署在其上的特定类型的组件提供执行环境以可执行Artifact的形式。

    image.png

  • 组件(Execution Environment):组件是系统的模块化部分,承担具体功能单元的实际文件,一般为lib, jar, dll, exe等格式,遵循接口定义并提供具体的接口实现。

    image.png

  • 部署规范(Deployment Specification):指定了 an artifact部署的参数,这是大多数硬件和软件技术所必需的。

    image.png

  • 接口(EA上工具是ExposeInterface):一组操作的集合,声明了组件提供或请求的服务契约,这个契约由实现和使用这个接口的组件共同遵守。
    调用从属角度可以把接口分为 需求接口和提供接口。

    1. 需求接口(一般在部署图用不到): 也叫需接口,是指组件像其他组件请求服务时要遵循的接口


      image
    2. 提供接口:也叫供接口,是指组件给其他组件提供服务时实现的特性和约束


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

  • 通信路径( Communication Path):定义了两个部署目标能够交换信号和消息的路径。
    部署目标可以是部署关系图中的节点、属性或特定实例

    image.png

  • 泛化(Generalization):用于表示继承。

    image.png

  • 部署(Deployment):是一种依赖关系,它指示Artifact署到节点或可执行目标上。

    image.png

  • 清单关系(Deployment):表示Artifact源包含目标模型元素。

    image.png

部署图主要关系

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

  • 依赖:节点的物件之间存在相互调用的弱关系
    image
  • 关联:节点间的通信方式。跟具体的协议有关,比如TCP/IP, ftp, http, soap, web service等
    image
部署图示例

以订单-库存系统为例


image

DBserver部署


image.png
部署图与组件图的区别

(1)组件图侧重系统组件在软件层面的定义、结构及调用关系;部署图侧重系统组件在硬件层面的组织结构
(2)组件图侧重描述哪个组件位于哪个模块或包以及各个组件的版本信息;部署图侧重描述哪个组件部署在哪个硬件设备上以及硬件设备之间的交互关系
(3)组件图中的组件侧重源文件的模块化打包;部署图中的节点侧重组件的物理部署
(4)组件图中的组件和部署图中的Artifact相对照

部署图与组件图的联系

(1)组件图和部署图都是对系统实现的UML描述,联系起来对比使用,更易加深对整个系统架构的理解,一般来说大型项目两类图都需要
(2)组件图和部署图包含相同的构成元素:组件、接口、组件间关系、组件通过提供接口向外部提供的服务、组件通过需求接口向外部请求的服务
(3)组件图和部署图都包含关联、依赖关系
(4)组件图和部署图都可以被嵌套、都可以参与外部和内部接口间的交互通信

部署图注意事项

(1)一般部署图的绘画分为四阶段:
  第一阶段确定需要进行部署的各类节点,如网络硬件设备、服务器硬件设备、及部署在硬件设备上的软件系统等
  第二阶段侧重确定节点信息、节点关系、及连接方式
  第三阶段把物件分配到节点
  第四阶段根据性能、可靠性、可维护性、可移植性等确定各类节点的数目及拓扑方式
(2)对于部署图来说,最有价值的就是节点上的物件信息
(3)在UML1.x部署图规范中,组件图中的组件可以直接部署到节点中;在UML2.x规范中,组件图中的组件不能直接部署到节点,需要通过Artifact
(4)部署图中摆放元素时尽量避免线的交叉

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容