ustify"> Основоположними елементами мови UML є сутності, відносини і діаграми.
Сутності - це абстракції, які є основними об'єктно-орієнтованими елементами мови. З їх допомогою можна створювати коректні моделі. У UML є чотири типи сутностей:
? структурні;
? поведінкові;
? группирующие;
? анотаційні.
Структурні сутності - це імена іменники в моделях на мові UML. Як правило, вони являють собою статичні частини моделі, відповідні концептуальним або фізичним елементам системи.
Існує сьомій різновидів структурних сутностей:
? Клас (class) - це опис сукупності об'єктів із загальними атрибутами, операціями відносинами і семантикою. Графічно клас зображується у вигляді прямокутника, в якому записані його ім'я, атрибути та операції;
? Інтерфейс (interface) - це сукупність операцій, які визначають певну службу (сервіс, набір послуг), які надає клас або компонент. На діаграмах інтерфейс зображується у вигляді кола, під яким вказується його ім'я. Інтерфейс дуже рідко існує сам по собі - зазвичай він приєднується до реалізовує його класу або компоненту;
? Кооперація (collaboration) визначає взаємодію, вона являє собою сукупність ролей та інших елементів, які, працюючи разом, виробляють деякий кооперативний ефект, що не зводиться до зазвичай сумі доданків. Графічно кооперація зображується у вигляді еліпса, який обмежується пунктиром, всередині зазвичай укладено тільки ім'я;
? Прецедент (use case) - це опис послідовності виконуваних системою дій, яка виробляє спостережуваний результат, значущий для якогось певного актора (actor). Графічно прецедент теж зображується у вигляді еліпса, тільки обмеженого безперервною лінією, зазвичай містить тільки його ім'я;
? Активним класом (active class) називається клас, об'єкти якого залучені в один або декілька процесів, або ниток (threads), і тому можуть ініціювати керуючий вплив. Графічно активний клас зображується також як і простий клас, але обмежується прямокутником, який малюється жирною лінією, і включає ім'я, атрибути та операції;
? Компонент (component) - це фізична замінна частина системи, яка відповідає деякому набору інтерфейсів і забезпечує його реалізацію. Графічно компонент зображується у вигляді прямокутника з вкладками, що містить зазвичай тільки ім'я;
? Вузол (node) - це елемент реальної (фізичної) системи, який існує під час функціонування програмного продукту і представляє собою деякий обчислювальний ресурс, зазвичай володіє як мінімум деяким об'ємом пам'яті, а часто ще й можливістю обробки. Графічно для зображення вузла використовується куб, зазвичай містить тільки ім'я вузла.
Поведінкові сутності (behavioral things) є динамічними складовими моделі UML. Це дієслова мови, вони описують поведінку моделі в часі і в просторі. Існує всього два основних типи поведінкових сутностей:
? Взаємодія (interaction) - це поведінка, суть якого полягає в обміні повідомленнями (messages) між об'єктами в рамках конкретного контексту для досягнення певної мети. За допомогою взаємодії можна описати як окрему операцію, так і поведінку сукупності об'єктів. Взаємодія передбачає ряд інших елементів, таких як повідомлення, послідовності дій (поведінка, ініційоване повідомленнями) та зв'язку (між об'єктами). Графічно повідомлення зображається у вигляді стрілки. Над якою майже завжди пишеться ім'я відповідної операції;
? Автомат (state machine) - алгоритм поведінки, що визначає послідовність станів, через які об'єкт або взаємодія проходять впродовж свого життєвого циклу у відповідь на різні події, а також реакції на ці події. За допомогою автоматів описуються поведінку окремого класу або кооперації класів. З автоматом пов'язаний ряд інших елементів: стану, переходи з одного стану в інший, події - сутності ініціюють переходи і види дій - реакція на переходи. Графічно стан зображується у вигляді прямокутника із закругленими кутами, що містить ім'я і, можливо, проміжні стани.
групуються суті є організуючими частинами моделі UML. Це блоки, на які можна розкласти модель. Така первинна сутність мається на єдиному екземплярі - це пакет.
Пакети (packages) представляють собою універсальний механізм організації елементів у групи. У пакет можна помістити структурні, поведінкові й інші группирующие сутності. На відміну від компонентів, які реально існують під час роботи програми, пакети носять чисто концептуальний характер, тобто існують тільки в процесі розробки. Для зображення пакету використовується піктограма папки із закладкою, що містить зазвичай тільки ім'я, але іноді і вміст....