Главная » Просмотр файлов » Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование

Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование (1158625), страница 61

Файл №1158625 Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование (Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование) 61 страницаДж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование (1158625) страница 612019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 61)

Начальный и конечный узлыНачальный узел показывает, где начинается деятельность.Как уже говорилось в разделе 14.4, начальный узел (initial node) – этоточка, в которой начинается поток при вызове деятельности. У деятельности может быть более одного начального узла. В этом случае потоки запускаются во всех начальных узлах одновременно и выполняются параллельно.Конечный узел деятельности завершает все потоки деятельности.Деятельность также может быть инициирована действием принятия события (раздел 15.6) или узлом, являющимся параметром (раздел 14.9.3).Таким образом, начальные узлы не являются обязательными, поскольку есть другие способы запуска деятельности.Конечный узел потока завершает один из потоков деятельности.14.8.

Узлы управления325Конечный узел (final node) деятельности завершает все потоки деятельности. Конечных узлов деятельности может быть много, и тот, который будет активирован первым, завершит все остальные потоки и саму деятельность.Конечный узел потока просто останавливает один из потоков деятельности, остальные потоки продолжают выполнение.

Пример приведенна рис. 15.10.14.8.2. Узлы решения и слиянияУзел решения имеет одно входящее ребро и два и более альтернативных исходящих ребер. Маркер, поступающий по входящему ребру, будет предложен всем исходящим ребрам, но пройдет только по одномуиз них. Узел решения – это перекресток потоков, на котором маркердолжен выбрать только один путь.Узел решения передает маркер на то выходное ребро, для которого выполняется сторожевое условие.Каждое выходное ребро защищено сторожевым условием (guard con+dition), которое означает, что ребро примет маркер только в случае выполнения сторожевого условия.

Важно, чтобы сторожевые условиябыли гарантированно взаимоисключающими, т. е. чтобы в любой момент времени истинным могло быть только одно из них. В противномслучае согласно спецификации UML 2 поведение узла решения формально является неопределенным!Для задания ребра, по которому пройдет поток управления в случаеневыполнения всех сторожевых условий, может использоваться ключевое слово else.На рис.

14.14 показан простой пример узла решения. После действияПолучить корреспонденцию поток управления попадает в узел решения.Если выполняется условие [это мусор], почта отправляется в мусорнуюкорзину, в противном случае (else) почтовое сообщение открывается.Узел, отмеченный стереотипом «decisionInput» (входные данные решения), представляет условие принятия решения. Его результат используется сторожевыми условиями на исходящих ребрах. Пример фрагмента деятельности показан на рис. 14.15.

Здесь условие принятия решения сравнивает запрашиваемую для снятия сумму с балансом счета. Если баланс больше или равен запрашиваемой сумме, условиепринимает значение истина и поток переходит к действию Снять сумму.В противном случае регистрируется неплатежеспособность.На рис. 14.14 показан узел слияния (merge node). В узлах слияния сходятся два или более входящих ребра и выходит одно исходящее. Ониобъединяют все входящие потоки в один исходящий. Семантика слияния очень проста: все маркеры, предлагаемые на входящих ребрах,предлагаются на исходящем ребре. Маркеры и поток не изменяются.326Глава 14. Диаграммы деятельностиОбработка корреспонденцииключевое словоПолучитькорреспонденциюсторожевоеусловие[это мусор]elseузел решенияOpen mailBin mailузел слиянияРис.

14.14. Пример узла решения и узла слияния«decisionInput»balance >= amountЗапросить суммудля снятия со счета[истина][ложь]условие принятиярешенияСнять суммуЗарегистрироватьнеплатежеспособностьРис. 14.15. Фрагмент деятельности с узлом, помеченнымстереотипом «decisioninput»Узел слияния и непосредственно следующий за ним узел решения могут быть объединены в один символ, как показано на рис. 14.16. Однако мы не рекомендуем применять такую сокращенную нотацию, поскольку изображение узлов по отдельности придает диаграмме большую наглядность.14.8.3. Узлы ветвления и объединения – параллелизмУзел ветвления разделяет поток на несколько параллельных потоков.Параллельные потоки деятельности можно создать путем разделенияодного потока с помощью узла ветвления. Хотя обычно параллелизмявляется решением, принимаемым во время проектирования, нередконеобходимо показать параллельные деятельности при моделированиибизнеспроцессов.

По этой причине мы будем часто использовать узлыветвления и объединения как при анализе, так и при проектировании.32714.8. Узлы управления[условие1][условие2][условие3]слияниерешениеРис. 14.16. Узел слияния и узел решения могут быть объединены в один символУзел ветвления имеет одно входящее и два или более исходящих ребер.Маркеры, поступающие по входящим ребрам, дублируются и предлагаются на всех исходящих ребрах одновременно. Тем самым единственный входящий поток разделяется на несколько параллельных исходящих потоков.

У каждого исходящего ребра может быть сторожевоеусловие, и маркер, как и в узлах решения, может передаваться по исходящему ребру только в случае выполнения сторожевого условия.Узел объединения синхронизирует и объединяет несколько входящихпотоков в единственный исходящий.В узле объединения несколько входящих ребер встречаются и объединяются в одно исходящее. Эти узлы синхронизируют потоки: маркерна их единственном исходящем ребре предлагается только после того,как поступили маркеры всех входящих потоков. Они осуществляютоперацию логического И над всеми своими входящими ребрами.На рис.

14.17 показан простой пример Процесс производства продукта, в котором используются узлы ветвления и объединения. В этом примере:Процесс производства продуктаветвлениеСпроектироватьновый продуктИзготовитьпродуктНайти рыноксбыта продуктаобъединениеПродатьпродуктРис. 14.17. Деятельность Процесс производства продукта включает узлыветвления и объединения328Глава 14. Диаграммы деятельности•••продукт сначала разрабатывается;поиск рынка сбыта и изготовление продукта осуществляются параллельно;продукт реализуется только после завершения обоих процессов –поиска рынка сбыта и изготовления.На рис. 14.17 деятельность Процесс производства продукта начинаетсяс действия Спроектировать новый продукт. После этого узел ветвления разделяет единый поток на два параллельных. В одном из этих потоков ведется поиск рынка сбыта продукта (Найти рынок сбыта продукта), в другом – продукт изготавливается (Изготовить продукт).

Узел объединениясинхронизирует эти два параллельных потока, поскольку ожидаетмаркер от каждого из параллельных действий. Получив маркер от каждого действия, он предлагает маркер на своем выходном ребре, и потокпереходит к действию Продать продукт.При моделировании узлов объединения важно гарантировать получение маркера всеми входными ребрами. Например, на рис. 14.17 узелобъединения никогда не смог бы получить подходящие маркеры дляактивации, если бы на исходящие потоки ветвления были наложенывзаимоисключающие сторожевые условия. Это привело бы к «зависанию» деятельности.14.9.

Объектные узлыОбъектные узлы показывают, что экземпляры классификатора доступны.Объектные узлы – это специальные узлы, показывающие, что экземпляры конкретного классификатора доступны в данной точке деятельности. Они обозначены именем классификатора и представляют егоэкземпляры или подклассы. Фрагмент деятельности на рис. 14.18 показывает объектный узел, представляющий экземпляры классификатора Order или подклассы Order.Потоки объектов представляют движение объектов в деятельности.Входящие и исходящие ребра объектных узлов называют потокамиобъектов (object flows).

Это особые типы потоков, представляющиеимя классификатораобъектный узелOrderпоток объектовРис. 14.18. Объектный узел32914.9. Объектные узлыПроцесс производства продуктаМестонахождениеНью!ЙоркПроектированиеЛондонМаркетингПроизводствопоток объектовобъектный узелСпроектироватьновый продуктProductSpecificationНайти рыноксбыта продуктаИзготовитьпродуктПродать продуктРис. 14.19. Деятельность Процесс производства продукта дополнена разделами,действием Спроектировать новый продукт и объектом ProductSpecificationдвижение объектов в деятельности. Сами объекты создаются и используются узлами действия.На рис.

14.19 показана деятельность Процесс производства продукта, впервые представленная на рис. 14.17. Она была дополнена: включеныразделы и действием Спроектировать новый продукт создается объект ProductSpecification (спецификация продукта), который используется действием Изготовить продукт для описания производственного процесса.Выходные ребра объектного узла конкурируют за каждый выходноймаркер.Когда объектный узел получает объектный маркер по одному из своихвходных ребер, он предлагает его всем выходным ребрам одновременно, и эти ребра конкурируют за этот маркер. Главное то, что маркервсего один – он не тиражируется на все ребра! Этот маркер получаетпоток, готовый первым принять его.14.9.1.

Семантика буфера объектного узлаОбъектные узлы имеют очень интересную семантику. Они действуюткак буферы – участки деятельности, где могут находиться объектныемаркеры в ожидании принятия другими узлами.Объектные узлы выступают в роли буферов.330Глава 14.

Диаграммы деятельностиOrderв этом объектном узле может хранитьсямаксимум 12 объектных маркеров{ upperBound = 12}{ordering = LIFO}объект, поступивший в буфер последним,первым предлагается на выходеРис. 14.20. Объектный узел с верхней границейПо умолчанию каждый объектный узел может удерживать бесконечное число объектных маркеров. Однако иногда необходимо ограничить размер буфера. Для этого задают верхнюю границу (upper bound)объектного узла. Она показывает максимальное число маркеров, которые могут удерживаться в узле в любой момент времени. Узел принимает объектные маркеры до тех пор, пока не заполнится. Пример объектного узла с заданной верхней границей приведен на рис. 14.20.Для объектных узлов можно задать два аспекта семантики буфера.•У объектных узлов есть порядок расположения (ordering) (рис.

14.20),определяющий поведение буфера. Применяемым по умолчанию порядком является FIFO (firstin, firstout – первым вошел, первымвышел). Это означает, что объект, первым поступивший в буфер,первым предлагается его выходным ребрам. Существует обратныйпорядок расположения – LIFO (lastin, firstout – последним вошел, первым вышел).•Объектные узлы могут обладать селективным поведением (selectionbehavior). Это закрепленное за узлом поведение, по которому объекты из входных потоков выбираются согласно некоторому критерию,определенному разработчиком модели. Критерий задается примечанием со стереотипом «selection» (выбор), как показано на рис.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее