UML stands for 'Unified Modeling Language' it is an OMG standard for visual object-oriented modeling.
UML Defines a set of diagrams for Object Oriented Analysis and Design (OOAD). Note that UML only defines what the diagrams look like, it does not define a storage format for the diagram or for the programs metadata.
Using standard diagram types for the analysis, design and documentation of a program means that programmers can move between projects and concentrate on the issues specific to the programs and not have to learn a new set of diagram standards for each program.
Since its introduction in November 1997, the Unified Modeling Language has quickly become the standard modeling language for software development. Many users of other methods (Booch, OMT, Fusion, etc.) have adopted UML; a number of books have been written about UML; and most modeling tools have implemented support for the language.
UML has 9 predefined diagrams:
- Class Diagram
- Object Diagram
- Statechart Diagram
- Activity Diagram
- Sequence Diagram
- Collaboration Diagram
- Use Case Diagram
- Component Diagram
- Deployment Diagram
further information:
Class Diagram
Describes the structure of a system. The structures are built from classes and relationships. The classes can represent and structure information, products, documents, or organizations.
Object Diagram
Expresses possible object combination of a specific class diagram. It is typically used to exemplify a class diagram.
Statechart Diagram
Expresses possible states of a class (or a system).
Activity Diagram
Describes activities and actions taking place in a system.
When to us Activity Diagram, State Chart, Collaboration diagram or Sequence diagram. The following table compares them:
Activity diagram |
Collaboration diagram |
Sequence diagram |
State chart |
Events happen in boxes (opposite of state chart) |
Events happen in transition (opposite of activity diagram) |
||
Shows order of events (flow) |
|||
Used in business modelling to define interfaces (no assumptions about implementations) |
|||
Alternate flow, inserts itself at numbered event. |
Sequence Diagram
Shows one or several sequences of messages sent amongst a set of objects.
Collaboration Diagram
Describes a complete collaboration among a set of objects.
Use Case Diagram
Illustrates the relationship between use cases. Each use case, typically defined in plain text, describes a part of the total system functionality.
Component Diagram
A special case of class diagram used to describe components within a software system.
Deployment Diagram
A special case of class diagrams used to describe hardware within a software system.