
Two, constants do not belong in a class diagram anyway for reasons I outlined above. For one, they do not belong to a class, making them completely irrelevant. Those constants should not be documented in a UML class diagram. The struct should be a class with no behavior, but the state documented as public. Note that if you use a C++ enum class instead, you might have state worth documenting. The only state is the integer that represents each enum value, but that is essentially a surrogate key and not referenced in code. The enum would be a class in the diagram, but would likely be empty. In your specific example, I would do the following: While a class diagram documents classes, it is focused on elements of classes used by objects of those class types. The closest element is state, but a constant is pretty much the opposite: it is static, and not tied to an object. It is not a relationship, and certainly not an operation.

The structure of a system by showing the system's classes, theirĪttributes, operations (or methods), and the relationships among Language (UML) is a type of static structure diagram that describes
#Dia uml tool inner class representation software#
In software engineering, a class diagram in the Unified Modeling


The goal of a class diagram is to document relationships between classes as well as how objects of those classes can change:
