UML (Unified Modelling Language) - уніфікована мова моделювання графічного опису
для об'єктного моделювання в області розробки ПЗ. Це відкритий стандарт, який
використовує графічні позначення для створення абстрактної моделі системи, а
також для визначення, візуалізації, конструювання і документування артефактів
програмних систем.
UML не є мовою програмування, але на основі UML-моделей може бути згенерований
програмний код.
UML використовується не тільки в розробці ПЗ, а ще й в моделюванні економічних
та ділових процесів та відображенні організаційних структур.
UML дозволяє розробникам ПЗ дійти згоди в графічних позначеннях для
представлення загальних понять, таких як клас, компонент, узагальнення,
агрегація, поведінка, та більше сконцентруватись на проектуванні та архітеркурі
проекту.
До UML входять такі види діаграм, як:
- діаграма класів
- діаграма компонентів
- діаграма прецедентів
- діаграма послідовностей
- діаграма об'єктів
та ін.
Діаграма класів — статичне представлення структури моделі. Відображає статичні
(декларативні) елементи, такі як: класи, типи даних, їх зміст та відношення.
Діаграма компонент відображає залежності між компонентами програмного
забезпечення, включаючи компоненти вихідних кодів, бінарні компоненти, та
компоненти, що можуть виконуватись.
Діаграма прецедентів — в UML, діаграма, на якій зображено відношення між
акторами та прецедентами в системі, діаграма варіантів використання системи.
Діаграма послідовності — в UML, діаграма послідовності відображає взаємодії
об'єктів впорядкованих за часом. Зокрема, такі діаграми відображають задіяні
об'єкти та послідовність відправлених повідомлень.
Діаграма об'єктів — в UML, діаграма, що відображає об'єкти та їх зв'язки в
певний момент часу. Діаграма об'єктів може розглядатись як окремий випадок
діаграми класів, на якій можуть бути представлені як класи, так і екземпляри
(об'єкти) класів.
Переваги:
- UML об'єктно-орієнтовна мова, тому методи опису результатів аналізу і
проектування семантично близькі до методів програмування на сучасних об'єктно-
орієнтовних мовах.
- UML дозволяє описати систему практично зі всіх можливих точок зору і за різних
аспектів поведінки
- Діаграми UML порівняно прості для читання після достанньо швидкого
ознайомлення із синтаксисом мови
- UML розширює і дозволяє вводити особисті текстові і графічні елементи
- UML дозволяє дійти порозуміння між усіма членами групи розробників і на усіх
етапах проектування та розробки системи
- UML широко розповсюджена і розвивається.
Недоліки:
- Надмірна. Включає в себе багато діаграм і конструкцій, які не використовуються
на практиці.
- Неточна і візуально неоднорідна. Має мало конктретних визначень і може
трактуватись неоднозначно.
- Занадто розширена. Намагається бути придатною до застосування для багатьох
галузей розробки.