Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 40
Текст из файла (страница 40)
Слияние управления приводит к уменьшению количества маркеров. Вся предшествующая деятельность должна быть завершена до выполнения слияния. 7.3.6. Руководство к моделям деятельности Диаграммы деятельности уточняют ход вычислений. Таким образом, они представляют собой описание этапов, необходимых для реализации операции или бизнес-процесса. Кроме того, диаграммы деятельности помогают разработчикам понимать сложные вычисления благодаря графическому изображению хода выполнения с промежуточными этапами. В этом разделе мы приводим некоторые рекомендации, касающиеся моделей деятельности.
° Избегайте использования диаграмм деятельности не по их прямому назначению. Диаграммы деятельности предназначены для уточнения вариантов использования и моделей последовательности. С их помощью разработчики изучают алгоритмы и технологические процессы. Диаграммы деятельности представляют собой вспомогательное средство в рамках объектно-ориентированного подхода и не должны использоваться для разработки программного обеспечения по блок-схемам. ° Диаграммы должны быть одноуровневыми.
На одной диаграмме должны находиться виды деятельности, относящиеся к одному уровню детализации. Подробное содержание какой-либо деятельности следует выносить на отдельную диаграмму. ° Будьте аккуратны с ветвлениями и условиями. Если на диаграмме указаны условия, по крайней мере одно из них должно в любом случае быть выполнено. Для этого можно воспользоваться условием ейе (иначе). В недетерминированных моделях одновременно могут быть выполнены 176 Глава 7 ° Моделирование взаимодействий несколько условий, однако чаше всего такая ситуация указывает на нали- чие ошибки.
° Будьте аккуратны с параллельным выполнением. Параллельность означает допустимость произвольного порядка завершения всех видов деятельности. Слияние возможно только после полного их завершения. ° Рассмотрите возможность создания выполняемых диаграмм деятельности. Выполняемая диаграмма поможет разработчикам лучше понять систему. Иногда она может быть полезна и для конечных пользователей.
7.4. Резюме Таблица 7.1. Ключевые понятия главы сценарий деятельность параллелизм вариант использования диаграмма деятельности модель взаимодействия диаграмма последовательности диаграмма вариантов использования маркер деятельности линия жизни граница системы поток сообщение действующее лицо Библиографические замечания Концепция вариантов использования была впервые предложена Якобсоном ЦасоЬзоц-921. В первом издании этой книги рассказывалось о сценариях и диа- граммах трассировки событий. Последние эквивалентны простым диаграммам последовательности. Модель взаимодействия дает единое представление поведения: взаимодействия объектов и обмена сообщениями. На высшем уровне модели функциональность системы разбивается на дискретные элементы, имеющие смысл для внешних действующих лиц, при помощи вариантов использования. Поведение вариантов использования можно уточнять при помощи сценариев и диаграмм последовательности. Диаграммы последовательности показывают взаимодействующие объекты и сообщения, которыми они обмениваются.
Диаграммы деятельности позволяют отобразить ход вычислений. Модели классов, состояний и взаимодействия основаны на одних и тех же концепциях (данные, последовательность, операции), но каждая модель сосредоточена на своем аспекте этих концепций. Для полного понимания задачи необходимы все три модели, хотя относительная важность кахсцой из них зависит от приложения. Три модели объединяются в процессе реализации методов, для чего требуются данные (целевой объект, аргументы, переменные), управление (упорядочивающие конструкции) и взаимодействия (сообгцения, вызовы, последовательности). Упражнения 177 Ссылки ЦасоЬзоп-92] 1чаг)асоЬзоп, Маяппз СЬг(згегзоп, РасгйДопззоп, апс1 Опппаг Очегяаагй. ОЬ)ест-Ог(евсей 5о(счаге Епя1пеег1пя: А (1зе Сазе 1)г1чеп АрргоасЬ. Юо1с1пдЬаш, Епя1апд: Адйзоп-%'ез!еу, 1992.
Упражнения 7.1. В этой задаче рассматривается книжный магазин, например торговый пассаж. 1) (2) Перечислите три действующих лица, задействованных в схеме системы проверки на выходе. Объясните важность каждого из них. 2) (2) Один из вариантов использования называется покупка товаров. Рассмотрите другой вариант использования с точки зрения покупателя на аналогичном уровне абстрагирования. Опишите назначение каждого варианта использования одним предложением. 3) (4) Подготовьте диаграмму вариантов использования для системы проверки на выходе книжного магазина.
4) (3) Подготовьте типичный сценарий для каждого варианта использования. Помните, что сценарий — это пример, в котором не обязательно задействуется вся функциональность варианта использования. 5) (3) Подготовьте сценарий исключительной ситуации для каждого варианта использования. 6) (5) Подготовьте диаграмму последовательности для каждого сценария из пункта 4. 7.2.
В этой задаче рассматривается компьютерная система электронной почты. 1) (2) Перечислите три действующих лица. Объясните важность каждого из них. 2) (2) Одним из вариантов использования является получение электронной почты. Перечислите еще четыре варианта использования, имеющие тот же уровень абстрагирования. Опишите назначение каждого из них одним предложением. 3) (4) Подготовьте диаграмму вариантов использования компьютерной системы электронной почты. 4) (3) Подготовьте типичный сценарий для каждого варианта использования. Помните, что сценарий — это пример, в котором не обязательно задействуется вся функциональность варианта использования.
5) (3) Подготовьте сценарий исключительной ситуации для каждого варианта использования. 6) (5) Подготовьте диаграмму последовательности для каждого сценария из пункта 4. 27В Глава 7 ° Моделирование взаимодействий 7.3. В этой задаче рассматривается интернет-система бронирования авиабиле- тов. Чтобы выполнить задание, вы можете изучить работу реальных вебсайтов разных авиалиний. 1) (2) Перечислите два действующих лица. Объясните важность каждого из них. 2) (2) Одним из вариантов использования является бронирование билета на рейс.
Перечислите четыре варианта использования, имеющие тот же уровень абстрагирования. Опишите назначение каждого из них одним предложением. 3) (4) Подготовьте диаграмму вариантов использования интернет-системы бронирования авиабилетов. 7.4. В этой задаче рассматривается программная система, обеспечивающая вы дачу книг в библиотеке. 1) (2) Перечислите четыре действующих лица. Объясните важность каждого из них.
2) (2) Одним из вариантов использования является взятие книги из библиотеки. Перечислите три варианта использования, имеющие тот же уровень абстрагирования. Опишите назначение каждого из них одним предложением. 3) (4) Подготовьте диаграмму вариантов использования программной системы, обеспечивающей выдачу книг в библиотеке. 7.5. (3) Укажите не менее 10 вариантов использования Проводника (Юшдочгз Ехр!огег). Достаточно просто написать их названия и описать назначение каждого в одном или двух предложениях.
7.6. (3) Напишите сценарии для следующих ситуаций. 1) Нужно переправить через реку волка, козу и капусту. За один раз можно перевезти только один объект. Если козу оставить с капустой, она ее съест. Если оставить волка с козой, он ее тоже съест. Подготовьте два сценария, в одном из которых что-то съедают, а в другом все успешно переправляется через реку. 2) Приготовьтесь к поездке на автомобиле с автоматической коробкой передач.
Не забудьте про ремень безопасности и стояночный тормоз. 3) Подъем на лифте на верхний этаж. 4) Управление системой автоматического регулирования скорости автомобиля. Сценарий должен включать описание ситуации, когда на дороге присутствует медленно движущееся транспортное средство, из-за чего систему приходится временно отключить, а затем включить снова.
7.7. (4) Смеситель для ванной имеет две ручки и рычаг, управляющий потоком воды. С его помощью воду можно направить в разбрызгивающую насадку или через кран в ванную. Когда вы включаете воду, она начинает течь через кран в ванную. Движением рычага вы можете направить ее в душ. Чтобы направить воду в ванную, нужно снова нажать рычаг. Когда вы закрываете Упражнения 179 воду, рычаг автоматически переходит в такое положение, чтобы при следующем включении воды она текла через кран.
Напишите сценарий, описывающий принятие душа с прерыванием телефонным звонком. 7.8. (4) Подготовьте диаграмму деятельности, описывающую вычисление счета в ресторане. За каждое блюдо следует взять определенную плату. Кроме того, с общей суммы взимается налог, а также 18 74 надбавка за обслуживание групп более 6 человек. Для групп меньшей численности следует оставить поле для записи чаевых. Следует также учесть предъявленные клиентом дисконтные карты. 7.9.
(4) Подготовьте диаграмму деятельности для предоставления премий частым клиентам авиакомпаний. В недавнем прошлом ТУКА начисляла за каждый полет не менее 750 миль премиальных. Держатели золотых и красных карт за каждый полет получали не менее 1000 миль. Держатели золотых карт получали 25 74 премию за кахсаый полет, а держатели красных— 50 74 премию. 7.10. (5) Подготовьте диаграмму деятельности, описывающую в подробностях процесс входа в систему электронной почты. Обратите внимание на то, что ввод пароля и имени пользователя может осуществляться в произвольном порядке. Дополнительные Вопросы моделирования взаимодействий Модель взаимодействий поддерживает дополнительные средства, которые могут оказаться полезными в некоторых ситуациях.
При первом чтении эту главу можно пропустить. 8.1. Отношения вариантов использования Независимых вариантов использования может быть достаточно для описания простых приложений. Однако крупные приложения требуют структурирования вариантов использования. Составные варианты использования можно конструировать из более примитивных при помощи отношений 1пс1иае (включение), ех~епИ (расширение) и 8епета1иаг(оп (обобщение).