Мгновенное создание UML-диаграмм последовательности

Вы когда-нибудь хотели поделится своим виденьем процессов с кем-то еще, кто не знает процесс достаточно хорошо? Вы когда-нибудь пытались сделать ваше решение понятным для ваших коллег?
Если он или она находятся близко к вам, в той же комнате, то лучший способ - это набросать диаграммку на бумаге карандашом. Но если кто-то далеко от вас и доступен только электрический канал связи, то единственный путь - отправлять по электронной почте свои рисунки и комментарии.
Давным-давно, стандарт UML был введен в качестве графического представления модели системы.
А совсем недавно, умные люди придумали SD / MSC генератор, который расположен на сайте websequencediagrams.com. Есть также сайты для создания других типов UML диаграмм, но сейчас поговорим об этом конкретном.

Нажмите на кнопку "Сделать все" чтобы получить красивый график. Стиль и масштаб схемы можно изменить тут же. Описании последовательности заняло максимум около 15 минут. Я с ужасом думаю, сколько времени я потратил бы на это в WYSIWYG инструменте, заточенным под манипулятор типа "мышь".

Сервис имеет необходимый и достаточный набор управляющих последовательностей (извините за тавтологию):

->
Синхронное сообщение
-->
Асинхронное сообщение или ответ
participant
Объявление участника
Необязательно, но если нужно указать правильный порядок участников на диаграмме
alt
Ветвление
loop
Итерация
opt
Условная группировка
note
Комментарий
Может быть left, right или over одного или нескольких участников, через запятую
activate
Активация участника
deactivate
Деактивация участника
destroy
Уничтожение участника

Смотри примеры на их стороне.

Также, диаграммы можно легко встаивать в свой блог:

<div class = wsd wsd_style = "default" >
    <pre>
        <!-- Ваш текст диаграммы здесь -->
    </pre>
</div>
<script type = "text/javascript" src = "http://www.websequencediagrams.com/service.js"></script>

Пример


User --> Client: Load
activate Client
Client --> Server: getPage
note left of Server: Here "Client" is browser, and \n"Server" some web-server part
activate Server
Server -> Servlet1: createServlet
activate Servlet1
Server -> Servlet2: createServlet
activate Servlet2
Server -> Servlet1: processRequest
Servlet1 -> Server: response
destroy Servlet1
Server -> Servlet2: processRequest
Servlet2 -> Server: response
destroy Servlet2
Server -> Client: resultPage
deactivate Server
Client -> User: show
deactivate Client

User --> Client: Load
activate Client
Client --> Server: getPage
note left of Server: Here "Client" is browser, and \n"Server" some web-server part
activate Server
Server -> Servlet1: createServlet
activate Servlet1
Server -> Servlet2: createServlet
activate Servlet2
Server -> Servlet1: processRequest
Servlet1 -> Server: response
destroy Servlet1
Server -> Servlet2: processRequest
Servlet2 -> Server: response
destroy Servlet2
Server -> Client: resultPage
deactivate Server
Client -> User: show
deactivate Client

websequencediagrams.com