What is Object Oriented modelling? Explain object model. Also explain how it is different from dynamic model.    


Object-Oriented Modelling

Object oriented modelling is a method of analysis for modelling knowledge & information about a system where the system is divided into elements called objects.

An object comprises of variables & methods. Objects of similar type are grouped into classes & objects may comprise other objects also. Modeling a system using object oriented approach several benefits such as understandability, flexibility, maintainability, extensibility, reusability, etc

Object-Oriented Modeling, or OOM, (Object Oriented Programming - OOP) is a modeling paradigm mainly used in computer programming. Prior to the rise of OOM, the dominant paradigm was procedural programming, which emphasized the use of discrete reusable code blocks that could stand on their own, take variables, perform a function on them, and return values.

Object Model has two related but distinct meanings:


   1. The properties of objects in general, in a specific computer programming language, technology, notation or methodology that uses them. For example, the Java object model, the COM objects model, or the object model of OMT. Such object models are usually defined using concepts such as class, message, inheritance, polymorphism, and encapsulation. There is an extensive literature on formalized object models as a subset of the formal semantics of programming languages.


   2. A collection of objects or classes through which a program can examine and manipulate some specific parts of its world. In other words, the object-oriented interface to some service or system such an interface is said to be the object model of the represented service or system. For example, the Document Object Model (DOM) [1] is a collection of objects that represent a page in a web browser, used by script programs to examine and dynamically change the page. There is a Microsoft Excel object model [2] for controlling Microsoft Excel from another program, and the ASCOM Telescope Driver [3] is an object model for controlling an astronomical telescope.


Object model is different from dynamic model:

An object model describes static structure of objects in a system and their relationships where as a dynamic model shows the time-dependent behaviour of the system and the objects in it. The dynamic analysis begins by looking for event, externally visible stimuli and responses. The dynamic model is important for interactive systems, but insignificant for purely static data repository, such as database.


The following steps are performed in constructing an Object Model:


  • Identify classes, attributes
  • Identify relationships, associations
  • Identify hierarchy
  • Object Modelling is used to specify structure of the objects that exist in the problem domain. These are expressed using class, object and USECASE diagrams.

 The following steps are performed in constructing a dynamic model:  

  • Prepare scenarios of typical interaction sequences
  • Identify events between objects
  • Prepare an event trace for each scenario
  • Build a state diagram
  • Dynamic Modelling refers representing the object interactions during runtime. It is represented by sequence, activity, collaboration and state-chart diagrams

Match events between objects to verify consistency