UML Diagram

ConceptDraw PRO
Discover the World of Visual Communication

What is UML diagram?

The accepted standard used when modeling a system is known as Unified Modeling Language (UML), a generic set of notations that are used when creating UML diagrams. These notations can visually represent

  • requirements,
  • subsystems,
  • logical and physical elements,
  • structural
  • behavioral patterns,
that are especially relevant to systems built using an object-oriented style.

"Unified Modeling Language (UML) is a standardized (ISO/IEC 19501:2005), general-purpose modeling language in the field of software engineering. The Unified Modeling Language includes a set of graphic notation techniques to create visual models of object-oriented software-intensive systems.

The current version of the UML is 2.4.1 published by the OMG in August 2011."
[Unified Modeling Language. Wikipedia]

Types of UML Diagrams

UML defines 13 types of diagrams:

  • class (package),
  • object,
  • use case,
  • sequence,
  • collaboration,
  • component,
  • state machine,
  • timing,
  • interaction overview,
  • composite structure,
  • activity,
  • and deployment.

UML Class Diagrams

"In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects."
[Class diagram. Wikipedia]

UML Class Diagram

Pic. 1 UML Class Diagram

UML Package Diagrams

"A package diagram in the Unified Modeling Language depicts the dependencies between the packages that make up a model."
[Package diagram. Wikipedia]

UML Package Diagram

Pic. 2 UML Package Diagram

UML Object Diagrams

"An object diagram in the Unified Modeling Language (UML), is a diagram that shows a complete or partial view of the structure of a modeled system at a specific time."
[Object diagram. Wikipedia]

UML Object Diagram

Pic. 3 UML Object Diagram

UML Use Case Diagrams

"A use case diagram at its simplest is a representation of a user's interaction with the system and depicting the specifications of a use case. A use case diagram can portray the different types of users of a system and the various ways that they interact with the system. This type of diagram is typically used in conjunction with the textual use case and will often be accompanied by other types of diagrams as well."
[Use Case Diagram. Wikipedia]


Pic. 4 UML Use Case Diagram

UML Sequence Diagrams

"A sequence diagram is a interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart. A sequence diagram shows object interactions arranged in time sequence. It depicts the objects and classes involved in the scenario and the sequence of messages exchanged between the objects needed to carry out the functionality of the scenario. Sequence diagrams are typically associated with use case realizations in the Logical View of the system under development. Sequence diagrams are sometimes called event diagrams, event scenarios.

A sequence diagram shows, as parallel vertical lines (lifelines), different processes or objects that live simultaneously, and, as horizontal arrows, the messages exchanged between them, in the order in which they occur. This allows the specification of simple runtime scenarios in a graphical manner."
[Sequence diagram. Wikipedia]

UML Sequence Diagram

Pic. 5 UML Sequence Diagram

UML Collaboration Diagrams

"A communication diagram in the Unified Modeling Language (UML) 2.0, is a simplified version of the UML 1.x collaboration diagram.

A Communication diagram models the interactions between objects or parts in terms of sequenced messages. Communication diagrams represent a combination of information taken from Class, Sequence, and Use Case Diagrams describing both the static structure and dynamic behavior of a system."
[Communication diagram. Wikipedia]

UML Collaboration Diagram

Pic. 6 UML Collaboration Diagram

UML Activity Diagrams

"Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and organisational processes (i.e. workflows). Activity diagrams show the overall flow of control."
[Activity diagram. Wikipedia]

UML Activity Diagram

Pic. 7 UML Activity Diagram

UML Component Diagrams

"In the Unified Modeling Language, a component diagram depicts how components are wired together to form larger components and or software systems. They are used to illustrate the structure of arbitrarily complex systems."
[Component diagram. Wikipedia]

UML Component Diagram

Pic. 8 UML Component Diagram

UML Deployment Diagrams

"A deployment diagram in the Unified Modeling Language models the physical deployment of artifacts on nodes. To describe a web site, for example, a deployment diagram would show what hardware components ("nodes") exist (e.g., a web server, an application server, and a database server), what software components ("artifacts") run on each node (e.g., web application, database), and how the different pieces are connected (e.g. JDBC, REST, RMI).

The nodes appear as boxes, and the artifacts allocated to each node appear as rectangles within the boxes. Nodes may have subnodes, which appear as nested boxes. A single node in a deployment diagram may conceptually represent multiple physical nodes, such as a cluster of database servers."
[Deployment diagram. Wikipedia]

UML Deployment Diagram

Pic. 9 UML Deployment Diagram

UML State Machine Diagrams

"UML state machine, also known as UML statechart, is a significantly enhanced realization of the mathematical concept of a finite automaton in computer science applications as expressed in the Unified Modeling Language (UML) notation.

The concepts behind it are about organizing the way a device, computer program, or other (often technical) process works such that an entity or each of its sub-entities is always in exactly one of a number of possible states and where there are well-defined conditional transitions between these states.

UML state machine is an object-based variant of Harel statechart, adapted and extended by UML. The goal of UML state machines is to overcome the main limitations of traditional finite-state machines while retaining their main benefits. UML statecharts introduce the new concepts of hierarchically nested states and orthogonal regions, while extending the notion of actions. UML state machines have the characteristics of both Mealy machines and Moore machines. They support actions that depend on both the state of the system and the triggering event, as in Mealy machines, as well as entry and exit actions, which are associated with states rather than transitions, as in Moore machines.

The term "UML state machine" can refer to two kinds of state machines: behavioral state machines and protocol state machines. Behavioral state machines can be used to model the behavior of individual entities (e.g., class instances). Protocol state machines are used to express usage protocols and can be used to specify the legal usage scenarios of classifiers, interfaces, and ports."
[UML state machine. Wikipedia]

UML State Machine Diagram

Pic. 10 UML State Machine Diagram

UML Timing Diagrams

"A timing diagram in the Unified Modeling Language 2.0 is a specific type of interaction diagram, where the focus is on timing constraints.

Timing diagrams are used to explore the behaviors of objects throughout a given period of time. A timing diagram is a special form of a sequence diagram. The differences between timing diagram and sequence diagram are the axes are reversed so that the time is increased from left to right and the lifelines are shown in separate compartments arranged vertically.

There are two basic flavors of timing diagram: the concise notation, and the robust notation."
[Timing diagram (Unified Modeling Language). Wikipedia]

UML Timing Diagram

Pic. 11 UML Timing Diagram

UML Interaction Overview Diagrams

Interaction Overview Diagram is one of the fourteen types of diagrams of the Unified Modeling Language (UML), which can picture a control flow with nodes that can contain interaction diagrams.

The interaction overview diagram is similar to the activity diagram, in that both visualize a sequence of activities. The difference is that, for an interaction overview, each individual activity is pictured as a frame which can contain a nested interaction diagrams. This makes the interaction overview diagram useful to deconstruct a complex scenario that would otherwise require multiple if-then-else paths to be illustrated as a single sequence diagram.
[Interaction overview diagram. Wikipedia]

UML Interaction Overview Diagram

Pic. 12 UML Interaction Overview Diagram

UML Composite Structure Diagrams

"Composite structure diagram in the Unified Modeling Language (UML) is a type of static structure diagram, that shows the internal structure of a class and the collaborations that this structure makes possible.

This diagram can include internal parts, ports through which the parts interact with each other or through which instances of the class interact with the parts and with the outside world, and connectors between parts or ports. A composite structure is a set of interconnected elements that collaborate at runtime to achieve some purpose. Each element has some defined role in the collaboration."
[Composite structure diagram. Wikipedia]

UML Composite Structure Diagram

Pic. 13 UML Composite Structure Diagram

Free Download UML Software and View All Examples

Example 1. UML Diagrams

UML can be applied to diverse application: banking, finance, internet, aerospace, healthcare, etc.

All libraries for creating UML diagrams are available inside the ConceptDraw PRO. Templates and samples are located in the Rapid UML section of ConceptDraw Solution Browser.

UML Diagram Solution

Example 2. UML Diagrams solution

Use Product:

  • Diagraming and Charts Software
  • Business Process Software
  • Technical Diagramming Tool
  • Business Diagramming Tool
  • Professional Business Graphics Tool
  • ConceptDraw PRO native Mac app
  • Easier to use than Microsoft Visio® and more powerful
  • With free support and thousands of templates

Use Solution:

Rapid UML solution
  • 13 libraries 393 objects from UML
  • Rapid UML templates and examples
  • UML vector elements
  • Export to graphics files and PDF
  • Export to PPT
  • Make Presention

See also Videos:

UML Resource:

UML Design Elements:

See also Samples:

Compatibility: Apple® OS X 10.10 or later
Microsoft® Windows® 7/8.1/10

Price: ConceptDraw PRO US$199
Download ConceptDraw PRO
Free 21 Trial for Mac and PC
Buy Now
1 Diagram Software
Professional business graphics tool for drawing schemes, diagrams and illustrating business documentation
1 Mind Map Software
Excellent tool for Mind Mapping, Planning, Brainstorming, and Building Processes
1 Project Management Software
The full complement of features needed to successfully plan and execute projects, including task and resource management, reporting, and change control