русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Загальна структура мови UML


Дата додавання: 2014-10-07; переглядів: 2219.


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

  • Семантика мови UML. Являє собою деяку метамодель, що визначає абстрактний синтаксис і семантику понять об'єктного моделювання мовою UML.
  • Нотація мови UML. Являє собою графічну нотацію для візуального подання семантики мови UML.

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

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

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

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

  • Позначка-Метамодель
  • Метамодель
  • Модель
  • Об'єкти користувача

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

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

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

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

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

Конкретизація понять моделі відбувається на рівні об'єктів. У справжньому контексті об'єкт є екземпляром моделі, оскільки містить конкретну інформацію щодо того, чому в дійсності відповідають ті або інші поняття моделі. Прикладом об'єкта може служити наступний запис у проектованій базі даних: "Ілля Петров, 30 років, ілюзіоніст, вул. Невидима, 10-20, 100-0000".

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

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

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


<== попередня лекція | наступна лекція ==>
Основні етапи розвитку UML | Пакети в мові UML


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн