3

私はUMLステートチャート表記の初心者です。同じトリガーされたイベントで2つの起動されたアクションがあることをシミュレートしようとしていますが、これらのアクションの1つは条件に応じてオプションです。

以下は私が必要とする単なるシミュレーションです。次の表記は正しいですか、それとも間違っていますか?: ここに画像の説明を入力

4

2 に答える 2

3

UML 状態図では、各遷移はただ 1 つのイベントによってトリガーされます。あなたの場合、1 つのイベントが 2 つの異なる状態への遷移を引き起こすか、ご指摘のとおり、オプションのパスがあったようです。個人的にお勧めしたいのは以下の点です。

オプションのタスクの実行につながる条件で分岐する疑似状態を示す UML ステート チャート。

私がしたことは、あなたが言及した条件で分岐するために Pseudostate を使用することです。したがって、条件が成立する場合は一番下の最終状態に遷移し、そうでない場合は右に遷移します。最終状態は同じですが、図は各遷移での異なる動作を明確に示しています。

正しく丸みを帯びたボックスを使用していないことをお詫びします。私が使用したオンライン描画ツールではこれらが提供されませんでした。ご覧のとおり、2 つの最終状態を使用しましたが、使用できるのは 1 つだけです。どちらも UML で許可されています。

于 2015-09-22T21:16:20.883 に答える
0

実際、UML psecification によれば、特定の遷移によってトリガーできる「効果」またはアクションは 1 つだけです。したがって、2 つのアクションをトリガーするには、2 つの遷移 (内部または外部) をモデル化する必要があります。私にとって、あなたの状態は、あなたがすでに理解しているように、警備員として表現されるべきです. それで、あなたは本当に2つのアクションを持っていますか?ユースケースについてもう少し説明していただけますか?

于 2015-09-21T13:01:23.260 に答える