アクティビティ図(あくてぃびてぃず)情報システム用語事典

activity diagram / アクティビティダイアグラム / 活動図

» 2008年10月09日 00時00分 公開
[@IT情報マネジメント編集部,@IT]

 UMLで定められたダイアグラムの1つで、アクティビティを構成する動作(action)に着目し、その実行順序や条件、制御などの依存関係を示した図式表現のこと。システムの振る舞いやワークフローなどを表現できる。

 ここでいうアクティビティとは開始から終了まで連鎖的に自動実行される一連の動作の集まりをいう。内包する動作に別のアクティビティを置くこともできる。このアクティビティの完結に必要な個々の動作を表すとともにその相互依存性を示し、アクティビティの振る舞いや流れを図示したものがアクティビティ図である。

ALT アクティビティ図のイメージ

 アクティビティ図はアクティビティノード(角丸矩形など)をアクティビティエッジ(矢線)で接続し、処理(トークン)の流れを表現する。並列処理の開始を表すフォークとその同期化を図るジョイン、条件付き振る舞い(ガード条件)を示す判断やマージなどを使うことで多様な処理が表現できる。

 UML 1.xのアクティビティ図は状態図の特殊形という扱いで、制御フローに焦点を当てた状態遷移の表現だったが、UML 2.0からは状態図から独立し、トークンフローを表すものに位置付けが変わっている。そのため、制御フローに加えてオブジェクトフローも記述できるようになっている。

 動作を行うのが誰(どれ)かを示すために担当者や組織、クラスごとに実線でアクティビティ図を区画分けするスイムレーンは、UML 2.0で2次元区画を許すように拡張され、名称もアクティビティ区画となった。

 このほかにUML 2.xのアクティビティ図には、時間の経過に応じて動作を発生させるタイムシグナル、外部プロセスからイベントの受け取りを示す受け入れシグナル、パラメータ、ジョイン仕様、ピン、フロー変換、サブダイアグラムを示すレーキ(熊手記号)、拡張領域、フロー終了などが新たしい記法が多数追加されている。

 UMLはジェームズ・ランボー(James E. Rumbaugh)、グラディ・ブーチ(Grady Booch)、イヴァー・ヤコブソン(Ivar Jacobson)のいわゆるスリーアミーゴの方法論の記法を統合したものだが、いずれの方法論にもアクティビティ図に相当するものは存在しなかった。直接的にはジェームズ・マーチン(James Martin)、ジェームズ・J・オデル(James J. Odell)らの手法やペトリネット、SDL(Specification Description Language)などの影響があるとされるが、その源流はフローチャートデータフロー図にある。

 流れに注目するアクティビティ図はオブジェクト指向との関係は薄いが、これがUMLに取り入れられたのは、実務における必要性のためだろう。フローチャートのようにソフトウェア・プログラムのアルゴリズムやロジックを表現することも可能だが、一般にはビジネスプロセスやワークフロー、データフローのモデリングに利用される。これはアクティビティ図が並行処理を表現できるためで、これがこの図の大きな特徴となっている。

参考文献

▼『UMLモデリングのエッセンス 第3版――標準オブジェクトモデリング言語入門』 マーチン・ファウラー=著/羽生田栄一=監訳/翔泳社/2005年6月(『UML Distilled Third Edition: A Breif Guide to the Standard Object Modeling Language』の邦訳)

▼『UML 2.0仕様書――2.1対応』 Object Management Group=著/西原裕善=監訳/オーム社/2006年11月(『Unified Modeling Language specification』の邦訳)


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ