Booch法

Booch法 (ブーチほう、英: Booch method) は、オブジェクト指向ソフトウェア開発方法論であり、1990年頃にグラディ・ブー…

Booch法

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

現在ではBooch法は、

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法のクラス図
Booch法のクラス図

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

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

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

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

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

文献案内

  • Booch, Grady『Booch法:オブジェクト指向分析と設計』(第2版)アジソンウェスレイパブリッシャーズジャパン、1995年。ISBN 978-4-7952-9654-1 
    Booch, Grady (1993). Object-oriented Analysis and Design with Applications (2nd Edition ed.). Redwood City: Benjamin Cummings. ISBN 978-0-8053-5340-2 
  • Martin, Robert Cecil (1995). Designing Object-Oriented C++ Applications using the Booch Method. Prentice-Hall. ISBN 978-0-13-203837-9 

関連項目

外部リンク

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.