Object modeling language
||It has been suggested that this article be merged into Object-oriented modeling. (Discuss) Proposed since December 2012.|
Some organizations use them extensively in combination with a software development methodology to progress from initial specification to an implementation plan and to communicate that plan to an entire team of developers and stakeholders. Because a modeling language is visual and at a higher-level of abstraction than code, using models encourages the generation of a shared vision that may prevent problems of differing interpretation later in development. Often software modeling tools are used to construct these models, which may then be capable of automatic translation to code.
Some methodologies identify three roughly chronological generations of object modeling notations: first-, second- and third generation.
First generation 
In the first generation, isolated methodologists and small groups developed techniques that solved problems they saw first-hand in Object Oriented (OO) development projects.
The first generation includes techniques such as:
- Booch method
- Class-responsibility-collaboration card (CRC)
- Object-modeling technique (OMT)
- Object-oriented software engineering (OOSE)
- Yourdon-Coad (see Edward Yourdon)
The first generation languages were co-developed and very closely tied with specific object-oriented methodologies usually with the same name. It was often difficult to determine whether the notation or methodology was being referred to.
Second generation 
The second generation recognized that many best practices were scattered among the fragmented OO methodology landscape. Several attempts were made to gather these practices into coherent frameworks such as FUSION. However, the OO community was beginning to recognize the benefits that industry standardization would bring: not just a good way of doing things, but the good way, which would lead to common parlance and practice among developers.
Third generation 
The third generation consists of credible attempts at this single industry-standard language, with Unified Modeling Language standardizing the method was recognized, and the languages developed into notations that are suitable for a wide range of development methods.
See also 
|This article does not cite any references or sources. (August 2008)|