Главная » Просмотр файлов » Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка

Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 20

Файл №1158633 Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка) 20 страницаДж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633) страница 202019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

(Защищенные составляющие в)ага одновременно являются доступными в рамках пакета.) К закрытым составляющим (рггеаге) могут обращаться только методы класса-владельца. К составляющим, доступным в рамках пакета (раскайе), могут обращаться все методы того же пакета. Предпочтительная модель Рис. 4.4. Область действия атрибута В языке 1)М1. видимость обозначается при помощи префикса. Символ е ставится перед открытыми составляющими. Символ Ф ставится перед защищенными составляющими. Символ — ставится перед закрытыми составляющими.

Символ - ставится перед составляющими, доступными в рамках пакета. Отсутствие префикса не позволяет делать никаких заключений о видимости. При выборе значения видимости для какой-либо составляющей следует учитывать следующие соображения. ° Понятность модели. Чтобы получить представление о возможностях класса, необходимо понять все его открытые составляющие. Закрытые, защищенные и пакетные составляюгцие можно игнорировать: они вводятся лишь для удобства реализации. ° Расширяемость.

Открытые методы класса могут использоваться множест- вом других классов, поэтому изменение их сигнатуры (количества и типа 90 Глава 4 ° Углубленное моделирование классов аргументов, типа возвращаемого значения) может разрушить согласованность всей модели. Поскольку защищенные, закрытые и пакетные методы заведомо используются меньшим числом классов, их изменения обходятся дешевле. ° Контекст. Закрытые, защищенные н пакетные методы могут зависеть от предусловий или информации о состоянии, произведенной другими мето- дами того же класса. Вне своего контекста закрытые методы могут возвратить неверные результаты или привести к отказу объекта в целом.

4.2. Полюса ассоциаций Полюсом ассоциации называется ее конец. Бинарная ассоциация имеет два полюса, тернарная (см, раздел 4.3) — три и т. д. В главе 3 мы обсудили следующие свойства полюса ассоциации. ° Имя полюса. Полюс ассоциации может иметь имя. Имя позволяет разли- чать разные ссылки на один и тот же класс и упрощает навигацию. Часто удается подобрать осмысленные имена полюсов ассоциаций, которые оказываются полезными в своем контексте. Кратность. Для каждого полюса ассоциации можно указать кратность. Чаще всего используются следующие значения кратности: «1» (ровно один), «0..1» (не более одного) и «*» («много», то есть нуль и более). Упорядочение.

Объекты у полюса ассоциации с кратностью «много» обычно образуют обычное множество. Однако иногда объекты этого множества могут быть упорядочены. Мультимножества и последовательности. Объекты у полюса ассоциации с кратностью «много» могут образовывать мультимножество или последовательность.

Кввлификаторы. Квалификатор (атрибут полюса ассоциации) позволяет различать объекты, находящиеся у полюса ассоциации с кратностью «много». Агрегация. Полюс ассоциации может быть агрегацией или составляющей частью (см. раздел 4.4). Агрегацией может быть только бинарная ассоциация. Один из полюсов ассоциации должен быть агрегацией, а другой— составляющей частью. Изменяемость. Это свойство характеризует возможность обновления полюса ассоциации.

Возможные значения: сйаляеаЫе (может быть изменен) и геаг(ол(у (может быть только проинициализирован). Возможность навигации. С концептуальной точки зрения ассоциация может прослеживаться в любом направлении. Однако реализация может фактически поддерживать навигацию только в одном направлении. В 1)М(. возможность навигации в одном направлении обозначается стрелкой у полюса ассоциации, прикрепленной к целевому классу. Стрелки можно поставить у одного илн двух полюсов ассоциации или их можно не ставить вообще. 4.3.

й-арные ассоциации 91 ° Видимость. Полюса ассоциации могут иметь видимость, точно так же, как атрибуты и операции (см. раздел 4.1А). Возможные значения: риЫ1с (открытая), ргогесгег1 (защищенная), рпгтге (закрытая), расМабе (пакетная). 4.3.

й-арные ассоциации В главе 3 мы рассказывали только о бинарных ассоциациях. Однако иногда вам могут встретиться и п-арные ассоциации (ассоциации между тремя и более классами). Мы рекомендуем вам избегать использования и-арных ассоциаций в моделях: большинство из них могут быть разбиты на бинарные ассоциации с квалификаторами и атрибутами. На рнс. 4.5 показана ассоциация (Человек совершает покупку акции на бирже), которая с первого взгляда может показаться и-арной, но на самом деле может быть переформулнрована в виде двух бинарных ассоциаций. На атомарная п-«рная ассоциация «А рагаоп... т а сотрапуа ...

...можит быть параформулироаана тая: Рис. 4.5. Разбиение тернарной ассоциации на две бинарные На рис. 4.6 показана настоящая тернарная ассоциация, не сводимая к бинарным: программисты используют в проектах языки программирования. Эта ассоциация является атомарной и не может быть разделена на бинарные без потери информации. Программист может знать язык н участвовать в проекте, но не использовать этот язык в данном проекте. Диаарамма ялассоа Диаарамма акаамппяроа Рис. 4.6. и-арные ассоциации 92 Глава 4 ° Углубленное моделирование классов В 4)М1 для обозначения и-арных ассоциаций используется значок ромба, соединяемый с классами при помощи линий.

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

Язык ОСЕ [ЪЧаппег-99] не имеет обозначений для прослеживания и-арных ассоциаций. На рис. 4.7 показана еше одна тернарная ассоциация: профессор читает курс лекций в течение семестра. Курс лекций характеризуется номером комнаты и произвольным количеством учебников. Рмс. 4.7. п-арные ассоциации тоже могут быть классами В обычных языках программирования нет средств для описания и-арных ассоциаций. Поэтому если вы собираетесь программировать свою модель, вам придется сделать и-арные ассоциации классами (Юе1шегепСйузу на рис. 4.8). Помните, что делая и-арную ассоциацию классом, вы изменяете смысл модели.

Х-арная ассоциация требует, что для каждой комбинации классов должно существовать не более одной связи. Например, для каждой комбинации Рго1езтог, 5етезгег и 7.игег1Соиузе на рис. 4.7 существует один класс Ве1шетег1Соигзе. Ассоциация, превращенная в класс, допускает любое количество связей: для каждой комбинации Р~о7езхот, зеулезтет и 7.снег1Соигзе на рис. 4.8 классов Ое1шегег1Соигзе может быть несколько.

При реализапии рис. 4.8 пришлось бы писать отдельный код для обеспечения уникальности 1)ейоетеоСоигзе. Рис. 4.8. Превращение л-арной ассоциации в класс ДА. Агрегацня 93 4.4. Агрегация Агрегация (аяягеяаг(оп) — это частный случай ассоциации, описываюший объекты, состоящие из частей. Составляющие являются частями агрегации. Агрегат с семантической точки зрения представляет собой расширенный объект, обрабатываемый многими операциями как единое целое, хотя физически он состоит из нескольких объектов.

Мы определяем агрегацию как отношение между классом-агрегатом и одним составляющим классом. Агрегат из составляющих частей разных типов должен моделироваться как несколько агрегаций. Например, газонокосилка состоит из ножа, двигателя, нескольких колес и корпуса. Здесь газонокосилка является агрегатом, а остальные детали — составляющими частями. Газонокосилка и нож образуют первую агрегацию, газонокосилка и двигатель — вторую и т. д.

Каждая пара классов определяется как отдельная агрегация, чтобы мы могли указывать кратность каждой составляющей части в агрегате. Это определение подчеркивает, что агрегацня является частным случаем бинарной ассоциации. Наиболее важным свойством агрегации является транзитивностья если А является частью В, а В является частью С, то А является частью С. Кроме того, агрегация антнсимметрична: если А является частью В, то В не является частью А.

Многие операции с агрегациями подразумевают транзитивное замыкание' и действуют как на непосредственные, так и на косвенные (вложенные) части. 4.4.1. Агрегация и ассоциация Агрегация — это частный случай ассоциации. Агрегация характеризуется дополнительным семантическим подтекстом. Если два объекта связаны отношением часть-целое, их следует моделировать при помощи агрегации. Если же объекты обычно рассматриваются как независимые, хотя между ними и может возникать связь, это будет ассоциация. Свой выбор вы можете проверить при помощи следуюших контрольных вопросов: ° Можно ли связать объекты словом «часть»? ° Применимы ли операции над целым к его частям? ° Распространяются ли некоторые атрибуты целого на его части? ° Обладает ли ассоциация внутренней антисимметричностью (один класс подчинен другому)? К агрегациям относятся спецификации материалов, детальные чертежи, а также разложения на составляюшие.

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

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

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