2016-05-31 21 views
1

代替フローを使用する場合、シーケンスダイアグラムにifおよびelseガードを配置する必要がありますか?たとえば、私がウェブサイトを持っていて、ある人がアイテムを購入することを決めた場合、そのアイテムは予約されています。したがって、お客様とInterface:Interfaceの間の相互作用に既にそれを指定している場合、[支払費用が受理された場合]には意味がありますか?UML - シーケンス図の代替フローにifとelseガードが必要ですか?

+1

ジムLの回答が良いです。私は警備員と一緒に条件を指定して "if"を省略することを慣例としています。あなたのガードは[支払い手数料]となります。 – Uffe

+0

ありがとう、あなたのコメントは両方とも役に立ち、私の答えは完了しました。それは理にかなっています。私はコメントされたUMLセクションには全く気づかなかった。 – Anonymous

答えて

2

ガード条件を指定しない場合は、両方の選択肢がスキップされます。 UML 2.5のセクション17.6.3.7(代替)では、「オペランドのいずれも真と評価されるガードを持たない場合、オペランドは実行されず、包含するInteractionFragmentの残りの部分が実行されます。

+0

ありがとうございました、それは完成したUffeの反応に役立ちました。 – Anonymous

0

各altフローには明示的または暗黙的なガードがあります(最初の段落の17.6.3.7を参照)。ガード・ステートメントが指定されていない場合、これは暗黙的な真のガードとして扱われます。

シーケンスダイアグラムを使用してさまざまなフローをモデル化した場合、特定のダイアグラムにフローの1つのみを表示しても、そこにガードを置く必要があります(そうしないと、常に実行され、あなたはaltを使ってモデル化したいもの)。

上記のように、ガードには、trueまたはfalse( 'if'キーワードなし)と評価される論理ステートメントのみが含まれています。

関連する問題