Object modeling language
Encyclopedia
Object Modeling Language is a modeling language
based on 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.
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.
standardizing the method was recognized, and the languages developed into notations that r suitable for a wide range of development methods.
Modeling language
A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules...
based on a standardized set of symbols and ways of arranging them to model (part of) an object oriented software design
Software design
Software design is a process of problem solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution...
or system design.
Some organizations use them extensively in combination with a software development methodology
Software development methodology
A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system.- History :...
to progress from initial specification to an implementation
Implementation
Implementation is the realization of an application, or execution of a plan, idea, model, design, specification, standard, algorithm, or policy.-Computer Science:...
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.
History
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 methodBooch methodThe Booch method is a technique used in software engineering. It is an object modeling language and methodology that was widely used in object-oriented analysis and design...
- Class-responsibility-collaboration cardClass-Responsibility-Collaboration cardClass Responsibility Collaboration cards are a brainstorming tool used in the design of object-oriented software. They were proposed by Ward Cunningham and Kent Beck....
(CRC) - Object-modeling techniqueObject-modeling techniqueThe object-modeling technique is an object modeling language for software modeling and designing. It was developed around 1991 by Rumbaugh, Blaha, Premerlani, Eddy and Lorensen as a method to develop object-oriented systems and to support object-oriented programming.OMT was developed as an...
(OMT) - Object-oriented software engineeringObject-oriented software engineeringObject-oriented software engineering is an object modeling language and methodology.OOSE was developed by Ivar Jacobson in 1992 while at Objectory AB. It is the first object-oriented design methodology to employ use cases to drive software design...
(OOSE) - Shlaer-MellorShlaer-MellorThe Shlaer-Mellor method, developed by Sally Shlaer and Stephen Mellor, is one of a number of object-oriented analysis / object-oriented design methods which arrived in the late 1980s in response to established weaknesses in the existing structured analysis and structured design techniques in...
- Yourdon-Coad (see Edward YourdonEdward YourdonEdward Nash Yourdon is an American software engineer, computer consultant, author and lecturer, and pioneer in the software engineering methodology...
)
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 LanguageUnified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...
standardizing the method was recognized, and the languages developed into notations that r suitable for a wide range of development methods.