29 Introduction To UML

CONTENT

  • What Is UML?
  • Why Use UML?
  • Different UML Diagrams Answer Different Questions
  • Looking Ahead

As software systems become more complex, explaining a design using only words becomes increasingly difficult.

Imagine trying to describe the structure of an application, the relationships between dozens of classes, or the sequence of events that occurs when a user submits a form.

A written description can quickly become long, difficult to follow, and open to interpretation.

Software designers therefore rely on diagrams to communicate ideas clearly.

One of the most widely used diagramming standards is the Unified Modeling Language (UML).

What Is UML?

The Unified Modeling Language (UML) is a standardized visual language used to describe, communicate, and document software systems.

Rather than replacing written requirements or design documents, UML complements them by providing diagrams that make complex ideas easier to understand.

Each UML diagram focuses on a different aspect of a system, allowing software teams to explore a design from multiple perspectives.

In practice, UML helps developers, designers, clients, and project teams develop a shared understanding of how a system is organized and how it behaves.

Why Use UML?

UML diagrams provide several important benefits.

They help teams:

  • communicate ideas using a common visual language,
  • explore and refine software designs,
  • identify missing or inconsistent design decisions,
  • document systems for future developers, and
  • discuss complex ideas more efficiently than text alone.

Like every prototype introduced in this book, UML diagrams are tools for thinking and communication.

Creating a diagram often reveals questions or assumptions that might otherwise remain hidden until implementation.

Different UML Diagrams Answer Different Questions

UML contains many different types of diagrams.

Each one is designed to answer a particular question about a software system.

For example:

Question

UML Diagram

What functionality does the system provide?

Use Case Diagram

What classes and relationships exist?

Class Diagram

How do objects interact during a task?

Sequence Diagram

What activities make up a workflow?

Activity Diagram

How does the software change between different states?

State Machine Diagram

How are software components organized?

Component Diagram

Where is the software deployed?

Deployment Diagram

Although UML includes many additional diagram types, most projects use only those that best support the design problem at hand.

There is rarely a need to create every possible UML diagram.

UML in CIS3750

Throughout this course, we’ll focus on the UML diagrams that are most useful during software design.

These include:

  • Class Diagrams, which model the structure of the data and the relationships between classes.
  • Sequence Diagrams, which describe how objects communicate with one another while completing a particular task.

Together, these diagrams help us understand both what a system contains and how it behaves.

As with the other prototypes you’ve encountered in this textbook, UML diagrams should evolve as your understanding of the problem improves.

They are not intended to be perfect on the first attempt.

Instead, they provide another opportunity to test ideas, communicate designs, and refine solutions before implementation begins.

Looking Ahead

In the next chapters, we’ll examine the UML diagrams used throughout CIS3750 in greater detail.

You’ll learn how each diagram supports the design process and how they work together to communicate the structure and behaviour of the software systems you create.

License

Software Design: Planning Purposeful Solutions Together - A Community-Engaged Approach Copyright © 2026 by Daniel Gillis; Nicolas Durish; and Alessandro Arezza. All Rights Reserved.