Skip to main content

Class 17: UML




News / Etc.

Upcoming work

  • For Friday

Good things to do

  • CS Extras, Thursday at 4:15 pm, Summer Code Camps


  • The UML == The Unified Modeling Language
  • A visual notation for representing key issues in the design of an object-oriented program.
  • Observation: We like to communicate things visually. But for a visual notation to work well, we have to agree upon what the symbols mean.
  • Can be used prospectively or retrospectively
  • Three traditional ways to think about the UML
    • We use the UML to sketch out classes and their relationships while thinking about design.
    • We use the UML to blueprint most of the details of a system.
    • We use the UML as a programming language to implement a system.
  • Developed collaboratively by many of the big names in OOP in the early ages of the adoption of OOA&D by industry.
  • We’ll focus mostly on it as a tool for sketching.
  • That is, we’ll use the UML to communicate important things about our systems to each other, but we won’t try to dot every t and cross every i.

UML: Class Notation

What do we care about for classes? Here are some possibilities

  • The basic components of the class:
    • The fields
    • The methods
  • The role of the class in the inheritance hierarchy
  • The other classes that the class uses (implicitly)

We will need notations for each of these things.

We may find that we need other notations, too.