Skip to main content

UML

Overview and History

UML Definition

A language for specifying, visualizing, constructing, documenting

  • the artifacts of software systems
  • business modelling
  • non-software systems.

Predecessor three amigos

UML "unified" achieves

  • It ends many of differences
  • It unifieds different systems's perspectives
    • Business vs software
    • Development phases
    • internal concepts.

UML usage

  • design is concerned with the solution to that problem.
  • analysis is concerned with the problem being solved.

This courses will discuss three or four diagrams.

Review of UML and views of a model

The following diagrams

Structural diagram shows pieces of the system and the relationships among them

  1. Class

Behavior diagram concerns the executions of the system

  1. Use case
  2. statechart
  3. activity
  4. interaction - sequence and collaboration

implementation

  1. component
  2. deployment

Benefits of design diagram

Pro

  • Communication
  • Support of existing methods
  • Tool support

Con

  • Maintainability

Diagrams for Analysis and Design

Class Model Diagram and Object Diagram

  • Dependencies: dashed line with an arrowhead
  • Associations: solid line without arrowheads
  • Aggregation embellishment to the association: solid line with a diamond.
  • Generalization: a solid line with triangle.

The only difference with Class Model Diagram: Object diagram contains title "className:instance name"

Composite Structure Diagrams

Component Diagram

Deployment Diagram

Packages Diagram

Profile Diagram

Use case Diagram

Context Diagram

Sequence Diagram

Communication Diagram

Activity Diagram

Interaction Overview Diagram

Timing Diagram

State Diagram

Object Constraint Language(OCL)

Difference between Association, Aggregation and Composition

References

UML CheatSheet