Как стать автором
Обновить

Комментарии 14

Нужно хотя бы поверхностно изучить синтаксис UML. 

Тут видимо должно быть PlantUML, тк дальше речь про него

Нет, имел в виду именно UML, я же пишу про синтаксис. Разве где-то он различается(в рамках описания sequence-диаграмм)?

UML — это не текстовый язык

Да, не текстовый, это язык моделирования и у него есть свой синтаксис, который я и описал. Например, “a -> b” это синтаксис. Возможно, я не понимаю о чем речь, можешь объяснить подробнее?

Разобрался, внес изменение, спасибо ❤️

Самые популярные:

  • Графический редактор draw.io

  • Песочница от plantUML

  • С помощью плагина в инструментах JetBrains или VSCode

Возможен и такой: "Смарт-инструменты «Таблица -> Схема» для UML \ plantUML", по аналогии с ВРМ. Смарт-инструменты «Таблица -> Схема» для формализации бизнес-процессов. Рестайлинг ARIS SmartDesign

Пользователь без знания UML \ plantUML заполняет табличку, жмет кнопку "Нарисовать" (или в реальном времени, как это в ARIS и sequencediagram). Заполнение таблички было бы проще, чем https://sequencediagram.org/

А если посмотреть еще дальше, то строить подобное хотелось бы через RDF (единый формат семантики и исходник для дальнейших dot, Mermaid, PlantUML и др.), идея тут:

Semantic BPM. Семантика и синтаксис бизнес-процессов

#стало:

Alice -> Bob++: Authentication Request

Bob -> Sanya++: Another authentication Request

Sanya --> Bob--: Authentication Response

Alice <-- Bob--: another authentication Response

Добрый день!

Только начинаю изучать данную тему...

Вот здесь немного не понял, разве не должно быть так:

Bob --> Sanya--: Authentication Response

Зависит от поставленной задачи.

Если сделать, как вы пишите, то будет 2 стрелки от Bob к Sanya, а я старался все-таки изобразить синхронное взаимодействие для большой наглядности с блоком активности.

В теории у нас могло бы быть и такое взаимодействие, которое описываете вы, за исключением типа стрелки. Нужно выбрать в вашем случае: Bob -> Sanya. Ну и тогда это уже будет не ответ(Response), а еще один запрос, и в сумме 2 асинхронных запроса(вместо 1 синхронного запроса и ответа на него).

Почему-то Хабр не давал откорректировать комментарии...

Я там ошибся и не исправил стрелку.

Предполагалось такой вариант:

Bob <-- Sanya--: Authentication Response

По аналогии с нижним ответом.

При этом понятно, что закрываем блок активности у Sanya, а в Вашем варианте, как-будто закрывается у Bob

С точки зрения синтаксиса "Bob <-- Sanya--" и "Sanya --> Bob--" одинаковые. Блок активности закрывается не у объекта, возле которого проставлено --, а после сообщения. То есть неважно в какую сторону направлена стрелка, важно что после именно этой стрелки будет закрыт блок активности.

И ещё один вопрос возник по группировкам.

Вы пишите, что у alt есть else (тут все понятно), и у par есть else (вот тут запутался).

Par исходя из определения должны идти одновременно без условий, или я не правильно понял?

В данном случае else используется для разделения на отдельные кейсы, которые будут выполняться параллельно. Наверное, это было сделано, чтобы упростить себе жизнь(разрабам, которые делали штуки для PlantUML)

Рекламирую свой редактор диаграмм: DGRM.net
Диаграммы последовательностей в упрощенном виде умеет.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории