Unified Modeling Language (UML) Diagrams
Class Diagrams
Use Cases
Home Search Java 2 API C++ Resources

UML is the industry standard "language" for describing, visualizing, and documenting object-oriented (OO) systems.  UML is a collection of a variety of diagrams for differing purposes.   Each type of diagram models a particular aspect of OO design in an easy to understand, visual manner.  The UML standard specifies exactly how the diagrams are to be drawn and what each component in the diagram means.   UML is not dependent on any particular programming language, instead it focuses one the fundmental concepts and ideas that model a system.   Using UML enables anyone familiar with its spedifications to instantly read and understand diagrams drawn by other people.    

There are UML diagram for modeling static class relationships, dynamic temporal interactions between objects, the usages of objects, the particulars of an implementation, and the state transitions of systems.    We will be concentrating on the static class relationships as they represent the fundamental architecture of the system.   Note that these diagrams describe the relationships between classes, not those between specific objects instantiated from those classes.   Thus the diagram applies to all the objects in the system.

Features

  •  Entities:  These may be classes, objects, users or systems behaviors.
  •  Relationship lines that model the relationships bewteen entities in the system.
    • Generalization -- a solid line with an arrow that points to a higher abstraction of the present item.
    • Association --  a solid line represents  the idea that an entity needs  to either transfer control to a another entity or behavior.
    • Dependency -- a dotted line with an arrowhead that shows one entity or behavior which has a  "has a " relationship with another. 

 

Using UML

We will be using the UML class designer software built by WebGain (was Tendril Software), called StructureBuilder.   Please see the web pages on it elsewhere in this site.

More UML resources

Introductions to UML:

A UML Dictionary:
http://www.softdocwiz.com/UML.htm

A short introduction to UML:
http://www.ajug.org/info/tech/uml/uml.html

The "caretakers" of UML, the Object Management Group (OMG):

A short discussion on UML: http://www.omg.org/news/pr97/umlprimer.html

The official specifications can be found here: http://www.omg.org/cgi-bin/doc?ad/97-08-05

The originators of UML, Rational Software Corp.:

Main resources page, including documentation: http://www.rational.com/uml/index.jtmpl