Деякі особливості UML
Завантажити презентаціюПрезентація по слайдам:
Засоби розширення В UML закладено механізм розширення, який дозволяє визначати для моделей нові елементи у відповідності до предметної області, яка розглядається. Засобами розширення є: стереотипи (stereotype); обмеження (constraint); помічені значення (tagged value). Стереотипи дозволяють створювати нові будівельні блоки (як похідні від існуючих, але більш специфічні для розв’язуваної задачі). Помічені значення дозволяють розширювати властивості UML-елементів шляхом уведення нової інформації в їх специфікацію, а обмеження – задавати нову (розширену) семантику UML-елементів шляхом створення нових (чи зміни існуючих) правил, які визначають відповідні елементи. Деякі особливості UML
Відношення між елементами моделей. Відношення залежності В UML-діаграмах використовуються чотири типи відношень між елементами: залежності, узагальнення, асоціації та реалізації. Залежність відповідає наявності семантичного відношення використання між елементами моделі, коли зміни у незалежному елементі («постачальнику») потребують змін у залежному («клієнті»). Слід зауважити, що всі перераховані вище чотири відношення семантично є різновидами відношення залежності, однак три останніх при моделюванні відіграють настільки важливу роль, що було вирішено їх розглядати як особливі типи відношень, визначивши для них спеціальні позначення. Загалом при моделюванні можна використовувати й інші різновиди залежностей, однак розробники UML вирішили не вводити для них спеціальні позначення щоб запобігти надмірного ускладнення нотації UML. Такі різновиди розглядаються просто як варіації відношення залежності, усе ж при бажанні уточнити різновид відношення залежності можна скористатись механізмом розширення – стереотипом. Деякі особливості UML
Відношення між елементами моделей. Відношення узагальнення Узагальнення – відношення між двома поняттями (наприклад, класами, акторами) одне з яких є загальним (суперкласом), а друге – спеціальним (підкласом). Узагальнення слугує двом цілям: задіяти механізм успадкування; задіяти принцип “підстановки” (можливість використання екземплярів нащадків усюди, де можуть використовуватись екземпляри пращурів) та механізм поліморфізму. Узагальнення – це відношення, яке ще можна охарактеризувати словами “являє собою”. Деякі особливості UML
Відношення узагальнення. Стандартні обмеження До узагальнень можуть застосовуватись наступні (стандартні) обмеження: complete, incomplete – визначені всі (відповідно не всі) нащадки для заданого елемента. Приклади: 1) клієнт банку – {complete} – юридична особа, фізична особа; 2) а) мова програмування – {incomplete} – Паскаль, C, Java, …; б) многокутник – {incomplete} – трикутник, чотирикутник, ... overlapping, disjoint – екземпляри нащадка, зокрема, об’єкти, можуть (відповідно не можуть) одночасно бути екземплярами якогось іншого нащадка (стосовно того ж самого батьківського елемента, зокрема суперкласа). Приклади: 1) чотирикутник – {overlapping} – ромб, прямокутник; 2) многокутник – {disjoint } – трикутник, чотирикутник. Отже, маємо: многокутник – {incomplete, disjoint} – трикутник, чотирикутник, ... Деякі особливості UML
Відношення залежності. Стереотипи відношень залежності між прецедентами Залежність слугує для опису наявності семантичного відношення використання між елементами моделі, коли зміни у незалежному елементі («постачальнику») потребують змін у залежному («клієнті»). Стереотипи відношень залежності між прецедентами: ; . Деякі особливості UML
Стереотипи відношень залежності, що стосуються класів - зв'язування (присвоювання значень параметрам шаблона); - вивід (обчислення) екземпляра (цільового елемента) з інформації в іншому екземплярі (у джерелі). Приклад: вік - дата народження; - дружність (доступ незалежно від специфікації видимості); - створення екземпляра іншого класу (цільового елемента); - джерело є екземпляром класу, що задається як цільовий елемента); - уточнення елемента, що відповідає іншому рівню абстракції (джерело має нижчий рівень абстракції у порівнянні з цільовим елементом); > - всі об’єкти цільового класифікатора є нащадками заданого батьківського класа; - семантика джерела залежить від (використовує послуги) цільового елемента, але не описується іншими стереотипами; Деякі особливості UML
Стереотипи відношень залежності Стереотипи при моделюванні взаємодій між об’єктами: - для відображення деяких змін в об’єкті (стану, ролі, атрибутів тощо); - цільовий об’єкт є точною, але незалежною копією об’єкта-джерела; - використання виклику операції цільового об’єкта. Стереотипи відношень залежності, що стосуються пакетів: - доступ до вмісту (іншого) пакета (з використанням кваліфікованих імен на зразок Package::Class); - розширюється простір імен, чим, зокрема, забезпечуючи доступ до вмісту (іншого) пакета. Деякі особливості UML
Стереотипи відношень залежності Стереотип при моделюванні автоматами: - відправлення сигналу (події) іншому (цільовому ) об'єкту. Стереотип при організації елементів системи у моделі та підсистеми: - зв'язок між елементами з різних моделей – нагадування про підтримку деякої концепції. Наприклад, прецедент з діаграми прецедентів можна зв’язати відношенням trace з пакетом, що реалізує цей прецедент. Деякі особливості UML
Опис класів Клас зображається прямокутником, окремі секції якого можуть містити ім’я (ім’я повинно задаватись обов’язково), атрибути та операції. У додатковій секції можуть задаватись зобов’язання (зобов’язання слід розглядати як контракт стосовно розроблюваного класу). Зобов’язання також можуть задаватись у нотатках (зі стереотипом responsibility). Саме з визначення зобов’язань рекомендується починати моделювання класів для сутностей словника програмної системи чи предметної області. Деякі особливості UML
Cтандартні стереотипи та класи Стандартні стереотипи, що застосовуються до класів: interface; type; implementationClass; actor; exception; signal; process; thread. Деякі особливості UML
Класифікатори Класифікатори - це засоби моделювання, які дозволяють описувати структурні властивості та поведінку модельованих елементів і, крім того, характеризуються можливістю мати окремі екземпляри (з відповідними спільними структурними та поведінковими властивостями). Клас - типовий представник класифікаторів. У класах структурні та поведінкові властивості модельованих елементів описуються у формі атрибутів та операцій. Загалом в UML використовуються наступні види класифікаторів: клас; інтерфейс; тип даних; прецедент; підсистема; компонент; вузол; сигнал. Деякі особливості UML
Відношення реалізації Відношення реалізації - це відношення між класифікаторами, в першому з яких описується специфікація можливостей (контракт), а другий гарантує їх реалізацію. Семантично (і позначенням на діаграмах!) реалізація - щось середнє між узагальненням та залежністю. Найчастіше використовується для визначення відношень між інтерфейсами та класами, а також між прецедентами та коопераціями, що реалізують такі прецеденти. Деякі особливості UML
Реалізація інтерфейсів Дві форми зображення реалізації інтерфейсів: канонічна; згорнута. Деякі особливості UML
Шаблони класів Два варіанти інстанціювання шаблонів (явне та неявне зв’язування): Деякі особливості UML
Характеристики класифікаторів При опису класифікаторів чи їх можливих атрибутів або операцій можуть використовуватись різноманітні деталі: видимість (public, protected, private); область дії (instance, classifier); кратність; властивість змінюваності: changeable, addOnly, frozen; напрямок передачі параметрів: in, out, inout; типи параметрів та значення за замовчуванням (синтаксис опису параметра: [direction] name:type [default_value] ); isQuery - операція без побічних дій; абстрактні класи та операції (імена - курсивом); паралелізм операції: sequential, guarded, concurrent. (В UML розрізняються операції та методи. Останні мають співставлятись кожній не абстрактній операції та представляють формальний чи напівформальний опис алгоритму реалізації операції). Деякі особливості UML
Відношення між елементами моделей. Відношення асоціації Асоціація – структурне відношення, яке ґрунтується на наявності зв'язків між екземплярами (наприклад, між об'єктами двох класів). В асоціації беруть участь рівноправні елементи (зокрема, класи). Відповідно навігація, як правило, здійснюється в обох напрямках (за замовчуванням асоціації є двонаправленими). Агрегування – це окремий випадок асоціації, яка представляє зв'язки типу “частина-ціле”. (Узагальнення – це відношення, що характеризується як відношення типу “має”). Композиція – варіація відношення агрегування, коли агрегат (“ціле”) несе повну відповідальність за створення та знищення своїх “частин” так, що частина не може існувати без цілого. Приклади. Композиція: вікно – рамка, управляючі елементи вікна. Агрегування (не композиції): факультет – кафедра; кімната – стіна. Деякі особливості UML
Відношення асоціації. Характеристика деяких складових частин Роль слід розглядати як специфічну поведінку екземплярів класу у конкретному контексті. Наприклад, залежно від контексту екземпляр класу Людина може грати роль покупця, роботодавця, виборця, студента, нареченого тощо. Роль може специфікуватись типом, зокрема інтерфейсом. (Концепція типу тісно пов’язана з концепцією інтерфейса, тільки тип на відміну від інтерфейса може містити атрибути. Типи реалізуються класами реалізації, в яких фізична структура даних та методи об’єктів визначені, виходячи з конкретних мов програмування). Кваліфікатор використовується для вибору одного чи кількох (цільових) елементів. Наприклад, масив моделюється кваліфікованою асоціацією: сам масив розглядається як кваліфікований об’єкт, індекс масива - як кваліфікатор, а відповідний елемент масива - як цільовий об’єкт, Деякі особливості UML
Обмеження для відношень асоціації implicit (“неявний”) - свідчить про концептуальний характер відношення. Наприклад, якщо між двома класами існує асоціація, то її можна визначити також між нащадками від цих двох класів; ordered (“впорядкований”); changeable; addOnly; frozen. Деякі особливості UML
Схожі презентації
Категорії