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