| UML図の種類 |
|---|
| 構造UML図 |
| 行動UML図 |


ソフトウェア工学において、シーケンス図[ 1 ] は、時系列に並べられたプロセスの相互作用を示します。この図は、関連するプロセスとオブジェクト、そして機能を実行するために必要に応じて交換されるメッセージのシーケンスを示します。シーケンス図は通常、 開発中のシステムの4+1アーキテクチャビューモデルにおけるユースケースの実現に関連付けられます。シーケンス図は、イベント図またはイベントシナリオと呼ばれることもあります。
ユースケースの特定のシナリオにおいて、図は外部アクターが生成するイベント、その順序、および起こり得るシステム間イベントを示します。[ 2 ]この図は、アクターからシステムへとシステム境界を越えて発生するイベントを強調しています。システムシーケンス図は、ユースケースの主要な成功シナリオ、および頻繁に発生する、あるいは複雑な代替シナリオについて作成する必要があります。
シーケンス図には 2 種類あります。
シーケンス図は、同時に実行される異なるプロセスまたはオブジェクトを平行な垂直線(ライフライン)で示し、それらの間で交換されるメッセージを発生順に水平矢印で示します。これにより、シンプルな実行時シナリオをグラフィカルに記述できます。
システム シーケンス図では、次の内容を指定して表示する必要があります。
専門家は、プロジェクト開発において、ユーザーとシステムの間で特定のタスクがどのように実行されるかを示すために、システムシーケンス図をよく使用します。これらのタスクには、反復的なタスク、単純なタスク、複雑なタスクなどが含まれます。その目的は、ユースケースを視覚的に表現することです。システムシーケンス図を作成するには、統一モデリング言語(UML)の知識が必要です。これらのモデルは、タスクを実行するアクター(システムに影響を与える人々)とシステムの背後にあるロジックを示します。シーケンス図の読み方は、ページ上部にあるアクターまたはシステムから始まります。各アクターまたはシステムの下には、「ライフライン」と呼ばれる長い点線が接続されています。アクションは、これらのライフライン間を結ぶ線によって実行されます。アクション線とライフラインの接続は、アクターまたはシステム間の相互作用を示します。システムシーケンス図の上部または下部には、アクションの詳細を示すメッセージが表示されることがよくあります。たとえば、アクターによるログイン要求は、ログイン(ユーザー名、パスワード)で表されます。各アクションが実行されると、そのレスポンスまたは次のアクションが前のアクションの下に表示されます。行を順に読むことで、提供されたモデル内で特定のアクションがどのように、どのような順序で実行されるかを詳細に確認できます。
ライフラインがオブジェクトのものであれば、それは役割を示します。インスタンス名を空白のままにしておくと、匿名のインスタンスや名前のないインスタンスを表すことができます。 → メッセージは、上にメッセージ名が書かれた水平矢印で書かれ、相互作用を表します。実線の矢印の先は同期呼び出しを表し、開いた矢印の先は非同期メッセージを表し、破線は応答メッセージを表します。[ 3 ] 呼び出し元が同期メッセージを送信した場合、サブルーチンの呼び出しなど、メッセージが完了するまで待機する必要があります。呼び出し元が非同期メッセージを送信した場合、処理を続行でき、応答を待つ必要はありません。非同期呼び出しは、マルチスレッドアプリケーション、イベント駆動型アプリケーション、およびメッセージ指向ミドルウェアに存在します。アクティベーションボックス、またはメソッド呼び出しボックスは、ライフラインの上に描画される不透明な四角形で、メッセージに応答してプロセスが実行されていることを表します ( UMLの ExecutionSpecifications )。
自身に対してメソッドを呼び出すオブジェクトはメッセージを使用し、他のアクティベーションボックスの上に新しいアクティベーションボックスを追加して、処理の次の段階を示します。オブジェクトが破棄(メモリから削除)されると、ライフラインの下にXが描画され、その下の破線は描画されなくなります。これは、オブジェクト自身または他のオブジェクトからのメッセージの結果であるはずです。
ダイアグラムの外部から送信されたメッセージは、塗りつぶされた円 ( UML ではメッセージ) またはシーケンス ダイアグラムの境界 ( UML ではゲート) から発信されるメッセージとして表すことができます。
UMLはシーケンス図の機能に大幅な改善をもたらしました。これらの改善のほとんどは、相互作用フラグメント[ 4 ]という概念に基づいています。相互作用フラグメントは、包含する相互作用のより小さな部分を表します。複数の相互作用フラグメントを組み合わせることで、様々な複合フラグメント[ 5 ]が作成され、並列処理、条件分岐、オプションの相互作用を含む相互作用をモデル化するために使用されます。