掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     コンポジット構造図の実線表記と破線表記および役割表記


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2007-2-22 3:34

コンポジット構造図の実線表記と破線表記および役割表記

コンポジット構造図の表記についての質問です。

単純に申しますと、
1.コンポジット集約でないものは、破線表記になると思われますが実線表記のままになっています。
2.また、[役割:クラス名]ではなく、[含有する側のクラス名:クラス名]で表記されています。

実際の手順ですが、
クラス図でAAA,BBB,CCCと3つ作成し、
AAA--コンポジット集約---BBB
AAA--集約---CCC
と関連を作ります。

AAA◆──BBB
◇       |
│       |
└────CCC

次に、ダイアグラムの追加でコンポジット構造図をつくり、
上記のクラスのリンクを貼り付けます。
AAA内部にBBB/CCCを貼り付けると("クラスの追加"で"それ以外"を選択し、"要素への貼り付け"で"リンクとして"を選択します)、
BBBは実線表記になりますが、CCCも実線表記になっています。
CCCは破線表記にならないとよくないように思います。

また、このとき[含有する側のクラス名:クラス名]で表記されています、上記の例だと、AAA:BBB AAA:CCC となっています。これは本来、役割:BBB, 役割:CCC とならないとよくないように思います。(上記の例では役割を明記していませんが、実際関連端の部分に適当な役割を設定してもAAA:BBBのようになってしまっています)
これは、この掲示板の次のトピック『コンポーネント要素の上に配置したクラスの名前』にあることと関連しているようです。動作的には同じです。
また、AAAとCCCの関連を単なる関連とした場合は、AAAの内部にあるCCCからAAAに向かって関連線が引かれています。

UML表記の解釈に誤りがあるようでしたら大変申し訳ございません。

-----
別件ですが、
3.AAAからクイックリンク機能で関連を作るとき、関連 と 関連(方向あり) と2つありますが、どちらも同じように見受けられます。

以上、よろしくお願いいたします。
tkouno
投稿日時: 2007-2-22 9:23
EA Administrator
投稿: 3939

Re: コンポジット構造図の実線表記と破線表記および役割表記

頂きましたご質問に回答させていただきます。

まず、ご指摘の件ですが、「コンポジット構造図」では、
クラスの中の構成を示すためには、クラスではなく「パート」要素を
使います。

つまり、上記のように単純にクラス図をコピーすることは
できない、ということになってしまいます。

「コンポジット構造図」において、BBBとCCCの「パート」要素を
作成する必要があります。

その上で、「追加プロパティ」で「isReference=true」とすると
ご希望のような破線表記になります。
(右クリックして「追加設定」→「追加プロパティ」です)

ただ、この場合でも、割り当てた「クラス名」が表示されないようです。
これはバグであるようにも思いますので、もう少し調査を行います。
バグであれば早急に修正します。


最後のクイックリンク機能の件ですが、オプションの
「接続」グループにある「関連の既定値をソースからターゲットに」の
設定項目にチェックが入っているのではないかと思います。

ここにチェックが入っている場合には、ご指摘のような挙動になります。


ご確認のほどよろしくお願いします。

今後ともよろしくお願いします。


未登録ゲスト
投稿日時: 2007-2-23 4:11

Re: コンポジット構造図の実線表記と破線表記および役割表記

破線表記になることが確認できました。ありがとうございました。

自動では行われないようですね(※)。

また、AAA内部にBBB/CCCを貼り付けようとすると2つのラジオボタンを含んだ"クラスの追加"のダイアログが表示されます。ここに"複合パート"がありこれをチェックすると、パート名がデフォルトで"Part1"のようになっています。
これについては、クラス図上で関連端名があった場合は、その名前がパート名になるのが自然のように思うのですが…
Superstructure の version 2.0 formal/05-07-04 では、9.3.12 Property の図9.20の(i)(ii)で、そのようなことを示しているダイアグラムがあります。

回答の中の、
"ただ、この場合でも、割り当てた「クラス名」が表示されないようです"の部分ですが、上記仕様でいう"Presentation Options"として処理をしているのかもしれません(匿名として処理している?)。
作成したパート上で右クリックし、"特性の可視性の設定"ダイアグラムで、「種類」-[要素の型を表示(ポートおよびパートのみ)]のチェックボックスをONにすると"Part1:BBB"のように表示されるようになりました。
また、[ツール]メニューの[オプション]の[要素]グループにある、ポートとパートの型を常に表示 をONにしれも表示されました。

クイックリンク機能の件はご指摘をしていただいたとおり、
「関連の既定値をソースからターゲットに」の設定項目にチェックが入っていました。これをはずすことで期待する動作になりました。

(※)
これが自動でできると便利だと思います。
ぜひ改善項目として検討していただければと思います。
それに合わせて、
複合パート生成時、関連端名があった場合はそれをパート名にするのも自動で(もしくは設定で)できるとよいと思います。

ありがとうございました。
tkouno
投稿日時: 2007-2-23 9:43
EA Administrator
投稿: 3939

Re: コンポジット構造図の実線表記と破線表記および役割表記

補足ありがとうございました。

パートの役割名の表示については、設定をすっかり失念しておりました。
恥ずかしい限りです。コメントありがとうございました。

クラスのドロップの件は、紹介が漏れておりました。
こちらも先にご紹介しておけばよかったですね。申し訳ございません。


また、※の処理についても、理論的には問題なく可能であると
思いますので、機能強化として検討させていただきます。

当方の説明が足りず申し訳ございませんでした。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ