私がオブジェクト指向の壁にぶつかって悩んでいたときに上司の方に薦められた本です。
この本のおかげでオブジェクト指向がどんなものなのかを理解することが出来ました。
優れたソフトウェアはユーザが満足し、支持するソフトウェアといえます。
では、どうしたらユーザが満足してくれるソフトウェアが開発できるでしょうか?
答えを知りたい方は続きをご覧ください。
オブジェクト指向は、
システム分析、設計の概念です。
もしかしたらあなたはこのような方法論は、
何かの型にはめられて
自由を失う印象を持つかもしれません。
が、それは間違いです。
車の運転に例えると、オブジェクト指向を学ぶことは交通ルールを学ぶことに似ています。
どの車を運転するにしても交通ルールは必ず存在します。
これを知ることによって無知ゆえの危険な運転を防止することになります。
そして、このルールはドライビングテクニックの上達の妨げにならないはずです。
オブジェクト指向はとても多くの知的エネルギーと冷静な観察眼と深い洞察力が必要です。
この工程の成果がそのあとのシステムの品質に大きな影響を与えます。
あなたが物事の本質を探究することに興味があるならオブジェクト指向の魅力に取りつかれてしまうで
しょう。
① 分析(システムの仕様を決定)
② 設計(仕様を実現するための方法を考える)
③ 実装(コーディング、テスト、デバッグ)
オブジェクト指向はこれらを繰り返して開発していくことができます。
これが可能なのでユーザの要求など変化しやすい環境でも柔軟に対応でき、ユーザにとって優れたシステムを実現できます。
世の中のソフトウェア開発では分析や設計はあまり行わずにいきなりフローチャートを書き始めたり、コーディングをはじめたりする方法が主流なのではないでしょうか?
では、分析、設計とは具体的に何をするのでしょうか?
続きをご覧ください。
分析はプログラムが何をしなければならないのか、システムに何が求められているのかということを整理することです。
業務システムであれば、
業務内容です。
なので、分析段階では成果物は環境に依存しません。
動作環境は、UNIXでもWindowsでもMacでも関係ありません。
分析段階はシステムの骨格を作成する非常に重要な工程です。
この段階でシステムを構成するクラスを洗い出し、これらのクラス間の関連を探し、個々のクラスがどのように振る舞うのかを定義します。
あなたがオブジェクト指向エンジニアとして求められるセンスというのは、
物事の構造や本質を瞬時に見抜き洞察する能力です。