Back to OOAD Course

OOAD Course

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:

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

screenshot of the app

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

Rest of the sections, 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.