Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП.doc
Скачиваний:
9
Добавлен:
19.09.2019
Размер:
4.01 Mб
Скачать

19. Охарактеризуйте мову uml та її призначення. Які діаграми для подання моделі складної системиё надає uml, дайте коротку характеристику діаграм. Для чого на діаграмах uml застосовується мова ocl?

Мова UML призначена для рішення наступних завдань:

  1. Надати в розпорядження користувачів просту й виразну мову візуального моделювання, спеціально призначену для розробки й документування моделей складних систем всілякого цільового призначення.

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

для адекватного розуміння базових конструкцій мови UML важливо не тільки володіти деякими навичками об’єктно-орієнтованого програмування, але й добре уявляти собі загальну проблематику процесу розробки моделей систем.

  1. Забезпечити вихідні поняття мови UML можливістю розширення й спеціалізації для більш точного подання моделей систем у конкретній предметній області.

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

Базові поняття мови UML не слід змінювати більше, ніж це необхідно для їхнього розширення. Всі користувачі повинні бути здатні будувати моделі систем для більшості звичайних додатків з використанням тільки базових конструкцій мови UML без застосування механізму розширення. При цьому нові поняття й нотації доцільно застосовувати тільки в тих ситуаціях, коли наявних базових понять явно недостатньо для побудови моделей системи.

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

  1. Опис мови UML повинен підтримувати таку специфікацію моделей, що не залежить від конкретних мов програмування й інструментальних засобів проектування програмних систем.

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

З іншого боку, мова UML повинен мати потенційну можливість реалізації своїх конструкцій на тій або іншій мові програмування. Звичайно, у першу чергу маються на увазі мови, що підтримують концепцію ООП, такі як C++, Java, Object Pascal.

  1. Опис мови UML повинне містити в собі семантичний базис для розуміння загальних особливостей ООП.

Говорячи про цю особливість, мають на увазі самодостатність мови UML для розуміння не тільки його базових конструкцій, але що не менш важливо - розуміння загальних принципів ООП. У цьому зв'язку необхідно відзначити, що оскільки мова UML не є мовою програмування, а служить засобом для рішення завдань об’єктно-орієнтованого моделювання систем, опис мови UML повинне по можливості містити в собі всі необхідні поняття для ООП. Без цієї властивості мова UML може виявитися марною й незатребуваною більшістю користувачів, які не знайомі із проблематикою ООП складних систем.

  1. Заохочувати розвиток ринку об'єктних інструментальних засобів.

Говорячи ж про об'єктні технології, розроблювачі з OMG мають на увазі, насамперед, сукупність технологічних рішень CORBA й UML. Із цього погляду мові UML приділяється роль базового засобу для опису й документування різних об'єктних компонентів CORBA.

  1. Сприяти поширенню об'єктних технологій і відповідних понять ООП.

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

  1. Інтегрувати в себе новітні й найкращі досягнення практики ООП.

Мова UML безупинно вдосконалюється розроблювачами, і основою цієї роботи є його подальша інтеграція із сучасними модельними технологіями. При цьому різні методи системного моделювання одержують своє прикладне осмислення в рамках ООП. Надалі ці методи можуть бути включені до складу мови UML у формі додаткових базових понять, найбільше адекватно й найкращі досягнення, що повно відбивають, практики ООП.

У рамках мови UML всі подання про моделі складної системи фіксуються у вигляді спеціальних графічних конструкцій, що одержали назву діаграм. У термінах мови UML визначені наступні види діаграм:

  • Діаграма варіантів використання (use case diagram)

  • Діаграма класів (class diagram)

  • Діаграми поводження (behavior diagrams)

    • Діаграма станів (statechart diagram)

    • Діаграма діяльності (activity diagram)

    • Діаграми взаємодії (interaction diagrams)

    • Діаграма послідовності (sequence diagram)

    • Діаграма кооперації (collaboration diagram)

    • Діаграми реалізації (implementation diagrams)

    • Діаграма компонентів (component diagram)

    • Діаграма розгортання (deployment diagram)

Діаграма варіантів використання (use case diagram)

Суть даної діаграми полягає в наступному: проектована система представляється у вигляді безлічі сутностей або акторів, взаємодіючих із системою за допомогою так званих варіантів використання. При цьому актором (actor) або діючою особою називається будь-яка сутність, взаємодіюча із системою ззовні. Це може бути людина, технічний пристрій, програма або будь-яка інша система, що може служити джерелом впливу на моделюючу систему так, як визначить сам розроблювач. У свою чергу, варіант використання (use case) служить для опису сервисов, які система надає акторові. Інакше кажучи, кожен варіант використання визначає деякий набір дій, чинений системою при діалозі з актором. При цьому нічого не говориться про те, яким образом буде реалізована взаємодія акторів із системою.

Діаграма класів (class diagram) служить для подання статичної структури моделі системи в термінології класів об’єктно-орієнтованого програмування. Діаграма класів може відбивати, зокрема, різні взаємозв'язки між окремими сутностями предметної області, такими як об'єкти й підсистеми, а також описує їхню внутрішню структуру й типи відносин. На даній діаграмі не вказується інформація про тимчасові аспекти функціонування системи. Із цього погляду діаграма класів є подальшим розвитком концептуальної моделі проектованої системи.

Діаграма станів (statechart diagram)

Головне призначення цієї діаграми - описати можливі послідовності станів і переходів, які в сукупності характеризують поводження елемента моделі протягом його життєвого циклу. Діаграма станів представляє динамічне поводження сутностей, на основі специфікації їхньої реакції на сприйняття деяких конкретних подій. Системи, які реагують на зовнішні дії від інших систем або від користувачів, іноді називають реактивними. Якщо такі дії ініціюються в довільні випадкові моменти часу, то говорять про асинхронне поводження моделі.

Діаграма діяльності (activity diagram)

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

Діаграми взаємодії (interaction diagrams)

Мова об'єктних обмежень (Object Constraint Language, OCL) являє собою деякий формальний мова для опису обмежень, які можуть бути використані при визначенні різних компонентів мови UML. Мова OCL може бути використаний для вирішення наступних завдань:

o опис інваріанти класів і типів у діаграмі класів;

o опис перед-і постусловій в операціях та методи;

o опис сторожевих умов елементів моделі;

o навігація по структурі моделі;

o специфікація обмежень на операції.

Мова OCL є типізований мовою.Базовим елементом мови OCL є вираз, що будується за певними правилами.