2016-07-02 5 views
4

Мне было интересно, как можно представить выражение «if cond1 else if cond2» на диаграмме последовательности?Как представить условие if1 else if contion2 на диаграмме последовательности?

if (condition1) { 
     // Do something 
    } else if(condition2) 
    { 
     // Do something else if 
    } 

Я не уверен, если это с двумя независимыми «Выбираю» п

Если возможно создать представление изображения раствора.

+0

Я знаю, что это не полезно комментировать вообще, но я должен посоветовать против всего более сложным, чем простой if/else в диаграмме последовательности. Лично я бы даже не использовал if/else - просто сделайте 2 диаграммы. – jim

+0

Возможный дубликат [Как показать условие «если» на диаграмме последовательности?] (Https://stackoverflow.com/questions/8114770/how-to-show-if-condition-on-a-sequence-diagram) – pringi

ответ

3

В диаграмме последовательности вы можете использовать объединенный фрагмент с оператором alt. Это позволяет показать альтернативное поведение:

  • Графически альтернативы находятся в черепичных областях, разделенных пунктирными горизонтальными линиями.
  • Вы можете задокументировать точное условие для каждой альтернативы в защитном кожухе (то есть [condition]).

Пример:
enter image description here

Дополнительное чтение:

+0

Спасибо за ваш ответ. Я считал альт-оператора, дело в том, что «Alt» для буквенного «If else», и это не так. Поэтому я считаю, что это лучший выбор. –

+1

@MauricioPastorini alt - это выбор между несколькими альтернативами, а не только если-либо. Защитник [else] выполняется, если не подходит ни одна из других альтернатив. Таким образом, в вашем случае у вас будет ** 3 полосы ** (разделенные двумя пунктирными линиями). У первого будет защита '[condition1]', вторая - защита '[condition2]', а третья - '[else]'. – Christophe

+1

Чтобы завершить предыдущий комментарий, Alt не обязательно должен иметь параметр, который будет выполнен (т. Е. Все защитники могут разрешить false, и это абсолютно нормально). Раздел с предохранителем [else] необязателен. – Ister

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

  • Нет связанных вопросов^_^