UML-標準図
前の章では、UMLの構成要素とその他の必要な要素について説明しました。次に、これらの要素をどこで使用するかを理解する必要があります。
要素はコンポーネントのようなもので、さまざまな方法で関連付けて、ダイアグラムと呼ばれる完全なUML画像を作成できます。したがって、実際のシステムに知識を実装するには、さまざまな図を理解することが非常に重要です。
複雑なシステムは、ある種の図や写真を作成することで最もよく理解できます。これらの図は、私たちの理解により良い影響を与えます。見回すと、図は新しい概念ではなく、さまざまな業界でさまざまな形で広く使用されていることがわかります。
より良く簡単な方法でシステムを理解するためにUML図を準備します。システムのすべての側面を網羅するには、1つの図だけでは不十分です。UMLは、システムのほとんどの側面をカバーするためにさまざまな種類の図を定義します。
要件を満たすために、独自の図のセットを作成することもできます。ダイアグラムは通常、増分的かつ反復的な方法で作成されます。
ダイアグラムには大きく2つのカテゴリがあり、それらは再びサブカテゴリに分類されます-
構造図
行動図
構造図
構造図は、システムの静的な側面を表しています。これらの静的な側面は、ダイアグラムのこれらの部分を表しており、主要な構造を形成しているため、安定しています。
これらの静的パーツは、クラス、インターフェイス、オブジェクト、コンポーネント、およびノードによって表されます。4つの構造図は次のとおりです。
- クラス図
- オブジェクト図
- コンポーネント図
- 配置図
クラス図
クラス図は、UMLで使用される最も一般的な図です。クラス図は、クラス、インターフェイス、関連付け、およびコラボレーションで構成されます。クラス図は基本的に、システムのオブジェクト指向ビューを表します。これは本質的に静的です。
アクティブクラスは、システムの同時実行性を表すためにクラス図で使用されます。
クラス図は、システムのオブジェクト指向を表します。したがって、一般的に開発目的で使用されます。これは、システム構築時に最も広く使用されている図です。
オブジェクト図
オブジェクト図は、クラス図のインスタンスとして説明できます。したがって、これらの図は、システムを実装する実際のシナリオにより近いものです。
オブジェクト図はオブジェクトのセットであり、それらの関係はクラス図と同じです。また、システムの静的ビューも表します。
オブジェクト図の使用法はクラス図に似ていますが、実用的な観点からシステムのプロトタイプを作成するために使用されます。
コンポーネント図
コンポーネント図は、一連のコンポーネントとそれらの関係を表しています。これらのコンポーネントは、クラス、インターフェイス、またはコラボレーションで構成されています。コンポーネント図は、システムの実装ビューを表します。
設計段階では、システムのソフトウェア成果物(クラス、インターフェイスなど)は、それらの関係に応じてさまざまなグループに配置されます。現在、これらのグループはコンポーネントとして知られています。
最後に、コンポーネント図は実装を視覚化するために使用されていると言えます。
配置図
配置図は、ノードとそれらの関係のセットです。これらのノードは、コンポーネントがデプロイされる物理エンティティです。
配置図は、システムの配置ビューを視覚化するために使用されます。これは通常、展開チームによって使用されます。
Note−上記の説明と使用法を注意深く観察すれば、すべての図が互いに何らかの関係を持っていることは非常に明白です。コンポーネント図は、クラス/オブジェクト図の一部であるクラス、インターフェースなどに依存しています。この場合も、配置図は、コンポーネント図の作成に使用されるコンポーネントに依存します。
行動図
どのシステムにも、静的と動的の2つの側面があります。したがって、両方の側面が完全にカバーされている場合、モデルは完全であると見なされます。
動作図は基本的に、システムの動的な側面をキャプチャします。動的な側面は、システムの変化/移動部分としてさらに説明できます。
UMLには、次の5種類の動作図があります-
- ユースケース図
- シーケンス図
- コラボレーション図
- ステートチャート図
- アクティビティ図
ユースケース図
ユースケース図は、ユースケース、アクター、およびそれらの関係のセットです。これらは、システムのユースケースビューを表します。
ユースケースは、システムの特定の機能を表します。したがって、ユースケース図を使用して、機能とその内部/外部コントローラー間の関係を説明します。これらのコントローラーは、actors。
シーケンス図
シーケンス図は相互作用図です。名前から、図がいくつかのシーケンスを扱っていることは明らかです。これは、あるオブジェクトから別のオブジェクトに流れるメッセージのシーケンスです。
システムのコンポーネント間の相互作用は、実装と実行の観点から非常に重要です。シーケンス図は、特定の機能を実行するためにシステム内の呼び出しのシーケンスを視覚化するために使用されます。
コラボレーション図
コラボレーション図は、相互作用図のもう1つの形式です。これは、システムの構造的構成と送受信されるメッセージを表します。構造組織は、オブジェクトとリンクで構成されます。
コラボレーション図の目的は、シーケンス図に似ています。ただし、コラボレーション図の特定の目的は、オブジェクトの編成とそれらの相互作用を視覚化することです。
ステートチャート図
リアルタイムシステムは、ある種の内部/外部イベントによって反応することが期待されています。これらのイベントは、システムの状態変化に関与します。
ステートチャート図は、システムのイベント駆動型の状態変化を表すために使用されます。基本的に、クラスやインターフェースなどの状態変化を記述します。
状態チャート図は、内部/外部要因によるシステムの反応を視覚化するために使用されます。
アクティビティ図
アクティビティ図は、システム内の制御の流れを示しています。それは活動とリンクで構成されています。フローは、順次、同時、または分岐にすることができます。
活動はシステムの機能に他なりません。システム内のフロー全体をキャプチャするために、多数のアクティビティ図が用意されています。
アクティビティ図は、システム内の制御の流れを視覚化するために使用されます。これは、実行時にシステムがどのように機能するかを理解するために用意されています。
Note−システムの動的な性質を把握することは非常に困難です。UMLは、さまざまな角度からシステムのダイナミクスをキャプチャする機能を提供しています。シーケンス図とコラボレーション図は同形であるため、情報を失うことなく相互に変換できます。これは、ステートチャートとアクティビティ図にも当てはまります。