シーケンス図とは、クラスやオブジェクト間のやりとり(相互作用)を時系列に沿って表現する図で、プログラムの処理の流れを整理し、仕様を視覚的にわかりやすく伝えることができる。
今回は、PlantUMLで、前回ユースケース図を作成した機能の一部である「社員は、毎日の勤務実績を、勤怠管理システムに入力する」という部分についてのシーケンス図を作成してみたので、作成したシーケンス図と元になるPlantUMLのソースコードを共有する。
なお、シーケンス図については、以下のサイトを参照のこと。
https://it-koala.com/sequence_diagram-1775
また、PlantUMLのシーケンス図についてのマニュアルは、以下のサイトを参照のこと。
https://plantuml.com/ja/sequence-diagram
前提条件
下記記事の、VSCode上でPlantUMLを利用するための環境構築が完了していること。
PlantUMLをVSCode上で利用してみたPlantUMLは、VSCode(Visual Studio Code)上で編集するようにすると、ソースコードを色つきで分かりやすく表示...
作成したシーケンス図(1)
エンドユーザー(社員)の目に見える部分に特化して作成したシーケンス図の内容は、以下の通り。
また、上記シーケンス図のPlantUMLソースコードの内容は、以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | @startuml actor "社員" as actor participant "勤怠入力\n画面" as screen participant "勤怠入力\nサービス" as service participant "勤怠入力\nチェック" as check database "勤怠DB" as db actor -> screen : ログイン activate screen screen -> service : 勤怠を入力し\n「登録」ボタンを押下 activate service service -> check : 勤怠入力チェック\n処理呼出 activate check alt "チェックNG" check --> service : チェックNG service --> screen : エラーメッセージを\n画面に表示 else "チェックOK" check --> service : チェックOK deactivate check service -> db : 勤怠情報を\n勤怠DBに登録 activate db db --> service : 登録完了 deactivate db service --> screen : 登録完了メッセージを\n画面に表示 deactivate service end screen --> actor : ログアウト deactivate screen @enduml |
フリーランスエンジニアのエージェントは就業中でも無料で登録できるITエンジニアには、フリーランスという働き方がある。 フリーランスとは、会社や団体などに所属せず、仕事に応じて自由に契約する人のこ...
作成したシーケンス図(2)
実際にプログラムを作成する場合の、クラス間での相互作用を明確にしたシーケンス図の内容は、以下の通り。
また、上記シーケンス図のPlantUMLソースコードの内容は、以下の通り。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | @startuml actor "社員" as actor participant "勤怠入力\n画面" as screen participant "勤怠入力\nController" as controller participant "勤怠入力\nService" as service participant "勤怠入力\nCheckUtil" as check participant "勤怠登録\nMapper" as regist database "勤怠DB" as db actor -> screen : ログイン activate screen screen -> controller : 勤怠を入力し\n「登録」ボタンを押下 activate controller controller -> service : 勤怠入力\nService呼出 activate service service -> check : 勤怠入力\nCheckUtil呼出 activate check alt "チェックNG" check --> service : チェックNG service --> controller : チェックNG controller --> screen : エラーメッセージを\n画面に表示 else "チェックOK" check --> service : チェックOK deactivate check service -> regist : 勤怠登録\nMapper呼出 activate regist regist -> db : 勤怠情報を\n勤怠DBに登録 activate db alt "登録OK" db --> regist : 登録完了 regist --> service : 登録完了 service --> controller : 登録完了 controller --> screen : 登録完了メッセージを\n画面に表示 else "登録NG" db --> regist : 登録NG deactivate db regist --> service : 登録NG deactivate regist service --> controller : 登録NG deactivate service controller --> screen : エラーメッセージを\n画面に表示 deactivate controller end end screen --> actor : ログアウト deactivate screen @enduml |
要点まとめ
- シーケンス図とは、クラスやオブジェクト間のやりとり(相互作用)を時系列に沿って表現する図で、プログラムの処理の流れを整理し、仕様を視覚的にわかりやすく伝えることができる。
- PlantUMLを利用すれば、コードベースでシーケンス図を作成できる。