Unified Modeling Language (UML)

The Unified Modeling Language was a diagram-based graphical language developed to help support and standardize the software design phase of the software life-cycle. It is designed to offer support especially for object-oriented design, though in a way that is independent of the chosen programming language.

It was originally introduced in 1997 by the Object Management Group (OMG). It has very quickly become an industry-standard for software design modeling, and in fact, it has also expanded into non-software areas of business design. There are also many software tools out there now directly incorporate UML diagrams as part of the process.

In this course, we will try to use UML diagrams to discuss our object-oriented designs. Of course, UML is meant to allow the modeling of many subtle details and aspects which are unfamiliar to us at this point in time. So for now, we will sometimes overlook the precise conventions seen in the diagrams, but will do so when appropriate. Please use Chapter 0.8 of the text as a reference throughout the course, even though it will seem confusing right now.

There are offically twelve types of diagrams, divided into three categories.

  • Structural Diagrams: These are the ones we will see most; they represent structural issues in the design. They include the Class Diagram and the Object Diagram from our text.

  • Behavior Diagrams: These diagrams more often show the interactions between various objects or classes. The Sequence Diagrams we have seen in the text fall into this catagory.

  • Model Management Diagrams: These diagrams often group larger subsystems of the model together; we will not focus much on such diagrams (though the "package" designation for java.awt in Figure 0-11 of the text would be such an example).

  • Michael Goldwasser
    Last modified: Friday, 16 January 2004