What is UML?

UML stands for Unified Modeling Language and is used to model the Object-Oriented Analysis of a software system. UML is a way of visualizing and documenting a software system by using a collection of diagrams, which helps engineers, businesspeople, and system architects understand the behavior and structure of the system being designed.

Benefits of using UML:

  1. Helps develop a quick understanding of a software system.
  2. UML modeling helps in breaking a complex system into discrete pieces that can be easily understood.
  3. UML’s graphical notations can be used to communicate design decisions.
  4. Since UML is independent of any specific platform or language or technology, it is easier to abstract out concepts.
  5. It becomes easier to hand the system over to a new team.

UML

Types of UML Diagrams: The current UML standards call for 14 different kinds of diagrams. These diagrams are organized into two distinct groups: structural diagrams and behavioral or interaction diagrams. As the names suggest, some UML diagrams analyze and depict the structure of a system or process, whereas others describe the behavior of the system, its actors, and its building components. The different types are broken down as follows:

Structural UML diagrams

  • Class diagram
  • Object diagram
  • Package diagram
  • Component diagram
  • Composite structure diagram
  • Deployment diagram
  • Profile diagram

Behavioral UML diagrams

  • Use case diagram
  • Activity diagram
  • Sequence diagram
  • State diagram
  • Communication diagram
  • Interaction overview diagram
  • Timing diagram

In this course, we will be focusing on the following UML diagrams:

  • Use Case Diagram: Used to describe a set of user scenarios, this diagram, illustrates the functionality provided by the system.

  • Class Diagram: Used to describe structure and behavior in the use cases, this diagram provides a conceptual model of the system in terms of entities and their relationships.

  • Activity Diagram: Used to model the functional flow-of-control between two or more class objects.

  • Sequence Diagram: Used to describe interactions among classes in terms of an exchange of messages over time.