Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 43
Текст из файла (страница 43)
8.3. Специальные конструкции для моделей деятельности 189 8.3. Специальные конструкции для моделей деятельности Диаграммы деятельности имеют свою собственную систему обозначений, удобную для больших и сложных приложений. 8.3.1. Отправка и получение сигналов Рассмотрим рабочую станцию, которую включает пользователь. Она выполняет процедуру загрузки, после чего предлагает пользователю войти в систему. После ввода имени и пароля рабочая станция запрашивает подтверждение данных пользователя по сети.
После подтверждения рабочая станция завершает процедуру загрузки. Соответствующая диаграмма деятельности показана на рис. 8.7. 1 ! ! пеьтога ! ! Рис. 8.7. Диаграмма деятельности с сигналами Отправка сигнала обозначается в с! МЕ выпуклым пятиугольником. Когда завершается предшествующая деятельность, проиСходит отправка сигнала, после чего начинается последующая деятельность.
Получение сигнала обозначается вогнутым пятиугольником. Эта конструкция означает ожидание получения сигнала, после чего начинается выполнение последующей деятельности. 8.3.2. Плавательные дорожки В бизнес-моделях часто бывает полезно представлять, какое именно организационное подразделение отвечает за ту или иную деятельность. В качестве примеров подразделений можно привести отделы продаж, финансов, маркетинга 190 Глава 8 ь Дополнительные вопросы моделирования взаимодействий и снабжения. Когда проектирование системы завершается, деятельность приписывается конкретному человеку, но на высоком уровне достаточно распределить обязанности между организационными подразделениями. Разделение такого рода можно показать на диаграмме деятельности при помощи столбцов и строк.
Столбцы называются «плавательными дорожкамиь. Помещение деятельности внутрь плавательной дорожки означает, что она выполняется человеком или людьми, входящими в состав организационного подразделения. Линии, пересекающие границы плавательных дорожек, обозначают взаимодействия между разными организационными подразделениями, к которым следует относиться с большим вниманием, нежели к взаимодействиям внутри подразделений. Взаимный порядок плавательных дорожек не несет смысловой нагрузки, но в некоторых ситуациях тем не менее может иметь значение. На рис. 8.8 показан пример диаграммы деятельности по обслуживанию самолета.
Дежурные по рейсу должны убрать мусор, наземная команда должна заправить баки топливом, команда снабжения должна погрузить в самолет еду и напитки. Только после этого самолет будет готов к следующему рейсу. Рис. 8.8. Диаграмма деятельности с плавательными дорожками 8.3. Потоки объектов Иногда бывает полезно показать отношения между операцией и объектами, являющимися ее аргументами или результатами. На диаграмме деятельности можно показывать объекты, поступающие на входы отдельных видов деятельности и выходящие из них.
Входящая илн исходящая стрелка подразумевает направление потока управления, поэтому не обязательно изображать поток управления отдельно в том случае, если на диаграмме показан поток объектов. Часто один и тот же объект проходит через несколько состояний в процессе выполнения диаграммы деятельности. Один и тот же объект может быть входным по отношению к некоторым видам деятельности и выходным по отношению к другим. При детальном рассмотрении обычно оказывается, что деятельность использует или производит объект, находящийся в строго определенном состоянии. Значение объекта в конкретном состоянии обозначается в УМЕ именем состояния, которое указывается в квадратных скобках после имени объекта.
Если вместе с объектами на диаграмме показаны названия их состояний, эта диаграмма будет показывать одновременно поток управления и изменение состояний 8.4. Резюме 191 объектов при воздействии на них различных видов деятельности. На рис. 8.9 самолет проходит через несколько состояний по мере того, как он проходит через ворота, взлетает, а затем снова садится. Рис. 8.9. Диаграмма деятельности с потоками объектов Диаграмма деятельности с потоками объектов и указанием состояний обладает большинством преимуществ диаграммы потоков данных и в то же время лишена большинства ее недостатков. В частности, она объединяет потоки данных и управления, тогда как диаграммы потоков данных часто разделяют их. 8.4.
Резюме Независимые варианты использования пригодны только для простых приложений. В крупных приложениях варианты использования нужно структурировать при помощи отношений включения, расширения и обобщения. Отношение включения добавляет один вариант использования внутрь последовательности поведения другого варианта использования, подобно вызову подпрограммы. Отношение расширения добавляет поведение к базовому варианту использования.
Обобщение позволяет показать разновидности общего варианта использования, подобно тому, как это делает обобщение классов. Не доводите эти отношения до абсурда. Помните, что варианты использования предназначены для неформального описания системы. Их отношения должны использоваться только для структурирования крупных элементов поведения.
Модели последовательности полезны не только для раскрытия взаимодействий, обеспечивающих варианты использования, но и для указания деталей реализации. Не все объекты модели последовательности должны быть активными и существовать на всем протяжении расчетов. Некоторые объекты являются пассивными и не имеют собственного потока управления. Другие объекты являются временными, они существуют только часть периода, который занимает операция, их использующая. Существуют дополнительные обозначения для моделей деятельности, применимые в крупных и сложных приложениях. Вы можете показать на диаграмме отправку и получение событий, взаимодействующих с другими объектами, не относящимися к предмету данной диаграммы. Диаграммы деятельности можно делить на плавательные дорожки, показывающие, кто именно отвечает за ту или иную деятельность.
Кроме того, вы можете показывать смену состояний объекта и чередование состояний и видов деятельности. 192 Глава 8 е Дополнительные вопросы моделирования взаимодействий Таблица 8.1. Ключевые понятия главы пассивный объект диаграмма последовательности активация диаграмма леятечьности расширение варианта использования обобщение варианта использования фокус управления плавательная дорожка временный объект модель взаимодействия включение варианта использования линия жизни вариант использования Ссылки Упражнения 8.1. Рассмотрим покупку бензина на автозаправочной станции. 1) (4) Подготовьте диаграмму вариантов использования.
Обычно клиент платит за бензин наличными. Добавьте отношения расширения, описывающие дополнительное поведение, возникающее, когда клиент платит кредитной картой снаружи или внутри АЗС. Добавьте отношение включения, отражающее необязательную оплату мойки машины. 2) (2) Перечислите действующие лица и докажите их важность. 3) (2) Опишите назначение каждого варианта использования одним предложением.
8.2. (5) Вы взаимодействуете с сетевым бюро путешествий и участвуете в перечисленных ниже вариантах использования. Подготовьте диаграмму вариантов использования с отношениями обобщения и включения. о Купить билеты на самолет. Забронировать билеты и предоставить информацию об оплате и адресе. о Предоставить информацию об оплате. Предоставить сведения о кредитной карте для оплаты выставленных счетов.
о Предоставить адрес. Предоставить почтовый и домашний адреса. о Взять машину напрокат. Зарезервировать машину и предоставить информацию об оплате и адресе. о Забронировать номер. Забронировать номер в отеле и предоставить информацию об оплате и адресе. о Сделать покупку. Приобрести путешествие и предоставить информацию об оплате н адресе. [ВшпЬапйЬ-05~ )ашез ВпшЬапйЬ, 1таг )асоЬзоп, Огас1у ВоосЬ. ТЬе 13п1(1ес1 Мос1е11п8 Еапйпайе Ве(егепсе Манна!, 5есопд ЕЙВоп. Возгоп: АсЫ1зоп-%'ез1еу, 2005. Упражнения 193 8.3. (7) Рассмотрим сетевую программу, обслуживающую постоянных клиентов авиакомпаний.
Ниже перечислены некоторые возможные варианты использования. Подготовьте диаграмму вариантов использования и изобразите на ней соответствующие отношения. Для каждого обобщения вы можете добавить абстрактного предка. о Посмотреть количество очков. Посмотреть текущее количество очков на счету клиента. о Подать заявление о недостающих очках. Запросить очки за деятельность, которая не была оценена. о Изменить адрес.
Указать новый почтовый адрес. ч Изменить имя пользователя. Изменить имя пользователя данного счета. о Изменить пароль. Установить новый пароль. о Забронировать бесплатный полет. Использовать набранные очки для бронирования бесплатного полета. О Забронировать бесплатный номер в отеле. Использовать набранные очки для бронирования бесплатного номера в отеле. о Запросить о выдаче кредитной карты постоянного клиента. Запросить кредитную карту, которая позволяет использовать набранные очки при совершении покупок. о Проверить цены и маршруты. Найти возможные маршруты и их цены для перелета, подлежащего оплате.
о Проверить возможность бесплатного полета. Проверить возможность бесплатного полета заданным рейсом. 8.4. (8) Рассмотрим программное обеспечение, управляющее коллекцией музыкальных треков. Ниже перечислены некоторые варианты использования. Подготовьте диаграмму вариантов использования и укажите необходимые отношения вариантов использования. Вы можете добавлять абстрактных предков для создаваемых вами обобщений. о Воспроизвести трек. Добавить трек в конец очереди воспроизведения. о Воспроизвести библиотеку.
Добавить треки из библиотеки в конец очереди воспроизведения. / о Перемешать в случайном порядке. Перемешать в случайном порядке записи в очереди воспроизведения. о Удалить трек. Удалить трек из музыкальной библиотеки. о Уничтожить трек. Удалить трек из всех музыкальных библиотек и удалить соответствующий файл. ч Добавить трек.
Добавить музыкальный файл в музыкальную библиотеку. О Создать музыкальную библиотеку. Создать новую пустую музыкальную библиотеку. в Удалить музыкальную библиотеку. 7 зэк 699 194 Глава 8 е Дополнительные вопросы моделирования взаимодействий ь Уничтожить музыкальную библиотеку. Уничтожить все треки в этой библиотеке, после чего удалить саму библиотеку. ь Скопировать диск. Записать в файлы музыку с аудио компакт-диска (СООА). ч Создать диск. Прожечь аудио компакт-диск с выбранными треками. ь Просмотреть треки по названию. Отобразить список треков в музыкальной библиотеке, отсортированный по названию.