私はこの問題を抱えています。私のシステムは衣料品店で、顧客は購入日の 1 日後にのみ購入した布を返品することができます。
布の返品はユースケースですが、1日の状態をどのように表すことができますか?「ガード状態」を使おうと思ったのですが、いかがでしょうか?
ここにあるのは、実際には、共通のアクションを共有する 2 つの異なるユース ケースです。
「Try to Return Clothing」のベース ユース ケースを作成し、次にそれを一般化する 2 つの異なるユース ケースに拡張します。
次に、シーケンス図でこれらのユース ケースの結果を特定できます。たとえば、1 日後に返品を行った顧客は返品処理を許可されません。
いくつかのオプションは、ユース ケースのフローをどのように表現するかによって異なります。
わかりやすくするための最後の例:
主な流れ
例外フロー: 最大リターン間隔を超えました
2a. 返品日が最大返品間隔以上であることが確認されました
3このシナリオで何をするにしても...
要するに、オプションがあります。どちらを選択するかは、モデリングの好みによって異なります。しかし、元の質問に答えると、ガード条件は完全に許容されます。
条件は動作で構成されるため、条件ステートメントはユースケースでは使用されません。そんな「布を返す」ユースケースはおかしい。「登録する」「フルフィルオーダー」などのユースケースには命令文を使用してください。