
Кваліфікатор
Кваліфікатор(qualifier) оголошує розбиття множини асоційованих екземплярів відносно екземпляра на кваліфікованому кінці асоціації. Екземпляр кваліфікатора складається з одного значення для атрибуту кожного кваліфікатора. Якщо заданий деякий кваліфікований об’єкт та екземпляр кваліфікатора, число об’єктів на іншому кінці асоціації обмежується заявленною кратністю. У випадку, коли кратність 0..1, значення кваліфікатора являється унікальним відносно кваліфікованого об’єкта та позначає не більше одного асоційованого об’єкта. У випадку, коли кратність рівна 0..* множина асоційованих екземплярів розбивається на підмножини, кожна з яких відповідає заданому екземпляру кваліфікатора.
У випадку, коли кратність рівна 1 чи 0..1 кваліфікатор має наслідки як для семантики, так і для реалізації. У випадку, коли кратність рівна 0..*, це не має реальних семантичних наслідків, але пропонує реалізацію, яка повинна забезпечити простий доступ до множини асоційованих екземплярів, що зв’язані з даним значенням кваліфікатора.
Кваліфікатор зображається в формі маленького прямокутника, що приєднаний до кінця шляху асоціації між сегментом кінця шляху і символом класу, чи до стрілки композиції, що зображена в формі ромба. При цьому прямокутник кваліфікатора повинен бути меншим, ніж відповідний прямокутник класу, хочу це не завжди практично. Прямокутник кваліфікатора являється частиною шляху асоціації, але не частиною класу. Кваліфікатор приєднується до кінця асоціації джерела. Кратність, приєднана до кінця цілі, позначає можливі потужності множин екземплярів цілі, попарно вибрані від екземпляра джерела до значення кваліфікатора. Атрибути кваліфікатора зображаються в прямокутнику кваліфікатора, при цьому один чи більше атрибутів можуть бути зображені на одній лінії. Атрибути кваліфікатора мають таку ж нотацію, що і атрибути класа, за виключенням того, що вирази для початкового значення не мають сенсу. Кваліфікатор не може бути схованим.
Асоціація являється найбільш загальною формою відношення в мові UML 2.0. Практично усі інші типи відношення в мові UML 2.0 являються спеціальними випадками даного відношення. Ці відношення відносяться до базових понять мови UML 2.0, мають власну семантику та спеціальні позначення, що потребує самостійного розглядання.
Узагальнення
Узагальнення(generalization) – таксономічне відношення між більш загальним класифікатором(батьком) та більш спеціальним класифікатором(нащадком чи дочірнім).
Семантика відношення узагальненя означає, що кожен екземпляр спеціального класифікатора також являється екземпляром загального класифікатора. Тому характеристики, спеціфіковані для екземплярів загального класифікатора, являються неявно специфікованими для екземплярів спеціального класифікатора. В такому випадку кажуть, що спеціальний класифікатор успадковує характеристики більш загального класифікатора. Будь-яке обмеження, що накладається на екземпляри загального класифікатора, також застосовні до екземплярів спеціального класифікатора.
Відношення узагальнення являється напрямленим та може використовуватись для представлення ієрархічних взаємозв’язків між класами, варіантами використання та іншими елементами моделі, які являються класифікаторами в нотації мови UML 2.0.
Згідно одного з головних принципів методолгії ООАП – успадкуванню, клас-нащадок має всі властивості та поведінку класа-батька(предка), а також може мати додаткові властивості та поведінку, які відсутні у класа-батька(предка). Застосовно до діаграми класів, узагальнення забезпечує успадкування атрибутів та операцій класів і позначається неперервною лінією зі стрілкою в формі не замальованого(пустого) трикутника на одному зі своїх кінців. Стрілка вказує на загальний клас чи клас-предок, а її протилежний кінець – на спеціальний клас чи клас-нащадок.
Ієрархії узагальнення завжди повинні бути ациклічними. Іншими словами, класифікатор не може бути одночасно транзитивно загальним і транзитивно спеціальним класифікатором одного й того ж класифікатора. Невиконання цієї умови приводить до неузгодженої діаграми.
Узагальненя між асоціаціями можуть бути зображені з використанням стрілки узагальнення між символами асоціації. Узагальненя між асоціаціями краще зображати за допомогою лінії іншого кольору чи ширини, ніж та, яка використовується для асоціації.