はじめに
UML(統合モデリング言語)アクティビティ図は、システムの動的側面をモデル化するための強力なツールです。段階的な活動やアクションのワークフローを表現し、システム内の制御の流れを視覚的に示します。このチュートリアルでは、UMLアクティビティ図の主要な概念を紹介し、例を提示し、これらの図の読み方を説明します。
主要な概念
1. 活動とアクション
- 活動: これらはアクティビティ図の主要な構成要素です。プロセス内の個々のステップや操作を表します。
- アクション: これ以上分解できない原子的な活動です。
2. 制御フロー
- 制御フロー: これは活動の順序を表します。活動をつなぐ矢印を使って示され、実行される順序を示します。
3. 初期ノードと終了ノード
- 初期ノード: これはワークフローの開始点を表し、実心の円で示されます。
- 終了ノード: これはワークフローの終了点を表し、ダブルサークル(円の中に円)の記号で示されます。
4. 決定ノードとマージノード
- 決定ノード: 条件に基づいてフローが分岐する点を表し、菱形の形状で示されます。
- マージノード: 複数のフローが再び一つのフローに合流する点を表し、菱形の形状で示されます。
5. スイムレーン
- スイムレーン: これらは活動をグループ化するために使用され、通常は異なる役割や責任を表します。垂直または水平のレーンとして表示されます。
例
例1:シンプルな注文処理

説明:
- プロセスは、顧客が注文を出すことから始まります。
- 注文システムは注文を受け、支払いを処理し、注文を確認します。
- その後、倉庫は注文を梱包して発送します。
- 最後に、顧客は注文を受け取ります。
例2:ATM現金引き出しプロセス

説明:
- 顧客はカードを挿入し、PINを入力します。
- ATMはPINを確認します。正しい場合、顧客は金額を選択し、ATMが現金を出金します。誤りの場合、ATMはエラーを表示します。
- 顧客は現金を受け取ります。
例3:図書館での本の貸し出し

説明:
- 学生は本を検索し、依頼します。
- 図書館員は在庫の有無を確認します。本が利用可能であれば、図書館員が本を貸し出します。そうでない場合は、図書館員が学生に通知します。
- 学生は本を受け取ります。
例4:オンラインショッピング

説明:
- 顧客は商品を閲覧し、カートに追加してチェックアウトへ進みます。
- 支払いシステムは支払いを処理します。成功した場合、注文が確認されます。失敗した場合、顧客に失敗が通知されます。
- 倉庫は注文を準備し、発送します。
- 顧客は注文を受け取ります。
例5:ホテル予約

説明:
- 顧客はホテルを検索し、部屋を選択して予約します。
- 予約システムは空室の有無を確認します。部屋が空いている場合、予約が確認されます。そうでない場合は、顧客に通知されます。
- 顧客は確認を受け取ります。
UMLアクティビティ図の解釈
- 活動の流れ:矢印に従って活動の順序を理解してください。各矢印は、1つの活動から次の活動への制御の流れを表しています。
- 決定ポイント:決定ノードでは、条件を評価してどの分岐を進むかを判断します。これにより、条件に基づくさまざまなシナリオを理解しやすくなります。
- スイムレーン:各スイムレーンに関連する役割や責任を特定してください。これにより、各活動に対して誰が責任を負っているかを理解しやすくなります。
- 初期ノードと終了ノード:初期ノードはプロセスの開始点を示し、終了ノードは終了点を示します。
- 並行性:並行する活動を理解するために、フォークとジョインを探してください。フォークは流れを並行する活動に分岐させ、ジョインはそれらを再び単一の流れに同期します。
結論
UMLアクティビティ図は、複雑なプロセスのモデリングと理解に役立つ多用途なツールです。これらの図を使用することで、ワークフローを簡単に作成・可視化でき、プロセスのコミュニケーションや分析が容易になります。新しいシステムの設計を行っている場合でも、既存のプロセスの文書化を行っている場合でも、アクティビティ図は動的動作を明確かつ構造的に表現するための優れた手段を提供します。
参考文献
- アクティビティ図、UML図の例:スイムレーン
- スイムレーン・アクティビティ図のガイド
- アクティビティ図の描き方
- アクティビティ図、UML図の例:スイムレーン・プロポーザルプロセス
- UMLでアクティビティ図を描く方法
- アクティビティ図チュートリアル
- アクティビティ図とは何ですか?
- スイムレーン付きのアクティビティ図2
- アクティビティ図、UML図の例:注文履行用スイムレーン
- スイムレーン付きのATMアクティビティ図












