Analysis: Object Diagrams



index
Disabled back button Next Section
printable version




Section 0: Module Objectives or Competencies
Course Objective or Competency Module Objectives or Competency
The student will be able to assess and apply Object-Oriented analysis and design methods like use cases to express user requirements, UML modeling, and other OO approaches. Understand the rules and style guidelines for creating class diagrams and object diagrams.
Understand the processes used to create object diagrams.
Be able to create object diagrams.
Understand and explain the relationship between the structural and functional models.


Section 1: Features

Although class diagrams are necessary to document the structure of the classes, a second type of static structure diagram, called an object diagram, can be useful in revealing additional information.

An object diagram is essentially an instantiation of all or part of a class diagram.

The following are observations about Object Diagrams:



Section 2: Justification

Unlike class diagrams, which represent an abstract model consisting of classes and their relationships, an object diagram represents an instance at a particular moment that is concrete in nature.

That means that an object diagram more closely models actual system behavior. The purpose is to capture the static view of a system at a particular moment.

So the purpose of the object diagram can be summarized as:



Section 3: Examples
Object Diagram.




Object Diagram.


Section 4: Resources

Site on UML - Object Diagrams

This video explains moving from Class Diagrams to Object Diagrams:

X

Forward engineering is the process of transforming a model into code through a mapping to an implementation language. Forward engineering results in a loss of information, because models written in the UML are semantically richer than any current object-oriented programming language. In fact, this is a major reason why you need models in addition to code. Structural features, such as collaborations, and behavioral features, such as interactions, can be visualized clearly in the UML, but not so clearly from raw code.

Reverse engineering is the process of transforming code into a model through a mapping from a specific implementation language. Reverse engineering results in a flood of information, some of which is at a lower level of detail than you'll need to build useful models. At the same time, reverse engineering is incomplete. There is a loss of information when forward engineering models into code, and so you can't completely recreate a model from code unless your tools encode information in the source comments that goes beyond the semantics of the implementation language.