2016-12-26 5 views
0

Это первый раз, когда я рисую диаграмму последовательности UML, и я не уверен в некоторых вещах.Нарисуйте диаграмму последовательности

enter image description here

У меня есть маяк, который является малина пи с Bluetooth ключа. Сервер просит маяк начать изменять его ID periodically(startIDRotation). Маяк транслируется и меняет их после каждого интервала. Когда смартфон хочет сделать запрос, он включает обнаруженные идентификаторы, которые маяк передает в запросе, с запрошенным файлом и отправляет запрос на сервер. Сервер использует логику, представленную на другой диаграмме действий, чтобы решить, имеет ли пользователь доступ к файлу или нет, и отправить ответ на смартфон.

Первый вопрос: правильно ли провести линию между маяком и смартфоном? Поскольку маяк не отправляет идентификаторы специально для маяка, он просто передает их по bluetooth.

Возможно ли сделать ссылку на другой тип диаграммы, поскольку диаграмма принятия решений представляет собой диаграмму деятельности?

Сервер отправляет запрос на отправку маяку, чтобы начать вращение один раз, но он сохраняет состояние маяка и знает, что он вращает свои идентификаторы. Должно ли это отображаться как синхронное, как я, или асинхронное?

Если у вас есть какие-либо другие замечания, не стесняйтесь исправить меня.

ответ

1

Правильно ли провести линию между маяком и смартфоном?

Да. Строка представляет сообщение. Линия жизни представляет собой отдельный экземпляр. Когда телефон получает широковещательную передачу, это сообщение отправлено. Поскольку вы нарисовали открытую стрелку, это означает асинхронный вызов. Так что это прекрасно.

Возможно ли сделать ссылку на другой тип диаграммы? поскольку диаграмма принятия решений представляет собой диаграмму деятельности.

Да. И вы сделаете это так, как вы сделали, добавив ссылку на диаграмму. Это представляет детали на крытой площади. Вы также можете добавить произвольные ссылки на диаграммы, как показано ниже.

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

Это зависит. Скорее всего, здесь у вас будет синхронная коммутация (закрытый треугольник), потому что сервер хочет узнать, прибыло ли сообщение, и маяк подтверждает начало активности.

enter image description here

0
  1. Да, маяк посылает (трансляций) асинхронный сигнал на смартфон, так что должно быть сообщение линии, изображающие его.

  2. К Ref вы ссылаетесь на другую диаграмму последовательности.Если вы хотите представить какое-либо поведение (активность, описанная с помощью некоторой диаграммы действий), используйте синхронный запрос, который возвращается к той же линии жизненного цикла (от сервера к серверу) с вызовом активности, ответственной за проверку прав. Вы также можете поместить имя исполняемого действия в спецификацию выполнения (сделайте тонкий прямоугольник несколько шире, чтобы сжать его - см. 17.2.4.4 в спецификации UML).

  3. Все ваши строки представляют асинхронные сообщения. Для отображения синхронного сообщения используйте сплошную линию с заполненным треугольником в виде наконечника стрелки. Для представления ответа используйте пунктирную линию с открытой стрелкой. Если ваше конкретное сообщение должно быть синхронным или асинхронным, зависит от ваших потребностей. Широковещательная передача является асинхронной, все остальные могут быть либо синхронными, либо асинхронными.

+0

Спасибо, но я не получил это "использовать синхронный запрос, который возвращается к той же линии жизни (от сервера к серверу) с вызовом активности, ответственной за проверку привилегий". У вас есть пример? – cleo

+0

@ThomasKilian Существует два разных мнения о ref, это должна быть также диаграмма sequecne или может быть другим типом диаграммы, например диаграммой деятельности, так что это не тот же ответ :) – cleo

+0

Это может быть любая диаграмма. В большинстве случаев это был бы SD. –

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