Перейти к другой последовательности на диаграмме последовательности?

У меня есть диаграмма последовательности register и login. У меня также есть последовательность login FB с такими условиями:

  1. Если пользователь никогда раньше не входил в свой FB, система register выполнит его и сделает login автоматически.
  2. Если пользователь ранее входил в систему через FB, система просто выполнит login без его регистрации.

Проблема в том, что login и register уже имеют свою собственную соответствующую диаграмму последовательности. Просто скопируйте и вставьте эти две диаграммы в login FB, чтобы решить проблему, но мою диаграмму будет трудно читать, и она будет очень длинной.

Надеюсь, есть способ просто сказать что-то вроде: перейти к диаграмме последовательности входа в систему

Пожалуйста, помогите мне. Спасибо за вашу помощь.


person Blaze Tama    schedule 22.01.2015    source источник
comment
См. также оператор ref для представления сценария взаимодействия (копирование/вставка), как показано на uml-diagrams.org: Диаграммы последовательностей UML   -  person xmojmr    schedule 22.01.2015


Ответы (1)


В UML нет правил по этому поводу, но есть и лучшие практики. Я задокументировал свою в статье на своем веб-сайте: Рекомендации UML: одна операция => одна диаграмма последовательности

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

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

EDIT: чтобы проиллюстрировать это на вашем примере. У вас будет подобная диаграмма последовательности для loginFB

loginFB

Тогда у вас есть отдельные диаграммы последовательности для регистра:

зарегистрироваться

и для входа

логин

Убедитесь, что каждая диаграмма последовательности вложена в объект взаимодействия, и что вы связываете это взаимодействие как поведение с соответствующими операциями.

Затем от возможностей вашего инструмента UML зависит, насколько легко перейти от операции к ее поведению (и обратно).

person Geert Bellekens    schedule 22.01.2015
comment
Большое спасибо. Но я не совсем понимаю ваш ответ (извините, я только изучаю это). И я боюсь, что у меня недостаточно времени, чтобы переделать все мои диаграммы последовательности. Не могли бы вы привести пример, как перейти к другой диаграмме последовательности? Так что, по крайней мере, я могу решить эту проблему на данный момент - person Blaze Tama; 22.01.2015
comment
Я обновил свой ответ несколькими примерами, чтобы проиллюстрировать, что я имею в виду. - person Geert Bellekens; 22.01.2015
comment
Большое спасибо. Можно ли вызывать регистр SD как метод? - person Blaze Tama; 22.01.2015
comment
В UML вы вызываете операции, а не диаграммы последовательности. - person Geert Bellekens; 22.01.2015
comment
Спасибо. Очень ценю вашу помощь и примеры :) - person Blaze Tama; 23.01.2015