Grady Booch
1955– · American software engineer
Topics: software design, software engineering, programming, simplicity
Object-oriented design is a method of design encompassing the process of object-oriented decomposition and a notation for depicting both logical and physical as well as static and dynamic models of the system under design.
— Grady BoochStructured design does not scale up well for extremely complex systems, and this method is largely inappropriate for use with object-based and object-oriented programming languages.
— Grady BoochTypically, a subclass augments or redefines the existing structure and behavior of its superclasses.
— Grady BoochObject-oriented analysis is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary of the problem domain.
— Grady BoochUltimately, discovery and invention are both problems of classification, and classification is fundamentally a problem of finding sameness. When we classify, we seek to group things that have a common structure or exhibit a common behavior.
— Grady BoochIn a quality object-oriented software system, you will find many classes that speak the language of the domain expert
— Grady BoochPerhaps the greatest strength of an object-oriented approach to development is that it offers a mechanism that captures a model of the real world.
— Grady BoochThe function of good software is to make the complex appear to be simple.
— Grady BoochGood people with a good process will outperform good people with no process every time.
— Grady BoochThe entire history of software engineering is that of the rise in levels of abstraction.
— Grady BoochThe amateur software engineer is always in search of magic, some sensational method or tool whose application promises to render software development trivial. It is the mark of the professional software engineer to know that no such panacea exist.
— Grady BoochObject-oriented programming is a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationships.
— Grady BoochIn object-oriented analysis, we seek to model the world by identifying the classes and objects that form the vocabulary of the problem domain, and in object-oriented design, we invent the abstractions and mechanisms that provide the behavior that this model requires.
— Grady BoochThe class Dog is functionally cohesive if its semantics embrace the behavior of a dog, the whole dog, and nothing but the dog.
— Grady BoochA class is a set of objects that share a common structure and a common behavior
— Grady BoochAn operation is some action one object performs upon another in order to elicit a reaction.
— Grady Booch