Object modeling language
From Free net 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 |
History
Some methodologists identify three roughly chronological generations of object modeling notations: first-, third- and second generation.
First Generation
In the first generation, isolated methodologists and small groups developed techniques that solved problems they saw first-hand in 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)
- Shlaer-Mellor
- Yourdon-Coad (see Edward Yourdon)
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 (UML) the primary example.