русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Відношення агрегації


Дата додавання: 2014-10-07; переглядів: 2046.


Відношення агрегації має місце між декількома класами в тому випадку, якщо один із класів являє собою деяку сутність, що включає в себе як складені частини інші сутності.

Дане відношення має фундаментальне значення для опису структури складних систем, оскільки застосовується для подання системних взаємозв'язків типу " частина-ціле". Розкриваючи внутрішню структуру системи, відношення агрегації показує, з яких компонентів складається система і як вони зв'язані між собою. З погляду моделі окремі частини системи можуть виступати як у вигляді елементів, так і у вигляді підсистем, які, у свою чергу, теж можуть утворювати складені компоненти або підсистеми. Це відношення по своїй суті описує декомпозицію або розбивку складної системи на більше прості складові частини, які також можуть бути піддані декомпозиції, якщо в цьому виникне необхідність надалі.

У зв'язку з розглядом даного відношення цілком доречно згадати про спеціальний термін "агрегат", що служить для позначення технічної системи, що складає із взаємодіючих складових частин або підсистем. Ця аналогія не випадкова й може служити для більше наочного розуміння суті розглянутого відношення.

Очевидно, що розглянуте в такому аспекті розподіл системи на складові частини являє собою деяку ієрархію її компонентів, однак дана ієрархія принципово відрізняється від ієрархії, породжуваної відношенням узагальнення. Відмінність полягає в тім, що частини системи ніяк не зобов'язані успадковувати її властивості й поводження, оскільки є цілком самостійними сутностями. Більше того, частини цілого мають свої власні атрибути й операції, які істотно відрізняються від атрибутів і операцій цілого.

Як приклад відносини агрегації розглянемо взаємозв'язок типу " частина-ціле", що має місце між сутністю "Вантажний автомобіль" і такими компонентами, як "Двигун", "Шасі", "Кабіна", "Кузов". Не претендуючи на точну відповідність термінології даної предметної області, неважко уявити собі, що вантажний автомобіль складається із двигуна, шасі, кабіни й кузови. Саме це відношення між класом "Вантажний_автомобіль" і класами "Двигун", "Шасі", "Кабіна", "Кузов" описує відношення агрегації.

Графічно відношення агрегації зображується суцільною лінією, один з кінців якої являє собою незафарбований усередині ромб. Цей ромб указує на той із класів, що являє собою "ціле". Інші класи є його "частинами".

Ще одним прикладом відносини агрегації може служити відоме кожному із читачів розподіл персонального комп'ютера на складові частини: системний блок, монітор, клавіатуру й мишу. Використовуючи позначення мови UML, компонентний состав ПК можна представити у вигляді відповідної діаграми класів (мал. 5.9), що у цьому випадку ілюструє відношення агрегації.


<== попередня лекція | наступна лекція ==>
Відношення асоціації | Відношення композиції


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн