空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

スケッチ UML

最近,ようやく「ソフトウェアの設計図」がうまく書けるようになってきた。今回は,既存のライブラリに新規機能を追加するのに,クラス図とシーケンス図上で一週間程度検討を重ね,実装は2日で済ませた。今回はわりと設計段階で丹念に吟味したおかげで,実装が驚くほど楽になった。開発したあとに大量の設計資料が残るのも嬉しい。UML って,覚えたての頃はガチガチに厳密にやろうとして,すぐに破綻してたんだけど,うまく情報を抽出できたり手の抜き方が分かってくると,結構使えるものだということが分かってきた。
手を抜くことによって,全体の情報量が少なくなって理解しやすくなるのもあるし,それ以外にも,もともと厳密じゃないぶん,厳密に up-to-date にする必要がなくて,結果としてメンテナンスコストの低い超寿命なドキュメントになるという効果もある。これはなかなか愉快な知見である。
UML 覚えたんだけど,どうもうまく使えないなぁと思っている人には以下の本がお勧め。

UML Distilled: A Brief Guide to the Standard Object Modeling Language (Addison-Wesley Object Technology Series)

UML Distilled: A Brief Guide to the Standard Object Modeling Language (Addison-Wesley Object Technology Series)


UML モデリングのエッセンス 第3版 (Object Oriented SELECTION)

UML モデリングのエッセンス 第3版 (Object Oriented SELECTION)

私が使った入門書はこちら。これも結構分かりやすかった。

UML: A Beginner's Guide

UML: A Beginner's Guide