UMLシーケンス図は、操作の実行方法を詳細に説明する相互作用図です。コラボレーションの文脈でオブジェクト間の相互作用を捉えます。シーケンス図は時間を重視したものであり、ダイアグラムの縦軸を使用して、どのメッセージがいつ送信されたかを表す時間を使用して、対話の順序を視覚的に示します。

UMLダイアグラム階層内のシーケンス図

シーケンス図のキャプチャ:

  • ユースケースまたは操作を実現するコラボレーションで行われる対話(インスタンス図または一般図)
  • システムのユーザーとシステムの間、システムと他のシステムの間、またはサブシステム間の高レベルの対話(システムシーケンス図とも呼ばれる)

より早く、より簡単にUMLを学ぶ

あなたはより早く、より簡単にそしてより早くUMLを学ぶための無料のUMLツールを探していますか?Visual Paradigm Community Editionは、すべてのUML図タイプをサポートするUMLソフトウェアです。それは国際的な賞を受賞したUMLモデラーですが、それでも使いやすく直感的で完全に無料です。

シーケンス図の目的

  • システム内のアクティブオブジェクト間の高度な対話をモデル化する
  • ユースケースを実現するコラボレーション内のオブジェクトインスタンス間の相互作用をモデル化する
  • 操作を実現するコラボレーション内のオブジェクト間の相互作用をモデル化する
  • 一般的な相互作用(相互作用を通るすべての可能な経路を示す)または相互作用の特定のインスタンス(相互作用を通るただ1つの経路を示す)をモデル化します。

ひと目でわかるシーケンス図

シーケンス図は、時間の経過とともに相互作用する要素を示し、それらはオブジェクト(水平方向)と時間(垂直方向)に従って編成されています。

オブジェクト寸法

  • 横軸はインタラクションに関わる要素を示しています
  • 従来は、操作に関連するオブジェクトは、メッセージシーケンスに参加するタイミングに従って、左から右にリストされていました。ただし、横軸の要素は任意の順序で表示されることがあります。

時間ディメンション

  • 縦軸は、ページの進行時間(または進行時間)を表します。

ご了承ください:

シーケンス図の時間は、時間ではなく順序に関するものです。相互作用図の垂直方向のスペースは、相互作用の期間には関係ありません。

シーケンス図の例:ホテルシステム

シーケンス図は、操作がどのように実行されるか - どのメッセージがいつ送信されるのかを詳細に示す相互作用図です。シーケンス図は時間に従って編成されています。ページを進むにつれて時間が経過します。操作に関連するオブジェクトは、メッセージシーケンスに参加したタイミングに従って、左から右にリストされています。

以下はホテル予約のシーケンス図です。一連のメッセージを開始するオブジェクトは予約ウィンドウです。

シーケンス図の例

注:クラス図とオブジェクト図は静的モデルビューです。相互作用図は動的です。それらはオブジェクトがどのように協調するかを記述します。

シーケンス図の表記

表記説明

視覚的表現

俳優

  • 主体と相互作用するエンティティによって果たされる役割のタイプ(例えば、信号とデータを交換することによって)
  • 主体の外部にある(つまり、あるアクターのインスタンスが対応する主体のインスタンスの一部ではないという意味で)。
  • 人間のユーザ、外部ハードウェア、または他の主題によって演じられる役割を表します。

ご了承ください:

  • アクターは必ずしも特定の物理的実体を表すのではなく、単にある実体の特定の役割を表す
  • 人はいくつかの異なる俳優の役割を果たすことができ、そして逆に、所与の俳優は複数の異なる人によって演じられることができる。

俳優

命綱

  • ライフラインはインタラクションの個々の参加者を表します。

命綱

アクティベーション

  • ライフライン上の細い長方形は、要素が操作を実行している期間を表します。
  • 長方形の上部と下部は、それぞれ開始時間と完了時間に揃えられます。

アクティベーション

メッセージを呼び出す

  • メッセージは、相互作用のライフライン間の特定の通信を定義します。
  • 呼び出しメッセージは、ターゲットライフラインの操作の呼び出しを表す一種のメッセージです。

メッセージを呼び出す

返信メッセージ

  • メッセージは、相互作用のライフライン間の特定の通信を定義します。
  • 返信メッセージは、対応する元のメッセージの発信者への情報の受け渡しを表す一種のメッセージです。

返信メッセージ

自己メッセージ

  • メッセージは、相互作用のライフライン間の特定の通信を定義します。
  • 自己メッセージは、同じライフラインのメッセージの呼び出しを表す一種のメッセージです。

自己メッセージ

再帰メッセージ

  • メッセージは、相互作用のライフライン間の特定の通信を定義します。
  • 再帰メッセージは、同じライフラインのメッセージの呼び出しを表す一種のメッセージです。ターゲットは、メッセージが呼び出されたアクティベーションの上にあるアクティベーションを指しています。

再帰メッセージ

メッセージを作成

  • メッセージは、相互作用のライフライン間の特定の通信を定義します。
  • メッセージ作成は、(ターゲット)ライフラインのインスタンス化を表す一種のメッセージです。

メッセージを作成

メッセージを破棄

  • メッセージは、相互作用のライフライン間の特定の通信を定義します。
  • Destroy messageは、ターゲットライフラインのライフサイクルを破壊する要求を表す一種のメッセージです。

メッセージを破棄

期間メッセージ

  • メッセージは、相互作用のライフライン間の特定の通信を定義します。
  • Durationメッセージは、メッセージ呼び出しの2つの時刻の間の距離を示します。

期間メッセージ

注意

メモ(コメント)は、さまざまなコメントを要素に添付する機能を提供します。コメントは意味を持たないが、モデラーにとって有用な情報を含んでいるかもしれない。

注意

メッセージと統制の焦点

  • イベントとは、何かが起こる相互作用のあらゆる点です。
  • 制御の焦点:実行オカレンス、実行オカレンスとも呼ばれる
  • それは、ライフライン上の背の高い、細い長方形として表示されます。
  • 要素が操作を実行している期間を表します。長方形の上部と下部は、それぞれ開始時間と完了時間に揃えられます。

メッセージと統制の焦点

シーケンスフラグメント

  • UML 2.0はシーケンス(または相互作用)フラグメントを導入しています。シーケンスフラグメントにより、正確なシーケンス図の作成と管理が容易になります。
  • シーケンスフラグメントはボックスとして表現され、結合フラグメントと呼ばれ、シーケンス図内の相互作用の一部を囲みます。
  • フラグメント演算子(左上のコルネットにあります)はフラグメントのタイプを示します
  • フラグメントタイプ:ref、assert、loop、break、alt、opt、neg

断片

オペレーター

フラグメントの種類

オルト

代替の複数のフラグメント:条件が真であるものだけが実行されます。

オプト

オプション:フラグメントは、指定された条件が真の場合にのみ実行されます。トレースが1つだけのaltに相当します。

パー

並列:各フラグメントは並列に実行されます。

ループ

ループ:フラグメントは複数回実行される可能性があり、ガードは反復の基礎を示します。

領域

クリティカル領域:フラグメントは一度に1つのスレッドしか実行できません。

ネガ

否定:フラグメントは無効なインタラクションを示しています。

参照

参照:他の図で定義されているインタラクションを指します。フレームはインタラクションに関わるライフラインをカバーするように描かれています。パラメータと戻り値を定義できます。

SD

シーケンス図:シーケンス図全体を囲むために使用されます。

ご了承ください:

  • 例えばループまたは分岐を捕捉するためにフレームを組み合わせることが可能である。
  • フラグメントキーワードの組み合わせ:alt、opt、break、par、seq、strict、neg、critical、無視、検討、アサート、およびループ。
  • 制約は通常、メッセージのタイミング制約を示すために使用されます。それらは1つのメッセージのタイミングまたはメッセージ間の間隔に適用できます。

複合フラグメントの例

複合フラグメントの例

ユースケースシナリオをモデル化するためのシーケンス図

ユーザー要件は、シナリオに洗練されたユースケースとして取り込まれます。ユースケースは、外部アクターとシステム間の相互作用の集合です。UMLでは、ユースケースは次のとおりです。

「システム(またはエンティティ)がシステムのアクターと対話しながら実行できる、バリアントを含む一連のアクションの仕様。」

シナリオとは、シーケンス図で表されることが多いシステムの特定の実行中に発生する一連のイベントを記述するユースケースを通る1つのパスまたはフローです。

ユースケースのシーケンス図

シーケンス図 - コードの前のモデル

シーケンス図はコードレベルに多少近づくことがあるので、シーケンス図として描くのではなく、単にそのアルゴリズムをコード化しないのはなぜですか。

  • 良いシーケンス図は、まだ実際のコードのレベルより少し上です。
  • シーケンス図は言語に依存しません
  • 非コーダーはシーケンス図を行うことができます
  • チームとしてシーケンス図をより簡単に作成
  • テストおよび/またはUX Wireframingに使用できます

UMLシーケンス図を今すぐ作ろう

シーケンス図とは何か、そしてシーケンス図の描き方を学びました。あなた自身のシーケンス図を描く時が来ました。無料のUMLモデリングツールであるVisual Paradigm Community Editionを入手し、無料のシーケンス図ツールで独自のシーケンス図を作成してください。それは使いやすく直感的です。

関連リンク

視覚的パラダイムオンライン

コメント

コメントフォーム
記事の評価
  • リセット
  • リセット