Диаграмма развертывания

Диаграмма развертывания - это тип диаграммы, визуализирующий архитектуру систем, показывающий, как программные компоненты развертываются на аппаратном обеспечении. Она дает четкое представление о распределении компонентов по различным узлам, таким как серверы, рабочие станции и устройства.

С помощью PlantUML создание диаграмм развертывания становится простым делом. Платформа предлагает простой и интуитивно понятный способ создания таких диаграмм с использованием обычного текста, что обеспечивает быстроту итераций и удобство контроля версий. Кроме того, форум PlantUML представляет собой активное сообщество, где пользователи могут обращаться за помощью, делиться идеями и совместно решать проблемы, связанные с созданием диаграмм. Одним из ключевых преимуществ PlantUML является его способность легко интегрироваться с различными инструментами и платформами, что делает его предпочтительным выбором как для профессионалов, так и для энтузиастов.

Объявление элемента

Для длинного описания можно дополнительно поместить текст с помощью скобок [].

Declaring element (using short form)

We can declare element using some short forms.

Long form Keyword Short form Keyword Long form example Short form example Ref.
actor : a : actor actor1 :actor2: Actors
component [ c ] component component1 [component2] Components
interface () i interface interface1 () "interface2" Interfaces
usecase ( u ) usecase usecase1 (usecase2) Usecases

Actor

NB: There is an old syntax for actor with guillemet which is now deprecated and will be removed some days. Please do not use in your diagram.

Component

Interface

Usecase

Linking or arrow

You can create simple links between elements with or without labels:

It is possible to use several types of links:

You can also have the following types:

or another example:
[Ref. QA-547 and QA-1736]

⎘ See all type on Appendix.

Bracketed arrow style

Similar as Bracketed class relations (linking or arrow) style

Line style

It's also possible to have explicitly bold, dashed, dotted, hidden or plain arrows:

[Adapted from QA-4181]

Line color

Line thickness

[Adapted from QA-4949]

Mix

Change arrow color and style (inline style)

You can change the color or style of individual arrows using the inline following notation:

[Ref. QA-3770 and QA-3816] [See similar feature on class diagram]

Change element color and style (inline style)

You can change the color or style of individual element using the following notation:

[Ref. QA-6852]

Nestable elements

Here are the nestable elements:

Packages and nested elements

Example with one level

Other example

Full nesting

Here is all the nested elements:

Alias

Simple alias with as

Examples of long alias

[Ref. QA-12082]

Round corner

Specific SkinParameter

roundCorner

[Ref. QA-5299, QA-6915, QA-11943]

Appendix: All type of arrow line

Appendix: All type of arrow head or '0' arrow

Type of arrow head

Type of '0' arrow or circle arrow

Appendix: Test of inline style on all element

Simple element

Nested element

Without sub-element

With sub-element

Appendix: Test of style on all element

Simple element

Global style (on componentDiagram)

Style for each element

[Ref. QA-13261]

Nested element (without level)

Global style (on componentDiagram)

Style for each nested element

Nested element (with one level)

Global style (on componentDiagram)

Style for each nested element

Appendix: Test of stereotype with style on all element

Simple element

Display JSON Data on Deployment diagram

Simple example

[Ref. QA-15481]

For another example, see on JSON page.

Mixing Deployment (Usecase, Component, Deployment) element within a Class or Object diagram

In order to add a Deployment element or a State element within a Class or Object diagram, you can use the allowmixing or allow_mixing directive.

Mixing all elements

[Ref. QA-2335 and QA-5329]

Port [port, portIn, portOut]

You can added port with port, portinand portout keywords.

Port

PortIn

PortOut

Mixing PortIn & PortOut

Change diagram orientation

You can change (whole) diagram orientation with:

Top to bottom (by default)

With Graphviz (layout engine by default)

The main rule is: Nested element first, then simple element.

With Smetana (internal layout engine)

The main rule is the opposite: Simple element first, then nested element.

Left to right

With Graphviz (layout engine by default)

With Smetana (internal layout engine)