Unified Modelling Language

What is UML?

UML stands for Unified Modeling Language. This object-oriented system of notation has evolved from the work of Grady Booch, James Rumbaugh, Ivar Jacobson, and the Rational Software Corporation. These renowned computer scientists fused their respective technologies into a single, standardized mode. Today, UML is accepted by the Object Management Group (OMG) as the standard for modeling object oriented programs.

Types of UML Diagrams

UML defines nine types of diagrams: class (package), object, use case, sequence, collaboration, statechart, activity, component, and deployment.

Class Diagrams Class Diagrams Class diagrams are the backbone of almost every object oriented method, including UML. They describe the static structure of a system.
Package Diagrams Package Diagrams Package diagrams are a subset of class diagrams, but developers sometimes treat them as a separate technique. Package diagrams organize elements of a system into related groups to minimize dependencies between packages.
Object Diagrams Object Diagrams Object diagrams describe the static structure of a system at a particular time. They can be used to test class diagrams for accuracy.
Use Case Diagrams Use Case Diagrams Use case diagrams model the functionality of system using actors and use cases.
Sequence Diagrams Sequence Diagrams Sequence diagrams describe interactions among classes in terms of an exchange of messages over time.
Collaboration Diagrams Collaboration Diagrams Collaboration diagrams represent interactions between objects as a series of sequenced messages. Collaboration diagrams describe both the static structure and the dynamic behavior of a system.
Statechart Diagrams Statechart Diagrams Statechart diagrams describe the dynamic behavior of a system in response to external stimuli. Statechart diagrams are especially useful in modeling reactive objects whose states are triggered by specific events.
Activity Diagrams Activity Diagrams Activity diagrams illustrate the dynamics nature of a system by modeling the flow of control from activity. An activity represents an operation on some class in the system that results in a change in the state of the system. Typically, activity diagrams are used to model workflow or business and internal operation.
Component Diagrams Component Diagrams Component diagrams describe the organisation of physical software components, including source code, run-time (binary) code, and executables.
Deployment Diagrams Deployment Diagrams Deployment diagrams depict the physical resources in a system, including nodes, components, and connections.