アクティビティ図とは、フローチャートに似ていて「システム実行の流れと条件分岐」を図示したもので、プログラムの処理の流れを明確にし、「論理的にムダのない構造になっているか」をチェックできるようになっている。
今回は、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ソースコードの内容は、以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @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ソースコードの内容は、以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | @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を利用すれば、コードベースでアクティビティ図を作成できる。その際、ベータ版を利用するとよい。