Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Диаграмма составной структуры в Unified Modeling Language (UML) - это тип диаграммы статической структуры , который показывает внутреннюю структуру класса и взаимодействия, которые эта структура делает возможными.

Эта диаграмма может включать внутренние части , порты, через которые части взаимодействуют друг с другом или через которые экземпляры класса взаимодействуют с частями и с внешним миром, а также соединители между частями или портами. Композитная структура представляет собой совокупность взаимосвязанных элементов , которые взаимодействуют во время выполнения для достижения какой - то цели. Каждый элемент играет определенную роль в сотрудничестве.

Концепции [ править ]

Ключевые объекты составной структуры, определенные в спецификации UML 2.0, - это структурированные классификаторы, части, порты, соединители и взаимодействия. [1]

  • Часть: часть представляет собой роль во время выполнения одного экземпляра классификатора или коллекции экземпляров . Эта часть может только называть роль, она может называть абстрактный суперкласс или может называть конкретный конкретный класс. Деталь может включать коэффициент кратности, например [0 .. *], показанный для средства просмотра на диаграмме.
  • Порт: порт - это точка взаимодействия, которая может использоваться для соединения структурированных классификаторов с их частями и со средой. Порты могут дополнительно указывать услуги, которые они предоставляют, и услуги, которые им требуются от других частей системы. На схеме каждый из маленьких квадратов представляет собой порт. Каждый порт имеет тип и помечен именем, например, «var», «indVar1» или «view» на диаграмме. Порты могут содержать коэффициент множественности, например [3].
Порты могут либо делегировать полученные запросы внутренним частям, либо доставлять их непосредственно в поведение структурированного классификатора, в котором содержится порт. Общедоступные порты, видимые в среде, отображаются по обе стороны границы, а защищенные порты, которые не видны в среде, отображаются внутри границы. Все порты на диаграмме являются общедоступными, за исключением порта просмотра вдоль правой границы FibonacciSystem.
  • Соединитель: соединитель связывает два или более объекта вместе, позволяя им взаимодействовать во время выполнения. Соединитель показан как линия между некоторой комбинацией частей, портов и структурированных классификаторов . На схеме показаны три соединителя между портами и один соединитель между структурированным классификатором и деталью.
  • Сотрудничество: сотрудничество обычно более абстрактно, чем структурированный классификатор. Он показан в виде пунктирного овала, содержащего роли, которые экземпляры могут играть в сотрудничестве.
  • Структурированный классификатор: StructuredClassifier представляет класс, часто абстрактный класс, поведение которого может быть полностью или частично описано посредством взаимодействий между частями.
  • Инкапсулированный классификатор: EncapsulatedClassifier - это тип структурированного классификатора, который содержит порты. На диаграмме ниже и FibonacciSystem, и Variable являются инкапсулированными классификаторами, потому что у них обоих есть порты вдоль их границ.

Примеры [ править ]

Схема составной структуры UML 2.0.

В качестве примера рассмотрим один из возможных способов моделирования производства последовательности Фибоначчи .

Эта составная структурная диаграмма UML 2.0 указывает, что экземпляры класса FibonacciSystem состоят из нескольких частей. Самая верхняя из этих частей определяется как имеющая классификатор FibonacciFunction. Три из частей определяются той ролью , которую они играют в случаях FibonacciSystem - в NMinus2 роли, в NMinus1 роли, и N роли. Пятая часть, определяемая ее классификатором Viewer , включает спецификацию множественности. Во время выполнения может быть 0 или более экземпляров Viewer или некоторого конкретного подкласса Viewer.

Во время выполнения экземпляры класса, реализующие эти три роли, должны предоставлять услуги, указанные интерфейсом IVar, через свои порты var . Одним из таких классов является Variable , показанный на диаграмме с портом с именем var типа Var, который реализует интерфейс IVar .

Порт с именем "view" - это закрытый порт, который может использоваться экземпляром FibonacciSystem для доступа к дополнительным экземплярам Viewer .

Ссылки [ править ]

  1. Перейти ↑ OMG (2008). OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2 Архивировано 23 сентября 2010 г. в Wayback Machine, стр. 161-192.

Внешние ссылки [ править ]

  • Общая информация о UML, включая официальную спецификацию UML 2.0. См. Особенно большой раздел о композитных конструкциях.
  • Проект с открытым исходным кодом Xholon поддерживает набор ссылок , связанных с составной структурой.
  • Диаграммы составной структуры UML 2