Схема упаковки

Схема упаковки

Диаграмма пакетов — это структурная (статическая) диаграмма UML, которая представляет пакеты (или пространства имен), составляющие систему, а также отношения, которые связывают эти различные пакеты.

Когда мы имеем дело с большой системой, может быть интересно разбить ее на несколько частей (называемых пакетами).

Таким образом, пакет — это группа различных элементов системы (группа классов, диаграмм, функций, интерфейсов и т. д.). Это помогает прояснить модель, организовав ее. Он представлен папкой с его именем внутри.

Пакеты могут вкладываться друг в друга (иерархическая декомпозиция), но не перекрываться. Системный элемент может принадлежать только одному и только одному пакету. Каждый пакет должен иметь другое имя.

Можно изобразить элементы системы, принадлежащие пакету: внутри него или снаружи, соединенные перекрестной стрелкой.

Зависимости

Каждый элемент пакета:

  • приватный, т.е. инкапсулированный в пакет и невидимый вне его. Приватный элемент обозначается знаком – перед ним.
  • общедоступный, т.е. видимый и доступный снаружи пакета. Публичный элемент обозначается знаком + перед ним.

По умолчанию элементы пакета являются общедоступными.

Зависимость импорта:

Это соответствует импорту пакетом B всех общедоступных элементов пакета A.

Эти элементы:

  • будет иметь «общедоступную» видимость в пакете B (и, следовательно, также будет передан пакету C, который импортирует пакет B).
  • будет доступен для пакета B без необходимости явного использования имени пакета A.

Зависимость типа «импорт» представлена пунктирной стрелкой со стереотипом <>.

диаграмма импорта зависимостей uml-пакетов

Пакет B импортирует Class1 и Class2 (но не Class3, который имеет видимость частного типа). Class1 и Class2 имеют общедоступный тип видимости в пакете B. Пакет C импортирует Class1, Class2 и Class4.

Зависимость типа «доступ»:

Это соответствует доступу пакета B ко всем общедоступным элементам пакета A. Эти элементы будут иметь частную видимость в пакете B, поэтому они не могут быть переданы пакету C, который сделал бы импорт или доступ к пакету B. (нет транзитивности).

Зависимость типа «доступ» представлена пунктирной стрелкой со стереотипом <>.

зависимость доступа к диаграмме пакетов uml

Пакет B имеет доступ к Class1 и Class2 (но не к Class3, который имеет видимость частного типа). Class1 и Class2 имеют видимость частного типа в пакете B. Пакет C имеет доступ к Class4 (но не Class1 и Class2, которые имеют видимость частного типа в пакете B).

Зависимости типа слияния:

Это соответствует слиянию 2-х пакетов в один. Зависимость типа «слияние» представлена пунктирной стрелкой со стереотипом <>.

uml диаграмма зависимости слияния пакетов

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

Делиться
ru_RURU