Как объединить узлы решения / разветвления в UML - PullRequest
3 голосов
/ 18 апреля 2011

У меня есть приведенная ниже диаграмма активности UML для варианта использования корзины покупок.У него есть несколько узлов решений и разветвлений, но нет соответствующих узлов объединения / слияния.Не могли бы вы показать мне:

  • , как исправить диаграмму, введя узлы слияния / объединения.
  • как изменить диаграмму, чтобы покупатель мог повторить процесс (добавления дополнительных товаров в корзину).

Спасибо.enter image description here

Ответы [ 2 ]

0 голосов
/ 18 августа 2016

Вы должны взглянуть на концепцию токена .Он вводится в сети Петри и также используется в диаграмме активности UML.

Узлы принятия решений создают только один токен, т.е. они следуют только по одному исходящему пути.Чтобы объединить такие пути, из которых следует только один, вы можете использовать узел объединения .Который просто выглядит как перевернутый узел принятия решений и способен использовать ровно один токен.Ромб с несколькими входящими ребрами.

Если вы используете узел параллелизации для запуска параллельных путей выполнения, у вас есть несколько токенов, покидающих узел параллелизации.Чтобы объединить пути такого типа, вы можете использовать узел синхронизации , он выглядит как узел с обращенной параллелизацией и должен использовать один токен на каждое входящее ребро.узлы слияния и парарелизации и синхронизации http://www.lcc.uma.es/~amg/ISE/OOP-Java-UML/Chapter%204_archivos/4-ActivityUML.gif

0 голосов
/ 21 апреля 2011

Есть ли у вас начальный элемент активности где-нибудь? Делает это немного легче для чтения. На ваш вопрос, следует использовать слияние, а не объединение нескольких коннекторов в одно и то же действие. Например, «Acknowledge Msg» должен иметь слияние над ним, в которое могут переходить другие ветви.

Что касается того, как сделать его повторяемым, вы можете захотеть действие «Добавить в корзину», а до действия «Оформить заказ» принять решение с охранниками для «Покупка завершена» (которая переходит к действию «Оформить заказ») и «Продолжить покупки» (что означает «Введите номер товара»).

...