UML Enumeration (in UML Class Diagram)

An enum allows you to define an entity with a list of literals in the UML class diagram. UML Enumeration values can be used by class attributes.

What is Enumeration in UML Class Diagram?

An enumeration is a complete list of all values that a given type may acquire. An enumeration is used as a type of attribute, operation, and operation parameters. Enums may be used in a flag mode to support bitwise combinations of particular values.

An enumeration is depicted as a rectangular box with a name and a line-separated list of items. The enumeration element is decorated with Ā«enumerationĀ» stereotype. The stereotype caption allows us easy to differ from other element types (e.g. classes).

Enum Values

An enumeration is represented by its values. A meaningful enumeration should contain two and more values.

UML Enumeration Literal

An item of enumeration is also called enumeration literal. It is represented by its name. Optionally, a numeric or other type value for the literal may be defined.

How to Add Values to Enum

In the diagram editor, you can add other enumeration items using the context bar. First, create a new enumeration or select an existing one. Then click on the Add Item button in the context bar (usually placed below the selected enumeration). A new item will be added to the enumeration and you can enter its name.

Enumeration Relationship

An enumeration connects to a class using UML association relationship. The relationship says whether an attribute, operation, or operation parameter of the class uses the enumeration as its type.

An enumeration associated with a class (UML Class Diagram)
An enumeration associated with a class (UML Class Diagram)

Enum Association

An enum may be associated with a class or a class field (attribute, operation) in our UML tool. If you drag (using the right mouse button) the enumeration and drop it over an attribute, it will be set as its type.

UML Enum inside Class

An enum can be defined in a class. This may be modeled using containment relationships in the UML class diagram.

An enumeration nested in a class (UML Class Diagram)
An enumeration nested in a class (UML Class Diagram)

Enumeration Items with Defined Values

Specific values can be assigned to enumeration items. The value of the enumeration item is displayed after the item name and the equals sign =. You can enter the specific value to an enumeration item very easily - just edit the item in the diagram editor and append = value after the item name.

Enumeration Items with Values
Enumeration Items with Values

Another way is to open the Properties dialog (right-click on the desired enumeration and select Properties from the context menu) and switch to the Items tab. It offers a tabular editor with two columns - Name and Value. You can edit the particular enumeration items there.

Enumeration Items Editor in Properties Dialog
Enumeration Items Editor in Properties Dialog

Enumeration Example

The following diagram shows a UML enum example on a UML class diagram:

Example of an enumeration in a class diagram
Example of an enumeration in a class diagram

Download Diagram Editor

If you are new here, you should download Software Ideas Modeler and then try to edit enumerations in UML diagrams:


Keith 2 January 2022 6:47:39


I am a CS major and just want to say this helped me a bunch thank you. God bless

Dusan Rodina - 3 January 2022 10:04:16

RE: Cool

Thank you for positive feedback.

Noura 18 February 2022 15:46:20


The explanation is clear and simple to understand. Thank you

Dusan Rodina - 18 February 2022 15:50:15

RE: Good

You're welcome!

New Comment