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

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

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

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

асинхронно. После отправки сигнала объект, который его отправил,продолжает свою деятельность.Базовые понятия231ПоследовательностиПроцессыи потокиобсуждаютсяв главе 23.Системыобсуждаютсяв главе 32.Когда один объект передает сообщение другому (по сути, делегируя ему некоторое действие), то принимающий объект может,в свою очередь, послать сообщение еще одному объекту, а тот – следующему, и т.д.

Этот поток сообщений формирует последовательность (sequencing). Всякая последовательность должна иметь начало; ее запуск выполняется определенным процессом или потоком.Более того, последовательность продолжается до тех пор, пока существует владеющий ею процесс или поток. Системы «нонFстоп»(работающие без остановки),которые, в частности, встречаютсяв приложениях управления реального времени, продолжают работать до тех пор, пока работает узел, на котором они запущены.Каждый процесс и поток в системе определяет отдельный поток управления, в каждом из которых сообщения упорядочены вовремени.

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

Поток сообщений передается черезсоединения, существующие в кооперациях, как показано на рис. 16.4.Чаще всего вы можете специфицировать процедурный или вложенный поток управления, изобразив его в виде сплошной закрашенной стрелки, как на рис. 16.4. В этом случае сообщение findAt(найтиВ) специфицируется как первое сообщение, вложенное во второе в последовательности (2.1).На заметку. Вы также можете определить операцию по классуили интерфейсу, в котором она объявлена. Например, вызовоперации register (зарегистрировать) на экземпляре Student(Студент) может полиморфно вызвать любую операцию с этимименем в иерархии классов Student; вызов Imember::register (Iучастник::зарегистрировать) вызывает операцию, специфицированную в интерфейсе Imember и реализованную неким соответствующим классом, также находящимся в иерархии Student.последовательный номеррольконнекторПолучая сообщение сигнала, целевой объект независимо принимает решение о том, что с ним нужно делать.

Обычно сигналыинициируют переход автомата целевого объекта в другое состояние.Инициализация такого перехода заставляет целевой объект выполнить некие действия и изменить свое состояние. В системах с асинхронной передачей событий взаимодействующие объекты исполняются параллельно и независимо. Они разделяют информациютолько посредством передачи сообщений, поэтому не возникаетопасности конфликта за разделяемую память.Рис. 16.4.

Процедурная последовательностьРеже, но всеFтаки приходится специфицировать плоский поток управления (он представлен в виде заостренной стрелки), чтобы смоделировать последовательность управления шаг за шагом(см. рис. 16.5). В этом случае сообщение assertCall (принятьЗвонок)указывается как второе в последовательности.Взаимодействия232плоский потокуправленияРис. 16.5. Плоская последовательностьНа заметку. Разница между асинхронными и процедурнымипоследовательностями важна в современном мире параллельных вычислений. Чтобы показать общее поведение системыпараллельных объектов, используйте асинхронную передачусообщений. Это самый общий случай.

Когда вызывающийобъект в состоянии выполнить запрос и дождаться ответа,вы можете использовать процедурный поток управления.Процедурный поток знаком вам из традиционных языков программирования, но надо иметь в виду, что серия вложенныхвызовов процедур приводит к появлению стека блокированных объектов, которые временно не в состоянии ничегоделать – а это не очень удобно, если речь идет о серверахили разделяемых ресурсах.Процессыи потокиобсуждаютсяв главе 23.Вы можетеспецифицироватьасинхронныйпотокуправления,изображаемый в видестрелочкис одной«веточкой»см.

ту жеглаву).При моделировании взаимодействий, которые включают множество потоков управления, особенно важно идентифицировать процесс или поток, который отправил конкретное сообщение. В UMLможно отличить один поток управления от другого, снабдив последовательный номер сообщения префиксом, в качестве котороговыступает имя процесса или потока, стоящего в начале последовательности. Например, выражениеD5 : ejectHatch(3)указывает, что операция ejectHatch (открытьЗатвор) отправляетсяс действительным аргументом 3 как пятое сообщение последовательности, запущенной в процессе или потоке с именем D.Вы можете показать не только действительные аргументы, переданные операции или сигналу в контексте взаимодействия, но и возвращаемые значения функции.

Как явствует из нижеследующего выражения,значение p, возвращаемое из операции find, отправляется с действительным параметром “Rachelle”. Это вложенная последовательность:операция выполняется в результате второго сообщения, вложенного в третье, которое, в свою очередь, вложено в первое сообщениеБазовые понятияИтерации,ветвлениеи защищенныесообщенияобсуждаются в главе 19,отметкивремени –в главе 24,стереотипыи ограничения – в главе 6.233последовательности. На той же диаграмме p можно использовать в качестве действительного параметра других сообщений.1.3.2 : p := find(“Rachelle”)На заметку.

В UML вы можете моделировать и более сложныеформы последовательностей, такие как итерации, ветвление,защищенные сообщения. Вдобавок для моделирования временных ограничений (например, в системах реального времени), с последовательностью можно ассоциировать отметкивремени. Другие, более экзотические формы сообщений,в частности отказы и таймQауты, можно смоделировать, определив соответствующие стереотипы сообщений.Создание, модификация и уничтожениеЛинии жизни обсуждаютсяв главе 19.Моделируемые вами объекты, участвующие во взаимодействиях,как правило, существуют в течение всего времени взаимодействия.Однако в некоторых взаимодействиях объекты могут создаваться(по сообщению create) и уничтожаться (по сообщению destroy). То жесамое касается и ссылок: связи между объектами могут возникатьи исчезать.

Чтобы указать, что объект или ссылка появляется и/илиисчезает в процессе взаимодействия, вы можете присоединить примечание к его/ее роли в диаграмме коммуникации.При взаимодействии объект обычно изменяет значения своихатрибутов, свое состояние или свои роли. Вы можете представитьмодификации объекта на диаграмме последовательности, указавсостояние или значения на линии жизни.Внутри диаграммы последовательности время жизни, созданиеи уничтожение объектов или ролей явно изображаются в виде вертикальных участков их линий жизни.

На диаграмме коммуникации создание и уничтожение должны обозначаться примечаниями.Используйте диаграммы последовательности, когда важно показатьвремя жизни объектов.ПредставлениеКогда вы моделируете взаимодействие, то обычно включаетев него как роли (каждая из которых представляет объекты, появляющиеся в экземпляре взаимодействия), так и сообщения (каждоеиз которых представляет коммуникацию между объектами вместес некоторым результирующим действием).Вы можете визуализировать эти роли и сообщения двумя способами: указывая временной порядок сообщений либо структурную организацию ролей, которые отправляют и принимают сообщения. В UML234Диаграммывзаимодействия обсуждаютсяв главе 19.Взаимодействияпервый тип представления называется диаграммой последовательности, а второй – диаграммой коммуникации.

И то и другое представляетсобой разновидность диаграмм взаимодействия. Помимо этого UMLпредусматривает и более специализированную разновидность диаграмм взаимодействия, называемую временной диаграммой, котораяпоказывает конкретное время передачи сообщений между ролями.Мы не рассматриваем данный тип диаграмм в настоящей книге.

Болееподробную информацию можно найти в книге «UML» (ее выходныеданные вы найдете во введении, в разделе «Цели»).Диаграммы последовательности и коммуникации похожи в томсмысле, что вы можете взять одну из них и преобразовать в другую,хотя часто они передают разную информацию, и тогда не слишкомцелесообразно переключаться между ними. Есть и некоторые визуальные отличия. Диаграммы последовательности позволяют ваммоделировать линию жизни объекта, которая описывает его существование в определенный период времени (возможно, включая создание и уничтожение объекта). Диаграммы коммуникации, в своюочередь, позволяют моделировать структурные ссылки, возникающие между объектами при их взаимодействии.Типичные приемы моделированияВы можетемоделировать динамическиеаспектысистемы,используяавтоматы(см.

главу22).Диаграммыпоследовательностиобсуждаются в главе 19.Типичные приемы моделирования235 Если модель описывает структурную организацию объектов, идентифицировать соединяющие их ссылки, которыеважны для осуществления коммуникаций при взаимодействии. Специфицировать природу этих ссылок, при необходимости используя стандартные стереотипы и ограничения UML. В соответствии с временной последовательностью указатьсообщения, передаваемые от объекта к объекту. При необходимости выделить разные виды сообщений; описать параметры и возвращаемые значения, чтобы в должной мередетализировать описание взаимодействия. Для более подробного изложения материала снабдить каждый объект, представленный в каждый момент времени, информацией о его состоянии и роли.В примере на рис.

16.6 показан набор ролей, взаимодействующихв контексте механизма публикации и подписки (экземпляр образца проектирования observer – «обозреватель»). Здесь представленытри роли: p (StockQuotePublisher – ИздательТаблицКотировокАкций),s1 и s2 (два экземпляра StockQuoteSubscriber – ПодписчикТаблицКотировокАкций). Это наглядный пример диаграммы последовательности, которая показывает временной порядок сообщений.Моделирование потока управленияВариантыиспользования обсуждаютсяв главе 17,образцыи каркасы –в главе 29,классы и операции – в главах 4 и 9,взаимодействия и интерфейсы –в главе 11,компоненты – в главе 15, узлы –в главе 27.Чаще всего взаимодействия используются для моделированияпотока управления, характеризующего поведение системы в целом(включая варианты использования, образцы, механизмы и каркасы), или же поведения класса либо отдельной операции.

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

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

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