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

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

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

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

Однако Password является закрытымпо отношению к User и не может быть доступен извне (конечно, еслитолько пользователь не открывает доступ к паролю, – возможно,посредством какойFто открытой операции). Таким образом, по рисунку видно, что, имея объект UserGroup, вы можете перейти к егообъектам User и наоборот, но не можете увидеть объекты Password,принадлежащие User, потому что они закрыты по отношению к User.UML предусматривает три уровня видимости для конца ассоциации, назначаемые подобно тому, как вы делаете это в отношениисвойств класса, добавляя символ видимости к имени роли.

Еслитолько не указано иное, видимость роли – открытая. Закрытая видимость означает, что объекты на данном конце ассоциации не доступны никаким объектам вне ее; защищенная видимость означает,что объекты на данном конце ассоциации не доступны никакимобъектам вне ее, за исключением дочерних по отношению к тому,который находится на другом конце.

Пакетная видимость означает,что классы, объявленные в том же пакете, могут видеть данный элемент; это не касается концов ассоциации.Рис. 10.4. Видимость160Атрибутыобсуждаются в главах4 и 9.Расширенные связиБазовые понятияКвалификация (qualification). Применительно к ассоциациямодна из наиболее часто используемых идиом моделирования, с которыми вы будете сталкиваться, – проблема поиска (lookup). Как,имея объект на одном конце ассоциации, идентифицировать одинили множество объектов на другом ее конце? Рассмотрим в качестве примера моделирование рабочего стола в мастерской, на которомсортируются бракованные изделия.

Как показано на рис. 10.5, выдолжны смоделировать ассоциацию между двумя классами: WorkDesk(РабочийСтол) и ReturnedItem (ВозвращенноеИзделие). Для WorkDeskвам понадобится jobId – идентификатор определенного ReturnedItem.В этом смысле jobId – атрибут ассоциации. Он не является свойствомReturnedItem, поскольку сами изделия не несут в себе представленияо ремонте.

Поэтому, имея в наличии объект WorkDesk и определенноезначение jobId, вы можете осуществить навигацию к нулю или одному объекту ReturnedItem. В UML данную идиому следует моделироватьс помощью квалификаторов (qualifiers), которые являются атрибутами ассоциаций, значение которых идентифицирует подмножествообъектов (чаще – один объект), связанных с другим объектом по ассоциации.

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

Например, при моделировании оконной системы объект Frame (Рама) принадлежиттолько одному объекту – Window (Окно). Этот вариант отличаетсяот простой агрегации, допускающей принадлежность части нескольким целым. Так, в модели дома Wall (Стена) может быть частью одного или нескольких объектов Room (Комната).Вдобавок в композитной агрегации целое распоряжается своими частями; это значит, что композит должен управлять созданиеми удалением своих частей. Например, когда вы создаете объект Frameв оконной системе, то должны присоединить его к включающемуобъекту Window. Аналогичным образом, когда объект Window уничтожается, он обязан ликвидировать свои части Frame.Из рис.

10.6 видно, что композиция – это всего лишь особыйвид ассоциации. Поэтому графически она представлена как простаяассоциация, которую дополняет закрашенный ромбик со стороныцелого.Рис. 10.6. КомпозицияРис. 10.5. КвалификацияПростаяагрегацияобсуждается в главе 5.Композиция (composition). Агрегация представляет собой простую концепцию с довольно глубокой семантикой. Простая агрегация исключительно концептуальна и не заявляет ничего помимоотличия целого от части.

Она не изменяет смысла навигации по ассоциации между целым и его частями и ничего не говорит о жизненАтрибуты – ном цикле связи целого с его частями.Однако существует особая разновидность простой агрегации –по существусокращенное композиция, которая добавляет ко всему вышеназванному некоторую важную семантику. Композиция – это форма агрегации с четковыражениекомпозиции; выраженными отношениями владения и совпадением времени жизни частей и целого. Части с нефиксированной множественностьюатрибутыобсуждают- могут быть созданы после самого композита, но однажды созданся в главах 4 ные, живут и умирают вместе с ним.

Кроме того, такие части могутбыть явно удалены перед «смертью» композита.и 9.Внутренняяструктураклассаобсуждаетсяв главе 15.На заметку. Альтернативное изображение композиции предполагает использование структурированного класса и вложение символов частей в символы композита. Эта форма болееудобна, когда требуется выразить связи между частями, существующими только в контексте целого.Атрибутыобсуждаются в главах 4и 9.Ассоциацииклассы (association class).

Ассоциация, связывающая два класса, сама по себе может обладать некоторыми свойствами. Например, на рис. 10.7 в связи «работодатель/работник» междуклассами Company (Компания) и Person (Человек) присутствует элемент Job (Должность) – свойство ассоциации, описывающее должность работника в компании и соединяющее каждую пару объектовCompany и Person. Было бы неверно моделировать эту ситуацию ассоциациями Company с Job и Job с Person, поскольку при этом не определяется конкретный экземпляр Job, связывающий друг с другом классыCompany и Person.Расширенные связи162В UML такой случай описывается ассоциациейFклассом – элементом, который одновременно имеет свойства класса и ассоциации.

Его можно рассматривать двояко: как ассоциацию, котораянесет в себе свойства класса, или же как класс, наделенный свойствами ассоциации. Изображается он символом класса, соединеннымпунктирной линией с линией ассоциации (см. рис. 10.7).На заметку. Иногда необходимо, чтобы одни и те же свойстваприсутствовали в нескольких ассоциацияхQклассах. Однаковы не можете присоединить ассоциациюQкласс к несколькимассоциациям, поскольку она, по сути, тоже является ассоциацией. Чтобы добиться желаемого, определите обычный класс(скажем, под названием C), обладающий этим свойством,и сделайте его потомками все ассоциацииQклассы, которымэто свойство понадобится, или же используйте C в качестветипа атрибута.Базовые понятияСвойстваизменяемости такжекасаютсяатрибутов,как этоописанов главе 9;связи обсуждаютсяв главе 16.163ассоциация может быть помечена как ordered.

Если это ключевоеслово отсутствует, то объекты не упорядочены.ВоFвторых, вы можете подчеркнуть, что объекты на одном конце ассоциации должны быть уникальными (то есть формироватьнабор) или же не должны быть таковыми (то есть формироватьмножество с повторяющимися элементами – bag):2.3.4.5.set – объекты уникальны, без дубликатов;bag – объекты не уникальны, допускаются дубликаты;ordered set – объекты уникальны и упорядочены;list или sequence – объекты упорядочены, могут быть дубликаты.И наконец, есть ограничение изменяемости экземпляров ассоциации:6.

readonly – ссылка, однажды установленная от объекта на противоположном конце ассоциации, не может быть модифицирована или удалена. По умолчанию при отсутствии этогоограничения допускается изменяемость ассоциации.На заметку. По сути, ordered и readonly – это свойства конца ассоциации. Однако они изображаются в нотации ограничений.ассоциация-классРеализацияРис. 10.7.

АссоциацииQклассыМеханизмырасширенияUML обсуждаютсяв главе 6.Ограничения. Эти простые и расширенные свойства ассоциаций понадобятся в большинстве случаев использования структурных связей. Однако для выражения тонких смысловых оттенковUML определяет пять ограничений, которые могут касаться связейассоциации.ВоFпервых, вы можете показать, что объекты на одном концеассоциации (с множественностью больше единицы) упорядоченыили не упорядочены:1. ordered – сообщает, что набор объектов на конце ассоциациидолжен быть явно упорядочен.Например, в ассоциации User/Password объекты Password, ассоциированные с User, могут сохраняться в обратном порядке (то естьпервым идет последний использованный пароль), и, соответственно,Интерфейсыобсуждаются в главе 11,классы –в главах 4 и 9,компоненты –в главе 15,пять представленийархитектуры –в главе 2.Реализация – это семантическая связь между классификаторами, один из которых специфицирует некий контракт, а другой обязуется его выполнять.

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

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

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