Шпаргалка по обозначениям UML - HITROME (BETA)

Представляю небольшую шпаргалку по обозначениям UML (для тех, кто что-нибудь запамятовал). Современным программистам должно быть всё понятно. Если всё-таки непонятно, то Вам сюда: https://prog-cpp.ru/uml-classes/
Поведенческая сущность.
Сообщение некоторого действия, которое производит объект.
Аннотирующая сущность.
Примечание.

Структурная сущность.
Класс.

Для атрибутов и операций может быть указаны следующие типы видимости:
- " - " - private
- "#" - protected
- "+" - public

<<constructor>>, <<interface>> - стереотипы (пояснения, что находится ниже)
Отношения между классами
-Зависимость.
Изменения одного (независимого) элемента влекут изменения другого (зависимого). Стрелка направлена к независимому элементу.

- Ассоциация.
Объекты одного класса связаны с объектами другого класса, так, что можно перемещаться от объектов одного класса к другому. Стрелка направлена по направлению ассоциации.

- Множественная ассоциация.
Позволяет устанавливать, какое количество объектов одного класса ассоциируется с каким количеством второго. То есть, для каждого из n объектов первого класса существуют m ассоциированных объектов второго класса. Стрелка - по направлению ассоциации.

- Агрегация (агрегация по ссылке).
Один класс является контейнером для других независимых классов (время жизни вторых не зависит от первого).

- Композиция.
Агрегация с чёткой зависимостью времени жизни класов, являющихся "содержимым" класса-контейнера от самого контейнера.

- Обобщение.
Наследование классов.

- Реализация.
То же самое, что и реализация интерфейсов.

