掲示板一覧 - トピック一覧 Enterprise Architect 全般
シーケンス図のメッセージの表示が正しく表示されない |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | トピック |
|---|---|
| sugimoto | 投稿日時: 2007-7-2 11:24 |
EA Administrator ![]() ![]() 投稿: 1895 |
シーケンス図のメッセージの表示が正しく表示されない○ご指摘
シーケンス図を作成しており、メッセージが正しく表示されない現象がありました。 [作業手順] ・パッケージA パッケージAには、クラス図Aとそのクラス図に含まれるクラス要素Aを オブジェクトとして使用したシーケンス図Aが含まれています。 シーケンス図Aでは、クラスAの操作OpeA()をメッセージに使用しています。 パッケージAはバージョン管理しており、インポートした状態で、 編集はできません。 ・パッケージB この状態で、別のパッケージB内にクラス図Aをコピーし、”新規要素として貼り付け” としてクラス要素Aをコピーしました。この新しく作成されたクラスは クラスBとします。 クラスBを使用して、パッケージB内にもシーケンス図を作成しました。 シーケンス図では、クラスBの操作OpeB()をメッセージに使用しました。 [問題1] パッケージB内に、クラスB内の操作OpeB()を使用してシーケンス図を 作成したにも関わらず、クラスA内の操作OpeA()がメッセージ名として 表示されてしまいます。 [問題2] クラスB内の操作OpeB()に引数を追加したら、シーケンス図A内のメッセージ OpeA()にも引数が追加されてしまいました。 ○回答 こちらは、EAのバグになりますので、開発元に連絡し修正いたします。 この問題の概要を説明いたします。 クラスの操作をシーケンス図のメッセージに使用した場合、操作には タグ付き値が付加されます。EAはその値を元に、シーケンス図のメッ セージとクラスの操作の情報をリンクします。 この状態で、そのクラスを含むダイアグラムをコピーし、要素を新規 作成すると、クラスは新規作成されますが、クラスの情報はコピーされ ます。その際に、別のクラスになったので、操作のタグ付き値は削除 すべきですが、現在はコピー元のクラスの操作のタグ付き値をそのまま コピーしてしまっていました。 そのため、シーケンス図でメッセージを作成した場合、そのメッセージに 該当する操作を間違って別のものを指してしまう場合があります。 今回は「パッケージA」のクラスの操作のタグ付き値と、「パッケージB」 のクラスの操作のタグ付き値が同じ値になってしまい、「パッケージB」 のシーケンス図のメッセージ名表示時に、間違って「パッケージA」内の 情報を参照しておりました。(問題1) また、「パッケージA」のシーケンス図のメッセージの引数表示時に 「パッケージB」内の情報を参照しておりました。(問題2) この問題は、以前から発生しておりましたが、問題を発生させるための 操作手順が明確になっておらず、弊社でも対応の手段がありませんでした。 以下の現象も、今回の問題と同じ原因です。 https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=1509&post_id=3245 今回ご報告いただいたおかげで、問題を修正する目処が立ちました。 開発元に連絡し、クラス要素をコピーした際、タグ付き値は引き継がない という修正を、できる限り早い段階で対応いたします。 また、現在作成されたモデルの修正方法としましては、モデルが大きい場合は 手間になってしまいますが、「パッケージB」内の操作のタグ付き値を、 タグ付き値サブウインドウで削除してただき、シーケンス図のメッセージに 改めて正しい操作を設定していただくことが必要になります。 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |




