UMLツールはMagicDrawが使い易いと思う

個人ユースのMagicDraw愛用者から見て、
SparxのEAが使い辛いと思う点をまとめてみました。

もともとぼくはMagicDraw信者なので、以下は中立的な意見ではありません。
また、個人の主観的/感覚的な話も多く含まれており、
詳細なUMLを書くようなユーザでもぼくはないです。

それを踏まえた上で、お読み頂ければ幸いです。

※. 比較はMagicDraw Personal 16.6 / EA評価版 Program Ver 9,3,935
  で行っています。なのでEA製品版だと直っている、などはあるかもしれません。

 

------------------------------------------------------------------------------------------------------------

 

1. EAは長い名称を使用した場合の要素サイズが不安定なことがある

【EA】
 EAは長い要素名が入力されたとき、
 おそらく半角スペースを認識して多段にしている*1ため、

 半角スペースが入っていないと、要素名が一行で表示されてしまい、
 ユースケースなどが非常に横長になってしまうことがある。

 なので長い文字列を使う場合はスペースを適切に入れておく必要がある。
 また、横長になった場合にユースケースが縦にも膨らむという問題もあり、
 画面をでかい○が占有してしまうことがある。ユースケースが多い場合に苦しい。

 オプションである程度回避可能なものの、
 縦を一定以下に縮めようとした際に、再度膨らんでしまうという、不審な挙動がある。

f:id:namicho:20121027035621p:plain

 

おそらくこのへんの話です。
Sparxフォーラム - ユースケースのサイズ周り

https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=3287&post_id=7114&viewmode=thread#forumpost7114 

https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=4198&post_id=8545#forumpost8545 

 

【MD】

 MagicDrawでは適切に多段にしてくれ、縦に膨らむ挙動もない。
 縦横サイズは名称が表示される限り自由に変更できる。

f:id:namicho:20121027035643p:plain

 

2.リンク追加の便利機能 EAのクイックリンク vs MagicDrawの右スモールウインドウ

【EA】

 EAではリンク追加の便利機能として、要素の右上の小矢印を選択後、
 対象要素にドロップして、出てきたウインドウから選択するリンクの種類を
 選ぶとリンクできる。

f:id:namicho:20121027035701p:plain

【MD】

 MagicDrawでは、要素を選択すると、右スモールウインドウに使えるリンクが
 表示されるので、あとは使いたいものを選び、対象をクリック。

f:id:namicho:20121027040639p:plain

 

 【EA】シングルクリック1回、D&D1回、クリック1回

   vs

   【MD】シングルクリック3回
 の違いでしかないけど、EAのクイックリンクは選択の順序が、

 主体⇒対象⇒リンクの種類

 となるのに対して、MagicDrawでは

 主体⇒リンクの種類⇒対象 

 となるのでSVO,SVCという意味の順に操作できる。
 個人的には後者が操作しやすい。
 ( Has関係だと S - HAS - O という順に選べばいい)

 

3. クラス図のノートの追加
 EAでは、Note要素を選択、追加。対象にリンク。
 MagicDrawでは、スモールウインドウからノートアイコン選択した時点で
 対象につながった状態のノートを出せる。一手早い。

 

4. キーボードショートカットの使い易さ
 関数の追加、変数の追加などの基礎的なショートカットはEA,MagicDraw双方にあり。

 その上でMagicDrawは、ほとんどの要素の選択がキーボードショートカットに対応していて、ツールチップにも表示されるので、覚えやすくて助かる。

 ------------------------------------------------------------------------------------------------------------

正直、個人のライトユーザではあるので、どこまで参考になる意見かは不明。
ヘビーにUML書きまくる人や、詳細なUMLを必要とする人、
コード生成を多用する人は、また違った視点になると思われるので。

------------------------------------------------------------------------------------------------------------

*1:たぶん英語版のユーザビリティのため。英語だと半角スペース入れるのがふつうで、且つ単語の途中で切らない為の配慮かと推測