私はUMLステートチャート表記の初心者です。同じトリガーされたイベントで2つの起動されたアクションがあることをシミュレートしようとしていますが、これらのアクションの1つは条件に応じてオプションです。
2 に答える
UML 状態図では、各遷移はただ 1 つのイベントによってトリガーされます。あなたの場合、1 つのイベントが 2 つの異なる状態への遷移を引き起こすか、ご指摘のとおり、オプションのパスがあったようです。個人的にお勧めしたいのは以下の点です。
私がしたことは、あなたが言及した条件で分岐するために Pseudostate を使用することです。したがって、条件が成立する場合は一番下の最終状態に遷移し、そうでない場合は右に遷移します。最終状態は同じですが、図は各遷移での異なる動作を明確に示しています。
正しく丸みを帯びたボックスを使用していないことをお詫びします。私が使用したオンライン描画ツールではこれらが提供されませんでした。ご覧のとおり、2 つの最終状態を使用しましたが、使用できるのは 1 つだけです。どちらも UML で許可されています。
実際、UML psecification によれば、特定の遷移によってトリガーできる「効果」またはアクションは 1 つだけです。したがって、2 つのアクションをトリガーするには、2 つの遷移 (内部または外部) をモデル化する必要があります。私にとって、あなたの状態は、あなたがすでに理解しているように、警備員として表現されるべきです. それで、あなたは本当に2つのアクションを持っていますか?ユースケースについてもう少し説明していただけますか?