オブジェクト指向分析設計
システムシーケンス図に対して、システムの事象を制御する具体的なオブジェクトを追加する。多くの場合、シーケンス図はシステムにおいて重要で複雑なシステム事象を記述する際に、記述する。単純な事象やありふれた事象をシーケンス図として記述することは、多くの場合は、ない。
シーケンス図においては、垂直方向に複数の平行な線を引き、同時に生存している複数のオブジェクトをそれぞれの線で表現する。また水平方向に矢印線を引き、同時に生存している複数のオブジェクト間でやりとりされるメッセージを矢印線で表現する。こうした水平方向の矢印線は、上から下に時系列に配置する。
メソッドの実装を猶予する機能。メソッドのシグニチャ (特質) を、そのメソッドを実装することなく定義することができる機能。
オブジェクト指向設計における考え方を説明する。
概念モデル図を基にして、クラス (オブジェクト) を定義し、クラス図を作る。多くの場合は、実体はクラスに対応づけられる。
クラスのインスタンス変数を同定する。
可能であれば、デザインパターンを使う。デザインパターンは最終的な設計ではない。デザインパターンはよく知られている一般的な問題に対する解決策を記述したものである。デザインパターンを使うことによる主な利点は、デザインパターンを複数のアプリケーションソフトウェアに対して再利用することができることである。デザインパターンは、ある問題を解決するための方法のひな型と考えることもできる。つまり、数多くの異なる状況ないしアプリケーションソフトウェアにおいて、特定の問題を解決するために使うことができるひな型である。オブジェクト指向におけるデザインパターンは、クラス群もしくはオブジェクト群の間の関係と相互作用を、提示していることが多い。デザインパターンは、開発対象となるシステムの、最終的なクラスやオブジェクトを規定するものではない。
可能であれば、アプリケーションフレームワークを定義する。
オブジェクト指向開発方法論 (object-oriented methodology) は、オブジェクト指向分析とオブジェクト指向設計を含めた、オブジェクト指向開発の具体的な方法論である。1980年代後半から2008年現在に至るまで、非常に多くのオブジェクト指向開発方法論が考案されている。そしてオブジェクト指向開発を行う多くのソフトウェア開発者は、いずれかのオブジェクト指向開発方法論を採用して、ソフトウェア開発を行っている。
おのおののオブジェクト指向開発方法論では、それぞれに次に示すようなソフトウェア開発工程の具体的な方法を、詳細に提示している。
オブジェクト指向モデリングの方法
要求分析の方法
文書化の要領
プログラミングの要領
ソフトウェアテストの要領
なお1990年代半ばまでは、分析と設計のモデル図の記法 (notation) も、オブジェクト指向開発方法論ごとにそれぞれ異なる記法を規定していたが、現在ではほとんどのオブジェクト指向開発方法論で、統一モデリング言語 (UML) を記法として採用している。UMLは、1997年にオブジェクト指向開発方法論者たちが共同で標準化団体 Object Management Group (OMG) で策定した。
これまで考案されてきたオブジェクト指向開発方法論の一部を示す。
オブジェクトモデル化技法 (OMT) - ジェームズ・ランボー、マイケル・ブラハ、ウィリアム・プレメラニ、フレデリック・エディ、ウィリアム・ローレンセン
Booch法 - グラディ・ブーチ
オブジェクト指向ソフトウェア工学 (OOSE、Objectory) - イヴァー・ヤコブソンほか