前回までのあらすじ:適当に拡張を続けてきた設計が俺の脳内に収まり切らなくなってきたので、ちゃんと資料にしようと思った。資料も適当な表記法でやろうかと思ったんですが、それじゃ二の舞なので、数日かけてUMLを再勉強していました。前世紀に覚えたはずなんですが、実務で使う機会がなかったので、すっかり忘れておりました。2005年にUML2.0が出来たらしく、せっかくなので、そちらのバージョンを学習することにしました。Amazonのレビューを参考に買う本を絞り込み、書店で実際に読んでみて、気に入ったものを購入しました。1冊の予定だったんですが、書店でマーチン・ファウラー著のUML本もいい感じだったので、2冊買っちゃいました。マーチン本は200ページ以下の薄い本です。著者が重要だと考えるダイアグラム(クラス図、アクティビティ図)を重点的に解説しており、他の図は4〜10ページ程度で概要を伝えるのみに留めています。逆にこれが初心者にはありがたい。13種類のダイアグラムを覚えようとするのはしんどい上に、役割が重複しているダイアグラムもあるためです。基本を覚えてから、自分の好みや作業内容に応じて、新たなダイアグラムを覚えていけばいいと思います。2冊目のオージス総研本は、マーチン本とは逆に各ダイアグラムを均等に扱っています。それぞれの内容もマーチン本より詳しくなっています。前書きにもあるとおり、リファレンスとして使える内容になっており、マーチン本を読んだあとでの知識補強が出来ます。いずれに向けた内容なのかが書かれており、必要ない部分はスキップ出来るのもありがたい。この2冊を4時間ほどで読破し、早速現在のクラス図を書いてみました。一気に再設計して再実装と思っていたのですが、手に負えなくなる規模かも。方針を変更してインクリメンタルにやっていこうと思います。先に機能実装からかなー。非機能実装からやるといつまで経っても終わりそうにないですし。昔の同人誌を読んでいたら、いてもたってもいられずに課金しちゃいました。