Лабораторна робота № 7. Дослідження структури та умов використання методології UML. Моделі стану та взаємодії

 

Мета роботи:

Розглянути визначення бізнес-процесу та спосіб його опису за допомогою методології UML. Навчитися розробляти задачі у вигляді бізнес-процесу, описаного за методологією UML. Розглядається моделювання поведінки, а саме модель та діаграма взаємодії та станів.

Результати навчання:

Досліджувати, розробляти і супроводжувати системи та засоби інформаційної безпеки та/або кібербезпеки на об’єктах інформаційної діяльності та критичної інфраструктури.

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

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

 

1.     Теоретичний матеріал

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

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

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

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

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

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

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

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

Варіанти використання та діючі особи в UML зображуються, як показано на рисунку 7.1.

Рисунок 7.1 – Приклад зображення варіанта використання та діючій особи

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

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

Діючі особи зображуються у вигляді людських фігурок. Можна вводити загальні типи діючих осіб, такі як Customer, і спеціалізувати їх (наприклад, створити різновид CommercialCustomer – комерційний клієнт), визначивши зв'язок узагальнення.

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

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

На наступному рисунку показано, що реалізацію варіанту використання можна специфікувати явно через кооперацію.

Для організації варіантів використання їх групують в пакети так само, як класи. Крім того, можна організувати варіанти використання, визначивши між ними зв'язки узагальнення, включення та розширення.

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

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

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

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

Базовий варіант використання можна розширити лише викликом з певної точки, – так званої точки розширення (extension point). Щоб наочно представити ситуацію, можна уявити, що розширюючий варіант використання «заштовхує» поведінку в базовий. Зв'язок розширення зображується як залежність зі стереотипом extend. У додатковій секції можна перерахувати точки розширення базового варіанту використання. Ці точки розширення – прості мітки, які можуть з'являтися в потоці базового варіанту використання.

Щоб змоделювати поведінку елемента, необхідно:

1. Ідентифікувати діючі особи, які взаємодіють з елементом. Кандидати на включення в цю групу - ті, хто потребує певної поведінки елемента для виконання своїх власних завдань, або ті, хто прямо або побічно задіяно у функціонуванні елементу.

2. Організувати діючі особи, визначивши загальні і більш спеціалізовані ролі.

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

4. Розглянути виняткові шляхи взаємодії кожної діючої особи з елементом.

5. Організувати поведінку, виявлену на етапах 3 та 4, у вигляді варіантів використання, застосовуючи зв'язки включення та розширення, щоб виділити загальну поведінку і відокремити виняткове.

 

2.     Завдання до лабораторної роботи №7

Для одного з описаних класів або обраної задачі з лабораторного заняття №6 створити діаграму варіантів використання методології UML.