Класс ассоциации, Агрегирование - Объектно-ориентированный подход и диаграммы классов в UML
Такой класс является обычным классом, присоединенным пунктирной линией к ассоциации. Его имя должно совпадать с именем ассоциации. Содержащаяся в нем информация уточняет и дополняет сведения об ассоциации.
Агрегирование
Если у роли ассоциации установлен атрибут "агрегирование", то вся ассоциация является отношением агрегирования. Такой атрибут может быть установлен только у одной из ролей.
Агрегирование (aggregation) - это отношение между классами типа целое/часть. Агрегируемый класс в той или иной форме является частью агрегата. На практике это может быть реализовано по-разному. Например, объект класса-агрегата может хранить объект агрегируемого класса, или хранить ссылку на него.
В UML допускается, что один класс агрегируется многими. При этом возможно два варианта. Первый - на диаграмме классов такая множественность означает лишь возможность для соответствующих объектов - т. е. агрегируемый объект может агрегироваться любым объектом, который принадлежит классам, агрегирующим класс данного объекта. Но объект не агрегируется многими объектами. Второй вариант - объект все-таки может агрегироваться несколькими объектами - так называемое каталожное агрегирование. Примером такого агрегирования может быть книга в библиотеке, которая принадлежит сразу многим каталогам.
По умолчанию агрегирование в UML может быть каталожным. Но имеется специальный вид агрегирования, называемый композицией, который этого не допускает.
Композиция - это специальный вид агрегирования (так называемое сильное агрегирование). В частности, агрегируемый объект может быть создан только тогда, когда создан агрегат, а с уничтожением агрегата уничтожаются и все агрегируемые объекты. Агрегируемый объект не разделяем, т. е. владеть им может только один агрегат.
Например, в ROOM существует еще более сильное агрегирование - там объекты, находящиеся внутри агрегата, невидны с наружи и сами не видят окружения своего агрегата (т. е. с ними нельзя устанавливать связи, им нельзя напрямую посылать сообщения и т. д.) и общаются с ним только через специальные точки входа - порты. В каждой предметной области, в каждом проекте у отношения агрегирования могут быть свои специфические свойства, которые можно реализовать как параметры кодогенерации для отношения агрегирования (такие поля для разных элементов модели имеются в Rose Rational - одной из самых известных реализаций UML).
Агрегирование изображается на диаграмме полым ромбом на конце линии ассоциации со стороны агрегирующего класса (агрегата).
Композиция показывается также как и агрегирование, но ромбик рисуется не пустым, а заполненным.
Кроме того, UML допускает "вложенную" нотацию, в которой агрегируемый класс изображается внутри класса-агрегата. При этом перед его именем указывается имя роли и символ ':'.
Похожие статьи
-
Ассоциация, Бинарная ассоциация - Объектно-ориентированный подход и диаграммы классов в UML
Ассоциация определяет некоторую связь между классами. Когда в системе будут созданы представители ассоциированных классов, они будут связаны так, как...
-
Атрибут - Объектно-ориентированный подход и диаграммы классов в UML
Атрибут (attribute) - это инкапсулируемый элемент данных класса, т. е. элемент данных, который содержится в объекте, принадлежащем описываемому классу. У...
-
Утилиты, Объект - Объектно-ориентированный подход и диаграммы классов в UML
В некоторых случаях при описании классов приходится часто пользоваться некоторыми глобальными функциями и переменными. Поэтому для удобства...
-
Стадии разработки ПО - Объектно-ориентированный подход и диаграммы классов в UML
В [4] так определяются этапы объектно-ориентированного подхода к разработке ПО: Объектно-ориентированный анализ (analysis) - способ анализа, изучающий...
-
Основные принципы Первая и главная идея, лежащая в основе объектно-ориентированного подхода такова: программная система представляется в виде множества...
-
Зависимость - Объектно-ориентированный подход и диаграммы классов в UML
В некоторых случаях два и более элемента модели могут быть семантически связаны. Например, класс A использует методы класса B. Тогда при изменении класса...
-
Параметризованные классы (шаблоны) - Объектно-ориентированный подход и диаграммы классов в UML
В некоторых случаях в модели необходимы классы со схожей структурой, которые отличаются некоторыми параметрами. Например, имеется описание нескольких...
-
Введение - Объектно-ориентированный подход и диаграммы классов в UML
Психологи уже давно показали, что средний человек может одновременно воспринимать адекватно в пределах десятка единиц информации. Таким образом, при...
-
Наследование - Объектно-ориентированный подход и диаграммы классов в UML
Наследование - это отношение типа общее-частное между элементами модели. Наследование пакетов означает, что в пакете-наследнике все сущности...
-
Операция - Объектно-ориентированный подход и диаграммы классов в UML
Операция (operation) - это сущность, определяющая некоторое действие, которое может быть выполнено представителем класса. У операции есть имя и список...
-
Каждая диаграмма состояний в UML описывает все возможные состояния одного экземпляра определенного класса и возможные последовательности его переходов из...
-
Заключение - Объектно-ориентированный подход и диаграммы классов в UML
В заключение скажем несколько слов о применении модели классов UML. Особое место этой модели среди других моделей UML определяется тем, что основная цель...
-
ER - диаграмма базы данных была представлена на рис. 2. Рис.2. ER-диаграмма базы данных. Таблица admin - содержит два столбца login и password которые...
-
Диаграмма классов, Разработка пользовательского интерфейса - Основы технологии программирования
На основе построенных диаграмм взаимодействия и переходов состояний можно построить диаграмму классов информационной системы. Рис. 5 Диаграмма классов...
-
Электронный подход - Проблема искусственного интеллекта
Однако только после второй мировой войны появились устройства, казалось бы, подходящие для достижения заветной цели - моделирования разумного поведения;...
-
Объектно - ориентированное программирование - Модульное и объектно-ориентированное программирование
Объектно-ориентированное программирование является в настоящее время наиболее популярной технологией программирования. Объектно-ориентированными языками...
-
Инфологическое моделирование - Банки и базы данных. Системы управления базами данных
Инфологическое проектирование является вторым этапом проектирования БД, который следует непосредственно после анализа предметной области. Эта стадия...
-
Объектно-ориентированные языки - Инструментальные средства разработки экспертных систем
В главе 12 мы уже обращали ваше внимание на то, что формат правил хорошо согласуется с представлением знаний в форме "при выполнении условий СЬ ..., С"...
-
Системный подход к анализу информационной сферы предприятия Сущность системного подхода может быть определена путем обобщения его свойств и...
-
Построение ER диаграмм - Модернизация структуры базы данных на основе анализа требований предприятия
При построении моделей информационных систем важнейшей методикой является ER-моделирование или построение диаграмм сущность-связь. Сущность представляет...
-
Технологии объектного связывания данных - Теоретические основы информационных технологий
Унификация взаимодействия прикладных компонентов с ядром информационных систем в виде SQL-серверов, наработанная для клиент-серверных систем, позволила...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Цель Работы - изучить одну из базовых концепций ООП, наследование классов в С++, заключающуюся в построении цепочек классов, связанных иерархически,...
-
Объектно-ориентированная модель - Система управления базами данных
В объектно-ориентированной модели при представлении данных имеется возможность идентифицировать отдельные записи базы данных. Между записями и функциями...
-
Среда объектно-ориентированного программирования Delphi Delphi - это комбинация нескольких важнейших технологий, высокопроизводительный компилятор в...
-
Проведенный анализ причинно-следственной природы информационных рисков, позволяет определить сущность управления информационными рисками. Она заключается...
-
Комплексный подход к обеспечению информационной безопасности, Основные понятия - Защита информации
Основные понятия Под информацией, применительно к задаче ее защиты понимается сведения о лицах, предметах, фактах, событиях явлениях и процессах...
-
Введение - Обьекто-ориентированное программирование
Объектно-ориентированное программирование (ООП) позволяет разложить проблему на составные части, каждая из которых становится самостоятельным объектом....
-
Уровни и типы моделей БД - Банки и базы данных. Системы управления базами данных
Любая БД отражает информацию об определенной предметной области. В зависимости от уровня абстракции, на котором представляется предметная область,...
-
Описание состава автоматизируемых бизнес-процессов Бизнес-процессы компании, подлежащие автоматизации, приведены в следующей таблице: Название...
-
Объект ориентированный класс программирование Цель Работы - изучить методику создания одномерных динамических символьных массивов при помощи...
-
Цель Работы - изучить основные способы работы с пользовательским типом данных "класс", его объектами, методами и способы доступа к ним. - Теоретические...
-
Все рассмотренные ранее диаграммы отражали концептуальные аспекты построения модели системы и относились к логическому уровню представления. Особенность...
-
ClassBase_Korabl {:Color;:_Korabl();Prorisovka(short x, short y); } В этом листинге в производном классе был переопределен метод Prorisovka() для...
-
Синтаксис объявления класса в языке С++ имеет следующий вид: Class<имя класса>: <спецификатор доступа><имя базового класса> { Элементы класса...
-
Подход NoSQL - Технологии больших данных: анализ и выбор решения для реализации проекта
Понятие NoSQL означает "Не только SQL" или "Не SQL". Термин получил известность, начиная с 2009 год, когда развитие интернет-технологий и социальных...
-
UML - унифицированный язык моделирования, призванный упростить построение больших информационных систем. Состоит из диаграмм, связей и сущностей....
-
Решение задачи на ЭВМ, Структура классов, Пример функционирования - Искусственный интеллект
Структура классов Класс Animat - это класс, представляющий анимата во внешней среде. На каждой итерации имитационного моделирования в качестве входных...
-
Запуск модели, Графики и диаграммы - Построение модели сердца
Щелкнув на кнопке запуска модели, после компиляции откроется окно презентации эксперимента. Запустив эксперимент, увидим структуру активного объекта:...
-
Эволюция языков программирования - Модульное и объектно-ориентированное программирование
Принцип программного управления компьютером состоит в том, что человек подает команды на логические схемы, которые управляют различными подсистемами...
Класс ассоциации, Агрегирование - Объектно-ориентированный подход и диаграммы классов в UML