Я только начал использовать Dia. Я пытаюсь построить диаграмму последовательности. Я хотел бы представлять самозанятости. Как это делается в Диа? Я не могу понять.
Спасибо.
Я только начал использовать Dia. Я пытаюсь построить диаграмму последовательности. Я хотел бы представлять самозанятости. Как это делается в Диа? Я не могу понять.
Спасибо.
Сначала разместите объект сообщения UML с базой, привязанной к вашей линии жизни.
Затем дважды щелкните стрелку (или щелкните правой кнопкой мыши, Свойства) и измените раскрывающееся поле Тип сообщения на рекурсивный, и вы получите примерно следующее:
Теперь вы можете перетащить зеленую точку привязки, чтобы стрелка Message выглядела так, как вам хотелось бы. (Обратите внимание: кажется, что с объектом рекурсивного сообщения вы можете ТОЛЬКО выбрать объект, щелкнув по нему именно там, где зеленый якорный пункт БУДЕТ. Я говорю "было бы", потому что, конечно, вы не можете увидеть это зеленая опорная точка, когда объект не выбран.)
Если вам нравится, вы можете создать еще один объект LIMLL UML и поместить его на перекрытие существующей линии жизни, например:
Это не идеально, хотя, потому что на этом втором плане жизни нет ничего привязанного. Объект рекурсивного сообщения не позволяет вам выбирать, куда его прикрепить, поскольку он автоматически привязан к жизненному циклу, из которого он был создан. И поскольку вторая линия жизни не привязана ни к чему, если вы двигаете движущиеся объекты вокруг нее, она останется позади. Но, это выглядит красиво, если это то, что вам нужно.:)
Сам вызов (или любая другая ассоциация) в UML лучше выражается, используя стандартную нотацию ассоциации вместо сообщения. В DIA вставьте нотацию ассоциации из панели инструментов слева и добавьте ее на свой холст. Затем, чтобы связать рекурсивно (для себя) класс, дважды щелкните его и нажмите "Автозапуск" как нет. Это позволит вам самостоятельно формировать маршрут и не ограничивать вас автоматической прямой, которая нарисована при привязке класса к себе.
В итоге вы получите что-то вроде этого (в этом примере это представление Node в связанном списке):