В процессе разработки различные классы программного обеспечения взаимодействуют между собой через различные отношения: 3
- Отношение зависимости. 3 Используется, когда изменение одного элемента модели может потребовать изменения другого зависимого от него элемента модели. 3 Графически изображается пунктирной линией между соответствующими элементами со стрелкой на одном из её концов («→» или «←»). 3
- Отношение ассоциации. 3 Обозначается сплошной линией с дополнительными специальными символами, которые характеризуют отдельные свойства конкретной ассоциации. 3 Например, имя ассоциации, а также имена и кратность классов-ролей ассоциации. 3
- Отношение агрегации. 3 Имеет место между несколькими классами в том случае, если один из классов представляет собой некоторую сущность, включающую в себя в качестве составных частей другие сущности. 3 Примером отношения агрегации может служить деление персонального компьютера на составные части: системный блок, монитор, клавиатуру и мышь. 3
- Отношение композиции. 3 Служит для описания специальной формы отношения «часть—целое», при которой составляющие части в некотором смысле находятся внутри целого. 3 Пример отношения композиции — окно интерфейса программы, которое может состоять из строки заголовка, кнопок управления размером, полос прокрутки, главного меню, рабочей области и строки состояния. 3
- Отношение обобщения. 3 Является отношением между более общим элементом (родителем или предком) и более частным или специальным элементом (дочерним или потомком). 3 Применительно к диаграмме классов данное отношение описывает иерархическое строение классов и наследование их свойств и поведения. 3
Также взаимодействие программных объектов в системе осуществляется путём передачи сообщений. 4