На самом деле не существует стандарта для моделирования такого сценария.В лучшем случае вы можете иметь соглашения - которые могут отличаться от домена к домену.Однако вот как я бы смоделировал это:
ServiceV2
имеет отношение <<trace>>
к ServiceV1
.UML 2.5.1 говорит на с.682:
«След» |Абстракция |Определяет отношение трассировки между элементами модели или наборами элементов модели, которые представляют одну и ту же концепцию в разных моделях.Трассировки в основном используются для отслеживания требований и изменений по моделям.Поскольку изменения модели могут происходить в обоих направлениях, направленность зависимости часто можно игнорировать.Отображение определяет отношения между ними, но оно редко вычисляемо и обычно неформально.
Так что это должно означать, что в этом контексте ServiceV2 создается с использованием ServiceV1 (я ранее использовал <<derive>>
здесь, так как онказалось логичным. Но на самом деле семантика UML определяется по-другому (см. стр. 680 UML 2.5.1).Вы можете придумать свой собственный стереотип здесь и объяснить его в контексте домена (например, <<version of>>
).
Вы, вероятно, создадите копию ServiceV1 или смоделируете ее вручную как новый элемент (вы этого не делаетепо массовому сценарию, а?).Здесь я добавил предоставленные интерфейсы, которые оба реализуют общий интерфейс A
.Быстрый линкер не предлагает эти отношения.Вам нужно либо пойти неуклюжим способом Ctrl-I, либо взять реализацию из набора инструментов.
Зависимость <<derive>>
не предлагается напрямую (если у вас нет собственного MDG и вы не определили его в QL или на панели инструментов),Таким образом, вы создаете зависимость и выбираете derive
в меню стереотипов.
Это широкое поле, и управление версиями не так просто, как простое добавление схемы нумерации.В любом случае, если вы создадите новый компонент, это будет что-то другое.Так что <<derive>>
, вероятно, лучший вариант здесь.
Примечание: советник использует строчные буквы <<trace>>
, а UML использует <<Trace>>
.Просто заметил это.С тех пор советник использовал строчные буквы.Некоторый реликт с тех пор, как UML 2.5 на OMG изменил его на верхний регистр первым символом.Стоит ли сообщать об ошибке?