Как включить условия в диаграммы последовательности UML?

13

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

Тем не менее, мне нужно включить if then elseзаявления здесь. Я делаю что-то не так? Могу ли я использовать условные операторы if в моей диаграмме последовательности UML? Как?

Саид Нямати
источник

Ответы:

18

Как и во многих типах диаграмм UML, вы можете использовать охранники для обозначения условия. Guard - это логическое выражение, которое вы можете записать поверх перехода.

Вот картинка с примером: введите описание изображения здесь

Обратите внимание на условие «[pastDueBalance = 0]».

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

сокол
источник
4

Я знаю четыре варианта (с увеличением мощности):

  1. Самым простым является использование защитников , которые являются простыми логическими выражениями без побочных эффектов.
  2. При сочетании фрагментов (смотрите , например , страницу 54), вы можете группировать наборы сообщений вместе , чтобы показать условный поток в диаграмме последовательности (варианты, варианты, петля)
  3. Гораздо более мощным является Object Constraint Language (OCL) , который может дополнительно количественно определить (для всех, существует) и предлагает полноценный (DesignBy-) язык контрактов (который почти так же выразителен, как полная логика первого порядка).
  4. Самый эффективный способ - выразить свое ограничение с помощью языка действий UML из исполняемого файла UML (xUML), который соответствует семантике действий UML.

Мой выбор был бы наименее сильным, который все еще достаточно выразителен для того, что вы хотите сделать. Например, действия в 4. могут иметь побочные эффекты, что делает их гораздо более хрупкими, чем OCL.

DaveFar
источник
2

Хотя диаграммы последовательности идеально подходят для вашего описания, обязательно проверьте Диаграммы действий.

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

По этим ссылкам обсуждаются диаграммы активности с плавательными дорожками:

Без шансов
источник