Jump to content

Object-oriented modeling

From Wikipedia, the free encyclopedia
(Redirected from Object-Oriented Modeling)
Object-oriented model of a travel reservation system.

Object-oriented modeling (OOM) is an approach to modeling a system as objects. It is primarily used for developing software, but can be and is used for other types of systems such as business process. Unified Modeling Language (UML) and SysML are two popular international standard languages used for OOM.[1]

For software development, OOM is used for analysis and design and is a key practice of object-oriented analysis and design (OOAD). The practice is primarily performed during the early stages of the development process although can continue for the life of a system. The practice can be divided into two aspects: the modeling of dynamic behavior like use cases and the modeling of static structures like classes and components; generally as visual modeling diagrams.

The benefits of using OOM include:

Efficient and effective communication
Users typically have difficulties understanding technical documentation and source code. Visual diagrams can be more understandable and can allow users and stakeholders to give developers feedback on the appropriate requirements and structure of the system. A key goal of the object-oriented approach is to decrease the "semantic gap" between the system and the real world, and to have the system be constructed using terminology that is almost the same as the stakeholders use in everyday business. OOM is an essential tool to facilitate this.
Useful and stable abstraction
Modeling supports coding. A goal of most modern development methodologies is to first address "what" questions and then address "how" questions, i.e. first determine the functionality the system is to provide without consideration of implementation constraints, and then consider how to make specific solutions to these abstract requirements, and refine them into detailed designs and codes by constraints such as technology and budget. OOM enables this by producing abstract and accessible descriptions of requirements and designs as models that define their essential structures and behaviors like processes and objects, which are important and valuable development assets with higher abstraction levels above concrete and complex source code.

Language

[edit]
Milestones in the evolution of the UML.[2]

The notation used for modelling is a language of graphical elements that imply design based on convention. Many conventions have been devised and they vary in formality. It may be relatively informal in nature, or consist of predefined graphical templates or consist of a formally defined grammar.

A modeling language is often associated with a object-oriented software development methodology since a methodology often spawns a language. The modeling language defines the elements of a model, such as classes, methods, properties, etc. The methodology defines the steps developers take to create and maintain a software system in relation to the models. For example, the Booch method may refer to Grady Booch's standard for diagramming, his methodology, or both. Or the Rumbaugh Object Modeling Technique is both a set of diagrams and a process model for developing object-oriented systems.

In the early years of the object-oriented development there were several competing modeling and methodology variants. Booch and Rumbaugh were two of the most popular, and Ivar Jacobson's Objectory, Shlaer-Mellor, and Yourdon-Coad were also popular. Starting in the mid-1990s, efforts began to harmonize modelling languages; to reconcile the leading models and focus on one unified specification. The graphic shows the evolution of and adoption of the Unified Modeling Language (UML).


References

[edit]
  1. ^ Jacobsen, Ivar; Magnus Christerson; Patrik Jonsson; Gunnar Overgaard (1992). Object Oriented Software Engineering. Addison-Wesley ACM Press. pp. 15, 199. ISBN 0-201-54435-0.
  2. ^ Riley, Mike (April 1, 2006). "A Special Guide-MDA and UML Tools: CASE 2.0—or the Developer's Dream". drdobbs.com. Dr. Dobb's. Retrieved 19 December 2013. If it weren't for the dominance that UML has gained over the industry, MDA and related modeling standards couldn't even exist.