Как отобразить асинхронные операции на диаграмме действий UML
-
03-07-2019 - |
Вопрос
Я собираюсь нарисовать/документировать код установления соединения клиент-сервер, чтобы лучше его понять.Есть несколько операций, которые выполняются асинхронно в отдельных потоках (потоки соединения, потоки приема данных и т. д.).
Стоит ли показывать их на отдельных диаграммах?Я бы предпочел разместить это на одной диаграмме, чтобы получить общее представление, но не знаю, как отобразить это на диаграмме действий.
Решение
Я не уверен, что существует правильный способ сделать это. Я разработал свой собственный метод, тестируя различные стратегии, пока не нашел что-то, что подходило для моего образа мышления.
Вот как я это делаю:
- Темы == Дорожки для плавания
- Операции с потоками == Узлы действий/действий
- Критические секции == Узлы объекта
- Создание потока == Узлы ветвления
Пример изображения ниже.
альтернативный текст http://www.freeimagehosting.net/uploads/55eaa90498.jpg
Другие советы
Вместо использования полных стрелок вы можете использовать половину стрелок для отображения асинхронного вызова сообщения. Как показано