当学会会員の河合昭男氏が、新たな構想のもとにUMLの入門書を著されました。以下に河合氏に、当書籍に関して寄稿していただいた全文を掲載します。
(本書の目次を最後に記載しています。)
UMLの入門書は既に多数出版され出つくされ、かつてのブームも下火になった感があります。本書に懸ける筆者の思いを書かせていただきたいと思います。
筆者はオブジェクト指向/UMLの研修を専門に行っています。以前出版した技術評論社まるごと図解シリーズ「最新オブジェクト指向がわかる」(2001)「最新UMLがわかる」(2002)をサブテキストにしておりましたが10年近く経ちそろそろ改訂したく考えていたところタイミングよく出版社より新シリーズでの企画のオファーをいただきました。
筆者が普段感じているのは、UMLやJava/C++などの企業・学校での教育は実践を急ぎ過ぎ基礎教育がややおろそかにされていることです。オブジェクト指向の考え方という哲学が抜けています。一見するとUMLのモデルは描け、Java/C++のプログラムは書けて動きます。オブジェクト指向言語Java/C++で書いたのだから当然オブジェクト指向の特徴である「変更に強く保守・拡張性に優れた」プログラムだということには全くなっていません。
オブジェクト指向は敷居が高いと感じられています。最初の壁はクラスとインスタンスです。筆者も20年位前C++を学び始めた頃この理解に苦労しました。Cができるならその延長線上だと安易に思っていましたが、横に広がるのではなく全く発想の異なる違う方向の理解が必要でした。UMLも同じです。クラスとインスタンスの理解がキーです。クラス図が描けるのにオブジェクト図が描けません。理解できていないということです。
第2の壁は継承・多態性の理解です。本書ではこの2つの壁を、オブジェクト指向の考え方という哲学は「全く人間自然本来の普遍性のある考え方なのです」ということを身近な例から始め、UMLはこのような「自然なモデリング言語である」ということを伝えることに苦心をしました。
最後の2章に統一プロセスRUPベースの簡単なケーススタディのさわりを記述しました。第13章として第2反復の原稿を用意しましたが、残念ながら本書読者ターゲットと頁数の都合で入りませんでした。
本書ならびに筆者の学校・企業での教育・研修ではこのように技術者教育に必須であるにもかかわらずやや軽視されている暗黙知に属する知識を重視する教育を心がけています。本書がその一助になれば幸いです。
(河合昭男)
本書の目次
1. UMLとは何だろう?
2. モデルって何?
3. UMLの前にオブジェクトを理解しよう
4. 同じ種類のオブジェクトをクラスにまとめる
5. 一番大切なクラス図を理解しよう
6. 動きを表現するダイアグラムを理解しよう
7. クラスを分類して整理しよう
8. 多態性って何?
9. オブジェクトを分解して内部構造を理解しよう
10. その他のダイアグラムも知っておこう
11. 開発プロセスは要求から始まる
12. 分析モデルを作成しよう
付録A astah* communityのインストールと使用法のヒント
付録B 解答・解説集