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

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

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

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

Если необходимо указать временные и пространственныеограничения, снабдить каждое сообщение временной меткойи присоединить нужное временное или пространственноеограничение. Если требуется описать поток управления более формально,присоединить к каждому сообщению предF и постусловие.Как и диаграммы последовательности, диаграмма коммуникации может показать только один поток управления (хотя некоторые простые вариации можно отобразить в нотации взаимодействий и ветвления UML). Обычно приходится иметь делосо множеством таких диаграмм взаимодействия, одни из которыхпервичны, а другие показывают альтернативные пути или исключительные условия. Также вы можете использовать пакеты дляорганизации этих наборов диаграмм коммуникации, присваиваякаждой из них уникальное имя.На рис.

19.7 в качестве примера показана диаграмма коммуникации, описывающая поток управления в процессе регистрациинового студента в учебном заведении, с подчеркиванием структурных связей между этими объектами. Здесь вы видите четыре роли:RegistrarAgent (АгентРегистрации – r), Student (Студент – s), Course(Курс – c) и безымянную роль School (Учебное заведение). Потокуправления явно пронумерован. Действие начинается с того, чтоRegistrarAgent создает объект Student, добавляя его к учебному заведению (сообщение addStudent – добавитьСтудента), а затем извещаяобъект Student о том, что ему нужно зарегистрироваться. Последнийвызывает операцию getSchedule (узнатьРасписание) и получает перечень объектов Course – курсов, на которых он должен зарегистрироваться. Объект Student добавляет себя к каждому объекту Courseв этом наборе.1 : «create»3 : register()3.1 : courses : = getSchedule()3.4 : setRegistered(true){local}3.2 *[c in courses] : add(s)Рис.

19.7. Моделирования потока управления по организацииТипичные приемы моделирования279Прямое и обратное проектированиеПрямое проектирование (создание кода из модели) возможно идля диаграммы последовательности, и для диаграммы коммуникации, особенно если контекстом таковой является операция. Например, применяя предыдущую диаграмму коммуникации, достаточно«умное» инструментальное средство может сгенерировать следующий код операции register (регистрировать), включенной в классStudent на языке Java:public void register() {CourseCollection courses = getSchedule();for(int i = 0; i < courses.size(); i++)courses.item(i).add(this);this.registered = true;}«Достаточно умное средство» – такое, которое может реализовать метод getSchedule, возвращающий объект CourseCollection (СписокКурсов), определяемый на основе сигнатуры операции.

Проходяпо содержимому объекта с применением стандартной идиомы итераций (о которой, безусловно, инструмент должен знать), код затемобобщается для любого количества предложенных курсов.Обратное проектирование (воссоздание модели из кода) также возможно и для диаграмм последовательности, и для диаграммкоммуникации, особенно если речь идет о контексте операции. Сегменты предыдущей диаграммы могли бы быть восстановлены инструментом из прототипа операции register.На заметку. Прямое проектирование просто, обратное сложно.При типичном обратном проектировании иной раз появляетсяслишком много информации, чтобы можно было с легкостьюрешить, какие детали следует сохранить, а какие – отбросить.Однако более интересной, чем обратное проектирование модели из кода, может быть анимация модели на основе работающейсистемы. Например, в случае с предыдущей диаграммой инструмент может анимировать сообщения, показывая, как они передаются в работающей системе.

Более того, имея такой инструментпод управлением отладчика, вы можете управлять скоростью выполнения – возможно, устанавливая точки прерывания, чтобы приостановить процесс в интересных местах и просмотреть значенияатрибутов конкретных объектов.Диаграммы взаимодействия280Советы и подсказкиКогда вы создаете диаграммы взаимодействия в UML, помните, что диаграммы последовательности и коммуникации являютсяпроекциями одной и той же модели динамических аспектов системы.

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

Используйте диаграмму коммуникации, если хотите сделать акцентна организации объектов, участвующих во взаимодействии; размещайте элементы так, чтобы пересекающихся линийбыло как можно меньше; используйте примечания и выделения цветом, чтобы привлечь внимание к важным деталям диаграмм; не злоупотребляйте ветвлением. Вы можете гораздо лучшеизобразить сложные ветвления на диаграммах деятельности.Глава 20. Диаграммы деятельностиПомимодиаграмм деятельности,динамические аспектысистеммоделируютдиаграммыпоследовательности,коммуникации,состоянийи вариантовиспользования.Диаграммыпоследовательностии коммуникации обсуждаютсяв главе 19,диаграммысостояний –в главе 25,диаграммывариантовиспользования –в главе 18.Действиярассматриваютсяв главе 16.В этой главе:Моделирование потока работМоделирование операцииПрямое и обратное проектированиеДиаграммы деятельности – это один из пяти видов диаграмм, применяемых в UML для моделирования динамических аспектов систем.По сути, диаграмма деятельности представляет собой блокFсхему,которая показывает, как поток управления переходит от одной деятельности к другой.

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

Если в диаграммах взаимодействия акцент делается на переходы потока управления от одного объекта к другому, то диаграммы деятельностиописывают переходы потока управления от одного шага процессак другому. Деятельность – это структурированное описание текущего поведения. Осуществление деятельности в конечном счетераскрывается в виде выполнения отдельных дейст вий, каждоеиз которых может изменять состояние системы или передаватьсообщения.Диаграммы деятельности важны не только для моделирования динамических аспектов системы, но и для конструированияисполняемых систем посредством прямого и обратного проектирования.Диаграммы деятельности282ВведениеРассмотрим поток работ (workflow) при строительстве дома.Сначала выбирается место под застройку. Затем вы нанимаете архитектора, который проектирует дом. После согласования проектазастройщик составляет смету для оценки общих затрат.

Как тольковы принимаете план и цену, начинается строительство. Власти даютразрешение, роется котлован, заливается фундамент, возводитсякаркас и т.д., пока вся работа не будет завершена. Наконец, вамвручают ключи и документы, подтверждающие право проживания,и вы вступаете во владение жильем.Хотя на самом деле процесс строительства намного сложнее,вышеприведенное описание дает представление об основных операциях. В реальных проектах множество разных процессов можновести параллельно: например, электрики работают одновременно с водопроводчиками и столярами.

Кроме того, вы обнаружите в этих процессах условия и ветвление. Скажем, в зависимостиот качества грунта вам придется либо выполнять взрывные работы,либо копать, либо размывать почву. Могут также присутствоватьитерации: например, строительная инспекция обнаружила какоеFтосерьезные нарушения, в результате чего приходится ломать и переделывать часть здания.В строительной промышленности для визуализации, специфицирования, конструирования и документирования рабочего процесса обычно применяются диаграммы (графики) Гантта и Перта.МоделироваПри разработке программных систем возникает сходная пробление струкма: как лучше всего смоделировать такие динамические аспекты систурныхтемы, как поток работ или операцию? И здесь у вас есть два основныхаспектовпути, аналогичных использованию диаграмм Гантта и Перта.системыС одной стороны, вы можете построить раскадровку сценаобсужриев, которые включают взаимодействие ряда интересующих васдаетсяобъектов и передаваемых между ними сообщений.

Эти раскадровв частях IIки в UML можно моделировать двумя способами: подчеркиваяи III, диавременной порядок сообщений на диаграммах последовательносграммы вза- ти либо выделяя структурные связи между взаимодействующимиимодействия объектами на диаграммах коммуникации. Такие диаграммы взаирассматмодействия чемFто сродни графикам Гантта, которые сосредоточериваютсяны на объектах (ресурсах), обеспечивающих некоторую деятельв главе 19.ность в течение определенного времени.ДействияС другой стороны, эти же динамические аспекты можно мообсуждают- делировать с помощью диаграмм деятельности, которые сосредося в главе 16 тачивают внимание в первую очередь на деятельности, в которуювовлечены объекты (см.

рис. 20.1). Такие диаграммы подобны графикам Перта. По сути, диаграмма деятельности – это блокFсхема,Базовые понятия283отображающая деятельность, развертывающуюся во времени. Диаграмму деятельности можно представить как диаграмму взаимодействия, «вывернутую наизнанку». Диаграмма взаимодействиярассматривает объекты, через которые проходят сообщения; диаграмма деятельности рассматривает операции, выполняемые междуобъектами. Семантическое различие весьма тонкое, но в результатемы получаем принципиально различные взгляды на мир.запусклогическое ветвлениепараллельное разделениепараллельноесоединениезавершениепараллельные потокиРис. 20.1.

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

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

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