Adult-Oriented Punk!

+ WordでUML

last mod.2020/05/08 


釈迦に説法かも知れませんがWordでUMLを描くときのTIPSです。


Word2000でのお勧めの始め方:
A. Draw98を使う

1) [挿入]-[図]-[新しい描画オブジェクト]とやって
   (=「Microsoft Draw 98 描画」オブジェクトを挿入)
2) 一旦ほかの部分をクリックして編集状態を解除
3) [右クリック]-[オブジェクトの書式設定]-[サイズ タブ]で 倍率 を75%にする。
4) ダブルクリックして編集状態にし、サイズを広げる。

B. Word図を使う
(コネクタが使えないので非推奨。ただし、Word図を使う場合は、そのWord図に対し以下設定を行うことを推奨します)
[ファイル]-[ページ設定]-[文字数と行数]-[標準の文字数を使う]

Word2002,Word2003では:
  • Draw98はサポートされないので、描画キャンバスを使います。
  • 図全体をリサイズしたときの動作が微妙です。
  • 下記設定を推奨(必要に応じセクション区切りも活用)。
[ファイル]-[ページ設定]-[文字数と行数]-[標準の文字数を使う]

Word2007では:
  • うーむ。まだ購入してません。が、
  • Word図が非サポートとなった模様。
  • 既存のシェイプを上下左右に反転、あるいは回転して、自分の望むシェイプを作り出すと、その中に書いた文字列フォントもひっくり返ってしまう点が2003と異なる動作となるようなので、注意する。

全般的なアドバイス:
あまり「グループ化」に頼らない。移動したい場合などは選択のとき注意して、クラスのハコの周りにある継承三角や集約ダイヤをまとめて選択すればよい。








継承の矢印は、角度をいじらない。直線をあきらめて折れ線コネクタを使うと便利。
エクスプローラ等のツリー表示風に描くのもgood。




Wordなら罫線方式をお勧めします。

Excelだと行ごとに(左詰/センタリング)を変えることができませんし、罫線も使えません。→Excelならクラス名はセンタリングのかわりに「インデント4文字」等で割り切る。また、区切りの横線を2本の線ではなく、1個の透明の箱で実現するのもgood。

C++コードとの対応はUMLプレスVol.2のエピステーメー氏の記事より引用させていただきます。


集約にテキストボックスをつけるときは、縦に伸ばすと線とずれて吉。
集約のダイヤの角度はいじらない。多少コネクタ線とずれてもあまり気にしない。
折れ線コネクタにするのも吉。
(UML豆知識:黒ダイヤ◆は「生存期間が完全に一致」、白ダイヤ◇は「生存期間が異なる」の意味です)




ご参考になれば幸いです。

元にした.docファイルは下記です。

リンク備考
Word-UML-TIPS.docWord2000 (Draw98 バージョン)
Word2002-UML-TIPS.docWord2002 (描画キャンバス バージョン)

+ オレに優しいドローソフト



グーグルからの足跡が多いので気になっていましたが、"Word UML"で検索すると上位に表示されているようです。そこで謝辞と、ちょっと一言。

以前お世話になった会社のネコ社長が言ってました。
「A4の紙上にどれだけうまく情報を整理できるかで、そいつのアタマのよさがわかるんだぞ」と。

私はこの言葉を常に念頭に置いて資料を作っています。
ご指導ありがとうございました。


UMLを描くのに高価なモデリングツールがよいとは限りません。大事なのは、まともに読める資料を作り、時間単価の高いひと(リーダ、レビュー者)を有効活用することです。

バージョン2症候群に陥らずに、本来UMLが生まれた意味を考えて図解をするなら、UML図は、9ptのフォント、A4以内で描ける図に収まる(収めなければならない)と信じています。人間同士のコミュニケーションが第一、CASE(人間-コンピュータ)は二の次と思っています。

UMLを描くのに高価なモデリングツールがよいとは限りません。←「大事なので2回言いました」

関連リンク

リンク備考
UMLモデリングツール、使いやすさの鍵とは?@itのツールレビュー記事
Kennedy Carter - iUMLThe executable UML modelling environment
BOUMLフリーのUML2モデリング環境。軽くてサクサク。超イケてる。これがあればRoseいらないかも...
BOUML日本語情報SourceForge.jp
Link:UML関連リンク




こちらのページもどうぞ。→ + Excel選択範囲のテキストをテキストボックスに