The Booch Models

Multifaceted view of a system under development.

STATUS: Updated

Booch proposes different views to describe an OO system. The logical model (i.e., the problem domain) is represented in the class and object structure. In the class diagram one builds up the architecture, or the static model.

To deal with complex diagrams, the notation allows class categories to group classes into namespaces, each category being itself a class diagram.

The object diagram shows how objects interact with each other (their relationships), whereas class diagrams (and the relationships therein) are mostly static, object diagrams (and the relationships therein) describe the dynamic behavior of the system. In this instance relationship means message exchanges between objects.

The module and process architecture deals with the physical allocation of classes and objects to modules, and with processors, devices and communication connections between them, in few words it describes the concrete hardware with respect to the software components of a system.

Copyright ©

The Process of Object-Oriented Development

Booch supports the iterative and incremental development of a system.

He defines two processes describing the layout of Object Oriented development:

Macro process

Micro process

In principle, the micro process represent the daily activity of the individual developer, or of a small team of developers. Here the analysis and design phases are intentionally blurred.
Stroustrup observes that: "There are no cookbook methods that can replace intelligence, experience, and good taste in design and programming...The different phases of a software project, such as design, programming, and testing cannot be strictly separated".

(Personally I'd like to add imagination (or fantasy) to good taste...)

The macro process serves as the controlling framework of the micro process. It represents the activities of the entire development team on the scale of weeks to months at a time.
The basic philosophy of the macro process is that of incremental development: the system as a whole is built up step by step, each successive version consisting of the previous ones plus a number of new functions. To this, Booch explicitly says: "This approach is extremely well suited to the object oriented paradigm..." Copyright ©


Home page Class diagrams "The Method"