Главная » Просмотр файлов » Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование

Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (1037782), страница 40

Файл №1037782 Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование) 40 страницаДжим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (1037782) страница 402017-12-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

На рис. 9.13 объекты Order могут посылать сообщения объектам Product, но не наоборот.Возможность навигации показывает, что объекты исходного класса«знают об» объектах целевого класса.Одна из целей хорошего ОО анализа и проектирования – минимизировать количество взаимосвязей между классами.

И применение возмож212Глава 9. Отношенияобъект Order хранит список объектов Productдопускает навигацию*Order*возможность навигацииProductвозможность навигациине допускает навигацииобъект Product не хранит списка объектов OrderРис. 9.13. Варианты обозначения возможности навигацииности навигации – верное средство достижения этой цели. Сделав ассоциацию между Order и Product однонаправленной, можно обеспечить возможность свободной навигации от объектов Order к объектам Product, ноне в обратном направлении – от объектов Product к объектам Order. Таким образом, объекты Product не знают о своем возможном участиив конкретном Order и, следовательно, не имеют связанности с Order.Возможность навигации обозначается крестом или стрелкой на концах отношения, как показано на рис. 9.13.Спецификация UML 2.0 [UML2S] предлагает три стиля обозначениявозможности навигации на диаграммах модели.1.

Сделать возможность навигации абсолютно явной. Должны бытьобозначены все стрелки и кресты.2. Сделать возможность навигации абсолютно скрытой. Стрелки и кресты не обозначаются.3. Опускать все кресты. Двунаправленная ассоциация обозначаетсябез стрелок. Однонаправленная ассоциация обозначается с однойстрелкой.Эти три стиля представлены на рис. 9.14.Стиль 1 делает возможность навигации полностью видимой, что, однако, может сделать диаграмму слишком громоздкой.Стиля 2 следует избегать, потому что он скрывает слишком много значимой информации.Стиль 3 – разумный компромисс.

На практике чаще всего используетсястиль 3. И поскольку он представляет лучший на данный момент вариант, именно он применяется в этой книге. Основные преимущества стиля 3: при его использовании диаграммы не загромождаются слишкомбольшим количеством стрелок и крестов; он обратно совместим с предыдущими версиями UML. Однако у этого стиля есть и недостатки.2139.4.

Что такое ассоциация?Стили представления возможности навигации в UML 2Стиль 1:Строгое обозначениевозможности навигации в UML 2Синтаксис UML 2BЕсть возможностьнавигации от A к BЕсть возможностьнавигации от B к ABЕсть возможностьнавигации от A к BНет возможностинавигации от B к ABЕсть возможностьнавигации от A к BВозможность навигацииот B к A не определенаABВозможность навигацииот A к B не определенаВозможность навигацииот B к A не определенаABНет возможностинавигации от A к BНет возможностинавигации от B к AAAAСтиль 2:Возможность навигациине обозначаетсяСтиль 3:ОбщепринятаяпрактикаЕсть возможностьнавигации от A к BНет возможностинавигации от B к AВозможность навигацииот A к B не определенаВозможность навигацииот B к A не определенаЕсть возможностьнавигации от A к BЕсть возможностьнавигации от B к AРис. 9.14.

Стили представления возможности навигации в UML 2•Глядя на диаграмму, нельзя сказать, указана ли на ней возможность навигации или она еще не определена.•Значение связи с одной стрелкой меняется с «есть/не определена»возможность навигации на «есть/нет» возможности навигации. Этонедостаток, с которым приходится мириться.•Нельзя показать ассоциации, в которых отсутствует возможностьнавигации в обоих направлениях (кресты на обоих концах). Такиесвязи бесполезны в повседневном моделировании, поэтому особойпроблемы это не создает.Обзор стиля 3 можно увидеть на рис. 9.15.Стиль представления 3 чаще всего используется на практикеABОднонаправленная ассоциация:Есть возможность навигации от A к BНет возможности навигации от B к AABДвунаправленная ассоциация:Есть возможность навигации от A к BЕсть возможность навигации от B к AРис. 9.15.

Стиль 3214Глава 9. ОтношенияДаже если нет возможности навигации по ассоциации, все равно можетсуществовать возможность прохода по ассоциации, но затраты на этобудут высокими.Даже если нет возможности навигации по ассоциации, все равно может существовать возможность установления отношения в этом направлении. Но вычислительные затраты на это, скорее всего, будуточень высокими. В примере на рис. 9.13, несмотря на отсутствие возможности прямой навигации от Product к Order, просмотрев по очередивсе объекты Order, можно найти Order, ассоциированный с конкретнымобъектом Product.

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

На диаграммеобъектов это можно представить в виде однонаправленной связи с ассоциированным сообщением.9.4.4. Ассоциации и атрибутыСуществует тесная связь между ассоциациями класса и атрибутамикласса.Ассоциация между исходным и целевым классами означает, что объекты исходного класса могут сохранять объектную ссылку на объектыцелевого класса. Иначе это можно представить так, что ассоциация эквивалентна исходному классу, имеющему псевдоатрибут целевогокласса. Объект исходного класса может ссылаться на объект целевогокласса с помощью псевдоатрибута (рис.

9.16).источникHouseцельaddress11HouseAddressaddress:AddressЗадание имени роли для допускающего навигацию отношения аналогично тому,что у исходного класса есть псевдоатрибут с тем же именем, что и имя роли,и того же типа, что и целевой классРис. 9.16. Объект исходного класса ссылается на объект целевого классапосредством псевдоатрибута2159.4. Что такое ассоциация?Нет широко используемого ОО языка программирования, имеющегоспециальную языковую конструкцию для поддержки ассоциаций.

Поэтому при автоматическом генерировании кода из UMLмодели ассоциации одинкодному превращаются в атрибуты исходного класса.На рис. 9.17 в сгенерированном коде есть класс House с атрибутом address типа Address. Обратите внимание, как имя роли обеспечивает имяатрибуту, а класс, находящийся на другом конце ассоциации, обеспечивает класс атрибута. Приведенный ниже код на Java был сгенерирован из модели, представленной на рис.

9.17:public class House{private Address address;}Как видите, есть класс House, имеющий один атрибут address типа Address. Обратите внимание, что видимость атрибута address – private; онаприменяется по умолчанию в большинстве случаев генерации кода.Если кратность целевого класса больше 1, она реализуется одним изследующих способов:•как атрибут типа array (массив) (конструкция, поддерживаемаябольшинством языков программирования);•как атрибут некоторого типа, являющегося коллекцией.Коллекции – это просто классы, экземпляры которых имеют особоеповедение, заключающееся в способности сохранять и возвращать ссылки на другие объекты.

Самым обычным примером коллекции в Java является Vector, но есть и многие другие. Более подробно коллекции обсуждаются в разделе 18.10.Псевдоатрибуты хороши для отношений одинкодному и одинкомногим, но для отношений многиекомногим возникают проблемы.Их реализация будет показана в главе 18.Ассоциации используются только тогда, когда целевой класс являетсяважной частью модели, в противном случае отношения моделируютсяс помощью атрибутов. Важными являются бизнесклассы, описывающие часть прикладной области.

Не имеющими большого значенияклассами являются компоненты библиотеки, такие как классы String,Date и Time.Houseaddress11псевдоатрибутAddress=Houseaddress:AddressатрибутРис. 9.17. Из этой модели сгенерирован код, в котором есть класс Houseс атрибутом address типа Address216Глава 9. ОтношенияДо известной степени выбор явного указания ассоциации или атрибутов является вопросом стиля. Лучшим всегда будет тот подход, в котором модель и диаграммы выражают задачу ясно и точно. Часто представленная на диаграмме ассоциация с другим классом более понятна,чем это же отношение, смоделированное как атрибут, который заметить намного сложнее.

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

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

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