Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uml Book (Rus).doc
Скачиваний:
15
Добавлен:
11.08.2019
Размер:
58.74 Mб
Скачать

Обобщения

Между пакетами определены два типа отношений: зависимости импорта и до­ступа, применяемые для импорта в пакет элементов, экспортируемых другим пакетом, и обобщения (см. главы 5 и 10), используемые для специфицирования се­мейств пакетов.

Отношения обобщения между пакетами очень похожи на отношения обобще­ния между классами. Например, как видно из рис. 12.5, пакет GUI содержит дй экспортируемых класса (Windows и Form) и один защищенный (EventHandler) Существуют две специализации пакета GUI а именно: WindowsGUl и MacGUI. Они наследуют открытые и защищенные элементы своего родителя. Как и в случае с классами, пакеты могут замещать наследуемые элементы или добавлять новые

Например, пакет WindowsGUl содержит классы GUI: : Windows и GUI: : EventHandler. Кроме того, в нем переписан класс Form и добавлен новый класс VBForm Участвующие в обобщении пакеты следуют тому же принципу подстаиов1< что и классы. Специализированные пакеты (такие, как WindowsGUl) могут использоваться всюду, где допустимо использование их родителей (наподобие GUI):

Стандартные элементы

К пакетам применимы все механизмы расширения UML (см. главу 6). 4ai всего используют помеченные значения для определения новых свойств (например, указания имени автора) и стереотипы для определения новых видов пакет (например, пакетов, инкапсулирующих сервисы операционных систем).

В языке UML определены пять стандартных стереотипов (см. Приложение B) применимых к пакетам:

  • facade (фасад) - определяет пакет, являющийся всего лишь представлением какого-то другого пакета;

  • framework (каркас) - определяет пакет, состоящий в основном из образцов (паттернов - см. главу 28);

  • stub (стаб, заглушка) - определяет пакет, служащий заместителем открытого содержимого другого пакета;

  • subsystem (подсистема) - определяет пакет, представляющий независимую часть моделируемой системы (см. главу 31);

  • system (система) - определяет пакет, представляющий всю моделируемую систему.

В языке UML не определены пиктограммы для этих стереотипов. Помимо них применяется еще стереотип import, которым помечают отношения зависимости (см. главы 5 и 10) между пакетами, один из которых импортирует другой.

Практически все эти стандартные элементы рассматриваются в других местах книги. Здесь мы коснемся только стереотипов facade и stub. Оба они предназначены для работы с очень большими моделями. Стереотип facade используется для показа свернутого представления сложного пакета. Предположим, что ваша сис­тема содержит пакет BusinessModel. Некоторым пользователям вы захотите показать одно подмножество его элементов (например, только те, что связаны с кли­ентами), другим - другое (связанное с продуктами). С этой целью определяют фасады, которые импортируют только подмножества элементов другого пакета (но никогда не владеют ими). Стереотип stub используют, если в вашем распоря­жении имеются инструменты, расщепляющие систему на пакеты для последую­щей работы с ними в разное время и в разных местах. Например, если есть две группы разработчиков, работающие в двух разных офисах, то первая из них мо­жет создать стабы (Stubs) для пакетов, необходимых другой группе. Такая страте­гия позволяет командам работать независимо и не мешать друг другу, причем пакеты-стабы будут описывать стыковочные узлы системы, требующие особенно тщательной проработки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]