Object-oriented modeling

This is an old revision of this page, as edited by Stevebroshar (talk | contribs) at 15:41, 6 August 2025 (It's mostly about diagrams). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Object-oriented modeling (OOM) is an approach to modeling a system as objects; generally as visual modeling diagrams. 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]

An example of components in a travel reservation system

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.

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.

References

  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.