Thursday, September 11, 2008

Booch Diagrams

Booch Diagrams

Booch method of diagrams was designed by Grady Booch at Rational Software, prior to the invention of the well popular modeling language i.e., Unified Modelling Language(UML), as we all are aware of it.

Grady Booch was one among the designers of the "Unified Modeling Language". This UMl has its origin from this Booch method only.

This UML has its graphical elements drawn from this BOOCH method, and also elements from object modeling technique(OMT) and object oriented software engineering(OOSE).

Methodological aspects of the Booch method have been incorporated into several methodologies and processes, the primary such methodology being the Rational Unified Process (RUP).


Grady Booch's Object-Oriented Design (OOD), also known as Object-Oriented Analysis and Design(OOAD), is a precursor to the Unified Modeling (UML). The Booch method includes six types of diagrams: class, object, state transition, interaction, module, and process.

Booch's Class and Object Diagram Notations

Illustrate classes using a cloud shape with a dashed border.

You can find the Booch symbol libraries in SmartDraw under Software Design and Other Symbologies. Simply drag and drop shapes to the page and edit them.

Draw objects using a cloud shape with a solid border.


Adornments Use adornments to provide additional information about a class. You can create an adornment notation using the basic triangle shape in SmartDraw. Place a letter inside the triangle to represent the following: A - Abstract. An abstract class cannot be instantiated because it represents a wide variety of object classes and does not represent any one of them fully. For example, mammal could be thought of as an abstract class. F - Friend. A friend class allows access to the nonpublic functions of other classes. S-Static. A static class provides data. V - Virtual. A virtual class is a shared base class, the most generalized class in a system.

A metaclass is a class whose instances are also classes.

A class category represents a cluster of similar classes. Illustrate a class category by drawing a rectangle with two compartments.

Draw a template using the standard class symbol attached to a box with a dashed outline. List template parameters or formal arguments in this box. When you draw a class created from a template, replace the dashed border with a solid one.

Class utilities describe a group of non-member functions or subprograms. Illustrate a class utility with a shadowed cloud.

Visibility markers signify who can access the information contained within a class. Public visibility allows an attribute or an operation to be viewed by any other class. Private visibility means that the attribute or the operation is only accessible by the class itself and its friends. Protected visibility makes an attribute or operation visible only to friend classes and classes that inherit it. Implementation restricts the accessibility of an attribute to the class only (not even friends have access to these attributes).

Place visibility markers next to the attribute they refer to.

Draw a visibility marker on a link to signify the relationship between the connected objects. These markers can be:

G-Global P-Parameter F-Field L–Local

Indicate relationships between objects using lines and arrows.

Relationship Meaning

Aggregation (has)

Aggregation by value

Aggregation by reference


Instantiates - Compatible type

Instantiates - New type

Inherits - Compatible type

Inherits - New type



Use state transition and interaction diagrams to illustrate the dynamic nature of an application. Below is a table that lists what each of the dynamic Booch diagrams corresponds to in UML.

Booch (OOD)

Unified Modeling Language (UML)

State transition diagram

State chart diagram

Interaction diagram

Sequence diagram

Booch's Dynamic Diagram Notations

States represent situations during the life of an object. Draw a Booch state symbol using a rectangle with rounded corners and two compartments. Use the oval-shaped H symbol to indicate the most recently visited state.

Booch's Physical Diagrams:

Draw module and process diagrams to illustrate the physical design of your application. Module diagrams correspond to UML's component diagrams and process diagrams correspond to UML's deployment diagrams.

Booch's Physical Diagram Notations

Processors are hardware pieces that execute programs. Use devices and processors to draw process diagrams.

Use a device notation to illustrate hardware that is not capable of executing programs.

A module is a unit of code that serves as a building block for the physical structure of a system. The specification module contains the declaration of entities and the body module contains the definition of entities.

This module is the main program from which the system is activated.

A subsystem refers to a collection of related modules.

Example of Booch Diagrams:

This is a little about Booch Model of Diagrams , you can explore it as much as you can. I hope you all will do so.

Thank You

Fathima. MD

1 comment:

Chandu Sambasiva Rao said...

Great collection of material in one place. Thanks for your interest and willingness to share!