UMLアクティビティ図とは
UML(Unified Modeling Language)のアクティビティ図は、システムやプロセスの流れを表現するための図です。
フローチャートに似た形式を持ちながら、より複雑な処理や並行動作、データの流れなどを詳細に記述できる点が特徴です。ソフトウェア開発における処理フローの可視化だけでなく、業務プロセスやワークフローを表現する際にも活用されます。
アクティビティ図の位置づけ
アクティビティ図は、UMLの中でも特にシステムの動的な側面を記述するために用いられます。UML 1.0で制定され、UML 2.0で大幅に拡張されました。
フローチャートをより高度にし、オブジェクト指向の概念を取り入れたものと考えると理解しやすいでしょう。
アクティビティ図の用途
アクティビティ図は、以下のような用途で利用されます。
ソフトウェアの処理フローの可視化: ソフトウェアの機能や処理の流れを段階的に表現します。
業務プロセスの可視化: 業務の流れや担当者間の連携を明確にします。
ワークフローの可視化: 業務におけるタスクの流れや順序を視覚的に示します。
並行処理の表現: 複数の処理が同時に実行される様子を表現します。
データフローの表現: データがどのように処理されていくかを表現します。
アクティビティ図の作成方法
アクティビティ図は、以下の要素を組み合わせて作成します。
1. 開始ノード(●): アクティビティの開始を示す黒丸です。
2. 終了ノード(◉): アクティビティの終了を示す二重丸です。
3. アクティビティ(角丸長方形): 実行される処理や動作を表します。ステートマシン図における「状態」ではなく、具体的な「処理」を表すことに注意が必要です。
4. 遷移(矢印): アクティビティ間の流れを示す矢印です。処理の順序や制御の流れを表現します。
5. 分岐(ひし形): 条件によって処理が分岐する箇所を示します。条件分岐のほか、並行処理の合流・分岐を表すこともできます。
6. フォーク(並行処理の開始): 複数の処理を同時に開始する箇所を示します。
7. ジョイン(並行処理の合流): 並行して実行された処理が合流する箇所を示します。
8. オブジェクトノード(長方形): アクティビティ間で受け渡されるデータやオブジェクトを表します。
9. アクティビティ分割: 同じアクティビティを複数回実行する場合に利用します。
UML2.0での主な要素
UML2.0では、アクティビティ図の表現力が大幅に向上し、より複雑な処理やデータの流れを表現できるようになりました。
制御ノード: 開始・終了、分岐、フォーク、ジョインなど、処理の流れを制御するためのノード。
アクティビティノード: 処理や動作を表すノード。
オブジェクトノード: データやオブジェクトを表すノード。
エッジ: アクティビティ間の流れやデータの流れを表す接続線。
参考文献
アクティビティ図(Activity Diagram) - UML - IT専科
Unified Modeling Language
外部リンク
UML 2 アクティビティ図の概要 - アジャイルモデリング(AM)公式サイト
関連項目
ペトリネット
データフロー図