UML – The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system.

Class diagram

The class diagram shows how the different entities (people, things, and data) relate to each other; in other words, it shows the static structures of the system. Class diagrams can also be used to show implementation classes.

A class is depicted on the class diagram as a rectangle with three horizontal sections.

  • The upper section shows the class's name;
  • the middle section contains the class's attributes;
  • and the lower section contains the class's operations (or "methods").

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.

Sequence diagram

Sequence diagrams show a detailed flow for a specific use case or even just part of a specific use case.

They show the calls between the different objects in their sequence and can show, at a detailed level, different calls to different objects.

A sequence diagram has two dimensions:

  • The vertical dimension shows the sequence of messages/calls in the time order that they occur;
  • The horizontal dimension shows the object instances to which the messages are sent.

A popular use for them is to document the dynamics in an object-oriented system.

The sequence diagram is used primarily to show the interactions between objects in the sequential order that those interactions occur.

Statechart diagram

The statechart diagram models the different states that a class can be in and how that class transitions from state to state.

State Diagram

State diagrams are used to describe the behavior of a system. State diagrams describe all of the possible states of an object as events occur.

Each diagram usually represents objects of a single class and track the different states of its objects through the system.

Activity diagram

Activity diagrams show the procedural flow of control between two or more class objects while processing an activity.

Activity diagram is basically a flow chart to represent the flow form one activity to another activity. So the control flow is drawn from one operation to another. It captures the dynamic behaviour of the system.

Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency.

The basic purposes of activity diagrams are similar to other four diagrams. It captures the dynamic behaviour of the system. Other four diagrams are used to show the message flow from one object to another but activity diagram is used to show message flow from one activity to another.

The purposes can be described as:

  1. Draw the activity flow of a system.
  2. Describe the sequence from one activity to another.
  3. Describe the parallel, branched and concurrent flow of the system

Component diagram

A component diagram provides a physical view of the system. Its purpose is to show the dependencies that the software has on the other software components (e.g., software libraries) in the system.

Deployment diagram

The deployment diagram shows how a system will be physically deployed in the hardware environment. Its purpose is to show where the different components of the system will physically run and how they will communicate with each other.