Диаграммы последовательности действий
Диаграмма последовательности(sequence diagram) показывает взаимодействие объектов (обмен между ними сообщениями), упорядоченное по времени, с отражением продолжительности обработки и последовательности их проявления.
Основными элементами диаграммы последовательности являются обозначения объектов (прямоугольники с названиями объектов), вертикальные «линии жизни» (lifeline), отображающие течение времени, прямоугольники, отражающие деятельность объекта или исполнение им определенной функции (располагаются на пунктирной «линии жизни»), и стрелки, показывающие обмен сигналами или сообщениями между объектами. Пример диаграммы приведен ниже на рис. 6.27.
Здесь фокус управления это некоторое действие, которое выполняет объект (на рисунке Класс 2). Эти прямоугольники изображают не всегда. На диаграмме может быть представлена внешняя среда – в виде анонимного актера, рекурсия или ожидание события, когда объект посылает сообщение (рефлексивное) самому себе. Такие ситуации изображены на рисунке 6.28.
Рис. 6.27
Рис. 6.28
Сообщения, которыми обмениваются объекты, могут быть двух типов:
1) Прямые (изображаются сплошной линией);
2) Ответные (изображаются пунктирной линией).
Первые, в свою очередь, делятся на:
a) Синхронные, которые приостанавливают поток выполнения до тех пор, пока не будет получен ответ;
b) Асинхронные, после которых выполняется следующий шаг, не дожидаясь ответа.
Они отличаются формой стрелок, как показано на рисунке 6.29.
Рис. 6.29
На рисунках 6.30 и 6.31 приводятся два примера диаграмм последовательностей. На первой представлена передача синхронного сообщения с ветвлением (что бывает нечасто). На второй (шуточной) имеет место рефлексивное сообщение (обдумывание ответа).
Пример 1.
Рис. 6.30
Пример 2
Рис. 6.31
Диаграммы состояний класса
Диаграмма состояний в UML описывает все возможные состояния одного экземпляра определенного класса и возможные переходы из одного в другое. Таким образом, она представляет все изменения состояний объекта как его реакцию на внешние воздействия.
Диаграмма состояний является графом специального вида, который представляет некоторый автомат. Вершинами графа являются состояния автомата, изображаемые скругленными прямоугольниками, а дуги обозначают переходы между ними. В диаграммах состояний используются следующие условные обозначения:
· Круг, обозначающий начальное состояние.
· Окружность с маленьким кругом внутри, обозначающая конечное состояния (если есть).
· Скруглённый прямоугольник, обозначающий состояние. Верхушка прямоугольника содержит название состояния. В середине может быть горизонтальная линия, под которой записываются активности (действия, операции), происходящие в данном состоянии.
· Стрелка, обозначающая переход. Название события (если есть), вызывающего переход, отмечается рядом со стрелкой. Здесь же записывается охраняющее выражение. Оно может быть добавлено перед «/» и заключено в квадратные скобки (название_события[охраняющее_выражение]), т.е. это выражение должно быть истинным, чтобы переход имел место. Если при переходе производится какое-то действие, то оно добавляется после «/» (название_события[охраняющее_выражение]/действие).
· Толстая горизонтальная линия с либо множеством входящих линий и одной выходящей, либо одной входящей линией и множеством выходящих. Она обозначает объединение и разветвление соответственно (как в диаграммах деятельности).
Пример простейшей диаграммы представлен на рисунке 6.32. В ней отображены два состояния DVD диска и переходы между ними. Действия для каждого состояния не указываются.
Рис. 6.32
Диаграммы состояний могут быть вложены друг в друга для более детального представления отдельных элементов модели. Например, прохождение студентом некоторого учебного курса может быть представлено диаграммой сложного (составного) состояния, приведенной на рис. 6.33.
Рис. 6.33