Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Связи на диаграмме классов



Связь представляет собой семантическую взаимосвязь между классами. Она позволяет классу узна­вать об атрибутах, операциях и связях другого класса. Существуют четыре типа связей, которые могут быть установлены между классами: ассоциации, зави­симости, агрегации и обобщения.

Ассоциация (association) — это семантическая связь между классами. Ее рисуют на диаграмме клас­сов в виде обыкновенной линии. После того как классы связали ассоциацией, они могут передавать друг другу сообщения на диа­грамме последовательности или кооперативной диаграмме. Ассоциации могут быть двунаправлен­ными или однонаправленными. На языке UML двунаправленные ассоциации изображают в виде простой линии без стрелок или со стрелками с обеих сторон. На однонаправленной ассоциации ставят только одну стрелку, показывающую направление связи. После определения ассоциации Rose помещает в классы соответствующие дополнительные атри­буты.

Связь зависимости (dependency) также отражает связь между классами, но делает это несколько ина­че. Зависимости всегда однонаправленные, они показывают, что один класс зависит от определений, сделанных в другом. Специальные атрибуты для классов, связанных зависимостью, не создаются. Зависимости изображают в виде стрелки, проведенной пунк­тирной линией.

Агрегация (aggregation) представляет собой более тесную форму ассоциации. Агрегация — это связь между целым и его частями. Агрегацию изображают в виде линии с незакрашенным ромбиком у класса, являющегося целым.

Отношение композиции является частным случаем отношения агрегации. Это отношение служит для выделения специальной формы отношения «часть-целое», при которой части не могут выступать в отрыве от целого, т.е. с уничтожением целого уничтожаются и все его составные части. Графически отношение композиции изображается сплошной линией, один из концов которой представляет собой закрашенный внутри ромб. Этот ромб указывает на тот из классов, который является классом-композицией или «целым».

С помощью обобщений (generalization) показывают связи наследования между двумя классами. На языке UML связь наследования называют обобщением и изображают в виде соответствующей стрелки от класса-потомка к классу-предку.

Зависимости можно устанавливать не только между классами, но и между пакетами. Фактически, это единственный тип связей, существующий между пакетами. Как и в случае классов, зависимость между пакетами изображают пунктирной линией. Зависимости определяют возможность повторного использования пакетов. Зависимости между пакетами можно обнаружить, исследуя связи на диаграмме классов. Если два класса из различных пакетов связаны, эти пакеты также связаны. Создавая зависимости между пакетами, старайтесь избегать циклических за­висимостей.

До начала генерации кода необходимо указать также множественность связи, иначе будут заданы значения по умолчанию. Множественность (multiplicity) показывает, сколько экземпляров одного класса взаимодействуют с помощью связи с одним экземпляром другого класса в данный момент времени. Ее индикаторы устанавливаются на обоих концах линии связи. Значение множественности позволяет понять, является ли данная связь обязательной.

Как и другим элементам модели, связям разрешается назначать стереотипы. Они применяются для классификации связей. Стереотипы пишут вдоль линии связи в двойных угловых скобках.





Дата публикования: 2014-11-03; Прочитано: 892 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...