Диаграмма последовательностей (sequence diagram)
Только что мы познакомились с диаграммой объектов, которая показывает отношения между объектами в некоторый момент времени, т. е. предоставляет нам снимок состояния системы, являясь статической. Диаграмма же последовательностей отображает взаимодействие объектов в динамике. Что значит "в динамике"?
В UML взаимодействие объектов понимается как обмен информацией между ними. При этом информация принимает вид сообщений. Кроме того, что сообщение несет какую-то информацию, оно некоторым образом также влияет на получателя. Как видим, в этом плане UML полностью соответствует основным принципам ООП, в соответствии с которыми информационное взаимодействие между объектами сводится к отправке и приему сообщений.
Диаграмма последовательностей относится к диаграммам взаимодействия UML, описывающим поведенческие аспекты системы, но рассматривает взаимодействие объектов во времени. Другими словами, диаграмма последовательностей отображает временные особенности передачи и приема сообщений объектами.
Нечто подобное делает и диаграмма прецедентов. Да, действительно, диаграммы последовательностей можно (и нужно!) использовать для уточнения диаграмм прецедентов, более детального описания логики сценариев использования. Это отличное средство документирования проекта с точки зрения сценариев использования!
Диаграммы последовательностей обычно содержат:
Ø объекты, которые взаимодействуют в рамках сценария,
Ø сообщения, которыми они обмениваются, и
Ø возвращаемые результаты, связанные с сообщениями.
Впрочем, часто возвращаемые результаты обозначают лишь в том случае, если это не очевидно из контекста.
Какие обозначения используются на диаграмме последовательностей?
§ Как и ранее, объекты обозначаются прямоугольниками с подчеркнутыми именами (чтобы отличить их от классов),
§ сообщения(вызовы методов) - линиями со стрелками,
§ возвращаемые результаты - пунктирнымилиниями со стрелками.
§ Прямоугольники на вертикальных линиях под каждым из объектов показывают "время жизни" (фокус) объектов.
Впрочем, довольно часто их не изображают на диаграмме, все это зависит от индивидуального стиля проектирования.
Пример диаграммы последовательностей (рис. 3.12):
Рис. 3.12.
Смысл понятен: студент хочет записаться на некий семинар, предлагаемый в рамках некоторого учебного курса. С этой целью проводится проверка подготовленности студента, для чего запрашивается список (история) семинаров курса, уже пройденных студентом (перейти к следующему семинару можно, лишь проработав материал предыдущих занятий - знакомая картина, не правда ли?). После получения истории семинаров объект класса "Семинар" получает статус подготовленности, на основе которой студенту сообщается результат (статус) его попытки записи на семинар. Кстати, обратите внимание на вызов методов.
Рис. 3.13.
А вот что описывает следующая диаграмма (рис. 3.13), попробуйте догадаться самостоятельно.
Это же работа обычного домового лифта, которым мы пользуемся каждый день! Кстати, посмотрите на имена объектов - видно, что это уже несколько иной стиль проектирования, чем в предыдущем примере.
Ещё один пример (рис. 3.14):
Рис. 3.14.
Описание работы мобильного телефона!
Дата добавления: 2017-03-29; просмотров: 1025;