Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Відношення на діаграмі варіантів та використанн...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
97.79 Кб
Скачать

Відношення розширення

Відношення розширення в мові UML 2.0 також являється окремим випадком загального відношення залежності між двома варіантами використання.

Відношення розширення(extend) визначає взаємозв’язок одного варіанта використання з деяким іншим варіантом використання, функціональність чи поведінка якого задіяна першим не завжди, а тільки при виконанні деяких додаткових умов.

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

Графічно дане відношення зображається як відношення залежності в формі пунктирної лінії з “V”-образною стрілкою, напрямленою від залежного варіанта використання до незалежного варіанта використання і з’єднанною з ним в так називаємій точці розширення(extension point). При цьому залежний варіант використання у відношенні розширення називається розширяючим, а незалежний – базовим чи розширяємим варіантом використання. Лінія зі стрілкою обов’язково помічається ключевим словом <<extend>>, яке записується в формі стереотипу.

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

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

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

Якщо ж логічна умова першої точки розширення не виконується, вихідна послідовність дій базового варіанту використання не призупиняється і продовжує виконуватися або до свого закінчення, або до наступної точки розширення. При наявності інших точок розширення у базового варіанта використання виконується послідовна перевікра відповідних умов з аналогічними наслідками, а у випадку їх відсутності – базовий варіант використання виконується до свого завершення, без будь-якого переривання.

(Логічна умова в кожній точці розширення перевіряється лише один раз – в момент першого посилання на відповідну точку розширення при виконанні послідовності дій базового варіанту використання.)

В загальному випадку точка розширення ідентифікує точку в поведінці базового варіанта використання, в якій його поведінка може бути розширена поведінкою розширюючого варіанта використання, як це визначено у відношенні розширення. Формально точка розширення може мати деяке ім’я, яке повинно бути унікальним в базовому варіанті використання. При цьому точка розширення являється посиланням на місцеположення в варіанті використання, в яке повинно бути вставлено поведінка розширюючого варіанту використання. Саме пояснення, яке являється не обов’язковим, може бути будь-яким неформальним текстом чи більш точною специфікацією точки розширення в базовому варіанті використання в формі структурованого тексту.

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