Словник мови UML включає три види будівельних блоків:
- Сутності (предмети); - Відносини;
Основні графічні елементи:
Сутності – це абстракції, які є основними елементами моделі.
Відносини пов'язують різні сутності. Діаграма – це графічне уявлення безлічі сутностей. Зображується вона, найчастіше, як зв'язковий граф із вершин (сутностей) та дуг (стосунків).
Сутності є основними объектно–ориентированными блоками мови. З
їхньою допомогою можна створювати коректні моделі. Структурні сутності – це статичні частини моделі, відповідні концептуальним чи фізичним елементам системи. Існує сім різновидів структурних сутностей.
Клас (Class) – це опис сукупності об'єктів із загальними
атрибутами, операціями, стосунками та семантикою. Клас реалізує чи кілька інтерфейсів. Графічно клас зображується у вигляді прямокутника, в якому зазвичай записані його ім'я, атрибути та операції. Інтерфейс (Interface) – це сукупність операцій, які визначають сервіс (набір послуг), що надається класом чи компонентом. Таким чином, інтерфейс описує видиму ззовні поведінку елемента. Інтерфейс може представляти поведінку класу чи компонента повністю чи частково; він визначає лише специфікації операцій (сигнатури), але ніколи – їх реалізації. Графічно інтерфейс зображується як кола, під яким пишеться його ім'я, як показано на рис. 6.3. Інтерфейс рідко існує сам по собі - зазвичай він приєднується до реалізує його класу або компоненту.
Кооперація (Collaboration) визначає взаємодію; вона являє собою
сукупність ролей та інших елементів, які, працюючи спільно, справляють деякий кооперативний ефект, що не зводиться до простої суми доданків. Отже, кооперація має як структурний, так і поведінковий аспект. Один і той самий клас може брати участь у кількох коопераціях; таким чином, вони є реалізацією зразків поведінки, що формують систему. Графічно кооперація зображується у вигляді еліпса, зображеного пунктирною лінією, який зазвичай укладено тільки ім'я.
Варіант використання (Use case) – це опис послідовності
виконуваних системою дій, яка виробляє спостережуваний результат, значимий якогось певного актора (Actor). Варіанти використання реалізуються у вигляді кооперативних діаграм. Графічно варіант використання зображується у вигляді зображеного безперервною лінією еліпса, що зазвичай містить тільки його ім'я. Три інші сутності – активні класи, компоненти та вузли – подібні до класів: вони описують сукупності об'єктів із загальними атрибутами, операціями, відносинами та семантикою. Тим не менш, вони в достатній мірі відрізняються один від одного і від класів і, враховуючи їх важливість при моделюванні певних аспектів об'єктно-орієнтованих систем, заслуговують на спеціальний розгляд.
Активним класом (Active class) називається клас, об'єкти якого
залучені до одного чи кілька процесів, чи ниток (Threads), і тому можуть ініціювати керуючий вплив. Активний клас у всьому подібний до звичайного класу, за винятком того, що його об'єкти є елементами, діяльність яких здійснюється одночасно з діяльністю інших елементів. Графічно активний клас зображується так само, як простий клас, але прямокутник, що обмежує, малюється жирною лінією і зазвичай включає ім'я, атрибути і операції.
Два елементи, що залишилися - компоненти і вузли - також мають
свої особливості. Вони відповідають фізичним сутностям системи, тоді як п'ять попередніх – концептуальним та логічним сутностям.
Компонент (Component) – це фізична частина системи, що
замінюється, яка відповідає деякому набору інтерфейсів і забезпечує його реалізацію. У системі можна зустріти різні види встановлюваних компонентів, такі як СОМ+ або Java Beans, а також компоненти, що є артефактами процесу розробки, наприклад, файли вихідного коду. Компонент, як правило, є фізичною упаковкою логічних елементів, таких як класи, інтерфейси та кооперативні діаграми. Графічно компонент зображується у вигляді прямокутника з вкладками, що містить лише ім'я.
Вузол (Node) – це елемент реальної (фізичної) системи, який
існує під час функціонування програмного комплексу і є обчислювальним ресурсом, що зазвичай має як мінімум деякий обсяг пам'яті, а часто ще й здатність обробки. Сукупність компонентів може розміщуватись у вузлі, а також мігрувати з одного вузла на інший. Графічно вузол зображується у вигляді куба, що зазвичай містить лише ім'я. Існують також різновиди цих сутностей: актори, сигнали, утиліти (види класів), процеси та нитки (види активних класів), додатки, документи, файли, бібліотеки, сторінки та таблиці (види компонентів).
Поведінкові сутності (Behavioral things) є динамічними
компонентами моделі UML. Вони описують поведінку моделі у часі та просторі. Існує лише два основних типи поведінкових сутностей.
Взаємодія (Interaction) – це поведінка, суть якого полягає у
обміні повідомленнями (Messages) між об'єктами у межах конкретного контексту задля досягнення певної мети. З допомогою взаємодії південно описати як окрему операцію, і поведінка сукупності об'єктів. Взаємодія передбачає низку інших елементів, як-от повідомлення, послідовності дій (поведінка, ініційоване повідомленням) і зв'язку (між об'єктами). Графічно повідомлення зображуються у вигляді стрілки, над якою майже завжди пишеться ім'я відповідної операції.
Автомат (State machine) – це алгоритм поведінки, визначальний
послідовність станів, якими об'єкт чи взаємодія проходять протягом свого життєвого циклу у відповідь різні події, і навіть реакцію ці події. За допомогою автомата можна описати поведінку окремого класу чи кооперативної діаграми класів. З автоматом пов'язаний ряд інших елементів: стани, переходи (з одного стану в інший), події (сутності, переходи, що ініціюють) і види дій (реакція на перехід). Графічно стан зображується у вигляді прямокутника із закругленими кутами, що містить ім'я та, можливо, підстани.
Ці два елементи – взаємодії та автомати – є основними
поведінковими сутностями, що входять до моделі UML. Семантично вони часто бувають пов'язані з різними структурними елементами, насамперед – класами, коопераціями та об'єктами. Групуючі сутності є частинами моделі UML, що організують. Це блоки, куди можна розкласти модель. Є тільки одна первинна сутність, що групує, а саме пакет.
Пакети (Packages) є універсальний механізм організації елементів
групи. У пакет можна помістити структурні, поведінкові і навіть інші сутності, що групують. На відміну від компонентів, що існують під час роботи програми, пакети мають суто концептуальний характер, тобто існують лише під час розробки. Зображується пакет у вигляді папки із закладкою, що містить, як правило, лише ім'я та іноді – вміст.
Пакет – основний спосіб організації елементів моделі у мові UML.
Кожен пакет володіє всіма своїми елементами, т. е. тими елементами, які у нього. Про відповідні елементи пакета говорять, що вони належать пакету або входять до нього. При цьому кожен елемент може належати лише одному пакету. Одні пакети можуть бути вкладені в інші.
Підпакет (Subpackage) - пакет, який є складовою іншого пакета.
За визначенням, всі елементи підпакета належать і більш
загальному пакету. Тим самим для елементів моделі задається відношення вкладеності пакетів, яке є ієрархією.
Для графічного зображення пакетів на діаграмах застосовується
великий прямокутник із невеликим прямокутником, приєднаним до лівої частини верхньої сторони першого. Можна сміливо сказати, що візуально символ пакету нагадує піктограму папки у популярному графічному інтерфейсі. Всередині великого прямокутника може записуватися інформація, що стосується даного пакету. Якщо такої інформації немає, то всередині великого прямокутника записується ім'я пакета, яке має бути унікальним у межах моделі. Якщо така інформація є, то ім'я пакета записується у верхньому маленькому прямокутнику
Примітка (Note) – це символ для зображення коментарів або
обмежень, приєднаних до елемента або групи елементів. Графічно примітка зображується у вигляді прямокутника із загнутим краєм, що містить текстовий або графічний коментар. У мові UML визначено чотири типи відносин: - Залежність; - Асоціація; - Узагальнення; - Реалізація.
Ці відносини є основними сполучними будівельними блоками UML і
застосовуються для створення моделей.
Залежність (Dependency) – це семантичне відношення між двома
сутностями, у якому зміна однієї з них, незалежної, може вплинути на семантику іншою, залежною. Графічно залежність зображується у вигляді прямої пунктирної лінії, часто зі стрілкою, яка може містити мітку.
Асоціація (Association) - структурне відношення, що описує
сукупність зв'язків (з'єднання між об'єктами). Різновидом асоціації є агрегування (Aggregation), що визначає структурне відношення між цілим та його частинами. Графічно асоціація зображується у вигляді прямої лінії (іноді завершується стрілкою або містить мітку), поряд з якою можуть бути додаткові позначення, наприклад кратність та імена ролей.
Узагальнення (Generalization) – це ставлення
"спеціалізація/узагальнення", у якому об'єкт спеціалізованого елемента (нащадок) може бути підставлений замість об'єкта узагальненого елемента (батька чи предка). Таким чином, нащадок (Child) успадковує структуру та поведінку свого батька (Parent). Графічно відношення узагальнення зображується у вигляді лінії з незафарбованою стрілкою, що вказує на батька.
Реалізація (Realization) – це семантичне відношення між
класифікаторами, у якому один класифікатор визначає "контракт", а інший гарантує його виконання. Відносини реалізації зустрічаються у двох випадках: по-перше, між інтерфейсами та реалізуючими їх класами або компонентами, а по-друге, між прецедентами та реалізуючими їх коопераціями. Відношення реалізації зображується у вигляді пунктирної лінії з незафарбованою стрілкою, як щось середнє між відносинами узагальнення та залежності. 2.Охарактеризувати 5 редакторів, або програмних засобів, для створення UML діаграм.
1.Visual Paradigm — це повноцінна програма для моделювання UML.
Він поставляється у двох версіях: настільна версія, яка є засобом моделювання UML, та інтернет-версія, яка є інструментом для побудови діаграм.
Одна з програм, що найбільш широко використовуються для побудови
діаграм — Visual Paradigm. Visual Paradigm — ідеальне рішення, якщо вам потрібний базовий, але потужний і простий у використанні інструмент UML для задоволення потреб у побудові діаграм UML. Visual Paradigm має багато можливостей моделювання, що спрощують створення діаграм UML. Він поєднує базові інструменти з перевіркою синтаксису UML на льоту. Він також працює зі всіма типами діаграм UML. Його редактор діаграм послідовності є одним із найзручніших доступних редакторів. Visual Paradigm забезпечує вбудоване редагування для членів класу, а також інтегрований редактор діаграм послідовності, який є одночасно інтерактивним та простим у використанні. Visual Paradigm також має інтерфейс, який дозволяє створювати власні функції і форми відповідно до ваших вимог. 2. tarUML – інструмент моделювання програмного забезпечення з відкритим вихідним кодом. Це забезпечує одинадцять типів діаграм. StartUML 2 сумісний із версіями UML 2.x. Особливості:
Дозволяє створювати діаграми Obje3ct, Use case, Deployment,
Seque3nce, Communication, Activity та профілю. Дозволяє виявляти та встановлювати сторонні розширення. Працюйте з одним і тим же UX на кількох платформах, включаючи macOS, Windows та Linux. Немає обмежень щодо використання цього комерційного програмного забезпечення для оцінки. 3. Umbrello – інструмент моделювання UML. Працює під KDE та Linux. Інструмент також підтримує генерацію коду та реверс- інжиніринг для C++ та Java. Особливості:
Дозволяє створювати схеми програмного забезпечення та іншої
системи у стандартному форматі. Це допоможе вам перевірити скріншот, щоб побачити umbrello у дії. Пропонує посібник з навчання Umbrello та UML-моделювання.
4. Edraw Max – це програма для створення UML, яка допомагає вам
створювати діаграми з використанням готових символів і шаблонів. Це дозволяє імпортувати ваші малюнки у формати файлів, такі як PDF, PPT, Word, HTML тощо. Особливості:
Можна створити блок-схему, інтелектуальну карту, UML,
електричні схеми, мережеві діаграми тощо. Він пропонує зручний інтерфейс, схожий на MS Word. Edraw Max допоможе вам поділитися дизайном у будь-який час та в будь-якому місці. Цей інструмент надає понад 280 найновіших рішень для схем та діаграм.
5. Altova UModel – це ще один корисний інструмент UML, який
робить візуальний дизайн програмного забезпечення практичним для будь-якого проекту. Візуально проектуйте моделі програм у UML, які можуть бути згенеровані з використанням Java, C++, C# або Visual Basic. Особливості:
Інтуїтивне візуальне моделювання для всіх діаграм UML
Допоміжні вікна дозволяють будувати необхідні моделі. Це дозволяє додавати гіперпосилання до будь-якого елемента у будь-якій діаграмі UML. Ви можете призначити елемент певному шару, і шари можуть бути заблоковані, щоб запобігти змінам.