Що таке взаємозв'язок UML?
Відносини в UML використовуються для представлення зв'язку між структурними, поведінковими або групуючими речами. Його також називають посиланням, яке описує, як дві або більше речі можуть співвідноситися між собою під час виконання системи. Типом відносин UML є асоціація, залежність, узагальнення та реалізація.
Давайте вивчимо їх детально
- Асоціація
Це набір посилань, що з'єднує елементи моделі UML. Він також визначає, скільки об'єктів бере участь у цьому відношенні.
- Залежність
У відносинах залежності, як випливає з назви, два або більше елементів залежать один від одного. У таких відносинах, якщо ми вносимо зміни до певного елемента, то цілком можливо, що зміни спричинять і всі інші елементи.
- Узагальнення
Це ще називають стосунками батьків та дитини. Узагальнюючи, один елемент є спеціалізацією іншого загального компонента. Це може бути замінено ним. Він в основному використовується для представлення спадщини.
- Реалізація
У взаємозв'язку реалізації UML одна сутність позначає певну відповідальність, яка не реалізується сама по собі, а інша сутність, яка їх реалізує. Цей зв’язок здебільшого зустрічається у випадку інтерфейсів.
У цьому посібнику з UML ви дізнаєтесь:
- Асоціація
- Залежність
- Узагальнення
- Реалізація
- Склад
- Агрегація
Асоціація
Це структурні відносини, що представляють об'єкти, які можуть бути пов'язані або пов'язані з іншим об'єктом всередині системи. До відносин асоціації можуть бути застосовані наступні обмеження.
- {неявний} - неявні обмеження вказують, що відносини не є явними; вона базується на концепції.
- {упорядковано} - впорядковані обмеження вказують, що набір об'єктів на одному кінці асоціації є певним чином.
- {змінний} - змінне обмеження визначає, що зв’язок між різними об’єктами в системі може бути доданий, видалений та модифікований відповідно до вимоги.
- {addOnly} - визначає, що нові підключення можуть бути додані з об’єкта, який розташований на іншому кінці асоціації.
- {заморожений} - він вказує, що коли посилання додається між двома об'єктами, його не можна змінювати, поки заморожене обмеження активне для даного посилання або з'єднання.
Ми також можемо створити клас, що має властивості асоціації; це називається як клас асоціації.
Рефлексивна асоціація
Рефлексивна асоціація є підтипом відносин асоціації в UML. У рефлексивній асоціації екземпляри одного класу можуть бути пов’язані між собою. Екземпляр класу також називають об’єктом.
Рефлексивна асоціація стверджує, що посилання або з'єднання можуть бути присутніми в об'єктах одного класу.
Давайте розглянемо приклад класу фруктів. Клас фруктів має два екземпляри, наприклад, манго та яблуко. Рефлексивна асоціація стверджує, що зв'язок між манго та яблуком може бути присутньою, оскільки вони є екземплярами одного класу, наприклад фруктами.
Спрямована асоціація
Як випливає з назви, спрямована асоціація пов'язана з напрямком потоку в класах асоціацій.
У спрямованій асоціації спрямований потік. Асоціація від одного класу до іншого класу перетікає лише в одному напрямку.
Він позначається за допомогою суцільної лінії з наконечником стрілки.
Приклад:
Можна сказати, що між сервером і клієнтом існує взаємозв’язок спрямованої асоціації. Сервер може обробляти запити клієнта. Цей потік є односпрямованим, що переходить від сервера до клієнта. Отже, спрямовані взаємозв'язки можуть бути присутніми на серверах та клієнтах системи.
Залежність
Використовуючи залежність залежності в UML, можна сказати, як різні речі всередині певної системи залежать одна від одної. Залежність використовується для опису взаємозв'язку між різними елементами в UML, які залежать один від одного.
Стереотипи
- «Прив'язка» - прив'язка - це обмеження, яке вказує, що джерело може ініціалізувати шаблон у цільовому розташуванні, використовуючи надані параметри або значення.
- «Вивести» - це означає, що місце розташування вихідного об’єкта можна обчислити за цільовим об’єктом.
- «Друг» - вказує, що джерело має унікальну видимість у цільовому об’єкті.
- «InstanceOf» - вказує, що екземпляр цільового класифікатора є вихідним об’єктом.
- «Екземпляр» - вказує, що вихідний об'єкт здатний створювати екземпляри цільового об'єкта.
- «Уточнити» - вказується, що вихідний об’єкт має виняткову абстракцію, ніж цільовий об’єкт.
- «Використання» - використовується, коли пакунки створюються в UML. Стереотип використання описує, що елементи вихідного пакету також можуть бути присутніми в цільовому пакеті. Він описує, що вихідний пакет використовує деякі елементи цільового пакету.
- «Заміна» - вказує, що клієнт може замінити постачальника під час виконання.
- «Доступ» - вказує, що вихідний пакет має доступ до елементів цільового пакету, який також називається приватним злиттям.
- «Імпорт» - він вказує, що ціль може імпортувати елемент вихідного пакету, як вони визначені всередині цілі, що також називається загальнодоступним злиттям.
- «Дозвіл» - вказує, що елемент джерела має доступ до елемента постачальника незалежно від заявленої видимості постачальника.
- «Розширити» - допомагає вказати, що ціль може розширити поведінку вихідного елемента.
- «Включити» - дозволяє вказати вихідний елемент, до якого можна включити поведінку іншого елемента у вказаному місці. (те саме, що виклик функції в c / c ++)
- «Стати» - вказується, що ціль схожа на джерело з різними значеннями та ролями.
- «Виклик» - вказує, що джерело може викликати метод цільового об'єкта.
- «Копія» - вказує, що цільовий об'єкт є незалежним, копія вихідного об'єкта.
- «Параметр» - постачальник є параметром операцій клієнта .
- «Відправити» - клієнт - це операція, яка надсилає постачальнику якусь невизначену ціль.
Стереотипи серед державної машини
- «Відправити» - вказує, що вихідна операція надсилає цільову подію.
Узагальнення
Це взаємозв'язок між загальною сутністю та унікальною сутністю, яка присутня всередині системи.
У відносинах узагальнення може бути реалізована об’єктно-орієнтована концепція, яка називається успадкуванням . Існує зв’язок узагальнення між двома об’єктами, які також називаються сутностями або речами. У відносинах узагальнення одна сутність є батьком, а інша - як дитина. Ці сутності можуть бути представлені за допомогою успадкування.
Під час успадкування дочірній організм будь-якого з батьків може отримати доступ, оновити або успадкувати функціональність, визначену всередині батьківського об'єкта. Дочірній об'єкт може додати до себе свою функціональність, а також успадкувати структуру та поведінку батьківського об'єкта.
Цей тип відносин у сукупності відомий як узагальнюючі відносини.
Стереотипи та їх обмеження
- «Реалізація» - Цей стереотип використовується для представлення того, що дочірній об’єкт реалізується батьківським об’єктом шляхом успадкування структури та поведінки батьківського об’єкта без порушення правил. Примітка. Цей стереотип, якщо він широко використовується в окремому спадкуванні .
Відносини узагальнення містять такі обмеження, як повна, неповна, щоб перевірити, чи всі дочірні сутності включаються у зв’язок чи ні.
Реалізація
У взаємозв'язку реалізації UML одна сутність позначає певну відповідальність, яка не реалізується сама по собі, а інша сутність, яка їх реалізує. Цей зв’язок здебільшого зустрічається у випадку інтерфейсів.
Реалізація може бути представлена двома способами:
- Використання канонічної форми
- Використання вилученої форми
На наведеній вище схемі бізнес-правила облікового запису реалізують інтерфейс IRuleAgent.
Види реалізації:
- Канонічна форма
У взаємозв'язку реалізації UML канонічна форма використовується для реалізації інтерфейсів у системі. Він використовує стереотип інтерфейсу для створення інтерфейсу, а взаємозв'язок реалізації використовується для реалізації конкретного інтерфейсу.
У канонічній формі співвідношення реалізації позначається за допомогою пунктирної спрямованої лінії із значним відкритим наконечником стрілки.
На наведеній вище схемі інтерфейс Iruleagent реалізований за допомогою об’єкта, який називається Правилами ведення рахунків.
- Вилучена форма
Реалізація на діаграмі класів UML також може бути показана за допомогою вилученої форми. У вилученій формі інтерфейс позначається за допомогою кола, яке також називається позначенням льодяника.
Цей інтерфейс, реалізований за допомогою будь-чого, що присутнє всередині системи, створює вилучену структуру.
На наведеній вище схемі інтерфейс Iruleagent позначається за допомогою вилученої форми, яка реалізується acctrule.dll.
Склад
Це не стандартне співвідношення UML, але воно все ще використовується в різних додатках.
Складене агрегування - це підвид відносин агрегування з характеристиками як:
- це двостороння асоціація між об’єктами.
- Це цілі / часткові стосунки.
- Якщо композит видалено, усі інші пов'язані з ним частини видаляються.
Складене агрегування описується як бінарна асоціація, прикрашена заповненим чорним діамантом на кінці заповнювача (цілому).
Папка - це структура, яка містить у собі n кількість файлів. Папка використовується для зберігання файлів усередині неї. Кожна папка може бути пов'язана з будь-якою кількістю файлів. У комп’ютерній системі кожен окремий файл є частиною принаймні однієї папки всередині системи організації файлів. Той самий файл також може бути частиною іншої папки, але це не обов'язково. Щоразу, коли файл видаляється з папки, папка залишається незахищеною, тоді як дані, пов’язані з цим конкретним файлом, знищуються. Якщо операція видалення виконується в папці, це також впливає на всі файли, що знаходяться всередині папки. Усі файли, пов’язані з папкою, автоматично знищуються після видалення папки із системи.
Цей тип відносин в UML відомий за складеними відносинами агрегування.
Агрегація
Агрегація - це підтип відносин асоціації в UML. Агрегація та склад - це обидва типи відносин асоціації в UML. Зв'язок агрегування можна описати простими словами як "об'єкт одного класу може володіти об'єктами іншого класу або отримувати до них доступ".
У відносинах агрегування залежний об'єкт залишається в області відносин, навіть коли вихідний об'єкт знищений.
Давайте розглянемо приклад автомобіля та колеса. Автомобіль потребує колеса для правильної роботи, але колесо не завжди потребує автомобіля. Він також може використовуватися з велосипедом, велосипедом або будь-яким іншим транспортним засобом, але не з певним автомобілем. Тут об’єкт колеса має значення навіть без об’єкта автомобіля. Такий тип відносин називається агрегаційним відношенням.
Резюме
- Взаємозв'язок в UML дозволяє одне пов'язати з іншими речами всередині системи.
- Асоціація, залежність, узагальнення та взаємозв'язок визначаються UML.
- Відношення композиції також може використовуватися для представлення того, що об’єкт може бути частиною лише одного композиту одночасно.
- Асоціація використовується для опису того, що один об’єкт може бути пов’язаний з іншим об’єктом.
- Залежність означає, що об'єкти можуть бути залежними один від одного.
- Реалізація - це значущий зв’язок між класифікаторами.
- Узагальнення також називають відносинами батьків і дітей.