UML のアクティビティ図: シンボル、コンポーネント、例
UML のアクティビティ図とは何ですか?
アクティビティ図 基本的に、あるアクティビティから別のアクティビティへの流れを表すフローチャートです。アクティビティは、システムの操作として説明できます。アクティビティ図の基本的な目的は、システムの動的な動作を捉えることです。オブジェクト指向フローチャートとも呼ばれます。
この UML図 実装ではなく、システムの動作の実行とフローに焦点を当てます。 アクティビティ図は、動作モデリング テクノロジに適用されるアクションで構成されるアクティビティで構成されます。
アクティビティ図のコンポーネント
アクティビティ
XNUMX つまたは複数のアクションに分割された動作です。 アクティビティは、エッジで接続されたノードのネットワークです。 アクション ノード、コントロール ノード、またはオブジェクト ノードが存在します。 アクション ノードは何らかのアクションを表します。 制御ノードは、アクティビティの制御フローを表します。 オブジェクト ノードは、アクティビティ内で使用されるオブジェクトを記述するために使用されます。 エッジは、実行のパスまたはフローを示すために使用されます。 アクティビティは最初のノードで開始され、最後のノードで終了します。
アクティビティパーティション/スイムレーン
アクティビティ パーティションまたはスイムレーンは、一連の関連アクションを高レベルでグループ化したものです。 単一のパーティションは、クラス、ユースケース、コンポーネント、インターフェイスなど、さまざまなものを参照できます。
パーティションが明確に表示できない場合は、アクティビティの名前の上にパーティションの名前が書き込まれます。
フォークノードとジョインノード
フォーク ノードと結合ノードを使用すると、アクティビティ内で同時フローを生成できます。フォーク ノードには、1 つの入力エッジと多数の出力エッジがあります。これは、決定パラメータが多すぎる場合と似ています。データが入力エッジに到着すると、そのデータは複製され、多数の出力エッジに同時に分割されます。単一の入力フローは、複数の並列フローに分割されます。
結合ノードは、多数の入力エッジと 1 つの出力エッジを持つ点で、フォーク ノードの反対です。すべての入力エッジに対して論理 AND 演算を実行します。これにより、単一の出力エッジ全体で入力フローを同期できます。
ピン
多くのフローがあるアクティビティ図は非常に複雑で乱雑になります。
ピンは物を片づけるのに使います。 すべてのフローを並べ替え、乱雑なフローをクリーンアップすることで、アクティビティの実行フローを管理する方法を提供します。 これは、アクションへの XNUMX つの入力またはアクションからの出力を表すオブジェクト ノードです。
入力ピンと出力ピンの両方に正確に XNUMX つのエッジがあります。
アクティビティ図を使用する理由
のアクティビティ図 UML エッジで結合されたノードのコレクションを含むアクティビティとしてイベントを作成できます。 アクティビティを任意のモデリング要素にアタッチして、その動作をモデル化できます。 アクティビティ図はモデル化に使用されます。
- ユースケース
- クラス
- インターフェース
- コンポーネント
- コラボレーション
アクティビティ図は、プロセスとワークフローをモデル化するために使用されます。 有用なアクティビティ図の本質は、システムの動的な動作の特定の側面を伝えることに焦点を当てています。 アクティビティ図は、システムの動的要素をキャプチャします。
アクティビティ図は、あるアクティビティから別のアクティビティへの流れを視覚化するフローチャートに似ています。 アクティビティ図はフローチャートと同じですが、フローチャートではありません。 アクティビティの流れは、UML フロー図のさまざまな制御要素を使用して制御できます。 簡単に言うと、アクティビティ図は、複数のアクティビティ間の実行の流れを記述するアクティビティ図に使用されます。
アクティビティ図の表記法
アクティビティ図のシンボルは、次の表記法を使用して生成できます。
- 初期状態: アクティビティが発生する前の開始段階が初期状態として示されます。
- 最終状態: 特定のプロセスが終了したときにシステムが到達する状態は、最終状態として知られています。
- 状態またはアクティビティ ボックス:
- 決定ボックス: 代替パスによる決定を表すダイヤモンド形のボックスです。制御のフローを表します。
アクティビティ図を描くにはどうすればよいですか?
アクティビティ図はアクティビティのフローチャートです。 これは、さまざまなシステム アクティビティ間のワークフローを表します。 アクティビティ図はフローチャートに似ていますが、フローチャートではありません。 アクティビティ図は、フローチャートを発展させたもので、いくつかの独自の機能が含まれています。
アクティビティ図には、スイムレーン、分岐、並列フロー、制御ノード、拡張ノード、オブジェクト ノードが含まれます。 アクティビティ図は例外処理もサポートしています。
アクティビティ図を描くには、システム全体を理解し、探索する必要があります。 図内で使用されるすべての要素とエンティティは、ユーザーが知っている必要があります。 アクティビティにほかならない中心的な概念は、ユーザーにとって明確でなければなりません。 すべてのアクティビティを分析した後、これらのアクティビティを調査して、アクティビティに適用されるさまざまな制約を見つける必要があります。 このような制約がある場合は、アクティビティ図を作成する前に注意する必要があります。
すべてのアクティビティ、条件、および関連性を把握する必要があります。必要なものがすべて収集されると、概要またはプロトタイプが生成され、後で実際の図に変換されます。
アクティビティ図を作成する際には、以下のルールに従う必要があります。
- システム内のすべてのアクティビティに名前を付ける必要があります。
- アクティビティ名は意味のあるものにする必要があります。
- 制約を特定する必要があります。
- アクティビティの関連性を把握しておく必要があります。
アクティビティ図の例
アクティビティ図のサンプルとして、メール処理アクティビティを考えてみましょう。次の図は、電子メールを処理するアクティビティを表しています。
上記のアクティビティ図では、3 つのアクティビティが指定されています。メール チェック プロセスが開始されると、ユーザーはメールが重要か迷惑メールかをチェックします。2 つのガード条件 [必須] と [迷惑メール] によって、プロセスの実行フローが決まります。アクティビティを実行した後、最後に、プロセスは終了ノードで終了します。
アクティビティ図を使用する場合
アクティビティ図は、ビジネス プロセスとワークフローをモデル化するために使用されます。 これらの図は、ソフトウェア モデリングだけでなくビジネス モデリングにも使用されます。
最も一般的にアクティビティ図は次の目的で使用されます。
- ワークフローをグラフィカルな方法でモデル化し、理解しやすくします。
- システムのさまざまなエンティティ間の実行フローをモデル化します。
- システム内で使用される関数またはアルゴリズムに関する詳細情報をモデル化します。
- ビジネス プロセスとそのワークフローをモデル化します。
- システムの動的な動作をキャプチャします。
- あらゆるアプリケーションのワークフローを表す高レベルのフローチャートを生成します。
- オブジェクト指向システムまたは分散システムの概要をモデル化します。
まとめ
- アクティビティ図は次のように呼ばれます。 オブジェクト指向のフローチャート.
- アクティビティ図は、より小さなアクションで構成されるアクティビティで構成されます。
- アクティビティは、XNUMX つ以上のアクションに分割された動作です。
- アクション ノード、コントロール ノード、オブジェクト ノードを使用します。
- アクティビティ パーティションまたはスイムレーンは、一連の関連アクションを高レベルでグループ化したものです。
- フォーク ノードと結合ノードは、アクティビティ内で同時フローを生成するために使用されます。
- アクティビティ図は、ビジネス プロセスとワークフローをモデル化するために使用されます。