Wednesday, July 14, 2004

Object-oriented modeling

is a formal way of representing something in the real world. It draws from traditional set theory and classification theory. Some basics to keep in mind in object-oriented modeling are that:
  • Instances are things.
  • Properties are attributes.
  • Relationships are pairs of attributes.
  • Classes are types of things.
  • Subclasses are subtypes of things.

  • Note the concept of object-oriented modeling is not limited to computer-related elements. One may use object-oriented modeling to represent many different types of things, from organizational structures, to organic materials, to physical buildings. In the context of CIM and WBEM, object-oriented modeling is used to model hardware and software elements.

    For illustrative purposes of this tutorial we are going to use the "Cheeseburger Example" to explain the key concepts of object oriented modeling.

    Abstraction: DENotes the essential characteristics of an object that distinguish it from all other kinds of objects and thus provide crisply defined conceptual boundaries.
    Example: A Cheesburger - is good to eat and fun to cook.

    Modularity: Decomposition of abstractions into discrete units.
    Example: The various "layers" of a cheesburger - the bun, the lettuce, the ketchup, the mayonnaise, the burger, the cheese, onions, pickels, etc.

    Encapsulation: Process of compartmentalizing the elements of an abstraction that constitute its structure and behavior; encapsulation serves to separate the interface of an abstraction and its implementation.
    Example:
    To cook the cheeseburger: - Is the stove available? Are the burners working? Are the ingredients available?
    To eat the cheeseburger: - Is it made correctly? Is my plate clean or disgusting?

    Hierarchy: A ranking or ordering of abstractions.
    Example: A cheeseburger is really a subclass of a hamburger with cheese added which is a sub class of sandwich which is a subclass of the Hierarchal superclass food.

    Key Elements: Classes – A collection of definitions of state, behavior, and/or identity
  • Properties
  • Methods

  • Objects – Instances of a class
    Associations - Relationships

  • Dependency
  • Identity
  • Aggregation
  • Composition
  • And others...