Главная » Просмотр файлов » 2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006)

2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732), страница 55

Файл №1185732 2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006).pdf) 55 страница2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732) страница 552020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Диаграмма деятельностиБазовые понятияДиаграмма деятельности показывает поток управления – от одной деятельности к другой.Деятельность (activity) – это выполняющийся в данный моментнеатомарный набор действий внутри машины состояний (автомата). Выполнение некоторой деятельности в конечном счете раскрывается в виде выполнения отдельных действий (actions), каждое изкоторых может изменить состояние системы или передавать сообщения. Действия заключаются в вызове другой операции, посылкеДиаграммы деятельности284сигнала, создании или уничтожении объекта либо в выполнениипростых вычислений (например, вычислении выражения). Диаграмма деятельности представляет собой набор узлов и дуг.Общие свойстваОбщиесвойствадиаграммобсуждаются в главе 7.Диаграмма деятельности обладает рядом свойств, общих для всехдиаграмм: она наделена именем и графическим наполнением, являющимся проекцией модели.

От диаграмм других типов отличаетсясвоим содержимым.СодержимоеСостояния,переходыи машинысостояний(автоматы)обсуждаются в главе 22,объекты –в главе 13.Атрибутыи операцииобсуждаютсяв главах 4 и 9,сигналы –в главе 21,созданиеи уничтожениеобъектов –в главе 16,состоянияи автоматы – в главе 22.Диаграммы деятельности обычно содержат действия, узлы деятельности, потоки и значения объектов. Как и все прочие диаграммы, могут содержать примечания и ограничения.Действия и узлы деятельностиВ потоке управления, моделируемом диаграммой деятельности,нечто происходит: вы можете вычислить выражение, которое устанавливает значение атрибута или возвращает некоторое значение,вызвать операцию объекта, послать ему сигнал либо даже создатьили уничтожить объект. Эти исполняемые атомарные вычисленияназываются действиями.

Как показано на рис. 20.2, действие изображается в виде овала. Внутри него можно написать выражение.Базовые понятияМоделирование времении пространства обсуждаетсяв главе 24.285На заметку. В реальном мире, конечно, каждое вычислениетребует времени и пространства (особенно это важно для систем реального времени).

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

Если погрузиться в деталивнутреннего устройст ва узла деятельности, там можно обнаружить другую диаграмму деятельности. Как показано на рис. 20.3,нотация действия и узла деятельности одинакова, за исключениемтого что последний может иметь дополнительные части, которыеобычно поддерживаются инструментом редактирования за пределами диаграммы.Рис. 20.3. Узлы деятельностиРис. 20.2. ДействияНа заметку. UML не предусматривает языка для подобныхвыражений. Абстрактно можно использовать структурированный текст, а более конкретно – синтаксис и семантикуопределенного языка программирования.Действия не могут быть подвергнуты декомпозиции. Болеетого, они атомарны – это означает, что события могут происходить, но внутреннее поведение действия невидимо. Вы не можетевыполнить часть действия: оно либо выполняется целиком, либоне выполняется вообще.

Наконец, часто предполагается, что времявыполнения действий несущественно, хотя некоторые из них могут требовать ощутимых затрат времени.Потоки управленияКогда некоторое действие или узел деятельности завершаетвыполнение, поток управления немедленно переходит к следующему действию или узлу деятельности. Этот поток изображаетсяпри помощи стрелочек, показывающих его путь от одного действияили узла к другому. В UML поток управления представлен в видепростой стрелочки, направленной от предшественника к последователю, без метки события (рис. 20.4).В самом деле, поток управления гдеFто должен начинатьсяи завершаться, если только он не бесконечен.

Поэтому, как показано на рис. 20.4, вы можете выразить специальными символамиинициализацию (круг) и завершение (круг, заключенный в окружность).Диаграммы деятельности286инициализацияпотокзавершениеБазовые понятияВетвлениеи итерацииможноизобразитьна диаграммахвзаимодействия (см.главу 19).287Когда два пути потока управления вновь сходятся вместе, можно задействовать специальный символ – ромбик с двумя входящими стрелочками и одной исходящей. Для объединения потоков никаких условий не требуется.Можно достичь эффекта итерации, используя одно действие,устанавливающее значение итератора, и ветвление, которое вычисляет признак завершения итерации. UML предусматривает типыузлов для циклов, но это зачастую легче выразить текстовыми,а не графическими средствами.Рис.

20.4. Завершение переходовНа заметку. UML не предусматривает языка для ветвленияи итерации. На абстрактном уровне можно использоватьструктурированный текст, на более конкретном – синтаксиси семантику определенного языка программирования.ВетвлениеВетвление –это соглашение об обозначении,семантически эквивалентноемножественнымпереходамс защитными условиями (см.главу 22).Простые последовательные потоки встречаются чаще всего,но это не единственное средство моделирования потока управления.Так же, как в блокFсхеме, можно включать в диаграмму ветви, которые специфицируют альтернативные пути, выбираемые на основебулевых выражений. Ветвление (branching) может иметь один входящий поток и несколько исходящих.

На каждом исходящем потоке помещается булево выражение условия, которое вычисляетсяна входе в ветвь. Условия выходных потоков не должны перекрываться (в противном случае поток управления будет неоднозначным), но при этом должны учитывать все возможные варианты(в противном случае поток управления может оказаться «замороженным»).

Как показано на рис. 20.5, ветвление изображается ромбиком.защитное условиеветвлениезащитное условиеобъединениеПолучитьследующий заказРис. 20.5. ВетвлениеДля удобства можно использовать ключевое слово else, чтобы пометить исходящую ветвь потока, которая выполняется, еслине истинно ни одно из других выражений.Разделение и соединениеПараллельный потокуправлениячастосуществуетв контекстенезависимого активногообъекта,которыйобычно моделируетсякак процессили поток(см.

главу 23). Узлыописываются в главе 27.Простые и ветвящиеся последовательные переходы встречаются на диаграммах деятельности чаще всего. Однако иногда, особенно при моделировании бизнесFпроцессов, могут встретиться и параллельные потоки. В UML для описания разделения и соединенияпараллельных потоков управления применяют линейку синхронизации (synchronization bar). Она изображается в виде жирной горизонтальной или вертикальной линии.Рассмотрим в качестве примера параллельные потоки в системе,которая имитирует человеческую речь и жестикуляцию. Как показано на рис. 20.6, разделение (forking) представляет собой расщеплениеодного потока управления на несколько параллельных.

В этом процессе присутствуют один входной и ряд независимых выходных потоков управления. После разделения деятельность, ассоциированнаяс каждым из них, выполняется параллельно. Концептуально деятельности в каждом потоке действительно параллельны, хотя в реальнойработающей системе они могут быть не только параллельными (какв случае, если система развернута на нескольких узлах), но и состоящими из прерывистых последовательностей (когда она развернутана одном узле), что создает иллюзию параллельности.Как следует из рис. 20.6, соединение (joining) представляет синхронизацию нескольких параллельных потоков управления. Соединение может иметь ряд входящих потоков и один исходящий.Перед соединением потоков деятельности, которые ассоциированыс каждым из них, выполняются параллельно; в момент соединенияпотоки синхронизируются, то есть теперь каждый из них ждет, когда все остальные достигнут точки соединения, начиная с которойпродолжит выполняться один поток управления.288Диаграммы деятельностисоединениеБазовые понятияДорожка –эторазновидностьпакета.

Пакеты обсуждаютсяв главе 12,классы –в главах 4 и 9,процессыи потоки –в главе 23.289Каждой дорожке на диаграмме присваивается уникальное имя.На самом деле дорожка не несет никакой глубокой семантики – развечто может отражать такую сущность реального мира, как, например,организационное подразделение компании. Каждая дорожка представляет собой высокоуровневую обязанность части деятельности,отображенной на диаграмме, и в конечном счете может быть реализована в виде одного или нескольких классов. На диаграмме деятельности, разбитой на дорожки, каждая деятельность принадлежит только одной из них, но переходы могут пересекать границы дорожек.«плавательная дорожка»Рис. 20.6.

Разделение и соединениеАктивныеобъектыобсуждаютсяв главе 23,сигналы –в главе 21.На заметку. Между точками разделения и соединения должен поддерживаться баланс. Это означает, что число потоков,исходящих из точки разделения, должно быть равно числупотоков, приходящих в соответствующую точку соединения.Деятельности, выполняемые в параллельных потоках, могутобмениваться информацией между собой, посылая сигналы.Такое средство организации взаимодействия последовательных процессов называется сопрограммой (coroutine).В большинстве случаев при моделировании подобного взаимодействия применяются активные объекты.«Плавательные дорожки»При моделировании бизнесFпроцессов вы обнаружите, чтона диаграммах деятельности иногда желательно разбивать состояния деятельности на группы, каждая из которых представляетотдел компании, занимающийся определенной деятельностью.В UML такие группы называются «плавательными дорожками»(swimlanes), потому что визуально каждая группа отделяетсяот соседних вертикальной чертой, подобно плавательным дорожкам в бассейне (см.

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

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

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