Each of them uses a different approach to model and represent the real world concepts. An OO paradigm uses the logical constructs of class, object, inheritance, polymorphism, aggregation, composition and message to build OO diagrams. Developers must follow these constructs if they are using an OO approach. These constructs can be combined in different forms to build a system, but they are not new. Some of them are found in second and third generation programming languages, like Simula, Algol, C, Modula, and so on.
Developers use a representation language to express the constructs and their interaction.
In the technical literature we can find several OO notations and associated process called a methodology. For instance, we can find in the technical literature several methods like Rumbaugh s method, Booch s method and so on. All of these methods propose a software development organization. However, it is not so easy to define a general software development process to support broad-spectrum development. Each one of these methods can be applied to specific systems, but not to all systems.