1

私はユースケース図を持っています。以下はその一部です。私がやりたいことを描くために必要な部分です。

ここに画像の説明を入力

そして、KNOB でオンにするアクティビティ図と KNOBオフにするアクティビティ図を次のように描きました。

ここに画像の説明を入力

ここに画像の説明を入力

しかし、両方の図の決定分岐の最終ノードについてはよくわかりません。私がやりたいことは、Turn ON with KNOB と Turn Off with KNOB のユース ケース図を別々に保持することですが、意思決定における最終ノードの配置がそれを表す正しい方法であるかどうかはわかりません。たとえば、 、KNOB でオンにするアクティビティ図のフローは、決定分岐でシステムが既にオンになっている場合に終了します。これは、システムが既にオンになっている場合、対応するアクティビティ図がKNOB でオフにするアクティビティ図であるためです。

しかし、決定分岐に到達するまで、両方が同じである場合、どのアクティビティ図を選択すればよいかをどのように判断すればよいのでしょうか? つまり、UML 準拠の観点からは、たとえば、Turn ON with KNOBアクティビティ図のフローに従い始めてから、決定分岐に到達し、システムが既にオンになっていることを判断して、単に「ジャンプ」することが正しいということです。 Turn Off with KNOBユースケースに対応するアクティビティ図に移動し、決定分岐から後者の図の流れをたどりますか? それとも、システムが既にオフになっているというシナリオに厳密に固執し、KNOWアクティビティ ダイアグラムでオンにする必要がありますか?

さて、これは別の質問につながります。アクティビティ図ごとに複数のユース ケースを表すことはできますか?

4

1 に答える 1

0

UML 仕様では、アクティビティは複数のアクティビティ最終ノードを持つことができると規定されています。最初に到達したフローは、アクティビティ内のすべてのフローを停止します。(したがって、あなたの例では、ライトがすでにオン/オフされているか、その状態になった後に制御フローが停止します)。または、両方のエッジが同じ最終ノードをターゲットにすることもできます*。最終ノードの唯一の目的はアクティビティを終了することであるため、これは同等です。

私の意見では、各ユース ケースは他のユース ケースとは別にする必要があります (ただし、アクティビティには、下位レベルの動作をモデル化するネストされたアクティビティが含まれる場合があります)。

(*これはアクティビティ図にあるため、「最終状態」ではなく「最終ノード」であることに注意してください。ステート マシンには最終状態があります。) また、アクティビティ フローを「分割」していません (フォーク ノードのように)。 、決定ノードが正確に 1 つの出力エッジを選択するためです。

于 2013-02-20T05:08:46.270 に答える