Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.



become (метаморфоза)

Один из видов зависимости потока; используется во взаимодействиях, где целевой объект представляет собой новую версию исходного объекта и замещает его.
См. class-in-state; copy; location.

Семантика

Зависимость-метаморфоза, или иначе зависимость превращения, указывает на вывод одного объекта из другого во время взаимодействия и представляет собой действие по трансформации объекта. После выполнения действия превращения происходит замещение исходного объекта новым. Не стоит использовать эту зависимость, чтобы показать изменение значения объекта. Это отношение применяют для того, чтобы показать качественное изменение объекта, например изменение состояния, класса или месторасположения. В таком случае в модели содержатся обе версии объекта. Зависимость-метаморфоза указывает, что это не два разных объекта, а два варианта одного и того же объекта. Иными словами, у них одинаковая индивидуальность.
Осуществляющийся при взаимодействии переход превращения может обладать порядковым номером, который обозначает время его исполнения относительно прочих действий.

Нотация

Направление метаморфозы изображается с помощью пунктирной стрелки от старой версии к новой версии объекта. Около стрелки стереотип - "become". Стрелку можно помечать порядковым номером, который указывает на время, когда должна происходить подмена объекта (относительно прочих действий). Переходы превращений могут использоваться на диаграммах кооперации, последовательности и диаграммах деятельности.
На диаграммах деятельности метаморфозу можно изображать пунктирной стрелкой, идущей к (или от) символу потока объектов. Ключевое слово "become" в этом случае можно опустить.

Пример

На рис. 33 изображена диаграмма взаимодействия, описывающая сценарий, состоящий из выполнения двух команд: открыть каталог, используя значок на рабочем столе Windows, и отсортировать элементы этого каталога. На рисунке каталог изображен дважды в виде объекта класса с заданным состоянием (class-in-state). Между двумя его версиями существует переход превращения.
На рис. 132 изображена диаграмма развертывания, на которой показана миграция объектов между узлами.

Рис. 33. Метаморфоза

Алфавитный указатель