Booch法

Booch法 (ブーチほう、) は、オブジェクト指向ソフトウェア開発方法論であり、1990年頃にグラディ・ブーチによって開発された。
オブジェクト指向分析設計の分野で広く採用された。
ブーチは、著書『Booch法:オブジェクト指向分析と設計』 (原著初版は1991年刊、原著第2版は1993年刊、第2版日本語訳は1995年刊) でBooch法を説明している。

現在ではBooch法は、
 モデル図の記法は、オブジェクトモデル化技法 (OMT) とオブジェクト指向ソフトウェア工学 (OOSE) を含む他の多くのオブジェクト指向開発方法論とともに、Object Management Group (OMG) のもとでUML (Unified Modeling Language; 統一モデリング言語) に統合され、
 開発手法は、OMTとOOSEとともに、グラディ・ブーチが在籍する Rational Software 社のもとで Unified Process (UP) に統合された。
UMLの策定と Unified Process の開発においては、Rational Software 社に在籍していたグラディ・ブーチ、ジェームズ・ランボー、イヴァー・ヤコブソン (この3人はスリーアミーゴスと呼ばれる) などの人々が、大きな役割を果たした。

Rational Software 社は、Unified Process (UP) をもとにしてラショナル統一プロセス (RUP; Rational Unified Process) を開発した。
なお Rational Software 社は、2003年にIBM社に買収された。
IBM社は現在、UMLとRUPによるソリューションを、Rational のブランドで提供している。

Booch法では、次の6種類のモデル図を使う。
 Class Diagram (#クラス図)
 Object Diagram
 Module Diagram
 State Diagram
 Interaction Diagram
 Process Diagram

クラス図 

Booch法のクラス図の記法を説明する。
先述したとおり、Booch法の記法は UML の起源の一つである。
Booch法のクラス図ではクラスを独特な記法 (破線の雲) で表すことが特徴的である。
現在では、UML が策定される以前の他のオブジェクト指向ソフトウェア開発方法論の記法と同様に、Booch法の記法そのものはもはや使われていないが、Booch法のモデル図の概念の多くは UML に引き継がれている。

Booch法のクラス図の記法では、クラスおよびクラス間の関連が基礎をなす。

 クラスは破線の雲で表す。雲の中にクラス名を記述する (なお、オブジェクトインスタンスは実線の雲で表す) 。
 抽象クラスには、"A" の文字を含んだ実線の逆三角形をクラスの記法に付加する。
 パラメタライズドクラス (総称型、クラステンプレート) は、クラスの記法を拡張して、長方形の箱の中にパラメタとなるクラスの名前を記述する。

2つのクラス間の関連で、Booch法とその記法において重要なものは、継承と集約/コンポジション (一対多の関係、全体-部分関係) および利用である。

 継承関係では、継承先クラスから継承元クラスに向けて矢印を伸ばす。
 集約関係では、集約するクラスと集約されるクラスを直線で結び、集約するクラス側に黒丸をつける。
 利用関係では、利用するクラスと利用されるクラスを直線で結び、利用するクラス側に白丸をつける。

クラス間の関連の多重度を UML に似た記法で記述することができる。
クラスが備えるメソッドや属性の可視性 (publicやprivateなど) は、UML とは異なる記法で記述する。

文献案内

関連項目 

 オブジェクト指向分析設計 (オブジェクト指向開発方法論)
 オブジェクト指向モデリング

外部リンク 

 Booch法のクラス図 - オージス総研 オブジェクトの広場

 Introduction to the Booch Method

統一モデリング言語
オブジェクト指向
グラディ・ブーチ

de:Grady Booch#Booch-Notation