UML-相互作用図

相互作用という用語から、この図がモデル内のさまざまな要素間のある種の相互作用を説明するために使用されていることは明らかです。この相互作用は、システムの動的な動作の一部です。

このインタラクティブな動作は、UMLでは次の2つの図で表されます。 Sequence diagram そして Collaboration diagram。両方の図の基本的な目的は似ています。

シーケンス図はメッセージの時系列を強調し、コラボレーション図はメッセージを送受信するオブジェクトの構造的編成を強調します。

相互作用図の目的

対話図の目的は、システムの対話動作を視覚化することです。相互作用を視覚化することは難しい作業です。したがって、解決策は、さまざまなタイプのモデルを使用して、相互作用のさまざまな側面をキャプチャすることです。

シーケンス図とコラボレーション図は、動的な性質を別の角度から捉えるために使用されます。

相互作用図の目的は次のとおりです。

  • システムの動的な動作をキャプチャします。

  • システム内のメッセージフローを説明します。

  • オブジェクトの構造的構成を説明します。

  • オブジェクト間の相互作用を説明します。

相互作用図を描く方法は?

すでに説明したように、相互作用図の目的は、システムの動的な側面をキャプチャすることです。したがって、動的な側面をキャプチャするには、動的な側面とは何か、そしてそれがどのように視覚化されるかを理解する必要があります。動的アスペクトは、特定の時点で実行中のシステムのスナップショットとして定義できます。

UMLには2種類の相互作用図があります。1つはシーケンス図で、もう1つはコラボレーション図です。シーケンス図は、あるオブジェクトから別のオブジェクトへのメッセージフローの時系列をキャプチャし、コラボレーション図は、メッセージフローに参加しているシステム内のオブジェクトの編成を示します。

相互作用図を描く前に、次のことを明確に特定する必要があります

  • 相互作用に参加しているオブジェクト。

  • メッセージはオブジェクト間を流れます。

  • メッセージが流れる順序。

  • オブジェクトの編成。

以下は、注文管理システムをモデル化した2つの相互作用図です。最初の図はシーケンス図で、2番目の図はコラボレーション図です。

シーケンス図

シーケンス図には、4つのオブジェクト(Customer、Order、SpecialOrder、およびNormalOrder)があります。

次の図は、SpecialOrderオブジェクトのメッセージシーケンスを示しています。これは、NormalOrderオブジェクトの場合にも使用できます。メッセージフローの時系列を理解することが重要です。メッセージフローは、オブジェクトのメソッド呼び出しに他なりません。

最初の呼び出しは、OrderオブジェクトのメソッドであるsendOrder()です。次の呼び出しはSpecialOrderオブジェクトのメソッドであるconfirm()であり、最後の呼び出しはSpecialOrderオブジェクトのメソッドであるDispatch()です。次の図は、主に1つのオブジェクトから別のオブジェクトへのメソッド呼び出しを示しています。これは、システムが実行されているときの実際のシナリオでもあります。

コラボレーション図

2番目の相互作用図はコラボレーション図です。次の図に示すように、オブジェクトの編成を示しています。コラボレーション図では、メソッド呼び出しシーケンスはいくつかの番号付け手法で示されています。番号は、メソッドが次々に呼び出される方法を示しています。コラボレーション図を説明するために、同じ注文管理システムを採用しました。

メソッド呼び出しは、シーケンス図の呼び出しに似ています。ただし、シーケンス図との違いはオブジェクト構成を説明していませんが、コラボレーション図はオブジェクト構成を示しています。

これら2つの図から選択するには、要件のタイプに重点が置かれます。時系列が重要な場合は、シーケンス図が使用されます。編成が必要な場合は、コラボレーション図が使用されます。

相互作用図はどこで使用しますか?

相互作用図を使用してシステムの動的な性質を説明することについては、すでに説明しました。次に、これらの図が使用される実際のシナリオを調べます。実際のアプリケーションを理解するには、シーケンスとコラボレーション図の基本的な性質を理解する必要があります。

両方の図の主な目的は、システムの動的な動作をキャプチャするために使用されるため、類似しています。ただし、特定の目的は、明確にして理解するためにより重要です。

シーケンス図は、あるオブジェクトから別のオブジェクトに流れるメッセージの順序をキャプチャするために使用されます。コラボレーション図は、相互作用に参加するオブジェクトの構造的編成を説明するために使用されます。システム全体の動的な側面を説明するには、単一の図では不十分であるため、一連の図を使用してシステム全体をキャプチャします。

相互作用図は、メッセージの流れと構造的な構成を理解したい場合に使用されます。メッセージフローとは、あるオブジェクトから別のオブジェクトへの制御フローのシーケンスを意味します。構造的編成とは、システム内の要素の視覚的な編成を意味します。

相互作用図を使用できます-

  • 時系列による制御の流れをモデル化する。

  • 構造組織による制御の流れをモデル化する。

  • フォワードエンジニアリング用。

  • リバースエンジニアリング用。