3.5 Object Orientation

Object orientation has been around for a long time.  It has its origins in the simulation of complex systems, and so is based on the systems thinking paradigm.  It holds out the promise of addressing the software productivity gap that gives rise to the insatiable demand for increased information system functionality that we noted in Section 3.1. 

The term object-orientation is actually something of a misnomer.  In non-technical use, the term “object” can refer to almost anything, and in general tends to conjure up something inert and nondescript, like a stone, or a clod.  If someone were to ask, “What is that object over there?” we wouldn’t expect to see a person, a cow, a Camaro, or a tricycle as the referent of  the word object.  In general use, object is pretty boring.

Software objects are much more interesting than clods or stones.  They have life.  They have the potential to be the cooperating mental agents of Minsky’s architecture.  Perhaps a better term than object-oriented programming might be organic programming. 

Object design can benefit from methods of analysis based on a living, organic paradigm such as we have just explored. Business language analysis is fundamentally grounded in this paradigm.

A principle of object-orientation is that there is a narrow semantic gap between domain understanding and object implementations.  Analysis of business language directly supports the injection of business meaning into artifacts built using object technology.