Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Case-технологии и язык UML. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
Задание 2. Изучите приведенный сценарий использования. Создайте на
его основе диаграмму последовательности с помощью сервиса
https://www.websequencediagrams.com/.
Предметная область «Книжный интернет-магазин». Сценарий: заказ книги. Предусловия: пользователь аутентифицирован
системой.
Линии жизни: посетитель, интерфейс заказа, контроллер заказов, книга,
стол выдачи книг.
Ход сценария:
1. Посетитель переходит к интерфейсу заказа.
2. Отображаются все предыдущие заказы клиента.
3. Пользователь вводит данные книги.
4. Пользователю отображаются доступные для заказа книги,
соответствующие поисковым параметрам.
5. Если хотя бы одна книга доступна для заказа:
5.1. Пользователь нажимает кнопку «Заказать книгу».
5.2. Книга отмечается как недоступная для заказа.
5.3. На стол выдачи отправляется асинхронный запрос на выдачу книги.
5.4. Пользователь видит сообщение о результате операции.
6. Показать пользователю список самых популярных книг.
Задание 3. Изучите приведенный сценарий использования. Создайте на
его основе диаграмму последовательности с помощью сервиса
https://www.websequencediagrams.com/.
Предметная область «Граница». Сценарий: сверить документы с базой данных ИНТЕРПОЛ.
Линии жизни: гражданин, пограничник, интерфейс поиска, контроллер
поиска, удаленный сервер ИНТЕРПОЛ.
Ход сценария:
1. Гражданин предоставляет документы пограничнику.
2. Пограничник вводит данные.
3. Данные шифруются.
4. Идет запрос на удаленный сервер.
5. Результат запроса выводится пограничнику.
41
6. Если гражданин в розыске – задержать и отправить асинхронное
сообщение о задержании в ИНТЕРПОЛ. Если гражданин в розыске не состоит – вернуть документы.
Задание 4. Изучите приведенный сценарий использования. Создайте на
его основе диаграмму последовательности с помощью сервиса
https://www.websequencediagrams.com/.
Предметная область «Банк». Сценарий: выдача кредита.
Линии жизни: заемщик, сотрудник банка, интерфейс, контроллер
кредитных историй, запись кредитной истории, отдел кредитных историй.
Ход сценария:
1. Заемщик предоставляет информацию о себе и цели кредита
сотруднику банка.
2. Сотрудник банка вводит информацию в систему.
3. Система находит запись, содержащую кредитную историю.
4. Сотрудник банка получает рекомендации системы на основе
кредитной истории.
5. Если кредитная история положительная – выдать кредит. Если
история отрицательная – отправить запрос на дополнительную проверку в
отдел кредитных историй (асинхронно), а пользователю сообщить о задержке в
решении вопроса.
Задание 5. Индивидуальное. На основе лабораторной работы №5, задание
3, составьте диаграмму последовательностей для вашего сценария работы.
Контрольные вопросы:
1. Перечислите особенности диаграммы последовательности.
2. С какой целью создаются диаграммы последовательности?
3. Перечислите элементы нотации диаграммы последовательности.
4. Что такое объект?
5. Что такое линия жизни?
6. Что такое сообщение?
7. Какие виды сообщений используются на диаграмме
последовательности? Приведите примеры.
42
По завершении занятия студент должен:
1. Знать назначение диаграммы последовательности.
2. Перечислять последовательность создания диаграммы
последовательности.
3. Называть элементы нотации для диаграммы последовательности.
4. Знать виды сообщений, используемых на диаграмме
последовательности.
5. Осуществлять разработку диаграммы последовательности для
заданной предметной области по сценарию работы.
43
Лабораторная работа №7
Диаграмма коммуникации
Цель: разработка и создание диаграмм кооперации языка UML
средствами Microsoft Visio.
Теоретические сведения
Диаграммы коммуникации (по-англ. communication diagram) назывались в
версии UML 1.x диаграммами кооперации (по-англ. collaboration). Они относятся к диаграммам взаимодействия.
В диаграмме коммуникации отражается структурная организация
объектов, отправляющих и принимающих сообщения.
Иногда разработчики создают или только диаграммы
последовательностей, или только диаграммы коммуникаций. Это личный выбор и зависит от индивидуального стиля проектирования систем.
Рассмотрим элементы нотации диаграммы.
На диаграмме используются объекты. Они изображаются в виде
прямоугольников. Внутри прямоугольника указывается имя объекта и имя
класса, разделенные двоеточием. Имя объекта подчеркивается. Взаимодействие
объектов определяется посредством линий – ассоциаций. Над линиями может изображаться стрелка с названием сообщения и его порядковым номером в формате: «номер: название_сообщения».
В отличие от диаграммы последовательностей сообщения на диаграмме
коммуникаций нумеруются, т.к. отсутствует обозначение времени как
отдельного измерения. Именно по этой причине диаграммы коммуникации не
столько популярны среди разработчиков.
Пример диаграммы коммуникации на рис. 33.
44
Рис. 33 – Пример диаграммы коммуникации
На диаграмме видно, что библиотекарь получает запрос от клиента на
выдачу книги. Библиотекарь поручает сотруднику найти информацию о книге.
После того как данные получены библиотекарь дает поручение другому сотруднику выдать книгу клиенту.
Диаграммы коммуникации используются в тех случаях, когда
необходимо:
− продемонстрировать набор объектов, которые взаимодействуют
между собой, в реальном окружении, так сказать «свысока»;
− распределить между классами функциональность;
− определить логику выполнения сложных операций, например, в
случае взаимодействия одного объекта несколькими;
− показать роли, которые выполняет объект в системе, отношения, в
которые вовлекаются объекты, выполняющие эти роли.
Иногда диаграммы коммуникации представляются на двух уровнях:
1. Уровень экземпляров (по-англ. Instance-Level) .
2. Уровень спецификации (по-англ. Specification-Level).
Первый уровень призван демонстрировать взаимодействие объектов (или
экземпляров класса) с целью исследования внутреннего устройства моделируемой системы.
Второй уровень используется с целью изучения ролей, которые
исполняют в системе основные классы.
Важно понимать, что диаграммы коммуникации отображают
взаимодействие между объектами, а не сам процесс. Здесь не видна
последовательность передачи сообщений, их порядок в отличие от диаграммы последовательности.
45
–Существуют также другие элементы нотации на диаграмме. Само
взаимодействие, кооперация, представляется пунктиром в виде эллипса двумя
способами.
Первый способ (рис. 34).
Рис. 34 – Кооперация на диаграмме (первый способ)
Второй способ (рис. 35) показывает закрепленные за объектами роли в
рамках данной кооперации.
Рис. 35 – Кооперация на диаграмме (второй способ)
Также на диаграмме коммуникаций может отображается мультиобъект –
два прямоугольника, смещенные по отношению друг к другу (рис. 36). Он показывает целый набор объектов. Такая конструкция используется, чтобы показать операцию, которая нацелена на целый набор объектов.
Рис. 36 – Мультиобъект «Принтер»
46
Иногда на диаграммах коммуникации встречаются указания стереотипов
рядом с объектом с директивами в фигурных скобках {} (рис. 37).
Рис. 37 – Стереотипы на диаграмме коммуникации
Объекты на диаграммах могут быть активными и пассивными. Активные
считаются объекты, владеющие собственным потоком управления. Они инициируют выполнение действий. Пассивными считаются объекты, содержащие данные, не могут инициировать выполнение действий. Однако пассивные объекты могут посылать сообщения в процессе обработки запросов. Активный объект обозначается диаграмме как прямоугольный символ объекта с утолщенными границами (рис. 38).
Рис. 38 – Пример обозначения активных и пассивных объектов
47
Существуют общие рекомендации по построению диаграмм
взаимодействия
1. Выделить те и только те классы, объекты которых участвуют в
моделируемом вами взаимодействии. Все объекты изобразить на диаграмме.
Определить те объекты, которые будут существовать постоянно, и те, которые
будут существовать только во время выполнения ими действий.
2. Отобразить сообщения. Для лучшего отображения ролей необходимо
использовать различные виды сообщений и стереотипы. Нужно предусмотреть специальные сообщения для уничтожения объектов.
3. При наличии ветвления следует показать случаи ветвлений процесса
взаимодействия на одной диаграмме. Нужно соблюдать баланс между
детализацией и сложностью: лучше каждый альтернативный поток управления
показать на отдельной диаграмме.
4. Для большей детализации диаграммы можно ввести временные
ограничения на выполнение отдельных действий. Для простых асинхронных
сообщений временные ограничения не нужны. Важно помнить, что
необходимость синхронизации сложных потоков управления часто требует
использования таких ограничений.
Ход работы
Задание 1. Рассмотрите пример диаграммы коммуникаций (рис. 39).
Перечислите объекты, задействованные на диаграмме. Поясните диаграмму,
сформировав последовательность действий. Оформите последовательность
действия в виде сценария в табличной форме.
Рис. 39 – Диаграмма коммуникаций предметной области «Курс»
48
Задание 2. Рассмотрите диаграмму коммуникаций (рис. 40) и диаграмму
последовательности (рис. 41) для предметной области «Телефонный звонок».
Рис. 40 – Диаграмма коммуникаций
Рис. 41 – Диаграмма последовательности
Сравните представление взаимодействия объектов на двух диаграммах.
Чем они отличаются? В чем их преимущество и недостатки?
Задание 3. Используя диаграмму последовательности, полученную на
лабораторной работе №6, задание 1, отобразите для проекта «Книжный интернет-магазин» диаграмму коммуникации с помощью Microsoft Visio.
49
Задание 4. Используя диаграмму последовательности, полученную на
лабораторной работе №6, задание 2, отобразите для проекта «Граница» диаграмму коммуникации с помощью Microsoft Visio.
Задание 5. Используя диаграмму последовательности, полученную на
лабораторной работе №6, задание 3, отобразите для проекта «Банк» диаграмму коммуникации с помощью Microsoft Visio.
Задание 6. Создайте диаграмму коммуникации с помощью онлайн-
сервиса https://www.draw.io/ для демонстрации взаимодействия веб-клиента (например, браузера) и удаленного сервера при использовании протокола http. Экторы: пользователь, веб-клиент, dns-сервер, http-сервер. Сценарий: загрузить веб-страницу.
Задание 7. Создайте диаграмму коммуникации с помощью онлайн-
сервиса https://www.draw.io/ для демонстрации взаимодействия клиента банка с банкоматом и взаимодействие банкомата с сервером банка. Экторы: клиент, банкомат, сервер банка. Сценарий: снять деньги по банковской карте.
Задание 8. Создайте диаграмму коммуникации с помощью онлайн-
сервиса https://www.draw.io/ для демонстрации взаимодействия по принципц «Click-to-call», т.е. пользователя с сайтом-справочником компаний, офисом компании и сервисом-посредником для бесплатных toll-free звонков. Экторы: пользователь, сайт-справочник компаний, click-to-call сервер, офис компании. Сценарий: пользователь находит компанию, вводит свой номер. Click-to-call сервер соединяет по телефону пользователя и офис компании.
Задание 8. Индивидуальное. Создайте диаграмму коммуникации с
помощью онлайн-сервиса https://www.draw.io/ для демонстрации взаимодействия объектов в разрабатываемой вами информационной системе.
Контрольные вопросы
1. Перечислите особенности диаграммы коммуникаций.
2. С какой целью создаются диаграммы коммуникаций?
3. Перечислите элементы нотации диаграммы коммуникаций.
50