オブジェクト指向システム設計

オブジェクト指向システム設計―新たな方法論の統合を提唱する

オブジェクト指向システム設計―新たな方法論の統合を提唱する

オブジェクト指向というものは今後身につけないといけないもの。どうせなら、有名どころの人の著作を読んでおいたほうがいいかと買った物。実は、それは後で気づいたことなんだけどね。よく設計方法で出てくるCoad-Yourdon法のヨードンさんの著作のようです。
なんだか教科書のような本です。これを読み終えたら、すでにオブジェクト指向設計などができる状態になっていると書かれていたのですが、とても無理です。時代的には古いのでRubyなんかについては全然でてこない。せいぜいがC++です。でも、そのC++もヨードンからすると中途半端的なようで嫌いみたいです。COBOLオブジェクト指向的な拡張がはやくでてくるようなことを祈っている感じ。というか、この時代では(1995年)まだオブジェクト指向言語があまりでてきておらず、さらに現場でもほとんど使われていない状況。
データベースを少し勉強してあったおかげで、図表記法に関してはまだなじみがある気になっていたのだけど、それは逆効果のようです。エンティティー関連図はOOAやOOD表記法は全く違うものだとか。似ているからと同じように理解してはいけないのだとか。それぞれの表記法は似ている部分も多く、でも少しだけ違い、一長一短があるのでどれを使うかはやっぱり現場によるところもあるらしい。全部覚える必要はないとか。
オブジェクト指向への切り替えは、再利用とかに大きく関係するので、企業ぐるみでの変更が必要になってくる。しかし、すべての人を同時に変えるのは、採算的にも難しい。だから、時期をちゃんと見つめる必要がある。プロジェクトが1度ちゃんと終了したときとか、会社としてレベルもあるらしい。そのレベルの判断の基準もあるらしいのだけど、初心者では分からないことばかり。
フラットファイルデータベースとリレーショナルデータベースはやっぱりオブジェクト指向には直接使えなくて、変換の必要があるとか。オブジェクト指向データベースを使っているものは現実にはほとんどない。この本の書かれた1995年から10年以上過ぎているが今もそう変わりないような気もします。フラットファイルデータベースは、さすがに使われなくなってきたように思う。リレーショナルデータベースがほとんどですね。でも、オブジェクトデータベースは、リレーショナルデータベースに代わるものではないということなので、今後はどうなっていくのか不明です。でも、リレーショナルデータベースでも拡張としてオブジェクト指向的なものを含めていっているようです。ただそれぞれのデータベース依存なのでその辺の扱いがまた難しいところ。いつか標準になるものなのでしょうか?
簡単に言うと難しい本です。僕のレベルではない。構造化設計などとの比較などもしていたのですが、それも全く知らない僕にとっては、ある意味入りやすいはずが、全然太刀打ちできない。オブジェクト指向はこれまでのものと全く違うので、古いプログラマーが概念を理解するのはとても難しいらしい。その古いといわれる構造化手法は今では、小学校でも教えられているくらい。だから、いきなりオブジェクト指向に飛び込める人間は意外に少ないのだとか。でも、単語自体も知らないので、メソッドとか属性とかもなじみがなく、結局分からない始末。
まぁ、オブジェクト指向言語でプログラムを書いてみて、カプセル化、継承、多重継承、クラスなどの特徴的なものを実際使ってみてから読むような本ですね。って前にもオブジェクト指向の本を読んで思ったことと同じだ。成長がないというか、実戦していないのでしょうがないよな。まぁ、一応はオブジェクト指向ではないけど、分かりやすいPHPから勉強しているので仕方ない部分もある。