これはアクティビティ図の古い記法です。現行の新しいバージョンは、
アクティビティ図を参照してください。
(*)
をアクティビティ図の開始点と終了点に使います。
場合によっては、
(*top)
を使用して開始点を図の一番上に置くこともできます。
-->
で矢印を表します。
🎉 Copied!
|
@startuml
(*) --> "First Activity"
"First Activity" --> (*)
@enduml
|
デフォルトで、矢印は最後に書いたアクティビティを起点に描かれます。
矢印にラベルを付けるには、矢印の定義の直後に角括弧
[
と
]
を使います。
🎉 Copied!
|
@startuml
(*) --> "First Activity"
-->[You can put also labels] "Second Activity"
--> (*)
@enduml
|
水平矢印には
->
を使用できます。次の構文を使用して矢印の方向を強制することができます。
-down->
(デフォルトの矢印)
-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
を使用して、図面の色とフォントを変更することができます。
このコマンドを使用することができます:
- 図の定義中では、他のコマンドと同様に、
- インクルードされたファイルの中で、
- コマンドラインまたは 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
|