Главная » Просмотр файлов » М. Фаулер, К. Скотт - UML Основы

М. Фаулер, К. Скотт - UML Основы (1114905), страница 18

Файл №1114905 М. Фаулер, К. Скотт - UML Основы (М. Фаулер, К. Скотт - UML Основы) 18 страницаМ. Фаулер, К. Скотт - UML Основы (1114905) страница 182019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Самая большая опасность, связанная с диаграммами классов, заключается в том, что вы можете слишком рано увязнуть в деталях реализации. Чтобы этому противостоять, концентрируйте внимание на концептуальной точке зрения и точке зрения спецификации. Если вы все же столкнулись с подобными проблемами, то в атом случае большую пользу могут оказать СЕС-карточки (см. врезку в главе 6).

Где найти дополнительную информацию Для более детального изучения диаграмм классов подходят все из упомянутых в главе 1 книг по общему описанию языка 11МЬ. Из более ранних книг мне особенно нравится книга Кука и Дэниелса, 1994 [131, поскольку авторы рассматривают в ней различные точки зрения и вводят для этого необходимый формализм. Диаграммы взаимодействия Диаграммы взаимодействия (1п)егас(1оп 61аягашз) представляют собой модели, предназначенные для описания поведения взаимодействующих групп объектов.

Как правило, диаграмма взаимодействия описывает поведение только одного варианта использования. На такой диаграмме отображаются только экземпляры объектов и сообщения, которыми они обмениваются между собой в рамках данного варианта использования. Я проиллюстрирую данный подход на примере простого варианта использования, который обладает следующим поведением: ° Окно Ввода Заказа посылает Заказу сообщение еприготовитьсяэ.

° Заказ посылает данное сообщение каждой Строке Заказа в данном Заказе. ° Каждая Строка Заказа проверяет состояние определенного Запаса Товара, Если данная проверка заканчивается успешно с результатом «истина» (багие), то Строка Заказа удаляет соответствующее количество Запаса Товара и создает Позицию Доставки.

Если данная проверка заканчивается неудачей, т. е. количество Запаса Товара ниже требуемого уровня, то Запас Товара запрашивает новую поставку товара. Существует два вида диаграмм взаимодействия: диаграммы последовательности (зециепсе д1аататз) и диаграммы кооперации (соПаЬога$1- оп 61аягатз). вг Глава 5. Диаграммы взаимодейсгвия Диаграммы последовательности На диаграмме последовательности объекты изображаются прямоугольниками на вершине вертикальной пунктирной линии (рис.

5.1). ~приляавиться () ~ Савиние Х Улзоиаи Рис. 5.1. Диаграмма последовательности Эта вертикальная линия называется линией жизни (Ше11пе) объекта. Она представляет собой жизненный цикл объекта в процессе взаимодействия. Такая форма была впервые предложена А. Джекобсоном. Каждое сообщение представляется стрелкой между линиями жизни двух объектов. Порядок следования сообщений устанавливается сверху вниз, то есть так, как они показываются на диаграмме. Каждое сообщение помечается как минимум именем сообщения; можно также Диаграммы последовательности указать аргументы и некоторую управляющую информацию. На диаграмме последовательности могут присутствовать рекурсивные вызовы — сообщения, которые объекты посылают самим себе.

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

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

Во-вторых, может оказаться полезным некоторый управляющий маркер, называемый маркером итерации, показывающий, что сообщение посылается несколько раз для множества принимающих объектов. Такая итерация указывается в квадратных скобках с предшествующей звездочкой, например *(для всех позиций заказа). На рис. 5.1 мы видим возврат, который указывает не новое сообщение, а возврат от переданного ранее сообщения.

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

5,1 является очень понятной и наглядной. А это очень важно для разработчиков. Одна из наиболее трудных проблем заключается в понимании организации потоков управления в объектно-ориентированной программе. Хороший проект может содержать много небольших методов в различных классах, и временами бывает довольно сложно понять последовательность поведения системы в целом. Можно долго вглядываться в код, пытаясь понять, что же делает программа. Особенно это характерно для тех, кто впервые сталкивается с объектным подходом. Диаграммы последовательности помогут вам разобраться в процессе поведения системы.

Диаграммы последовательности также имеют большое значение для моделирования параллельных процессов. На рис. 5.2 изображено несколько объектов, которые выполняют проверку банковской транзакции. 84 Глава 5. Диаграммы взаимодействия Рис. о.2. Параллельные процессы и активизации Когда создается некоторая Транзакция, она порождает Координатор Транзакции с целью координации проверки втой Транзакции. Этот координатор создает несколько (в данном случае два) объектов Контроллера Транзакции, каждый из которых несет ответственность за свою проверку.

Этот процесс упрощает создание различных дополнительных процессов проверки, поскольку каждая проверка вызывается асинхронно и выполняется параллельно. Когда Контроллер Транзакции завершает свою работу, он посылает сообщение Координатору Транзакции. Координатор проверяет, все ли Контроллеры сообщили о своих проверках.

Если нет, то координатор не выполняет никаких действий. Если же все проверки завершились и завершились успешно, как в данном случае, то координатор посылает сообщение Транзакции о нормальном завершении, Половина стрелки на конце сообщения служит для обозначения асинхронного сообщения. Асинхронное сообщение не блокирует вызывающий объект, то есть последний может продолжать выполнение 85 диаграммы последовательности своего собственного процесса. Асинхронное сообщение может выполнять одно из трех действий: 1. Создание нового потока, при атом сообщение соединяется с прямо- угольником активизации, 2. Создание нового объекта, 3.

Установление связи с потоком, который уже выполняется. Удаление объекта изображается большой буквой Х. Объекты могут самоуничтожаться (как показано на рис. 5. 2) либо могут быть уничтожены другим сообщением (рис. 5.3). На рис. 5.2 и 5.3 показаны два сценария варианта использования епроверка транзакции». Каждый из этих сценариев изображен отдельно. Для включения условной логики в простую диаграмму существуют специальные методы.

Но я предпочитаю не пользоваться ими, так как они слишком усложняют диаграмму. На рис. 5.3 я применил очень полезный прием: поместил текстовые описания происходящих процессов вдоль левой части диаграммы по- Когда Транзакция создается... ...она создав Координатор управления Координатор посл едовател Контроллеров дпя гнедого Эти Контрол выполнеот кажды проверку км процесс. Если заданная закончилась Координатор асе остальные находящиеся выполнения. ...и сообща Транзакции что она не ве Рис.

Б.З, Диаграмма последовательности: неудач наи проверка 86 Глава 5. Диаграммы взаимодействия следовательности. При этом предполагается, что каждый блок текста располагается на одной горизонтальной линии с соответствующим сообщением на диаграмме. Это упрощает понимание диаграмм, хотя и требует некоторой дополнительной работы. Я использую этот прием для тех документов, которые собираюсь хранить. Диаграммы кооперации Еще одним видом диаграммы взаимодействия является диаграмма кооперации.

На такой диаграмме экземпляры объектов изображаются в виде пиктограмм. Так же как и на диаграмме последовательности, стрелки обозначают сообщения, обмен которыми осуществляется в рамках данного варианта использования. Однако их временная последовательность указывается посредством нумерации сообщений (рис. 5.4). Рис. о.в. Диаграмма кооперации с простой нумерацией Подобная нумерация делает более трудным восприятие последовательности сообщений, чем в случае расположения линий на странице сверху вниз.

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

В языке УМЬ применяется десятичная схема нумерации, поскольку в этом случае понятно, какая из операций вызывает другую операцию, хотя при этом труднее разглядеть их последовательность в целом. Независимо от используемой схемы нумерации на диаграмме кооперации можно разместить такого же рода управляющую информацию, как и на диаграмме последовательности.

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

Тип файла
DJVU-файл
Размер
978,55 Kb
Тип материала
Высшее учебное заведение

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

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