How to Draw a UML Diagram with SmartDraw

SmartDraw is designed to help you create UML diagrams quickly and easily. You'll get ready-made templates and symbols as well as tools specifically designed to build the diagram you need.

Try SmartDraw Free

Finding the UML Symbols and Templates

SmartDraw has a number of UML templates located in the UML & Software folder, accessible on the left hand side of the SmartDraw template browser. This is the first thing you see when you open SmartDraw. To start drawing, simply open any of SmartDraw's UML templates. You can choose between:

  • UML Activity Diagram
  • UML Class Diagram
  • UML Communication Diagram
  • UML Component Diagram
  • UML Composite Diagram
  • UML Deployment Diagram
  • UML Interaction Diagram
  • UML Object Diagram
  • UML Package Diagram
  • UML Sequence Diagram
  • UML State Diagram
  • UML Timing Diagram
  • UML Use Case Diagram
UML templates

Using the SmartPanel

Every UML template opens with a specialized UML SmartPanel docked to the left of the work area. This panel has a symbol library with the most common symbols for your chosen UML diagram. It also has tools that will help you build the diagram.

UML SmartPanel

Adding UML Symbols to Your Diagram

You can add a symbol to your drawing by selecting it in the library and then clicking anywhere on the page. This action is called stamping. You can also use the traditional drag-and-drop method to add symbols.

Once you already have a symbol on your diagram, you can add new ones by drawing a line and choosing a symbol from the auto-prompt that appears. Click any of the yellow dots at the perimeter of a shape to start drawing a line and add a shape that's connected to the previous shape from the menu that pops up.

This menu is pre-populated with the most common symbols for the selected diagram type. The options will change over time to symbols you use, so you'll always have what you need at your fingertips.

Add UML symbols

Defining Connections and Relationships with Arrowheads

Most UML diagrams involve connecting one or more shapes to each other using lines and using special symbols on these lines to indicate relationships.

As discussed above, you can easily build your entire UML diagram by drawing lines and adding shapes that are automatically connected to the previous shape.

Many UML diagrams use arrowheads at the end of the line to represent relationships like aggregation, dependency, inheritence, composition, and association for classes and interface type for components.

To show the relationship between classes, select the line and choose the appropriate arrowhead and line style from one of the options under Class Line Style in the Lines subsection. Show aggregation, association, inheritance, and more.

Define class relationships

In UML component diagrams, an interface (small circle or semi-circle on a stick) describes a group of operations used (required) or created (provided) by components. A full circle represents an interface created or provided by the component. A semi-circle represents a required interface, like a person's input.

With a line selected, you can easily apply the right kind of interface notation at the end of a line using the Interface Line Style in the Lines subsection.

Define interface types

For other UML diagram types like Use Case and Activity, you can choose from the basic UML line and arrow styles in the Line Style drop-down.

Define interface types

Reverse Line Direction

You can reverse the arrows on a line by clicking the Reverse Direction command on the SmartPanel.

Reverse direction

Add Multiplicity

UML class diagrams often use a multiplicity notation to indicate the number of instances of one class linked to one instance of the other class. For example, one company will have one or more employees, but each employee works for just one company.

You can show multiplicity by selecting a line and clicking Add Multiplicities in the Lines subsection. This will put a placeholder multiplicity notation at both ends of the selected line.

Add multiplicities

Adding and Editing Text

To add text to a shape or a line, select it and start typing. Depending on the particular shape, your text will appear inside, below, or above the shape.

For a line, your text will appear centered on the line. Some shapes will already have text on them. To edit this text, double-click on the area you want to edit.

Change Text Style and Color
You can change font size, font type, color, and alignment in the Home tab.

To add text to your work area as an independent object, click on the Text tool in the ribbon above the work area.

Editing text

Converting a Shape into a Table

UML objects that specify operations and attributes are depicted as rectangles with rows. You can use the symbols in the UML libraries, or you can draw your own by converting a rectangle shape into a table.

To convert a rectangle, select it, then go to the Table tab and choose the number of columns and rows you want and click Insert Table.

Insert a table inside a shape

Once your shape is converted, you can use the standard Table menu commands to insert and delete rows, or join and split cells to further customize your shape.

To enter text into a cell, double-click on it and type.

To change the background color of the cell, select it by clicking inside it and change the fill color in the Home tab.

Edit UML tables

Arranging Objects

You can arrange objects on your page by selecting them and moving them with the mouse. For finer adjustments you can use the arrow keys to nudge the object or objects into place. The Design tab provides a variety of helpful commands that help you position your objects better.

For example, to align a number of class objects to each other, first, select the objects you want to arrange. Do this by clicking on each object in turn (while holding down the Shift key).

The last object you click has black selection handles and is called the Target Object. When you use the Align commands, all the selected objects will be aligned to match the target object.

Align objects

You can also make all the selected objects the same size as the Target Object using the Make Same Size command.

Make the same size