Концептуальна модель uml

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

- основні будівельні блоки мови;

- правила їх поєднання;

- деякі загальні для всієї мови механізми.

Словник мови UML включає три види будівельних блоків:

Суті - це абстракції, які є основними елементами моделі. Відносини пов'язують різні сутності; діаграми групують представляють інтерес сукупності сутностей.

В UML є чотири типи сутностей:

Суті є основними об'єктно-орієнтованими блоками мови. З їх допомогою можна створювати коректні моделі.

Структурні суті - це імена іменники в моделях на мові UML. Як правило, вони представляють собою статичні частини моделі, відповідні концептуальним або фізичним елементам системи. Існує кілька різновидів структурних сутностей.

Клас (Class) - це опис сукупності об'єктів із загальними атрибутами, операціями, відносинами і семантикою. Клас реалізує один або кілька інтерфейсів. Графічно клас зображується у вигляді прямокутника. в якому зазвичай записані його ім'я, атрибути і операції, як показано на малюнку.

Інтерфейс (Interface) - це сукупність операцій, які визначають сервіс (набір послуг), що надається класом або компонентом. Таким чином, інтерфейс описує видиме ззовні поведінку елемента. Інтерфейс може представляти поведінку класу або компонента повністю або частково; він визначає тільки специфікації операцій (сигнатури), але ніколи - їх реалізації. Графічно інтерфейс зображується у вигляді кола. під яким пишеться його ім'я, як показано на малюнку. Інтерфейс рідко існує сам по собі - зазвичай він приєднується до реалізує його класу або компоненту.

Кооперація (Collaboration) визначає взаємодію; вона являє собою сукупність ролей і інших елементів, які, працюючи спільно, роблять деякий кооперативний ефект, що не зводиться до простої суми доданків. Кооперація, отже, має як структурний, так і поведінковий аспект. Один і той же клас може брати участь в декількох коопераціях; таким чином, вони є реалізацією зразків поведінки. формують систему. Графічно кооперація зображується у вигляді еліпса. обмеженого пунктирною лінією, в який зазвичай укладено тільки ім'я, як показано на малюнку.

Прецедент (Use case) - це опис послідовності виконуваних системою дій, яка виробляє спостережуваний результат, значимий для якогось певного актора (Actor). Прецедент застосовується для структурування поведінкових сутностей моделі. Прецеденти реалізуються за допомогою кооперації. Графічно прецедент зображується у вигляді обмеженого безперервної лінією еліпса. зазвичай містить лише його ім'я, як показано на малюнку.

Компонент (Component) - це фізична замінна частина системи, яка відповідає деякому набору інтерфейсів і забезпечує його реалізацію. В системі можна зустріти різні види встановлюваних компонентів, такі як СОМ + або Java Beans, а також компоненти, які є артефактами процесу розробки, наприклад файли вихідного коду. Компонент, як правило, являє собою фізичну упаковку логічних елементів, таких як класи, інтерфейси і кооперації. Графічно компонент зображується у вигляді прямокутника з вкладками. що містить зазвичай тільки ім'я, як показано на малюнку. Компонентподобен класу: він описує сукупність об'єктів із загальними атрибутами, операціями, відносинами і семантикою.

Етібазовие елементи - класи, інтерфейси, кооперації, прецеденти і компоненти - є основними структурними сутностями, які можуть бути включені в модель UML Існують також різновиди цих сутностей: актори, сигнали, утиліти (види класів), процеси і нитки (види активних класів), додатки. документи. файли. бібліотеки. сторінки і таблиці (види компонентів).

Поведінкові суті (Behavioral things) є динамічними складовими моделі UML. Це дієслова мови: вони описують поведінку моделі в часі і просторі. Існує всього два основних типи поведінкових сутностей.

Взаємодія (Interaction) - це поведінка, суть якого полягає в обміні повідомленнями (Messages) між об'єктами в рамках конкретного контексту для досягнення певної мети. За допомогою взаємодії можна описати як окрему операцію, так і поведінку сукупності об'єктів. Взаємодія передбачає ряд інших елементів, таких як повідомлення, послідовності дій (поведінка, ініційоване повідомленням) і зв'язку (між об'єктами). Графічно повідомлення зображуються у вигляді стрілки. над якою майже завжди пишеться ім'я відповідної операції, як показано на малюнку.

Автомат (State machine) - це алгоритм поведінки, який визначає послідовність станів. через які об'єкт або взаємодія проходять протягом свого життєвого циклу в відповідь на різні події, а також реакції на ці події. За допомогою автомата можна описати поведінку окремого класу або кооперації класів. З автоматом пов'язаний ряд інших елементів: стану, переходи (з одного стану в інший), події (сутності, які ініціюють переходи) і види дій (реакція на перехід). Графічно стан зображується у вигляді прямокутника з закругленими кутами. що містить ім'я і, можливо, підстану.

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

Групуються суті є організують частинами моделі UML. Це блоки, на які можна розкласти модель. Є тільки одна первинна групує сутність, а саме пакет.

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

Пакети - це основні группирующие суті, за допомогою яких можна організувати модель UML. Існують також варіації пакетів, наприклад каркаси (Frameworks), моделі і підсистеми.

У мові UML визначено чотири типи відносин:

Ці відносини є основними сполучними будівельними блоками в UML і застосовуються для створення коректних моделей.

Залежність (Dependency) - це семантичне відношення між двома сутностями, при якому зміна однієї з них, незалежної, може вплинути на семантику іншого, залежною. Графічно залежність зображується у вигляді прямої пунктирною лінії. часто зі стрілкою, яка може містити мітку.

Асоціація (Association) - структурний ставлення, яке описує сукупність зв'язків; зв'язок - це з'єднання між об'єктами. Різновидом асоціації є агрегування (Aggregation) - так називають структурний відношення між цілим і його частинами. Графічно асоціація зображується у вигляді прямої лінії (іноді завершується стрілкою або містить мітку), поруч з якою можуть бути присутніми додаткові позначення, наприклад кратність і імена ролей. На малюнку показаний приклад відносин цього типу.

Узагальнення (Generalization) - це відношення «спеціалізація / узагальнення», при якому об'єкт спеціалізованого елемента (нащадок) може бути підставлений замість об'єкта узагальненого елемента (одного з батьків або предка). Таким чином, нащадок (Child) успадковує структуру і поведінку свого батька (Parent). Графічно відношення узагальнення зображається у вигляді лінії з незафарбовані стрілкою. вказує на батька, як показано на малюнку.

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

Чотири описаних елемента є основними типами відносин, які можна включати в моделі UML. Існують також їх варіації, наприклад уточнення (Refinement), трасування (Trace), включення та розширення (для залежностей).

Схожі статті