オブジェクト指向プログラミング
オブジェクト指向プログラミングは、ソフトウェアの大規模化に伴い、より効率的な開発手法が模索される中で1960年代に考案された。OOP言語は歴史的にクラス構造を中心とする"Simula"系統と、メッセージ機能を主体とする"Smalltalk"系統に分けられるが、後に"C++"や"Java"などの言語が派生した前者が主流となった。この前者のオブジェクト指向が示す「内部隠蔽」「継承」「多態性」の三仕様を備えていれば、OOP言語であると見なされる。
オブジェクトモデル化技法
1990年代前半には、多くの人々が、それぞれ独自のオブジェクト指向開発方法論を提唱していた。
これらの開発方法論は、それぞれ固有のモデル図の記法を規定しており、また開発手法もさまざまであった。
この状況のもとでは、とりわけモデル図の記法が開発方法論ごとにばらばらであったことが問題となっていた。
ソフトウェア技術者は、オブジェクト指向で共同作業を行うためもしくはオブジェクト指向の技術書を理解するために、状況に応じて複数のモデル図の記法を習得する必要があった。
それぞれのモデル図の記法で実現しようとしていることは、大ざっぱにいえばほとんど同じであったため、記法が多く存在することによる利点はほとんど無くデメリットが大きかった。