
- •1. Что такое диаграмма последовательностей
- •Объекты
- •Сообщения
- •2. Графический интерфейс пользователя (gui)
- •Последовательность
- •Диаграмма последовательности
- •Прецедент
- •3. Автомат по продаже лимонада: общая и частная модель
- •Частная диаграмма последовательности
- •Общая диаграмма последовательности
- •4. Отображение создания объекта на диаграмме последовательностей
- •5. Представление рекурсии
- •6. Создание общей картины
- •7. Резюме
- •Вопросы и ответы
- •Задание
Лабораторная работа по UML N6
«Диаграммы последовательностей»
Диаграммы состояний описывают состояния объекта. Но это лишь небольшая часть общей картины. Следующим шагом является диаграмма последовательностей UML, отображающая взаимодействие объектов во времени. В этой л/р будут рассмотрены следующие вопросы.
• Что такое диаграмма последовательностей.
• Применение диаграмм последовательностей.
• Общие и частные диаграммы.
• Использование управляющих конструкций "если" и "пока".
• Отображение создания объектов на диаграмме последовательности.
• Представление рекурсии.
• Диаграммы последовательностей в общей картине UML.
Диаграммы состояний, изученные в предыдущей главе, отражают изменение состояний одного объекта.
Однако UML позволяет расширить поле обозрения и показать взаимодействие объектов друг с другом. В это расширенное поле включается важное измерение: время. Основная идея сводится к тому, что взаимодействие объектов происходит в заданной последовательности, и для выполнения этой последовательности — от начала до конца — требуется время. Такая последовательность задается в процессе разработки системы, и для ее отображения используется диаграмма последовательностей UML.
1. Что такое диаграмма последовательностей
Диаграмма последовательностей состоит из обычных объектов, представленных в виде прямоугольников (с подчеркнутыми именами), сообщений, изображенных сплошными линиями со стрелками, а также вертикальной оси времени, определяющей последовательность событий.
Объекты
Объекты располагаются в верхней части диаграммы слева направо. Порядок расположения может быть произвольным; он определяется лишь требованием простоты диаграммы.
Пунктирная вертикальная линия, расположенная под каждым объектом, называется линией жизни (lifeline) этого объекта. Вдоль линии жизни располагаются узкие прямоугольники, называемые точками активации. Точка активации представляет выполнение объектом некоторой операции. Длина этого прямоугольника соответствует длительности процесса активации. На рис. 1 показаны объект, линия жизни и точка активации.
Рис. 1. Представление объекта на диаграмме последовательностей
Сообщения
Сообщения, передаваемые от одного объекта другому, на диаграмме изображаются в виде линий, соединяющих линии жизни этих объектов. Объект может передать сообщение самому себе, т.е. от своей линии жизни к своей же линии жизни.
Сообщение может быть простым, синхронным и асинхронным. Простое сообщение — это передача управления от одного объекта к другому. Если объект передает синхронное сообщение, то он ожидает ответа на него, после чего продолжает выполнение своих действий. При передаче асинхронного сообщения объект не ожидает ответа.
На диаграмме последовательностей линия простого сообщения дополняется обычной стрелкой, синхронное — "треугольным" наконечником, а асинхронное — "половинной" стрелкой, как показано на рис. 2.
Рис. 2. Символы сообщений на диаграмме последовательности
Время
Время на диаграмме изменяется вдоль вертикального направления. Начало отсчета находится вверху, а увеличение происходит сверху вниз. Сообщения, находящиеся ближе к верхней части, передаются раньше по времени, чем сообщения, находящиеся в нижней части диаграммы.
Таким образом, диаграмма последовательности имеет два измерения. Слева направо размещаются объекты, а сверху вниз отображается время. На рис. 3 показан основной набор обозначений диаграммы последовательности. Объекты располагаются в верхней части. Каждая линия жизни объекта изображается пунктирной линией, проходящей от объекта вниз. Сплошная линия со стрелкой, соединяющая одну линию жизни с другой, соответствует передаче сообщения от одного объекта к другому. Фигурка представляет исполнителя, инициирующего последовательность, хотя, в принципе, эта фигурка не является частью диаграммы последовательностей.
Рис. 3. Обозначения диаграммы последовательности.
Давайте попытаемся практически использовать это важное средство UML для проверки знаний, полученных в предшествующих главах. Диаграммы последовательностей можно построить для каждого приложения.
2. Графический интерфейс пользователя (gui)
В предыдущей главе на примере модели графического интерфейса пользователя рассматривались диаграммы состояний. Построим диаграмму последовательности, представляющую взаимодействие GUI с другими объектами.