UML-アクティビティ図

アクティビティ図は、システムの動的な側面を説明するためのUMLのもう1つの重要な図です。

アクティビティ図は基本的に、あるアクティビティから別のアクティビティへのフローを表すフローチャートです。アクティビティは、システムの操作として説明できます。

制御フローは、ある操作から別の操作に引き出されます。このフローは、順次、分岐、または同時のいずれかになります。アクティビティ図は、フォーク、結合などのさまざまな要素を使用して、すべてのタイプのフロー制御を処理します。

アクティビティ図の目的

アクティビティ図の基本的な目的は、他の4つの図と同様です。システムの動的な動作をキャプチャします。他の4つの図は、あるオブジェクトから別のオブジェクトへのメッセージフローを示すために使用されますが、アクティビティ図は、あるアクティビティから別のアクティビティへのメッセージフローを示すために使用されます。

アクティビティは、システムの特定の操作です。アクティビティ図は、システムの動的な性質を視覚化するために使用されるだけでなく、フォワードエンジニアリングおよびリバースエンジニアリングの手法を使用して実行可能システムを構築するためにも使用されます。アクティビティ図で欠落しているのはメッセージ部分だけです。

あるアクティビティから別のアクティビティへのメッセージフローは表示されません。アクティビティ図は、フローチャートと見なされる場合があります。ダイアグラムはフローチャートのように見えますが、そうではありません。並列、分岐、同時、単一などのさまざまなフローが表示されます。

アクティビティ図の目的は、次のように説明できます。

  • システムのアクティビティフローを描画します。

  • あるアクティビティから別のアクティビティへのシーケンスを説明します。

  • システムの並列、分岐、および並行フローについて説明します。

アクティビティ図を描く方法は?

アクティビティ図は、主にシステムによって実行されるアクティビティで構成されるフローチャートとして使用されます。アクティビティ図は、いくつかの追加機能があるため、正確にはフローチャートではありません。これらの追加機能には、分岐、平行流、スイムレーンなどが含まれます。

アクティビティ図を描く前に、アクティビティ図で使用される要素について明確に理解する必要があります。アクティビティ図の主な要素は、アクティビティ自体です。アクティビティは、システムによって実行される機能です。アクティビティを特定した後、それらが制約や条件にどのように関連付けられているかを理解する必要があります。

アクティビティ図を描く前に、次の要素を特定する必要があります-

  • Activities

  • Association

  • Conditions

  • Constraints

上記のパラメータが特定されたら、フロー全体のメンタルレイアウトを作成する必要があります。次に、このメンタルレイアウトはアクティビティ図に変換されます。

以下は、注文管理システムのアクティビティ図の例です。この図では、条件に関連付けられている4つのアクティビティが識別されています。重要な点の1つは、アクティビティ図をコードと正確に一致させることはできないことを明確に理解する必要があります。アクティビティ図は、アクティビティの流れを理解するために作成され、主にビジネスユーザーによって使用されます

次の図は、4つの主要なアクティビティで描かれています-

  • 顧客による注文の送信

  • 注文の受領

  • 注文を確認する

  • 注文を発送します

注文依頼を受け取った後、条件チェックを行い、通常注文か特別注文かを確認します。注文のタイプが識別された後、ディスパッチアクティビティが実行され、プロセスの終了としてマークされます。

アクティビティ図はどこで使用しますか?

アクティビティ図の基本的な使用法は、他の4つのUML図と同様です。具体的な使用法は、あるアクティビティから別のアクティビティへの制御フローをモデル化することです。この制御フローにはメッセージは含まれません。

アクティビティ図は、システムのアクティビティフローをモデル化するのに適しています。アプリケーションは複数のシステムを持つことができます。アクティビティ図は、これらのシステムもキャプチャし、あるシステムから別のシステムへのフローを説明します。この特定の使用法は、他の図では使用できません。これらのシステムは、データベース、外部キュー、またはその他のシステムにすることができます。

次に、アクティビティ図の実際のアプリケーションを調べます。上記の議論から、アクティビティ図が非常に高いレベルから描かれていることは明らかです。したがって、システムの高レベルのビューを提供します。この高レベルのビューは、主にビジネスユーザーまたは技術者ではないその他の人を対象としています。

この図は、ビジネス要件に他ならないアクティビティをモデル化するために使用されます。この図は、実装の詳細よりもビジネスの理解に大きな影響を与えます。

アクティビティ図は次の目的で使用できます-

  • アクティビティを使用したワークフローのモデリング。

  • ビジネス要件のモデリング。

  • システムの機能に関する高レベルの理解。

  • 後の段階でビジネス要件を調査します。