PlantUML オブジェクト図: ランタイムインスタンス
PlantUMLオブジェクト図でランタイムオブジェクトインスタンスとその関係を可視化。具体的な値、オブジェクト間のリンク、スナップショット状態を表示。
Object Diagrams
詳細な説明
ランタイムインスタンスのオブジェクト図
オブジェクト図は特定の時点でのシステムのスナップショットを示します。型を示すクラス図とは異なり、オブジェクト図は具体的な値を持つインスタンスを示します。
基本的なオブジェクト表記
@startuml
title 注文 #1234 — スナップショット
object "order1234: Order" as order {
orderId = "ORD-1234"
status = "Processing"
createdAt = "2024-03-15T10:30:00Z"
totalAmount = "$149.97"
}
object "item1: OrderItem" as item1 {
lineId = "LI-001"
productName = "ワイヤレスマウス"
quantity = 1
unitPrice = "$29.99"
}
object "item2: OrderItem" as item2 {
lineId = "LI-002"
productName = "USB-Cハブ"
quantity = 2
unitPrice = "$59.99"
}
order *-- item1
order *-- item2
@enduml
命名規則
オブジェクト名はUML規約に従います: instanceName: ClassName。インスタンス名はオプションですが、明確さのために推奨されます。
オブジェクト図を使用すべき場面
バグレポート: バグ発生時のオブジェクトの正確な状態を示します。散文の説明よりはるかに正確です。
テストドキュメント: テストシナリオ完了後のオブジェクトの期待状態をドキュメント化します。
設計検証: 具体的なインスタンスを作成して、クラス図の設計が実際のデータで機能するかを検証します。
オブジェクト間の関係
object "user42: User" as u {
name = "Alice"
}
object "cart: ShoppingCart" as c {
itemCount = 3
}
u -- c : owns
オブジェクト間のリンクはオプションのロールラベル付きの実線を使用します。
ユースケース
正確なオブジェクト状態を含む詳細なバグレポートの作成、テストフィクスチャと期待結果のドキュメント、実世界データに対するドメインモデル設計の検証、コードレビュー中の複雑なランタイムシナリオの説明。