2016-04-03 3 views
2

Я рисую ПОСЛЕДОВАТЕЛЬНУЮ СХЕМУЮ систему общественного телефона (PP). То, что я пытаюсь сделать, это: - сообщение для: звонящий вводит деньги и отправляет запрос на вызов с номером телефона вызываемого абонента - сообщение для: PP Вычисляет продолжительность разговора - сообщение для: печати PP предел продолжительности звонка для CALLER - сообщение для: вызывающего и вызываемого абонентов обменивается данными во время вычисленного времени разговора ->это сообщение является сообщением о длительности - сообщение для: PP время обнаружения завершения вызова - сообщение: для прекращенияUML Последовательная диаграмма «Длительность сообщения»

коммуникацию

Ниже картина того, что я пытаюсь сделать:

enter image description here

Как я должен правильно reprensent к сообщениям (особенно сообщение 4 и другие после него) БЕЗ фрагмента LOOP здесь? Так что продолжительность по-прежнему очевидно с косой линией ... и что сообщение 10 является один закрыванием продолжительности Послания 4

Edited Диаграмма enter image description here

ПОСЛЕДНЕЙ измененной диаграмма < --- ОК !!!

Я думаю, что один подводит итог, что вы оба сказали

enter image description here

ответ

1

Вы не можете показать участникам говорить без цикла. Для отправки сообщения 4 не требуется длительность XX: XX. Это похоже на злоупотребление UML.

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

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

+0

Я новичок в UML, поэтому не знаю, как использовать состояние машины или временную диаграмму. В любом случае 1-й абзац вашего ответа, похоже, предлагает что-то вроде ответа прямо под вашим. Хотел бы я сделать что-то, не используя фрагменты. –

+0

Вот недавний пример, который я сделал для конечного автомата: http://stackoverflow.com/a/36368880/2596664 –

+0

Если вы должны использовать диаграмму последовательности, по крайней мере, изменить все на асинхронные сообщения. –

2

Сообщение 4 не должно быть обращены под углом, так как это свидетельствует о длительности самого сообщения.

Опять же, вы можете использовать фрагменты:

enter image description here

alt имеет значение по умолчанию и тайм-аут. Вы можете увеличить это с помощью диаграммы действий, которая имеет критическую область, которая позволяет лучше показать такие временные ограничения.

enter image description here

+0

Есть ли способ не использовать ни фрагмент OPT, ни какой-либо другой фрагмент здесь? Если OPT - единственный способ увидеть это, я могу использовать [Defaul], [превышенное время] и [несколько других условий]? –

+0

Эй, Курт, Следуя вашим советам, я отредактировал изображение моей диаграммы. Не могли бы вы взглянуть на него? –

+0

@ JimL. Возможно, вы правы. Но я не вкладываю все из Суперструктур в золотой баланс. Вероятно, используя 'alt' и делая его немного более узким, поэтому лучше всего отражается возврат. Я изменю это. –

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