Диаграмма классов (Class diagram) – статическая структурная диаграмма, описывающая структуру системы, она демонстрирует классы системы, их атрибуты, методы и зависимости между классами.
Самым важным является показ классов и связей между ними с различных сторон таким способом, чтобы передать наиболее важный смысл.
Диаграмма классов представляет собой статическую модель системы. Диаграмма классов не описывает поведение системы, или то, как взаимодействуют экземпляры классов.
Взаимосвязь – это особый тип логических отношений между сущностями, показанных на диаграммах классов и объектов.
Основными элементами диаграмм классов являются:
Прямоугольник принято называть классификатором, и он имеет несколько секций:
Под секцией атрибутов в UML подразумевают секцию полей, но для C# данную секцию называть секцией атрибутов будет неправильно, поскольку в языке присутствуют отдельная конструкция называемая атрибутом, пример её можно увидеть в файле AssemblyInfo.
Пример реализации класса описанного UML диаграммой на языке C#:
В Visual Studio присутствует отдельный язык позволяющий описывать классы и взаимосвязи между ними, он называется DSL. Для данного языка были написаны отдельные проекты в Visual Studio, одним из которых является проект Class Diagram в котором можно описывать различные классы, например: