アクティビティ図とは、フローチャートに似ていて「システム実行の流れと条件分岐」を図示したもので、プログラムの処理の流れを明確にし、「論理的にムダのない構造になっているか」をチェックできるようになっている。
今回は、PlantUMLで、アクティビティ図を作成してみたので、作成したアクティビティ図と元になるPlantUMLのソースコードを共有する。
なお、アクティビティ図については、以下のサイトを参照のこと。
https://www.itsenka.com/contents/development/uml/activity.html
また、PlantUMLのアクティビティ図についてのマニュアルは、以下のサイト(ベータ版)を参照のこと。
https://plantuml.com/ja/activity-diagram-beta
今回作成するアクティビティ図の処理内容
今回作成するアクティビティ図では、以下のように、MongoDBとOracleDBに同一データ構造をもつデータをもち、MongoDBのデータを優先して取得するものとする。
また、具体的な処理内容は、以下の通り。
- MongoDBからデータを検索する。
- MongoDBからデータ検索できた場合は、戻り値=MongoDBの検索データとする。MongoDBからデータ検索できなかった場合は、OracleDBからデータを検索する。
- OracleDBからデータ検索できた場合は、OracleDBの検索結果をMongoDBに追加した後で、戻り値=OracleDBの検索データとする。OracleDBからデータ検索できなかった場合は、戻り値=NULLとする。
- 戻り値を返却する。
作成したアクティビティ図(1)
PlantUMLのアクティビティ図(ベータ版)を利用して作成したアクティビティ図の内容は、以下の通り。

また、上記クラス図のPlantUMLソースコードの内容は、以下の通り。
@startuml
start
:MongoDBから\nデータ検索;
if (データ有?) then (yes)
:戻り値=MongoDBの\n検索データ;
else (no)
partition OracleDB検索 {
:OracleDBから\nデータ検索;
if (データ有?) then (yes)
:OracleDBの検索データを\nMongoDBに追加;
:戻り値=OracleDBの\n検索データ;
else (no)
:戻り値=NULL;
endif
}
endif
:戻り値を返却;
stop
@enduml 【PR】「Filmora」は初心者でも本格的な動画編集ができる大変便利なツールだった「Filmora」は初心者でも使いやすい動画編集ツールで、テンプレートとして利用できるテキスト・動画・音楽などが充実していると共に、複数...
作成したアクティビティ図(2)
PlantUMLのアクティビティ図には、少し古いバージョンのものもある。そのマニュアルは以下の通り。
https://plantuml.com/ja/activity-diagram-legacy
このバージョンのPlantUMLのアクティビティ図を利用して作成した場合の内容は、以下の通り。

また、上記クラス図のPlantUMLソースコードの内容は、以下の通り。
@startuml
(*) --> "MongoDBから\nデータ検索"
if "データ有?" then
---->[true] "戻り値=MongoDBの\n検索データ"
----> "戻り値を返却"
else
partition OracleDB検索 {
-->[false] "OracleDBから\nデータ検索"
if "データ有?" then
-->[true] "OracleDBの検索データを\nMongoDBに追加"
--> "戻り値=OracleDBの\n検索データ"
--> "戻り値を返却"
else
---->[false] "戻り値=NULL"
endif
end if
}
--> "戻り値を返却"
--> (*)
@enduml要点まとめ
- アクティビティ図とは、「システム実行の流れと条件分岐」を図示したもので、プログラムの処理の流れを明確にし、「論理的にムダのない構造になっているか」をチェックできるようになっている。
- PlantUMLを利用すれば、コードベースでアクティビティ図を作成できる。その際、ベータ版を利用するとよい。







