Diaを使い始めたばかりです。シーケンス図を作成しようとしています。セルフコールを代表したいと思います。Diaでそれをどのように行うのですか?私はそれを理解することはできません。
ありがとう。
まず、ベースがライフラインにアタッチされたUMLメッセージオブジェクトを配置します。
次に、矢印をダブルクリック(または右クリックして[プロパティ])、[メッセージの種類]ドロップダウンフィールドを[再帰]に変更すると、次のようになります。
これで、緑色のアンカーポイントをドラッグして、メッセージの矢印を好きなように見せることができます。(注意:再帰メッセージオブジェクトでは、緑色のアンカーポイントが存在する場所をクリックすることによってのみオブジェクトを選択できるようです。もちろん実際にはそれを見ることができないため、「そうなる」と言います。オブジェクトが選択されていない場合の緑色のアンカーポイント。)
必要に応じて、次のように、別のUMLライフラインオブジェクトを作成し、既存のライフラインとオーバーラップさせることができます。
ただし、この2番目のライフラインには実際には何も接続されていないため、これは理想的ではありません。Recursive Messageオブジェクトは、元のライフラインに自動的にアタッチされるため、矢印をアタッチする場所を選択できません。また、2番目のライフラインは何にも接続されていないため、オブジェクトを移動すると、ライフラインが取り残されます。しかし、それがあなたが求めているものであれば、それはきれいに見えます。:)
UMLのセルフコール(またはその他のアソシエーション)は、メッセージの代わりに標準のアソシエーション表記を使用して表現する方が適切です。DIAで、左側のツールボックスから関連付け表記を挿入し、キャンバスに追加します。次に、クラスを再帰的に(それ自体に)接続させるには、クラスをダブルクリックし、[自動ルーティング]を[いいえ]として選択します。これにより、ルートを自分で形作ることができ、クラスをそれ自体にリンクするときに描画される自動直線に制約されることはありません。
最終的には次のようになります(この例では、リンクリスト内のノードの表現です)。