Skip to content

Instantly share code, notes, and snippets.

@shunirr
Last active September 23, 2024 07:46
Show Gist options
  • Save shunirr/2bd6a5a00b966e1e534b443790c68eda to your computer and use it in GitHub Desktop.
Save shunirr/2bd6a5a00b966e1e534b443790c68eda to your computer and use it in GitHub Desktop.
女子中学生チケット詐欺事件
@startuml
!define SenmonName 誤認逮捕された専門学校生
!define CriminalName 犯罪中学生
!define RakusatsuName 落札者
participant "SenmonName" as Senmon
participant "CriminalName" as Criminal
participant "女子高生ら2人" as JK_2
participant "チケット販売サイト" as TicketShop
participant "RakusatsuName" as Rakusatsu
Senmon -> Criminal : チケット 8 万円で売ります
Senmon <- Criminal : 買います
Senmon -> Criminal : 「SenmonName」の口座を教える
Criminal -> JK_2 : チケット 4 万円で売ります
Criminal <- JK_2 : 買います
Criminal -> JK_2 : 「SenmonName」の口座を教える
JK_2 -> Senmon : それぞれ 4 万円入金 (計 8 万円)
Senmon -> Criminal : チケット送付先を教えてください
Criminal -> TicketShop : チケットを 6 万円で出品
TicketShop <- Rakusatsu : 購入する
Criminal -> TicketShop : 「RakusatsuName」情報を取得
Criminal <- TicketShop : 「RakusatsuName」情報を表示
Senmon <- Criminal : 「RakusatsuName」の住所を教える
Senmon -> Rakusatsu : チケットを送付
TicketShop <- Rakusatsu : チケット受け取り確認
Criminal -> TicketShop : 売上出金操作
Criminal <- TicketShop : 売上を「CriminalName」の口座に入金
@enduml
@tomneko
Copy link

tomneko commented Sep 12, 2017

2行目に、

Criminal -> Senmon : 買います

が抜けてますね。

@shunirr
Copy link
Author

shunirr commented Sep 12, 2017

@tomneko ありがとうございます。反映しました。

@open-tommie
Copy link

事件説明にシーケンス図が使えるとは、目から鱗です。
良いアイデアですね。

警察署の動きも入れたらどうかな?

@yosyam
Copy link

yosyam commented Sep 12, 2017

11行目に
TicketShop <- Rakusatsu : 6万円を入金
を挿入し、最終行を
Criminal <- TicketShop : 売上(6万円)を「CriminalName」の口座に入金
とするのは如何でしょう。

この事件、「女子高生2人」は8万円騙し取られたのに、「犯罪中学生」は6万円を手に入れているのも解りにくいところだと思うので…。
(チケットの価値を途中で2万円減じている)
というかこのシーケンス図を見て理解できました。

@seec-k
Copy link

seec-k commented Sep 13, 2017

GithubってUML 描けるんですね。

@cia-rana
Copy link

@seec-k Rawで見ると画像のリンクを貼ってるみたいです

@digitarhythm
Copy link

「チケット送付先を教えてください」は、「チケットを送付」にしたほうがいいかなと思いました。
私がここから先が分からなかったのですが、他の説明を見てチケットを送るという動作だということが分かり、全部が繋がりました。

@shunirr
Copy link
Author

shunirr commented Sep 13, 2021

@digitarhythm
「チケット送付先を教えてください」は、チケットを送る動作ではありません。何か勘違いされているかもしれませんが、チケットは一度も犯罪中学生の手元には送られていません。
"誤認逮捕された専門学校生" が "犯罪中学生" に「チケット送付先を教えてください」というメッセージを送ったのに対し、 "犯罪中学生" は「「落札者」の住所を教える」という返答をした、ということです。

(ちなみに 4 年前の投稿ですので、実際の事実関係が本当にこうだと保証するものではありません)

@digitarhythm
Copy link

@shunirr
おお、なんと。
もう一回読み直しました。
チケットの送付は、誤認逮捕された人から、落札者ですね、理解しました。
とにかく複雑ですね…この案件は…。

@spiritloose
Copy link

https://github.blog/changelog/2022-02-28-gists-now-support-mermaid-diagrams/

Gist が Mermaid 記法をサポートしたのでこちらを思い出しました。Mermaid 版貼っておきます 🙇

sequenceDiagram
  participant Senmon as 誤認逮捕された専門学校生
  participant Criminal as 犯罪中学生
  participant JK_2 as 女子高生ら2人
  participant TicketShop as チケット販売サイト
  participant Rakusatsu as 落札者

  Senmon     ->> Criminal   : チケット 8 万円で売ります
  Criminal   ->> Senmon     : 買います
  Senmon     ->> Criminal   : 「誤認逮捕された専門学校生」の口座を教える
  Criminal   ->> JK_2       : チケット 4 万円で売ります
  JK_2       ->> Criminal   : 買います
  Criminal   ->> JK_2       : 「誤認逮捕された専門学校生」の口座を教える
  JK_2       ->> Senmon     : それぞれ 4 万円入金 (計 8 万円)
  Senmon     ->> Criminal   : チケット送付先を教えてください
  Criminal   ->> TicketShop : チケットを 6 万円で出品
  Rakusatsu  ->> TicketShop : 購入する
  Criminal   ->> TicketShop : 「落札者」情報を取得
  TicketShop ->> Criminal   : 「落札者」情報を表示
  Criminal   ->> Senmon     : 「落札者」の住所を教える
  Senmon     ->> Rakusatsu  : チケットを送付
  Rakusatsu  ->> TicketShop : チケット受け取り確認
  Criminal   ->> TicketShop : 売上出金操作
  TicketShop ->> Criminal   : 売上を「犯罪中学生」の口座に入金

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment