The Cat as a Metaphor in Object-Oriented Software Development

booch-bookGrady Booch is a software development guru who wrote one of the most important books about Object-Oriented Programming: “Object-Oriented Analysis and Design with Applications“. In his book, Booch has wonderful illustrations using a cat as a metaphor for some of the main OOP principles. I bring here some of these pictures that certainly may serve as a source of inspiration.

Systems and Sub-Systems

cat-system

Abstraction

cat-abstraction

Modularity

cat-modularity

Encapsulation

cat-encapsulation

Persistence

cat-persistence

Other people have also adopted the cat as a metaphor for software development. Below is a very nice cartoon from the site “Sandra and Woo“:

2012-11-19-0430-software-engineering-now-with-cats

About Hayim Makabee

Veteran software developer, enthusiastic programmer, author of a book on Object-Oriented Programming, co-founder and CEO at KashKlik, an innovative Influencer Marketing platform.
This entry was posted in OOD, OOP, Programming and tagged , , . Bookmark the permalink.

2 Responses to The Cat as a Metaphor in Object-Oriented Software Development

  1. Carlos Correia says:

    Definitely, one of greatest (and should be mandatory to all Developers) of Software Engineering. Booch, Rumbaugh and Jacobson, IMHO the fathers of Software Engineering.

  2. Carlos Correia says:

    Extremely different of the OOAD and “The Unified Software Development Process”, but still funny and nice to explain to our childs what do “we” do is Robert Sabourin book “I’m a Bug”: https://www.amazon.com/I-am-Bug-Robert-Sabourin/dp/0968577407

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s