Enterprise Architect にシーケンス図があります。
これは、タイマー プロセスまたは手動プロセス (ユーザーが GUI 画面のボタンを押す) の 2 つのソースのいずれかによって開始できるプロセスです。
これを図にどのように表示すればよいでしょうか。
Enterprise Architect にシーケンス図があります。
これは、タイマー プロセスまたは手動プロセス (ユーザーが GUI 画面のボタンを押す) の 2 つのソースのいずれかによって開始できるプロセスです。
これを図にどのように表示すればよいでしょうか。
シーケンス図では、同じ操作の 2 つの代替呼び出しを示すことはできません。アクティビティ図では、同じアクティビティにつながる 2 つの異なる受信イベントを使用してこれを実現できますが、シーケンス図では、2 つのメッセージを同じシーケンスに描画することはできません。
できることは、シーケンス内から他のシーケンスを呼び出すことです。
これを行うには、最初にプロセスのシーケンスを描画します。プロセスがどのように開始されたか、または誰によって開始されたかを示すのではなく、プロセス内で何が起こるかのみを示します。
次に、2 つの異なるケースに対して 2 つの別々のシーケンス図を描き、それぞれに最初のシーケンス図をドラッグして、「相互作用の発生」としてドロップします。
最後に、アクターからインタラクションの発生へのメッセージを描画します。ダイアグラムでオカレンスをダブルクリックすると、プロセスを説明するシーケンス図が開きます。
もちろん、これに関連する問題は、シーケンス図で自発的な発生 (タイムアウト) を表示する標準的な方法がないことです。これは、シーケンス図が呼び出し元と呼び出し先 (多くの場合カスケード) の間の相互作用に焦点を当てているためです。これに対処する最も簡単な方法は、アクター「クロック」または類似のものを作成し、プロセスを開始させることです。
タイマープロセスと手動呼び出しに共通のインターフェース(またはスーパークラス)を導入し、それをユーザーとして設定することをお勧めします。呼び出し(私が推測)はとにかく同じ基本メソッドを呼び出す可能性が高いからです。
それらの動作がまったく異なる場合は、Uffe のアドバイスに従い、2 つの図を作成します。
一部のツールでは、シーケンス図でフラグメントを使用することもできます (エンタープライズ アーキテクトの対応するヘルプ テキストを参照してください)。次に、たとえば「alt」フラグメントを使用できます。ただし、指定されたリンクのアドバイスに注意してください。「シーケンス図は、複雑な手続き型ロジックを示すためのものではありません」。