Сброс активаций спасательного круга в начале каждой альтернативы

Предполагая, что альтернативы диаграмм последовательности должны быть несколько взаимозаменяемыми, как можно поступить с альтернативой, оставляя линии жизни с другим числом (возможно, вложенных) активаций, чем в начале? Например, вот схемы последовательности для случая "готов", "случай не готов" и неудачная попытка объединить эти случаи в одну диаграмму последовательности с помощью "alt". (Извините за диаграммы - я не мог понять, как их выровнять.)

готовый кейс не готовый случай комбинированные случаи

Рассматривая последнюю диаграмму "комбинированных случаев", обратите внимание, что первая альтернатива "готового случая" представлена ​​с одной активацией для каждого из A и B и ни для одного C. Однако, поскольку эта альтернатива создает новые активации для B и C, во-вторых, альтернатива "не готовый случай" представлена ​​с другим набором активаций. Я мог бы добавить различные сообщения в конце "готового кейса", чтобы произвольно оставить его с теми же активациями, с которыми он первоначально столкнулся, но наверняка есть лучший способ, или я что-то упускаю, например, я неправильно использую alt?

Кстати, я сгенерировал эти диаграммы с помощью PlantUML.

3 ответа

Вы можете использовать диаграммы последовательности таким образом, но будьте осторожны: когда спасательный круг активен при вводе фрагмента alt, он должен быть активным при выходе из фрагмента. И когда он не активен, нет входа, тогда он не должен быть при выходе.

В вашем combined cases Диаграмма является проблемой с тем, что касается жизненного пути C, Я предлагаю, чтобы любое другое действие в отношении C что вы запланировали, может быть, после того, как фрагмент должен быть частью [ready case], В противном случае диаграмма становится противоречивой с моей точки зрения.

Я бы просто использовал два отдельных SD с именем ready case а также not-ready case, Вы не должны пытаться реализовать графическое программирование с помощью SD. Если вы можете легко перенести сообщение с вашими диаграммами, тогда идите по этому пути. Как часто применяется оккам.

Я подумал об этом еще немного и пришел к такому выводу. Я не буду считать это лучшим ответом, пока другие не получат возможность ответить.

Две аксиомы альтернативных фрагментов: 1. Все альтернативы представлены с одним и тем же набором активаций, α, при входе и 2. Все альтернативы заканчиваются одним и тем же набором активаций, β. Проблема с обозначением UML Sequence Diagram, IMO, заключается в том, что у него есть отдельное неаксиоматическое требование, чтобы каждая альтернатива заканчивалась тем же набором активаций, с которым она была представлена, или α = β.

Другие вопросы по тегам