オブジェクト指向プログラミング
オブジェクト指向プログラミングは、ソフトウェアの大規模化に伴い、より効率的な開発手法が模索される中で1960年代に考案された。OOP言語は歴史的にクラス構造を中心とする"Simula"系統と、メッセージ機能を主体とする"Smalltalk"系統に分けられるが、後に"C++"や"Java"などの言語が派生した前者が主流となった。この前者のオブジェクト指向が示す「内部隠蔽」「継承」「多態性」の三仕様を備えていれば、OOP言語であると見なされる。
オブジェクト指向分析設計
一方で、オブジェクト指向プログラミングにオブジェクト指向分析設計が有効か否かは、さだかではない。オブジェクト指向分析設計ではしばしば前述のようにプログラミングが分析設計の「次の工程」であるとウォーターフォール開発的に信じられていることもあるようだが、そのような考え方はオブジェクト指向プログラミングの流行によって生まれてきた、オブジェクト指向分析設計以外の多くの手法、特にアジャイルソフトウェア開発では完全に否定されている。また本来は、オブジェクト指向分析設計はクラスベースオブジェクト指向への拘泥は無いはずであるが、現実には多くのオブジェクト指向分析設計の解説においてクラスベースオブジェクト指向が大前提となっており、JavaScriptなどプロトタイプベースの観点は見られない。