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

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

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

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

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

Они изображаются стрелками, направленными от одной линии жизни к другой. Стрелка указывает на приемник сообщения.Если таковое асинхронно, то стрелка рисуется «уголком», а еслисинхронно (вызов), то закрашенным треугольником. Ответ на синхронное сообщение (возврат из вызова) показывается пунктирнойстрелкой «уголком». Сообщение возврата может быть опущено,поскольку каждый вызов неявно подразумевает возврат, но иногда удобно таким образом продемонстрировать возвращаемое значение.Упорядочение по времени вдоль единственной линии жизнивесьма важно. Обычно точное расстояние не имеет значения; линии жизни показывают лишь относительные последовательности,поэтому не обеспечивают масштабного отображения времени.

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

Иногданужно отобразить параллельное выполнение множества последовательностей. Эти разновидности высокоуровневого управления могут быть показаны на диаграммах последовательности с помощьюоператоров структурированного управления.268Диаграммы взаимодействияОператор управления (control operator) изображается на диаграмме последовательности в виде прямоугольной области. Он сопровождается тегом – текстовой меткой, заключенной в маленькийпятиугольник, в верхнем левом углу.

Она показывает, какой этооператор управления. Оператор применяется к линиям жизни, которые его пересекают. Эта часть называется телом оператора. Еслилиния жизни не затрагивается оператором, она может быть прервана в его начале (вверху) и продолжена в конце (внизу). Чаще всегоприменяются следующие виды управления: необязательное выполнение (тег opt). Тело этого управляющего оператора выполняется, если защитное условие истинно на его входе. Защитное условие – это булево выражение,которое указано в квадратных скобках в верхней части однойиз линий жизни внутри тела и может ссылаться на атрибутыобъекта; условное выполнение (тег alt).

Тело управляющего оператора разделяется на несколько подобластей горизонтальнымипунктирными линиями. Каждая подобласть представляетодну ветвь условия и снабжена своим защитным условием.Если защитное условие подобласти истинно, то она выполняется. Вместе с тем может выполниться не более однойподобласти. Если истинно несколько защитных условий,то выбор подобласти для выполнения не определен и можетварьироваться от запуска к запуску. Если ни одно из условийне истинно, то управление продолжается за пределами оператора.

Одна подобласть может иметь особое защитное условие [else]. Такая подобласть выполняется, если не истинныникакие другие защитные условия; параллельное выполнение (тег par). Тело управляющегооператора делится на несколько подобластей горизонтальными пунктирными линиями. Каждая подобласть представляет параллельный (конкурирующий) поток вычислений.При этом в большинстве случаев каждая подобласть включает разные линии жизни. Когда управление переходит к данному оператору, все его подобласти начинают выполняться параллельно.

Выполнение сообщений в каждой из нихпоследовательно, но относительный порядок сообщенийиз параллельных подобластей совершенно произволен. Этаконструкция не должна применяться, если разные вычисления взаимодействуют. Очень удобный оператор, так каксуществует очень много ситуаций из реального мира, в которых можно вычленить независимые параллельные потокидеятельности;Базовые понятия269 циклическое (итерационное) выполнение (тег loop).

Защитное условие появляется в вершине одной линии жизни внутритела. Тело оператора цикла выполняется неоднократно – до техпор, пока защитное условие истинно перед каждой итерацией. Когда же оно принимает значение false (ложь) в вершинетела, управление передается за пределы оператора.Существует также множество других операторов, но перечисленные используются наиболее часто.Для четкого обозначения границ диаграмма последовательности может заключаться в прямоугольник с тегом sd в верхнем левомуглу. За этим тегом может следовать имя диаграммы.На рис. 19.3 представлен упрощенный пример, который иллюстрирует использование некоторых управляющих операторов.

Пользователь инициирует последовательность. Первый оператор – операторsd withdrawalbank: ATMuser: Persontoop(1,3)[invalid password]enter (password)valid = verify (password))opt[valid password]parenter (account)enter (amount)deliver (cash)Рис. 19.3.

Операторы структурированного управления270Диаграммы взаимодействияцикла. Цифры в скобках (1, 3) означают минимальное и максимальное количество выполнений тела цикла. Поскольку минимальноечисло – единица, это тело выполнится как минимум один раз, прежде чем будет проверено защитное условие. В цикле пользовательвводит пароль, и система проверяет его. Цикл прерывается послетрех попыток, хотя может завершиться и раньше в случае ввода неправильного пароля.Следующий оператор необязательный.

Его тело выполняется,если введен правильный пароль; в противном случае остаток диаграммы последовательности пропускается. Тело необязательногооператора содержит в себе параллельный оператор. Операторы могут быть вложены, как показано на рис. 19.3.Параллельный оператор имеет две подобласти: одна разрешаетпользователю ввести номер счета, а другая – сумму. Поскольку онипараллельны, для этих двух элементов не предусматривается определенный порядок ввода. Это говорит о том, что параллельностьне всегда означает одновременное выполнение. На самом деле этоговорит о том, что два действия не скоординированы и могут совершаться в любом порядке.

Если они действительно независимы,то могут перекрывать друг друга; если же последовательны, то одноначинается по завершении другого в произвольной очередности.После того как оба действия выполнены, параллельный оператор завершен. Далее внутри необязательного оператора банк выдает наличные пользователю. Этим исчерпывается роль диаграммыпоследовательности.Вложенные диаграммы деятельностиСлишком большие диаграммы деятельности порой сложныдля понимания. Поэтому их структурированные разделы могутбыть организованы в виде подчиненных деятельностей – особенно в случаях, когда таковые выполняются не один раз в пределахглавной. При этом главная и подчиненные деятельности изображаются на отдельных диаграммах. Внутри главной диаграммыдеятельности подчиненная деятельность представлена в виде прямоугольника с тегом ref в левом верхнем углу.

Имя подчиненногоповедения указывается в центре рамки. Подчиненное поведениене ограничивается диаграммой деятельности; оно также можетбыть автоматом, диаграммой последовательности или другой поведенческой спецификацией. На рис. 19.4 показана диаграммас рис. 19.3, перерисованная таким образом, что две секции перемещены в отдельные диаграммы деятельности, а на главной указаныссылки на них.Базовые понятия271sd withdrawalbank: ATMuser: Personrefget passwordopt[valid password]refget cashРис.

19.4. Вложенная диаграмма деятельностиДиаграммы коммуникацииДиаграммы коммуникации описывают организацию объектов,участвующих во взаимодействии. Как показывает рис. 19.5, диаграмма коммуникации формируется начиная с размещения объектов, участвующих во взаимодействии, в вершинах графов. Далеев виде дуг графа изображаются ссылки, которые соединяют этиобъекты. Связям могут быть присвоены имена ролей, идентифицирующие их. И наконец, связи дополняются сообщениями, которыми обмениваются объекты.

Все это дает читателю четкое визуальное представление потока управления в контексте структурнойорганизации взаимодействующих объектов.На заметку. В отличие от диаграммы последовательности,на диаграмме коммуникации не продемонстрированы явнолинии жизни объектов, хотя можно показать сообщения createи destroy. К тому же явно не отображается фокус управления,хотя последовательный номер каждого сообщения можетуказывать уровень вложенности.Диаграммы взаимодействия2721 : create()ограничение пути2 : setActions(a, d, o)3 : destroy()ссылкаt {local}proxy {global}p1 : ODBDProxyпорядковыйномерРис. 19.5. Диаграмма коммуникацииМожноиспользоватьрасширенную формупорядковыхномеров,чтобывыделитьпараллельные потокиуправления(см.главу 23).Стереотипыпутей обсуждаютсяв главе 18;сложноеветвлениеи итерациипроще специфицироватьна диаграммах деятельности,которыерассматриваютсяв главе 20.Диаграммы коммуникации обладают двумя признаками, которые отличают их от диаграмм последовательности.

ВоFпервых,здесь отмечен путь (path), который отображается соответственноассоциации. Впрочем, можно также показать его в соответствиис локальными переменными, параметрами, глобальными переменными и обращениями к самому себе. Путь представляет источникинформации для объекта.ВоFвторых, здесь имеется порядковый номер. Чтобы указатьпорядок сообщения во времени, вы предваряете его номером начиная с 1 и далее – в арифметической прогрессии для каждого нового сообщения в потоке управления (2, 3, ...).

Чтобы показать вложенность, применяется десятичная система классификации Дьюи(1 – первое сообщение, которое содержит в себе сообщения 1.1, 1.2и т.д.). Количество уровней вложения не ограничивается. Крометого, следует отметить, что на линии одной и той же ссылки можнопоказать множество сообщений (возможно, пересылаемых в разных направлениях), и каждое будет иметь уникальный порядковыйномер.Большую часть времени вам придется моделировать прямыепоследовательные потоки управления. Но существует и возможность моделирования более сложных потоков, включающих в себяитерации и ветвление.

Итерация (iteration) представляет собойповторяющуюся последовательность сообщений. Чтобы смоделировать ее, надо снабдить порядковый номер выражением итерациив формате *[i := 1..n] (или просто *, если нужно показать наличиеитерации, не вдаваясь в детали). Итерация говорит о том, что сообщение и все его вложения должны повториться в соответствиис заданным выражением. Аналогичным образом условие представляет сообщение, исполнение которого участвует в вычисленииБазовые понятия273булева выражения. Чтобы смоделировать условие, порядковыйномер предваряют условным выражением, таким как, например,[x > 0].

Альтернативный путь ветвления (branching) имеет тот жепорядковый номер, но каждый путь должен уникально отделятьсянеперекрывающимися условиями.Как для итераций, так и для ветвления UML не регламентирует формат выражения внутри скобок; вы можете использовать псевдокод либо синтаксис определенного языка программирования.На заметку.

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

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

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