コンビニ精算RTAをUMLのシーケンス図で書いてみる
目的
- UMLの記述の練習をする
- 物事のモデル化をする、考える
注目した点
- 客⇔店員、店員⇔レジでタスクが分かれる
- 店員⇔レジのタスクが行われている間、客が次の準備をすることが出来る
- 精算には、品物のスキャン→ポイントカードのスキャン→精算の順序がある
完成したシーケンス図
UML(PlantUML/VSCodeを利用)
@startuml
title シーケンス図
客 -> 店員: 品物を渡す
店員 --> レジ: 品物をスキャン
客 -> 店員: ポイントカードを渡す
店員 --> レジ: ポイントカードをスキャン
レジ --> 店員: ポイントカードを戻す
店員 -> 客: ポイントカードを受け取る
レジ -> 店員: 品物をレジ袋に入れる
客 --> 店員: 「支払いICカードで」
店員 --> レジ: ICカードの支払いに設定
店員 -> 客: レジ袋を受け取る
客 --> レジ: ICカードをタッチ
レジ --> 客: ICカード精算完了
店員 -> レジ: 精算完了ボタンを押す
レジ -> 店員: レシートを印刷
店員 -> 客: レシートを渡す
@enduml
実践してみた結果
- こちらの作業が終わって手持ち無沙汰になることもある
- 現金の場合もモデル図にしたい
- セルフレジではどうか
- ポイントカード、ICカードを置くだけのレジとかあっても良いかもしれない