PlantUML
を使った
UML
の描き方
言語リファレンスガイド
(2017
年
9
月
3
日
17:17)
PlantUML
は以下のような図を手早く書くためのオープンソースプロジェクトです。
•
シーケンス図
•
ユースケース図
•
クラス図
•
アクティビティ図
•
コンポーネント図
•
状態遷移図
•
オブジェクト図
これらの図はシンプルかつ直感的な言語によって定義されています。
1
シーケンス図
1
シーケンス図
1.1
基本的な例
シーケンス
”
->
”
を、
2
つの分類子間のメッセージを描画するために使います。分類子を、明示的に宣
言する必要はありません。
点線の矢印を使う場合は、
”
-->
”
とします。
また、
”
<-
”
や
”
<--
”
を使うこともできます。これらは図を変更することなく、可読性を高めること
ができます。ただし、以上の方法はシーケンス図だけに当てはまります。ほかの種類の図には当ては
まりません。
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
1.2
分類子の宣言
キーワード
participant
を使って、分類子の並び順を変えることができます。
分類子の宣言に別のキーワードを使用することも可能です:
•
actor
•
boundary
•
control
•
entity
•
database
@startuml
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
collections Foo6
Foo1 -> Foo2 : To boundary
Foo1 -> Foo3 : To control
Foo1 -> Foo4 : To entity
Foo1 -> Foo5 : To database
Foo1 -> Foo6 : To collections
@enduml
PlantUML :
言語リファレンスガイド
(2017
年
9
月
3
日
)
1 of
126
1.3
分類子名にアルファベット以外を使う
1
シーケンス図
キーワード
as
を使って分類子の名前を変更することができます。
アクターや分類子の背景色を、
HTML
コードや色名を使って変更することもできます。
@startuml
actor Bob #red
' The only difference between actor
'and participant is the drawing
participant Alice
participant "I have a really\nlong name" as L #99FF99
/' You can also declare:
participant L as "I have a really\nlong name" #99FF99
'/
Alice->Bob: Authentication Request
Bob->Alice: Authentication Response
Bob->L: Log transaction
@enduml
1.3
分類子名にアルファベット以外を使う
分類子を定義するときに引用符を使用することができます。そして、分類子にエイリアスを与えるた
めにキーワード
as
を使用することができます。
@startuml
Alice -> "Bob()" : Hello
"Bob()" -> "This is very\nlong" as Long
' You can also declare:
' "Bob()" -> Long as "This is very\nlong"
Long --> "Bob()" : ok
@enduml
PlantUML :
言語リファレンスガイド
(2017
年
9
月
3
日
)
2 of
126