Совместная работа в реальном времени с доступом по ссылке для мгновенной передачи данных
Автоматическое создание графики из текста с улучшением стиля
Встроенные темы с полной настройкой
Поддерживает иконки, изображения, метки, формулы LaTeX, блоки кода, ссылки, вложения
Экспорт: PNG, VISIO, PDF, SVG | Импорт: VISIO, Mermaid
Облачное хранение в реальном времени, синхронизация устройств, история версий и защита данных
Класс обычно состоит из имени, свойств и операций, представляется прямоугольником, который делится на три уровня: первый уровень — это имя класса, второй уровень — это свойства класса, третий уровень — это операции класса.
Однако на практике существуют три формы представления: «имя класса», «имя класса» + «свойства класса», «имя класса» + «операции класса».
Имя класса должно быть существительным, первая буква каждого слова должна быть заглавной, и прямой шрифт используется для обозначения классов, которые можно инстанцировать, а курсив — для абстрактных классов.
Синтаксис определения свойств класса: [видимость] имя свойства [:тип данных] [=начальное значение] [{строка свойств}]
Где содержание в [] является необязательным.
Ограничение класса указывает одно или несколько правил, которым должен соответствовать класс, в UML ограничения представляются текстовой информацией, заключенной в фигурные скобки.
Отношение реализации: обозначается полым треугольником + пунктирной линией, указывает от класса реализации к интерфейсному классу.
Обобщение: обозначается полым треугольником + сплошной линией, указывает от подкласса к родительскому классу.
Ассоциация: обозначается стрелкой со сплошной линией, указывает от класса-ссылки к классу, на который ссылаются.
Агрегация: обозначается полым ромбом + сплошной линией, указывает от класса-части к классу-целому.
Композиция: обозначается сплошным ромбом + сплошной линией, указывает от класса-части к классу-целому.
Зависимость: обозначается стрелкой с пунктирной линией, указывает от класса-ссылки к классу, от которого зависит.
Диаграмма классов не полностью независима, она должна абстрагировать сущности, управляющие и граничные классы из диаграммы вариантов использования и поддерживать семантическую согласованность с диаграммой вариантов использования, диаграммой активности, диаграммой последовательности и т.д.
Класс должен придерживаться единственной ответственности, можно разделить крупные классы, разумно распределить обязанности между несколькими классами, избегать высокой связности, четко определять границы, соответствовать принципам объектно-ориентированного проектирования.