Object Orientation
Object-orientation is a modelling paradigm for describing objects and their relationships. Objects and relations are supposed to stand close to real world concepts. The real world is the world we are implementing, that is a particular level of abstraction in the design or a requirements specification.

Often, object-orientation is easily replaced with object-oriented programming, but an implementation in an object-oriented programming language is no more than an example of this modelling at the lowest level of abstraction in the design.

Because of this replacement, object-orientation is explained by describing what an particular object-oriented programming language has to offer. Here, a description is given of the fundamentals of object-orientation, techniques to support the fundamentals, and features based on the techniques. Note that only the fundamentals are necessary for object-oriented modelling, some support can be nice, and features are mostly only used on the lowest levels of abstraction.