Представление циклов в диаграмме активности UML - PullRequest
21 голосов
/ 07 октября 2009

Я пытаюсь разработать диаграмму действий (UML) для сетевой игры в крестики-нолики, которую я разработал, с использованием сокетов. Я использую разделы деятельности (дорожки). Итак, существует три раздела: Client1, Server и Client2.

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

Если вы посмотрите на эту ссылку: диаграмма активности и посмотрите на последнюю диаграмму на странице (раздел), это тип диаграммы активности, с которой я работаю.

Кто-нибудь знает, как я могу представлять петли? Спасибо!

Ответы [ 3 ]

11 голосов
/ 07 октября 2009

Посмотрите дальше на страницу , на которую вы ссылаетесь для области расширения. Используйте один с итеративным ключевым словом.

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

2 голосов
/ 08 октября 2009

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

1 голос
/ 07 декабря 2011

Если вы используете набор данных для ввода, то «Область расширения» идеально подходит. Например, вы хотите конвертировать в евро все свои доходы. Тогда это как для ().

Но если вы хотите иметь что-то похожее на while (), вы должны использовать прямоугольник с закругленными углами и ромбы с петлей обратной связи.

Например: [Играть в блэкджек] -> если я выиграю -> я остановлюсь -> еще -> я начну снова .

Я думаю, что единственный эффективный способ сделать цикл в диаграмме активности.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...