Skip to content

Commit

Permalink
Merge pull request #11 from RyosukeDTomita/feature/flowchart
Browse files Browse the repository at this point in the history
feat: try to use sequence
  • Loading branch information
RyosukeDTomita authored Nov 15, 2024
2 parents 0e1eae7 + 8a5e275 commit 6f2f62b
Show file tree
Hide file tree
Showing 4 changed files with 92 additions and 19 deletions.
11 changes: 8 additions & 3 deletions src/docs/asciidoc/test.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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[]
----
48 changes: 48 additions & 0 deletions src/docs/diagram/pu/flowchart_sample.pu
Original file line number Diff line number Diff line change
@@ -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
16 changes: 0 additions & 16 deletions src/docs/diagram/pu/plantuml_test.pu

This file was deleted.

36 changes: 36 additions & 0 deletions src/docs/diagram/pu/sequence_sample.pu
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 6f2f62b

Please sign in to comment.