На этом шаге рассмотрим некоторые варианты обозначений объектов, участвующими во взаимодействии.
Моделируемые вами объекты, участвующие во взаимодействиях, как правило, существуют в течение всего времени взаимодействия. Однако в некоторых взаимодействиях объекты могут создаваться (по сообщению create) и уничтожаться (по сообщению destroy). То же самое касается и ссылок: связи между объектами могут возникать и исчезать. Чтобы указать, что объект или ссылка появляется и/или исчезает в процессе взаимодействия, вы можете присоединить примечание к его/ее роли в диаграмме коммуникации.
При взаимодействии объект обычно изменяет значения своих атрибутов, свое состояние или свои роли. Вы можете представить модификации объекта на диаграмме последовательности, указав состояние или значения на линии жизни.
Внутри диаграммы последовательности время жизни, создание и уничтожение объектов или ролей явно изображаются в виде вертикальных участков их линий жизни. На диаграмме коммуникации создание и уничтожение должны обозначаться примечаниями.
Используйте диаграммы последовательности, когда важно показать время жизни объектов.
Когда вы моделируете взаимодействие, то обычно включаете в него как роли (каждая из которых представляет объекты, появляющиеся в экземпляре взаимодействия), так и сообщения (каждое из которых представляет коммуникацию между объектами вместе с некоторым результирующим действием).
Вы можете визуализировать эти роли и сообщения двумя способами: указывая временной порядок сообщений либо структурную организацию ролей, которые отправляют и принимают сообщения. В UML первый тип представления называется диаграммой последовательности, а второй – диаграммой коммуникации. И то и другое представляет собой разновидность диаграмм взаимодействия. Помимо этого UML предусматривает и более специализированную разновидность диаграмм взаимодействия, называемую временной диаграммой, которая показывает конкретное время передачи сообщений между ролями.
Диаграммы последовательности и коммуникации похожи в том смысле, что вы можете взять одну из них и преобразовать в другую, хотя часто они передают разную информацию, и тогда не слишком целесообразно переключаться между ними. Есть и некоторые визуальные отличия. Диаграммы последовательности позволяют вам моделировать линию жизни объекта, которая описывает его существование в определенный период времени (возможно, включая создание и уничтожение объекта). Диаграммы коммуникации, в свою очередь, позволяют моделировать структурные ссылки, возникающие между объектами при их взаимодействии.
На следующем шаге рассмотрим типичные приемы моделирования потока управления в UML.