Design Patterns Java™ Workbook

(Michael S) #1
Appendix C. UML at a Glance


  • Indicate a package by placing the name of the package in a rectangle left-aligned with
    a larger box that may show classes and interfaces. Figure C.1 shows a portion of the
    com.oozinoz.fireworks package.

  • UML does not require that a diagram show everything about a portrayed element, such
    as the complete contents of a package or all the methods of a class.

  • Draw a class by placing the name of a class centered in a rectangle. Figure C.1 shows
    two classes: Classification and Firework.

  • You can show a class's instance variables in a rectangle beneath the class name. The
    Firework class has instance variables name, price, and classification.
    Follow the variable's name by a colon and the variable's type.

  • You can show a class's methods in a second rectangle beneath the class name. The
    Firework class has a constructor, a method with the same name as the class. The
    class also has at least three other methods: flies(), getName(), and
    setClassification().

  • When a method accepts parameters, you should usually show them, as the
    setClassification() method does.

  • Variables in method signatures usually appear as the name of the variable, a colon,
    and the type of the variable. You may omit or abbreviate the variable name if its type
    implies the variable's role.

  • You may indicate that an instance variable or a method is protected by preceding it
    with a pound sign (#). A plus sign (+) indicates that a variable or a method is public,
    and a minus sign (-) indicates that a variable or a method is private.

  • Indicate that an instance variable is static—and thus has class scope—by underlining
    it, as the flies() method shows.

  • Make notes by drawing a dog-eared rectangle. The text in notes may contain
    comments, constraints, or code. Use a dashed line to attach notes to other diagram
    elements. Notes can appear in any UML diagram, although this book uses notes only
    in class diagrams.


Class Relationships...................................................................................................................................


Figure C.2 shows a few of UML's features for modeling class relationships. Following are
notes on class relationship notation.

Free download pdf