UML Summary

Unified Modeling Language (UML)

  • Learning Goals:

    • Understand UML class and package notation.

    • Represent class relationships: inheritance, aggregation, dependency.

    • Sequence and activity diagrams.

  • Class Design:

    • Example attributes:

    • $numCanisters: int$

    • $numWafers: int$

    • $size: float$

  • Class Responsibilities:

    • Operations: display(), getNumOpenSlots(), setStatus().

  • Packages:

    • UML representation of classes within packages.

  • Class Relationships:

    • Association: E.g., Employer and Employee classes.

    • Multiplicity: $1..3$ and $1..*$.

    • Aggregation: One class contains another; e.g., Company and EmployeeDirectory.

    • Composition: Stronger inclusion, destroyed with the containing object.

    • Dependency: Use of one class within another, e.g., a parameter reference.

  • Sequence Diagrams:

    • Illustrate interactions through user actions; e.g., checkout process.

  • Activity Diagrams:

    • Depicts state transitions and actions; useful for showing workflow.

  • Class Models:

    • Sequence of method calls; object states based on events across classes.

  • Data Flow in UML:

    • Model processes and data exchanges between components.