トップ
トップ >  オブジェクト指向 >  UML >  シーケンス図
シーケンス図
概要
メッセージの(送受信)やりとりを時系列にしたがって示す図です。

表記法
要素表記説明
ライフラインライフラインメッセージをやりとりする主体です。長方形の下に点線を描きます。
メッセージ同期メッセージ同期メッセージ同期化されたメッセージ。このメッセージが終了するまで次のメッセージは送られません。
非同期メッセージ非同期メッセージ同期化されていないメッセージです。
リターンリターンメッセージの戻りを示します。省略可能です。
実行指定(旧活性区間)実行指定処理の開始から終了を長方形で表します。省略可能です。
ライフラインの消滅ライフラインの消滅ライフラインの消滅を表します。
結合フラグメント結合フラグメントさまざまな作用を付与するフレームです。
相互作用相互作用他のシーケンス図から参照させたい場合に使います。
相互作用使用相互作用使用相互作用を参照させる場合に使います。

結合フラグメント
結合フラグメントを使用して、分岐や反復を表せます。 結合フラグメント
ヘッダー名正式名称書式説明
altalternativesalt分岐
optoptionopt実行の有無
looplooploop{(回数) | (開始,終了)}反復
breakbreakbreak中断
parparallelpar並列
seqweak sequencingseq緩い順序性
strictstrict sequencingstrict厳格な順序性
criticalcritical regioncritical割り込み禁止
ignoreignoreignore メッセージ[,メッセージ]…無視
considerconsiderconsider メッセージ[,メッセージ]…考慮
negnegativeneg無効
assertassertionassert表明

解説
オブジェクト同士のメッセージのやり取りを表現するための図です。
時系列にそって表現するため、メッセージの順序が明確になります。
左端を開始とし、右に向かってメッセージが流れるような配置を心がけます。
メソッドの漏れを検出できます。

使用例
要素表記説明
生成生成インスタンスの生成です。
メッセージ送受信メッセージ送受信例ライフラインAからライフラインBにメッセージ1を送信することを表します。
再帰メッセージ例2ライフラインが自分自身にメッセージを送ることを表します。再帰は省略されることが多いです。
分岐分岐分岐です。ガードとは条件のことです。
分岐分岐条件を満たす場合のみ実行されます。
ループループループです。
ブレイクブレイクループを抜ける条件です。
パラレルパラレルシーケンス1とシーケンス2は並行に行われます。
シーケンスシーケンス同じライフラインからのメッセージのみ順序を保証します。
ストリクトストリクト全てのメッセージの順序を保証します。
クリティカルクリティカル排他により他からの割り込みを受け付けないことを表します。

詳細
要素表記説明
拾得メッセージ拾得メッセージメッセージの送り手が不明であることを示します。
消失メッセージ消失メッセージメッセージの受け手が不明であることを示します。
ゲートゲート外部からのメッセージと外部へのメッセージを示します。
ゲート
並置領域(コリージョン)並置領域受信順序は不定であることを示します。
要素表記説明
拾得メッセージ拾得メッセージライフラインAはメッセージを受信しますが、送信者名は不明です。
消失メッセージ消失メッセージライフラインAはメッセージを送信しますが、受信者名は不明です。
ゲートゲートライフラインAはは外部にメッセージを送信します。
並置領域並置領域ライフラインAとメッセージBの受信は順序が不定であることを表します。

新旧対応(2.0と1.5)
1.5との相違点です。
項目2.01.5説明
シーケンス番号なしメッセージ先頭に番号:の形式で付与可能(省略可能)1.5ではメッセージにシーケンス番号を付与できます。
ライフラインライフラインオブジェクトオブジェクト
ライフラインライフライン
1.5ではメッセージ送受信はオブジェクトが行います。オブジェクトの有効期間をライフラインと言います。
実行指定実行指定活性区間1.5では活性区間と言います。
結合フラグメント2.0では結合フラグメントを使用します。
生成生成生成2.0では生成メッセージは点線で示します。
トップ >  オブジェクト指向 >  UML >  シーケンス図