Як включити умови в діаграми послідовностей UML?


13

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

Однак мені тут потрібно включити if then elseзаяви. Чи роблю щось не так? Чи можу я використовувати умовні умови, якщо заяви в моїй діаграмі послідовностей UML? Як?

Відповіді:


18

Як і у багатьох типах діаграм UML, для позначення умови можна використовувати захисні пристрої. Охорона - булевий вираз, який ви можете написати через перехід.

Ось малюнок із прикладом: введіть тут опис зображення

Зверніть увагу на умову "[pastDueBalance = 0]".

Ви також можете використовувати комбіновані фрагменти для більш складної умовної логіки. Дивіться цю приємну статтю msdn для додаткової інформації.


4

Я знаю чотири можливості (зі збільшенням потужності):

  1. Найпростіше - це просто використання охоронців , які представляють собою прості булеві вирази без побічних ефектів.
  2. За допомогою комбінованих фрагментів (див., Наприклад, стор. 54) ви можете згрупувати набори повідомлень разом, щоб відобразити умовний потік на послідовній діаграмі (альтернативи, параметри, цикли)
  3. Набагато потужнішою є мова обмеження об'єктів (OCL) , яка може додатково кількісно визначити (для всіх, що існує) і пропонує повноцінну мову контракту (DesignBy-) (що майже така виразна, як і повна логіка першого порядку).
  4. Найпотужніший спосіб - висловити обмеження за допомогою мови дії UML від виконавчого UML (xUML), що відповідає семантиці дій UML.

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


2

Хоча діаграми послідовностей ідеально підходять для вашого опису, переконайтесь, що перевірте Діаграми діяльності.

Коли ви хочете показати внутрішні деталі (включаючи докладні правила), Діаграми діяльності - це те, що ви хочете використовувати. Прості діаграми активності зосереджені на послідовності діяльності та правил і погано демонструють обов'язки актора, проте ви можете використовувати плавні смуги, щоб висвітлити обов'язки особистого актора. Кожна смуга повинна включати діяльність, за яку відповідає актор.

Ці посилання обговорюють діаграми діяльності з плаваннями:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.