Object modeling language

From Wikipedia, the free encyclopedia

An Object Modeling Language is a standardized set of symbols and ways of arranging them to model (part of) an object oriented software design or system design.

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.

Contents

[edit] History

Some methodologists identify three roughly chronological generations of object modeling notations: first-, second- and third generation.

[edit] 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:

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.

[edit] 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.

[edit] Third Generation

The third generation consists of credible attempts at this single industry-standard language, with Unified Modeling Language (UML) being the primary example. By this time, the futility of standardizing the method was recognized, and the languages developed into notations that are suitable for a wide range of development methods.

[edit] See also

Languages