Ноу Інти, лекція, елементи графічної нотації діаграми варіантів використання

Відносини на діаграмі варіантів використання

Ставлення (relationship) - семантична зв'язок між окремими елементами моделі.

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

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

В UML є кілька стандартних видів відносин між акторами і варіантами використання:

  • асоціації (association relationship)
  • включення (include relationship)
  • розширення (extend relationship)
  • узагальнення (generalization relationship)

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

Ставлення асоціації - одне з фундаментальних понять в мові UML і в тій чи іншій мірі використовується при побудові всіх графічних моделей систем у формі канонічних діаграм. Стосовно діаграм варіантів використання асоціація служить для позначення специфічної ролі актора при його взаємодії з окремим варіантом використання. Іншими словами, асоціація специфікує семантичні особливості взаємодії акторів і варіантів використання в графічній моделі системи. На діаграмі варіантів використання. так само як і на інших діаграмах, ставлення асоціації позначається суцільною лінією між актором і варіантом використання. Ця лінія може мати деякі додаткові позначення, наприклад, ім'я та кратність (рис. 3.3).


Мал. 3.3. Приклад графічного представлення відношення асоціації між актором і варіантом використання

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

Включення (include) в мові UML - це різновид відносини залежності між базовим варіантом використання і його спеціальним випадком. При цьому ставленням залежності (dependency) є таке відношення між двома елементами моделі, при якому зміна одного елемента (незалежного) призводить до зміни іншого елемента (залежного).

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

Так, наприклад, відношення включення. спрямоване від варіанту використання "Надання кредиту в банку" до варіанту використання "Перевірка платоспроможності клієнта", вказує на те, що кожен екземпляр першого варіанту використання завжди включає в себе функціональне поведінка або виконання другого варіанту використання. У цьому сенсі поведінка другого варіанту використання є частиною поведінки першого варіанту використання на даній діаграмі. Графічно дане відношення позначається як відношення залежності у формі пунктирною лінії зі стрілкою, спрямованої від базового варіанту використання до такого, що включається варіанту використання. При цьому дана лінія позначається стереотипом <>. як показано на рис. 3.4.


Мал. 3.4. Приклад графічного зображення відносини включення між варіантами використання

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

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

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

У мові UML відношення розширення є залежністю, спрямованої до базового варіанту використання і з'єднаної з ним в так званій точці розширення. Ставлення розширення між варіантами використання позначається як відношення залежності у формі пунктирною лінії зі стрілкою, спрямованої від того варіанту використання. який є розширенням для базового варіанту використання. Дана лінія зі стрілкою повинна бути позначена стереотипом <>. як показано на рис. 3.5.


Мал. 3.5. Приклад графічного зображення відносини розширення між варіантами використання

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

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

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

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

Графічно відношення узагальнення позначається суцільною лінією зі стрілкою в формі незафарбовані трикутника, яка вказує на батьківський варіант використання (рис. 3.6). Ця лінія зі стрілкою має спеціальну назву - стрілка-узагальнення.


Мал. 3.6. Приклад графічного зображення відносини узагальнення між варіантами використання

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

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