Схема упаковки
Диаграмма пакетов — это структурная (статическая) диаграмма UML, которая представляет пакеты (или пространства имен), составляющие систему, а также отношения, которые связывают эти различные пакеты.
Когда мы имеем дело с большой системой, может быть интересно разбить ее на несколько частей (называемых пакетами).
Таким образом, пакет — это группа различных элементов системы (группа классов, диаграмм, функций, интерфейсов и т. д.). Это помогает прояснить модель, организовав ее. Он представлен папкой с его именем внутри.
Пакеты могут вкладываться друг в друга (иерархическая декомпозиция), но не перекрываться. Системный элемент может принадлежать только одному и только одному пакету. Каждый пакет должен иметь другое имя.
Можно изобразить элементы системы, принадлежащие пакету: внутри него или снаружи, соединенные перекрестной стрелкой.
Зависимости
Каждый элемент пакета:
- приватный, т.е. инкапсулированный в пакет и невидимый вне его. Приватный элемент обозначается знаком – перед ним.
- общедоступный, т.е. видимый и доступный снаружи пакета. Публичный элемент обозначается знаком + перед ним.
По умолчанию элементы пакета являются общедоступными.
Зависимость импорта:
Это соответствует импорту пакетом B всех общедоступных элементов пакета A.
Эти элементы:
- будет иметь «общедоступную» видимость в пакете B (и, следовательно, также будет передан пакету C, который импортирует пакет B).
- будет доступен для пакета B без необходимости явного использования имени пакета A.
Зависимость типа «импорт» представлена пунктирной стрелкой со стереотипом <>.

Пакет B импортирует Class1 и Class2 (но не Class3, который имеет видимость частного типа). Class1 и Class2 имеют общедоступный тип видимости в пакете B. Пакет C импортирует Class1, Class2 и Class4.
Зависимость типа «доступ»:
Это соответствует доступу пакета B ко всем общедоступным элементам пакета A. Эти элементы будут иметь частную видимость в пакете B, поэтому они не могут быть переданы пакету C, который сделал бы импорт или доступ к пакету B. (нет транзитивности).
Зависимость типа «доступ» представлена пунктирной стрелкой со стереотипом <>.

Пакет B имеет доступ к Class1 и Class2 (но не к Class3, который имеет видимость частного типа). Class1 и Class2 имеют видимость частного типа в пакете B. Пакет C имеет доступ к Class4 (но не Class1 и Class2, которые имеют видимость частного типа в пакете B).
Зависимости типа слияния:
Это соответствует слиянию 2-х пакетов в один. Зависимость типа «слияние» представлена пунктирной стрелкой со стереотипом <>.

Пакет A объединяется с пакетом B (пакет A не изменяется, а пакет B перезаписывается для объединения двух пакетов).