Диаграмма деятельности

Простая деятельность

Вы можете использовать (*) для начальных и конечных точек диаграммы деятельности.

В некоторых случаях,вы можете использовать (*top) чтобы указать что начальная точка должна быть в верху диаграммы.

Используйте --> для стрелок.

🎉 Copied!

@startuml

(*) --> "First Activity"
"First Activity" --> (*)

@enduml

Метка на стрелках

По умолчанию, стрелка начинается с последней использованной активности.

Вы можете пометить стрелку при помощи скобок [ и ] сразу после определения стрелки.

🎉 Copied!

@startuml

(*) --> "First Activity"
-->[You can put also labels] "Second Activity"
--> (*)

@enduml

Изменение направления стрелки

Вы можете использовать -> для горизонтальных стрелок. Возможно задать направление стрелки используя следующий синтаксис:
  • -down-> (default arrow)
  • -right-> or ->
  • -left->
  • -up->

🎉 Copied!

@startuml

(*) -up-> "First Activity"
-right-> "Second Activity"
--> "Third Activity"
-left-> (*)

@enduml

Ветвления

Вы можете использовать ключевые слова if/then/else чтобы определять ветки.

🎉 Copied!

@startuml
(*) --> "Initialization"

if "Some Test" then
  -->[true] "Some Activity"
  --> "Another activity"
  -right-> (*)
else
  ->[false] "Something else"
  -->[Ending process] (*)
endif

@enduml

К сожалению, вам иногда придётся повторять ту же активность в тексте диаграммы:

🎉 Copied!

@startuml
(*)  --> "check input"
If "input is verbose" then
--> [Yes] "turn on verbosity"
--> "run command"
else
--> "run command"
Endif
-->(*)
@enduml

Больше о ветках

По умолчанию, ветка соединена к последней заданной активности, но возможно переопределить это и задать связь с помощью ключевого слова if.

Также возможно создавать вложенные ветки.

🎉 Copied!

@startuml

(*) --> if "Some Test" then

  -->[true] "activity 1"

  if "" then
    -> "activity 3" as a3
  else
    if "Other test" then
      -left-> "activity 5"
    else
      --> "activity 6"
    endif
  endif

else

  ->[false] "activity 2"

endif

a3 --> if "last test" then
  --> "activity 7"
else
  -> "activity 8"
endif

@enduml

Синхронизация

Вы можете использовать === code ===, чтобы отобразить барьеры синхронизации.

🎉 Copied!

@startuml

(*) --> ===B1===
--> "Parallel Activity 1"
--> ===B2===

===B1=== --> "Parallel Activity 2"
--> ===B2===

--> (*)

@enduml

Длинное описание активности

Когда вы задаёте активность, вы можете разделить её описание на несколько линий. Вы также можете добавть \n в описание.

Вы также можете задать короткий код активности с помощью ключевого слова as. Этот код может быть использован позже в описании диаграммы.

🎉 Copied!

@startuml
(*) -left-> "this <size:20>activity</size>
is <b>very</b> <color:red>long2</color>
and defined on several lines
that contains many <i>text</i>" as A1

-up-> "Another activity\n on several lines"

A1 --> "Short activity <img:sourceforge.jpg>"
@enduml

Заметки

Вы можете добавить заметки к активности используя команды note left, note right, note top or note bottom, Сразу после описания активности. к которой вы хотите прикрепить заметку.

Если вы хотите прикрепить заметку к точку начала, задайте метку в самом начале описания диаграммы.

Вы также можете создать заметку на нескольких линиях, используя ключевое слово endnote.

🎉 Copied!

@startuml

(*) --> "Some Activity"
note right: This activity has to be defined
"Some Activity" --> (*)
note left
 This note is on
 several lines
end note

@enduml

Разделы

Вы можете задать раздел используя ключевое слово partition, и опционально задать цвет фона для своего раздела (Используя код цвета html или название цвета)

Когда вы задаёте активность, они автоматически попадают в последнюю заданную активность.

Вы можете закрыть раздел используя закрывающую скобку }.

🎉 Copied!

@startuml

partition Conductor {
  (*) --> "Climbs on Platform"
  --> === S1 ===
  --> Bows
}

partition Audience #LightSkyBlue {
  === S1 === --> Applauds
}

partition Conductor {
  Bows --> === S2 ===
  --> WavesArmes
  Applauds --> === S2 ===
}

partition Orchestra #CCCCEE {
  WavesArmes --> Introduction
  --> "Play music"
}

@enduml

Skinparam

Вы можете использовать команду skinparam чтобы изменить цвет и шрифт рисования.

Вы можете использоват команду :
  • В определении диаграммы, как любую другую команду,
  • В подключаемом файле,
  • В конфигурационном файле, подставленный в командной строке ANT задания.
Вы можете задать определённый цвет и шрифт для активностей с шаблоном.

🎉 Copied!

@startuml

skinparam backgroundColor #AAFFFF
skinparam activity {
  StartColor red
  BarColor SaddleBrown
  EndColor Silver
  BackgroundColor Peru
  BackgroundColor<< Begin >> Olive
  BorderColor Peru
  FontName Impact
}

(*) --> "Climbs on Platform" << Begin >>
--> === S1 ===
--> Bows
--> === S2 ===
--> WavesArmes
--> (*)

@enduml

Восьмиугольник

Вы можете изменить форму активностей на восьмиугольник, используя команду skinparam activityShape octagon.

🎉 Copied!

@startuml
'Default is skinparam activityShape roundBox
skinparam activityShape octagon

(*) --> "First Activity"
"First Activity" --> (*)

@enduml

Полноценный пример

🎉 Copied!

@startuml
title Servlet Container

(*) --> "ClickServlet.handleRequest()"
--> "new Page"

if "Page.onSecurityCheck" then
  ->[true] "Page.onInit()"

  if "isForward?" then
   ->[no] "Process controls"

   if "continue processing?" then
     -->[yes] ===RENDERING===
   else
     -->[no] ===REDIRECT_CHECK===
   endif

  else
   -->[yes] ===RENDERING===
  endif

  if "is Post?" then
    -->[yes] "Page.onPost()"
    --> "Page.onRender()" as render
    --> ===REDIRECT_CHECK===
  else
    -->[no] "Page.onGet()"
    --> render
  endif

else
  -->[false] ===REDIRECT_CHECK===
endif

if "Do redirect?" then
 ->[yes] "redirect request"
 --> ==BEFORE_DESTROY===
else
 if "Do Forward?" then
  -left->[yes] "Forward request"
  --> ==BEFORE_DESTROY===
 else
  -right->[no] "Render page template"
  --> ==BEFORE_DESTROY===
 endif
endif

--> "Page.onDestroy()"
-->(*)

@enduml


Privacy Policy      Advertise