オブジェクト指向設計

オブジェクト指向の考え方に沿ってソフトウェアを設計すること。
オブジェクト指向設計の技法として、UML等の設計記述方法、RUP、アジャイル等の開発プロセスフレームワークが広く普及している。

現在のソフトウェア設計では、構造化設計とオブジェクト指向設計の2つが良く知られている。構造化設計は、全体のうちデータや処理の共通部分に着目してサブルーチンを作り、詳細化していく技法である。一方、オブジェクト指向設計でも構造化設計と同様に共通部に着目するが、下記2点で異なる。

・カプセル化
オブジェクト内の処理やデータを隠蔽し、外部から直接アクセスできないようにする。それにより、ソースコードのモジュール化を促進する。

・継承と多様性
共通部に手を加えずに差分を追加しやすくする。それにより、コードの重複を防ぐ。

これらの特徴により、構造化技法と比べて可読性が高く、並行開発しやすいメリットがある。一方で、モジュール化されすぎてソフトウェアの実行速度が犠牲になるなどの弊害もあり、オブジェクトの捉え方、つまり製品に最も合うアーキテクチャ構築が品質向上のカギとなる。