8.1 Design Representation


Designing an object oriented system is aided by a high-level, graphical representation of classes, objects and their relationships. The graphical nature of the representation allows easy visualization of the structural aspects of the system. The design is represented at a high level in that only the essential elements of the design are present independent of lexical details or the specifics of the implementation.

There are three specific uses for a high level, graphical design representation. First, the representation provides a language for quickly describing an idea being considered by a single designer or a design team. Because it can be quickly drawn and easily modified, the representation aides in thinking about the design and exploring design alternatives. Second, the representation is a means of documenting a design. The design document serves as a guideline for the implementor and, later, for those who will modify and maintain the system. The graphical and high-level nature of the representation make it useful as a documentation device because it describes only the essential structural elements, leaving the code and other documentation to add more detailed items of information. Third, once represented, the design may itself be the object of reuse. Commonly occuring design solutions may be identified, documented, and collected for use in situations other than the one where they were initially encountered. The recent development of "Design Patterns" is a realization of this idea. One of these patterns is shown and discussed later.

The design representation presented here is comprised of three kinds of diagrams:

The first two diagrams depict relaltionships that are static in the sense that they do not change over time. Object interaction diagrams are used to illustrate a sequence of interactions (method invocatins) among objects. The sequence of interactions are usually those in a typical or significant scenario.

Last Updated: December 6, 1995 / kafura@cs.vt.edu