2009-10-07 6 views
21

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

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

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

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

+0

Вам необходимо подробно рассказать о своей проблемной области. –

+0

Диаграмма активности UML может объяснить циклы - процедурным способом. Но я вижу недостаток, который UML не сможет описать функциональным выражением типа (map/foreach/reduce) простым способом. –

ответ

11

Посмотрите дальше page you link to для региона расширения. Используйте одно с итерационным ключевым словом.

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

+2

Это привлекло мое внимание, но я не уверен, как это использовать. Знаете ли вы какие-либо другие примеры диаграмм, которые используют это? – littleK

+0

У меня нет ничего, кроме того, что я мог бы показать на данный момент. –

2

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

1

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

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

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

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

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

Смежные вопросы