From 8a5e2758f882a2e24a91abecc539a0bc1df2d920 Mon Sep 17 00:00:00 2001 From: RyosukeDTomita Date: Sat, 16 Nov 2024 01:44:13 +0900 Subject: [PATCH] feat: try to use sequence --- src/docs/asciidoc/test.adoc | 11 ++++-- src/docs/diagram/pu/flowchart_sample.pu | 48 +++++++++++++++++++++++++ src/docs/diagram/pu/plantuml_test.pu | 16 --------- src/docs/diagram/pu/sequence_sample.pu | 36 +++++++++++++++++++ 4 files changed, 92 insertions(+), 19 deletions(-) create mode 100644 src/docs/diagram/pu/flowchart_sample.pu delete mode 100644 src/docs/diagram/pu/plantuml_test.pu create mode 100644 src/docs/diagram/pu/sequence_sample.pu diff --git a/src/docs/asciidoc/test.adoc b/src/docs/asciidoc/test.adoc index f5be3a8..dcf2568 100644 --- a/src/docs/asciidoc/test.adoc +++ b/src/docs/asciidoc/test.adoc @@ -13,9 +13,14 @@ Asciidocを使ってみる。 {asciidoc-guide-gradle-plugin}[公式ページ] -== diagram +== sample diagram -[plantuml,plantuml_test,svg] +[plantuml,sequence_sample,svg] ---- -include::../diagram/pu/plantuml_test.pu[] +include::../diagram/pu/sequence_sample.pu[] +---- + +[plantuml,flowchart_sample,svg] +---- +include::../diagram/pu/flowchart_sample.pu[] ---- diff --git a/src/docs/diagram/pu/flowchart_sample.pu b/src/docs/diagram/pu/flowchart_sample.pu new file mode 100644 index 0000000..5b32503 --- /dev/null +++ b/src/docs/diagram/pu/flowchart_sample.pu @@ -0,0 +1,48 @@ +@startuml + +' 通常の枠線 +skinparam ActivityBorderColor #999999 +' 条件分岐の枠線 +skinparam ActivityDiamondBorderColor #999999 # 条件分岐等の枠線 +'矢印 +skinparam ArrowColor #00BBFF +' ノードの背景色 +skinparam ActivityBackgroundColor #EEEEEE + +title パスワードリセットフロー + +' if等の一部の構文はシーケンス図では使えない +start + +!procedure $insert_mail() +:ユーザはメールアドレス\nを再入力する; +:秘密の質問に解答; +!endprocedure + +:ユーザはメールアドレスを入力し\nパスワードリセットをリクエスト; +if (ユーザが存在するか?) then (yes) + :ユーザにパスワードリセットメールを送信; + '前判定 + while (メール送信失敗回数が3回未満か?) is (yes) + if (メール送信成功?) then (yes) + :ユーザにメール送信完了を通知; + end + else (no) + :ユーザにメール送信失敗を通知; + $insert_mail() + endif + endwhile (no) + stop +else (no) + '後判定も使ってみたかった + repeat + :ユーザにメール送信失敗を通知; + floating note left : ユーザが存在しないことが\n露呈しないよう\nユーザ存在時と同じ応答を返す + $insert_mail() + repeat while (メール送信失敗回数が3回以下か?) is (yes) + stop +endif + + + +@endumlenduml \ No newline at end of file diff --git a/src/docs/diagram/pu/plantuml_test.pu b/src/docs/diagram/pu/plantuml_test.pu deleted file mode 100644 index 8542944..0000000 --- a/src/docs/diagram/pu/plantuml_test.pu +++ /dev/null @@ -1,16 +0,0 @@ -@startuml conversation -title PlantUML test -box #DodgerBlue -participant "ユーザ\n端末\n" as ユーザ端末 -end box - -box #LightBlue -participant "サーバ" as サーバ - -ユーザ端末 -> サーバ : ログイン試行 - -opt 該当ユーザが存在しない - ユーザ端末 <- サーバ : ID,パスワードが間違っている旨を返して終了 -end - -@enduml diff --git a/src/docs/diagram/pu/sequence_sample.pu b/src/docs/diagram/pu/sequence_sample.pu new file mode 100644 index 0000000..53f6cac --- /dev/null +++ b/src/docs/diagram/pu/sequence_sample.pu @@ -0,0 +1,36 @@ +@startuml conversation +title PlantUML test +box #DodgerBlue +participant "ユーザ\n端末\n" as ユーザ端末 +end box + +box #LightBlue +participant "サーバ" as サーバ + +group ログイン + ユーザ端末 -> サーバ : ID/passwordでログイン試行 + + alt 該当ユーザが存在しない + ユーザ端末 <- サーバ : 401 Unauthorized\nID,パスワードが間違っているエラー + else パスワードが間違っている + ユーザ端末 <- サーバ : 401 Unauthorized\nID,パスワードが間違っているエラー + else ログイン成功 + ユーザ端末 <- サーバ : 200 OK + end +end + +group ショッピング + ユーザ端末 -> サーバ : 商品一覧取得 + ユーザ端末 <- サーバ : 商品一覧 + opt 商品を選択 + ユーザ端末 -> サーバ : 商品詳細取得 + ユーザ端末 <- サーバ : 商品詳細 + end +end + +group 決済処理 + ユーザ端末 -> サーバ : 決済処理 + ユーザ端末 <- サーバ : 決済結果 +end + +@enduml