PlantUMLを使えば、テキストベースでオブジェクト図を簡単に作成できます。この記事では、オブジェクト図の各要素の記述方法を詳しく解説していきます。
PlantUMLとは?
PlantUMLは、シンプルなテキスト記述でUMLダイアグラムやフローチャートを作成できるツールです。 専用の構文を覚える必要はありますが、一度慣れてしまえば、GUIツールよりも素早く、そして美しくフローチャートを描けるようになります。 バージョン管理システムとの相性も抜群で、テキストベースなので変更履歴の追跡も簡単です。
UML・PlantUMLや、VSCode環境への導入方法等は以下にまとめていますので、こちらを参照ください。
オブジェクトの定義方法
オブジェクトを定義するには、object
キーワードを使用します。定義方法は3つあります:
@startuml
object "太郎 : ユーザーアカウント" as tarou
object "太郎" as tarou_object_name
object ": ユーザーアカウント" as tarou_class_name
@enduml
フィールドの設定
オブジェクトにフィールドを設定する方法は2種類あります:
@startuml
'個別にフィールドを設定
object "太郎 : ユーザーアカウント" as tarou
tarou : id = 1
tarou : age = 23
tarou : profile = "料理好き"
'まとめて設定
object "花子 : ユーザーアカウント" as hanako {
id = 2
age = 20
profile = "音楽好き"
}
@enduml
オブジェクト間の関連
オブジェクト間の関連を表現するには、以下の記号を使用します:
@startuml
'基本的な関連
object "太郎 : ユーザー" as user
object "カレーの作り方 : 記事" as article
user -- article
'関連に名前をつける
object "花子 : ユーザー" as user2
object "ピアノ演奏のコツ : 記事" as article2
user2 "作成者" -- "コンテンツ" article2
@enduml
関連の種類
関連には様々な種類があります:
@startuml
'各種関連の表現
object "親クラス" as parent
object "子クラス" as child
object "全体" as whole
object "部分" as part
object "集合体" as aggregate
object "要素" as element
object "オブジェクトA" as objA
object "オブジェクトB" as objB
'継承
parent <|-- child
'コンポジション(強い集約)
whole *-- part
'集約
aggregate o-- element
'点線の関連
objA .. objB
@enduml
マップテーブルの定義
連想配列を表現するためのマップテーブルも定義できます:
@startuml
map ユーザー情報 {
id => 1
name => "太郎"
age => 23
email => "taro@example.com"
}
map システム設定 {
version => "1.0.0"
language => "ja"
theme => "dark"
}
@enduml
まとめ
PlantUMLを使えば、テキストベースでオブジェクト図を簡単に作成できます。オブジェクトの定義、フィールドの設定、関連の表現など、基本的な要素を組み合わせることで、複雑なオブジェクト図も表現することができます。これらの要素を組み合わせることで、システムの状態や構造を分かりやすく表現できます。
参考情報
オブジェクト図についてより詳細や機能については、以下を参照ください。
https://plantuml.com/ja-dark/object-diagram
この記事が、あなたの役に立てば幸いです!
コメント