Меню Закрити

Тема 4.3 Базові терміни та нотація.

Базові терміни та нотація

UML створена для візуального моделювання систем на основі об’єктно-орієнтованого підходу. Ця мова створювалася для оптимізації процесу розроблення програмних систем, що дозволяє збільшити ефективність їх реалізації у кілька разів і помітно поліпшити якість кінцевого продукту. Вона дозволяє будувати моделі для усіх фаз ЖЦ ПЗ.

Мова була створена як результат «війни методів» моделювання у 1995 р. та увібрала у себе риси нотацій Грейді Буча (Grady Booch), Джеймса Рамбо (James Rumbaugh), Айвара Якобсона (Ivar Jacobson) і багатьох інших (рис.23). З 1997 р. розробленням мови займається консорціум OMG (Object Management Group), створений у 1989 році для розроблення індустріальних стандартів з їх наступним використанням у процесі створення масштабованих неоднорідних розподілених об’єктних середовищ.

Рисунок 22 – Історія розвитку об’єктно-орієнтованих методів

(джерело – http://commons.wikimedia.org/wiki/File:OO- historie.jpg)

Універсальність UML підтверджує її широке застосування, особливо у галузі створення програмних систем та затвердження у 2005 р. версії UML 1.4.2 як стандарту ISO/IEC 19501:2005. Найновіша стабільна версія мови UML

Моделювання за допомогою мови UML грунтується на таких принципах:

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

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

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

Елементи (класифікатори) мови UML можна поділити на три групи (рис.23).

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

  • Структурні сутності – це іменники в моделях UML. Як правило, вони є статичними частинами моделей, які відповідають концептуальним або фізичним елементам системи. Існує сім різновидів структурних сутностей: Клас (Class), Інтерфейс (Interface), Кооперація (Collaboration), Варіант використання/Прецедент (Use case), Активний клас (Active class), Компонент (Component), Вузол (Node).

Рисунок 23 – Класифікатори мови UML

  • Поведінкові сутності є динамічними складовими моделі UML, які описують поведінку моделі в часі і просторі. Це дієслова мови. Існують два основних типи поведінкових сутностей: Взаємодія (Interaction) та Автомат (State).
  • Сутності групування є організуючими частинами моделі UML. Це блоки, на які можна розкласти модель. Первинна сутність групування – пакет (Package).
  • Сутності-примітки – пояснювальні частини моделі UML. Це коментарі  для  додаткового  опису,  роз’яснення  або зауваження до будь-якого елемента моделі. Є тільки один базовий тип анотаційних елементів – примітка (Note).

Для зв’язування сутностей у моделях UML визначено чотири типи відносин (рис.24):

Залежність (dependency) – це семантичне відношення між двома сутностями, при якому зміна однієї з них, незалежної, може вплинути на семантику іншої, залежної.

 Асоціація (association) – структурне відношення, що описує сукупність змістовних або логічних зв’язків між об’єктами.

 Узагальнення (generalization) – це відношення, при якому об’єкт-нащадок (child) може бути підставлений замість об’єкта-батька (parent). При цьому відповідно до принципів об’єктно-орієнтованого програмування нащадок успадковує структуру і поведінку свого батька.

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

між інтерфейсами, реалізують класами або компонентами;

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

Усі різновиди сутностей та відносини UML в діаграмах мають свій спосіб графічного зображення (рис.25, 26).

В UML використовуються 13 діаграм [29], які поділені на дві основні групи (рис.27):

 структурні діаграми (Structure Diagrams) моделі, призначені для опису статичної структури сутностей або елементів системи, включаючи їх класи, інтерфейси, атрибути та відношення;

 діаграми поведінки (Behavior Diagrams) – моделі, призначені для опису процесу функціонування елементів системи, включаючи їх методи та взаємодію між ними, а також процес зміни станів окремих елементів та системи в цілому.

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

Рисунок 25 – Нотація сутностей мови UML

Рисунок 26 – Діаграми мови UML