今天是:
带着程序的旅程,每一行代码都是你前进的一步,每个错误都是你成长的机会,最终,你将抵达你的目的地。
title

UML部署图

1.什么是部署图

部署图是一种结构图,它展示了系统的体系结构,以软件构件在部署目标上的部署(分布)。

构件代表开发过程中在物理世界中具体存在的实体元素。构件的例子包括可执行文件、库、存档文件、数据库模式、配置文件等。

部署目标通常由节点表示,这些节点可以是硬件设备或某种软件执行环境。节点可以通过通信路径连接,以创建任意复杂度的网络系统。

需要注意的是,在UML 1.x的部署图中,构件直接部署到节点上。而在UML 2.x中,构件部署到节点上,构件也可以通过构件来体现(实现)。构件通过构件间接地部署到节点上。

部署图可以在规范级别(也称为类型级别)或实例级别(类似于类图和对象图)上描述体系结构。

规范级别的部署图显示了将构件部署到部署目标的概述,而不涉及具体构件实例或节点实例。

实例级别的部署图显示了将构件实例部署到特定的部署目标实例。例如,它可以用于显示在开发、暂存或生产环境中的部署差异,包括特定构建或部署服务器或设备的名称/ID。

2. staruml deployment 图标含义

  • Component

    组件是代表系统的模块化部分的类,具有封装的内容,并且其表现形式在其环境中可以替换。

    组件的行为是通过提供的接口和需要的接口来定义的(通过端口可能公开)。

    组件充当一种类型,其符合性由这些提供的和需要的接口定义(涵盖静态和动态语义)。因此,只有两个类型兼容的组件才能相互替换。

    系统的更大功能块可以通过将组件作为部分在包容组件或组件组装中重复使用,并通过连接它们的需要和提供的接口来组装。

    组件在开发生命周期中进行建模,并逐步演化为部署和运行时。一个组件可以由一个或多个构件来体现。

    间接实例化的组件在设计时定义,但在执行时不作为可寻址的对象存在。组件及其端口的运行时行为由实现它的分类器或部件的运行时行为来定义。一些标准的元型(如«Specification»、«Focus»、«Subsystem»)假设了这个属性。

    组件的内部是隐藏的,并且除了通过其接口提供的内容外,无法访问。尽管它可能依赖于其他元素的接口,但组件是封装的,其依赖关系的设计使其尽可能独立处理。

  • Artifact

    构件是代表某种物理实体的分类器,它是软件开发过程或系统部署和运行过程中使用或产生的信息片段。构件是部署到节点的来源。构件的特定实例(或“副本”)被部署到节点实例上。

    一些UML构件的真实生活例子包括:

    文本文档 源文件 脚本 二进制可执行文件 存档文件 数据库表格

  • Interface
    接口
  • Frame

    "Frame"(框架)是一种用于组织和展示模型元素的视觉容器。它可以用于将相关的模型元素组织在一起,形成逻辑或功能上的分组。

    框架提供了一种在模型中创建逻辑上独立的子集的方式,以便更好地组织和管理模型的结构。它可以包含多个模型元素,如类、接口、用例等,并将它们作为一个整体进行显示。

    框架通常以矩形或者类似的形状表示,并可以在模型图中嵌套使用。它可以具有标题、边框和其他可视属性,以帮助标识和区分不同的框架。

    使用框架可以提高模型的可读性和可维护性,特别是当模型包含大量的元素时。它可以将相关的元素组织在一起,使其更易于理解和管理。

  • Dependency
    依赖

     
  • Interface Realiztion
    接口实现
  • Component Realization

    Component Realization 是 UML 中的一个关系,用于表示一个组件通过另一个组件或类进行实现或实现。它表示实现组件提供了被实现组件所规定的行为。

    Component Realization 关系用于描述一个组件的内部结构如何由一个或多个其他组件或类来实现。通常以虚线和带有开放箭头的线来表示,箭头指向被实现组件。

    实现组件或类定义了满足被实现组件的需求和规范所需的操作和属性。它可以被看作是实现被实现组件所规定的抽象行为的具体实现。

    Component Realization 允许在系统中进行模块化和关注点分离,其中高层次的组件定义了整体的结构和行为,而低层次的组件或类提供了详细的实现。

  • Node

    节点是代表用于执行部署构件的计算资源的部署目标。

    节点以透视、三维视图的立方体形式展示。

    节点与构件的部署相关联,并间接与参与构件的实现的可打包元素相关联。

    节点可以通过通信路径相互连接。可以在节点之间定义通信路径,例如应用服务器和数据库服务器之间的通信路径,以定义节点之间的可能通信路径。然后可以通过节点实例之间的链接定义特定的网络拓扑。

  • Deployment

    部署是描述将构件分配(部署)到部署目标的依赖关系。部署也可以在实例级别上进行定义,即将特定构件实例分配给特定的部署目标实例。

    组件部署是将一个或多个构件或构件实例部署的过程,可选择由部署规范进行参数化。

    目前尚不清楚为什么UML将部署定义为依赖关系,而不是关联或仅仅是有向关系。主要的矛盾在于,UML中的依赖关系在运行时没有任何影响,并且是根据模型元素而不是根据实例来定义的。与此同时,UML 2.4允许并展示了将构件实例部署到节点实例的示例。

    部署可以被表示为从构件(供应者)指向部署目标(客户端)的依赖关系,并且标有«deploy»。需要注意的是,依赖关系通常是从客户端指向供应者,即与UML 2.4对于部署的推荐方向相反。然而,UML规范允许根据用户的规定改变依赖关系的方向。

  • Communication Path

通信路径是两个部署目标之间的关联,通过它们可以交换信号和消息。通信路径被表示为关联,并且与关联相比,它没有额外的表示方法。

  • Object

    在部署图中,"Object"(对象)指的是表示在部署目标上运行的软件或硬件实体。它可以是一个具体的实例、一个组件的实例,或者是一个部署目标上的其他实体。

    在部署图中,对象用于表示部署在节点上的实体,可以是一个运行的软件组件、一个硬件设备、一个执行环境等。对象代表了系统中的一个实体,可以执行特定的功能或提供特定的服务。

    对象可以具有属性、操作和关联关系,可以与其他对象进行通信和交互。它们可以在部署图中通过链接和关系与节点、组件、连接路径等元素相连接。

    通过对象的表示,部署图可以展示系统中不同部分之间的关系和交互,以及它们在部署目标上的具体实例化和运行情况。

    总结起来,部署图中的对象表示在部署目标上运行的软件或硬件实体,代表了系统中的一个具体实例或部署实体,用于展示系统中不同部分的关系和交互。


     
  • Artifact Instance

    Artifact Instance(构件实例)指的是系统或部署环境中一个特定的构件发生或实例化的情况。构件实例代表了构件的一个具体副本或实例,该实例存在于特定的节点或部署目标上。

    在软件开发和部署中,构件通常作为独立的实体创建和管理,可以在不同的环境中多次实例化。每个构件的实例化都会创建一个构件实例。

    构件实例用于表示系统中构件的具体实现或部署。它们记录了构件在给定部署场景中的具体配置、状态和位置。构件实例可以与它们部署或执行的特定节点或部署目标相关联。

    通过跟踪构件实例,可以管理和监控系统中个别构件的部署、执行和生命周期。它允许对系统中的具体构件实例进行精细的控制和了解,便于故障排除、维护和扩展性。

  • Component Instance

    Component Instance(组件实例)是指系统或部署环境中一个特定的组件的具体实例或发生。组件实例代表了组件在系统中的一个具体副本或实例,可以与其他组件相互交互并执行特定的功能。

    在软件系统中,组件是系统的模块化部分,可以被实例化多次以构建系统的不同部分或功能。每个组件的实例化都会创建一个组件实例。

    组件实例包含了组件的状态、属性和行为,它们在系统中具有独立的存在和运行状态。组件实例可以与其他组件实例进行通信、交互和协作,以完成系统的功能和任务。

    组件实例可以在系统中动态创建、部署和销毁,具体取决于系统的需求和执行环境。它们可以与其他组件实例、节点或部署目标相关联,并通过接口和消息进行通信。

    通过跟踪组件实例,可以监控系统中每个组件的状态和行为,进行故障排除、性能优化和资源管理。组件实例的管理和调度对于系统的运行和可扩展性至关重要。

    总结起来,组件实例是系统或部署环境中一个组件的具体实例或发生,代表了组件的状态和行为,并与其他组件实例相互交互以实现系统的功能。

  • Node Instance​​​​​​​

    Node Instance(节点实例)指的是系统或部署环境中一个特定的节点的具体实例或发生。节点实例代表了系统中的一个具体节点,即计算资源的实际运行实例。

    在系统部署中,节点是指代计算资源的硬件设备或软件执行环境。节点实例表示了特定节点的一个具体实例,它可以承载部署的构件或实现特定的功能。

    节点实例包含了节点的特定配置、状态和运行情况。它们可以具有独立的网络地址、计算能力和存储资源,用于执行和支持部署在节点上的软件构件。

    节点实例可以在系统部署过程中动态创建、启动和关闭。它们可以与其他节点实例进行通信和协作,以实现系统的分布式功能和资源共享。

    通过跟踪节点实例,可以监控系统中每个节点的状态和资源利用情况,进行负载均衡、故障恢复和性能优化。节点实例的管理和调度对于系统的可靠性和可扩展性非常重要。

    总结起来,节点实例是系统或部署环境中一个节点的具体实例或发生,代表了节点的配置、状态和运行情况,用于承载部署的构件和支持系统的功能。

  • Link​​​​​​​

    在 UML 中,"Link"(链接)是指连接两个或多个模型元素的关系。它表示模型元素之间的关联、依赖或关系。

    链接可以用来描述模型元素之间的静态或动态连接。它可以表示不同元素之间的关系,如类之间的关联、接口之间的依赖、组件之间的通信等。

    链接通常以线条或箭头的形式表示,箭头的指向和样式取决于链接的类型和语义。例如,关联链接使用实线表示两个类之间的关联关系,依赖链接使用虚线表示一个元素依赖于另一个元素。

    链接在系统建模中起着重要的作用,它们帮助捕捉模型元素之间的关系和交互,提供了对系统结构和行为的更深入的理解。通过链接,可以在模型中建立元素之间的关联性,促进模型的可读性和可维护性。

  • DirectedLink​​​​​​​

    Directed Link(有向链接)是一种在 UML 中表示有方向性的链接关系的关系类型。它描述了一个链接从一个模型元素指向另一个模型元素的方向。

    有向链接用于表示在两个模型元素之间存在一个有向的关联、依赖或关系。它表明链接具有一个起点和一个终点,指示了信息或影响的流动方向。

    有向链接通常用箭头表示,箭头指向链接的终点。箭头的方向表示了信息或影响的流动方向,从起点指向终点。

    有向链接在系统建模中具有重要的作用,它们帮助捕捉模型元素之间的单向关联、依赖或传递行为。通过有向链接,可以明确表示模型元素之间的信息流动、调用关系、依赖关系等。

    总之,有向链接是一种在 UML 中表示有方向性的链接关系的关系类型,通过箭头表示链接的起点和终点,并表示信息或影响的流动方向。

3.例子

1.应用部署图

2.k8s

​​​​​​​

分享到:

专栏

类型标签

网站访问总量