オブジェクトモデル化技法

オブジェクトモデル化技法 (オブジェクトモデルかぎほう、OMT; ) は、オブジェクト指向ソフトウェア開発方法論であり、1990年頃にジェームズ・ランボー、マイケル・ブラハ、ウィリアム・プレメラニ、フレデリック・エディ、ウィリアム・ローレンセンなどの人々によって開発された。
ジェームズ・ランボーたちは著書『オブジェクト指向方法論OMT モデル化と設計』 (原著は1990年刊、日本語訳は1992年刊) で OMT を説明している。
現在では OMT は、
UMLの策定と Unified Process の開発においては、Rational Software に在籍していたジェームズ・ランボー、グラディ・ブーチ、イヴァー・ヤコブソン (この3人はスリーアミーゴスと呼ばれる) などの人々が、大きな役割を果たした。
Rational Software は、Unified Process (UP) をもとにしてラショナル統一プロセス (RUP; Rational Unified Process) を開発した。
Unified Process とラショナル統一プロセスでは、モデル図の記法 (モデリング言語) として UML を採用している。
開発方法.
分析.
OMT (オブジェクトモデル化技法) においては分析過程に大きな労力を投入する。
オブジェクトモデル図では、システムの静的な構造を記述する (システム内のオブジェクト、オブジェクト間の関係、オブジェクトの各クラスの属性や操作) 。
状態図には、デヴィッド・ハレルの状態遷移図を採用しており、システムの動的な側面を記述する (あるクラスのとりうる複数の状態、状態遷移、状態遷移の契機となる事象) 。
データフロー図には、伝統的なデータフロー図を採用しており、システムの各機能を記述する (入力値からどのようにして計算の出力値が導出されるか) 。
データフロー図には、データの流れ (データフロー) やデータを扱うプロセスなどを記述する。
設計.
OMT の設計過程では、システムの高水準の構造について選択を行う。
実装.
OMT では難しい決定判断は既に設計過程で終了しているため、実装は機械的かつ直接的に行うことができるとする。
ただし実装に際しては、留意すべき指針がある。
UMLと Unified Process への統合.
1990年代後半に、OMT (オブジェクトモデル化技法) は他のオブジェクト指向ソフトウェア開発方法論と統合された。
Rational Software は、Unified Process (UP) をもとにしてラショナル統一プロセス (RUP; Rational Unified Process) を開発した。
この統合に至る経緯を述べる。
1990年代前半には、多くの人々が、それぞれ独自のオブジェクト指向開発方法論を提唱していた。
これらの開発方法論は、それぞれ固有のモデル図の記法を規定しており、また開発手法もさまざまであった。
この状況のもとでは、とりわけモデル図の記法が開発方法論ごとにばらばらであったことが問題となっていた。
ソフトウェア技術者は、オブジェクト指向で共同作業を行うためもしくはオブジェクト指向の技術書を理解するために、状況に応じて複数のモデル図の記法を習得する必要があった。
それぞれのモデル図の記法で実現しようとしていることは、大ざっぱにいえばほとんど同じであったため、記法が多く存在することによる利点はほとんど無くデメリットが大きかった。
こうした状況のもとで1994年に OMT の提唱者の一人ジェームズ・ランボーが、ゼネラル・エレクトリック (GE) からグラディ・ブーチの在籍する Rational Software に移籍し、開発方法論を統合する作業に着手した。
さらに1995年には Rational Software は、イヴァー・ヤコブソンが在籍する Objectory AB を買収した。
Rational Software において、ランボーとブーチとヤコブソンはそれぞれのオブジェクト指向ソフトウェア開発方法論を統合する作業を行った。
Rational Software で開発方法論を統合する作業の過程で、モデル図の記法と開発手法をまとめて統一するのではなく、モデル図の記法の統一と開発手法の統一の2つの作業に分割して作業する方針を採ることになった。
Rational Software は、Unified Process (UP) をもとにしてラショナル統一プロセス (RUP; Rational Unified Process) を開発した。
Unified Process とラショナル統一プロセスでは、モデル図の記法 (モデリング言語) として UML を採用している。
現在、UML は情報技術で広く普及している。 ラショナル統一プロセスを含む多くのソフトウェア開発手法で、モデリング言語として採用されている。 ソフトウェア開発で使われる事例、情報技術の技術書で使われる事例が多い。
OMT の分析段階で作成するモデル図の概念と記法の多くが UML (Unified Modeling Language; 統一モデリング言語) に引き継がれている。