Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Unified Modeling Language

Очікує на перевірку
Матеріал з Вікіпедії — вільної енциклопедії.

Статус версії сторінки

На цій сторінці показано неперевірені зміни

UML logo
UML logo
Технологія розробки програмного забезпечення
Цикл розробки програмного забезпечення
Програміст за роботою
Діяльність і кроки
Допоміжні дисципліни
Практики
Інструменти
Стандарти та галузі знань

UML (англ.Unified Modeling Language) — уніфікована мова моделювання, використовується у парадигміоб'єктно-орієнтованого програмування. Є невід'ємною частиною уніфікованогопроцесу розробки програмного забезпечення. UML є мовою широкого профілю, цевідкритий стандарт, що використовує графічні позначення для створенняабстрактної моделісистеми, яка називаєтьсяUML-моделлю. UML був створений для визначення, візуалізації, проєктування й документування в основному програмних систем. UML не є мовою програмування, але в засобах виконання UML-моделей як інтерпретованого коду можлива кодогенерація.

Перша версія (1.0) UML вийшла13 січня1997, вона була створена консорціумомUML Partners за запитомObject Management Group (OMG) — організації, відповідальної за прийняття стандартів в галузі об'єктних технологій ібаз даних. Після обговорення, у вересні1997 року, версія 1.1 UML була представлена на голосування в OMG. Розробку UML підтримали і вже тоді використовували як стандарт такі гранди ринкуінформаційних технологій, якMicrosoft,IBM,Hewlett-Packard,Oracle,DEC,Sybase, Logic Works й інші.

Поточна версія — 2.0.

Застосування

[ред. |ред. код]

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

Діаграми дають можливість представити систему (як ділову, так і програмну) у такому вигляді, щоб її можна було легко перевести в програмний код.

Основною причиною використання мови UML є спілкування розробників між собою.[1]

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

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

Практично усіCASE-засоби (програми автоматизації процесу аналізу і проєктування) мають підтримку UML. Моделі розроблені в UML, дозволяють значно спростити процес кодування і направити зусилля програмістів безпосередньо на реалізацію системи.

Діаграми підвищують супроводжуваність проєкту і полегшують розробку документації.

UML необхідний:

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

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

Історія створення

[ред. |ред. код]

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

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

Протягом 1994-96 років творці трьох найпоширеніших методологій —Граді Буч (BOOCH),Джим Рамбо (OMT — Object Modeling Technique) іАйвар Якобсон (OOSE — Object Oriented Software Engineering) об'єднали свої зусилля під егідоюRational Software Corporation для створення єдиної мови моделювання, яка б об'єднала всі істотні й успішні розробки в даній галузі і стала би стандартом мови об'єктного моделювання. Грандіозна робота, у якій поряд з Rational брали участь представники багатьох компаній, таких, якMicrosoft,IBM,Hewlett-Packard,Oracle,DEC, Unisys, IntelliCorp, Platinum Technology і кількох сотень інших завершилася створенням у січні 1997 року UML 1.0, яка після бурхливого обговорення протягом 1997 року у вересні під версією 1.1 і була передана в OMG для прийняття як галузевий стандарт мови об'єктного моделювання.

Діаграми

[ред. |ред. код]
Колаж з різних діаграм UML

В UML використовується 14 видів діаграм (для уникнення непорозумінь, також наведено англомовні назви):

Structure Diagrams:

  • Class diagram
  • Component diagram
  • Composite structure diagram
    • Collaboration (UML2.0)
  • Deployment diagram
  • Object diagram
  • Package diagram

Behavior Diagrams:

  • Activity diagram
  • State Machine diagram
  • Use case diagram
  • Interaction Diagrams:
    • Collaboration (UML1.x) /
      Communication diagram (UML2.0)
    • Interaction overview diagram (UML2.0)
    • Sequence diagram
    • UML Timing Diagram (UML2.0)

Структурні діаграми:

Діаграми поведінки:

Діаграми взаємодії:

Uml diagram2

Структурні діаграми

[ред. |ред. код]

Структурні діаграми (англ.Structure Diagrams) відображають статичні стани системи. За їхньою допомогою виділяються основні елементи системи, яка проектується. Оскільки структурні діаграми відображують саме структури, вони використовуються при документуванніархітектури програмного забезпечення.

Діаграма профілю
[ред. |ред. код]

Діаграма профілю (англ.Profile Diagram) — діаграма профілю працює на рівні метамоделі, щоб показати стереотипи як класи зі стереотипом «стереотип», а профілі як пакети зі стереотипом «профіль». Відношення розширення (суцільна лінія із замкнутим, заповненим наконечником стрілки) вказує, який елемент метамоделі поширює даний стереотип. Діаграма профілю не існувала в UML 1. Вона була представлена в UML 2 для відображення використання профілів. До її впровадження для відображення цієї проблеми використовувалися інші діаграми.

Діаграма класів
[ред. |ред. код]
Докладніше:Діаграма класів

Діаграма класів (англ.Class Diagram) — статична структурна діаграма, яка описує структуру системи, демонструє класи системи, їхні атрибути, методи й залежності між класами.

Діаграма компонентів
[ред. |ред. код]

Діаграма компонентів (англ.Component diagram) — статична структурна діаграма, яка показує поділ програмної системи на структурні компоненти й зв'язки (залежності) між компонентами. В якості фізичних компонентів можуть виступати файли, бібліотеки, модулі, файли виконання, пакети й т.п.

Діаграма композитної/складеної структури
[ред. |ред. код]

Діаграма композитної/складеної структури (англ.Composite structure diagram) — статична структура діаграма, яка демонструє внутрішню структура класів й, за можливістю, взаємодію елементів (частин) внутрішньої структури класу.

Підвидом діаграм композитної структури є діаграми кооперації (англ.Collaboration diagram, введені в UML 2.0), які показують ролі й взаємодію класів у рамках кооперації. Кооперації є зручними для моделювання шаблонів проектування.

Діаграми композитної структури можуть використовуватися разом здіаграмами класів.

Діаграма розгортання
[ред. |ред. код]

Діаграма розгортання, діаграма розміщення (англ.Deployment diagram) — слугує для моделювання працюючих вузлів (апаратних засобів,англ.node) й артефактів, які на них розгорнуті. У UML2 на вузлах розгортаютьсяартефакти, (англ.artifact), тоді як у UML1 на вузлах розгоралися компоненти. Між артефактом і логічним елементом (компонентом), який він реалізує, установлюється залежність маніфестації.

Діаграма об'єктів
[ред. |ред. код]

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

Діаграма пакетів
[ред. |ред. код]

Діаграма пакетів (англ.Package diagram) — структуран діаграма, основним змістом якої є пакети і відношення між ними. Жорсткий розділ між різними структурними діаграмами не проводиться, тому дана назва пропонується виключно для зручності й не має семантичного значення (пакети й діаграми пакетів можуть бути присутніми на інших структурних діаграмах). Діаграми пакетів служать, насамперед, в організацію елементів у групи за ознакою з метою спрощення структури та організації роботи з моделлю системи.

Діаграма станів (кінцевих автоматів)
[ред. |ред. код]
Докладніше:Діаграма станів (UML)
Діаграма синхронізації
[ред. |ред. код]
Докладніше:Діаграма синхронізації (UML)

Призначення та рівні моделей

[ред. |ред. код]

Залежно від цілей використання моделі можуть бути таких основних рівнів:

  • концептуальна модель, модель аналізу (англ.conceptual model) — модель предметної області, у ній присутні тількикласи прикладних об'єктів, використовується для управління процесом мислення, розуміння; потребує концептуальної цілісності (англ.consistency);
  • модель проектування (англ.design model) — високороівневий (на рівні підсистем) та низькорівневий (на рівні класів) опис програмної системи; на її основі розробляється програмний код застосунку; призначена для подальшої розробки моделей реалізації; головна вимога — зрозумілість (англ.usability).
  • модель реалізації (англ.implementation model) — призначена для автоматичного перетворення в інший вид, наприклад, у програмний код, який виконується; (при використанніоб'єктно-орієнтованих мов програмування); головна вимога — повнота (англ.completeness).

Метамоделювання

[ред. |ред. код]
Ілюстрація Meta-Object Facility

Object Management Group (OMG) розробила архітектуру метамоделювання для визначення UML, яка називається Meta-Object Facility (MOF).[2] MOF розроблена як чотиришарова архітектура, як показано на зображенні праворуч. Вона забезпечує мета-мета-модель у верхній частині, яка називається шаром M3. Ця M3-модель є мовою, що використовується Meta-Object Facility для побудови метамоделей, які називаються M2-моделями.

Найяскравішим прикладом мета-об'єктної моделі 2-го рівня є метамодель UML, яка описує саму мову UML. Ці M2-моделі описують елементи M1-рівня, а отже, і M1-моделі. Це можуть бути, наприклад, моделі, написані на UML. Останній рівень — це M0-рівень або рівень даних. Він використовується для опису екземплярів системи під час виконання.[3]

Мета-модель може бути розширена за допомогою механізму, який називається стереотипізацією. Він був підданий критиці як недостатній/неприйнятний Брайаном Хендерсоном-Селлерсом та Сезаром Гонсалесом-Пересом у статті «Використання та зловживання механізмом стереотипів в UML 1.x та 2.0».[4]

Представлення моделей

[ред. |ред. код]
Представлення з UML 1

Представлення UML 1

[ред. |ред. код]

Представлення використання

[ред. |ред. код]

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

Представлення проектування

[ред. |ред. код]

Представлення проектування (англ.Design View) — призначене для опису словника предметної області, тобто класів, а також допоміжних сутностей, таких як інтерфейси та кооперації. Структурні аспекти передаютьсядіаграмами класів іоб'єктів, а поведінкові —діаграмами взаємодії,стану ідіяльності.

Представлення процесів

[ред. |ред. код]

Представлення процесів (англ.Process view) — опис взаємодії елементів управління (процесів, потоків) під час роботи системи. Структурні аспекти передаються за допомогою концепції активних класів, які представляють процеси і потоки, а поведінкові аспекти —діаграмами взаємодії,стану ідіяльності.

Представлення компонентів

[ред. |ред. код]

Представлення компонентів (англ.Component view) — опис системи на рівніартефактів (компонентів, файлів і т. д.), які використовуються для збирання, випуску, конфігурації програмного продукту. Структурні аспекти передаютьсядіаграмами компонентів, а поведінкові аспекти —діаграмами взаємодії,стану ідіяльності.

Представлення розгортання

[ред. |ред. код]

Представлення розгортання (англ.Deployment view) — відображення топології зв'язків апаратних засобів і розміщення на них компонентів. Структурні аспекти передаютьсядіаграмами розгортання, а поведінкові аспекти —діаграмами взаємодії,стану ідіяльності.

Представлення UML 2

[ред. |ред. код]

Статичне представлення

[ред. |ред. код]

Статичне представлення (англ.Static view) — відображення статичної структури системи без опису динаміки у будь-якому прояві. Як правило, статичне представлення відображує логічні концепції програмного забезпечення, основою якого єкласи і їх відносини.

Діаграми, які використовуються для статичного представлення:діаграма класів.

Представлення проектування

[ред. |ред. код]

Представлення проектування (англ.Design view) — більш деталізований варіант статичного представлення, з виділенням класифікацій, які забезпечують необхідну функціональність системи.

Діаграми, які використовуються для представлення проектування: діаграма внутрішньої структури,діаграма комунікації,діаграма компонентів.

Представлення використання

[ред. |ред. код]

Представлення використання (англ.Use Case view) — опис функціонування системи у термінах варіантів використання і розглядає їх з точки зору зацікавлених дійових осіб.

Діаграми, які використовуються для представлення використання:діаграма використання (діаграма прецедентів).

Представлення кінцевих автоматів

[ред. |ред. код]

Представлення кінцевих автоматів (англ.State machine view) — відображує поведінку окремих елементів, до яких можна застосувати поняття життєвого циклу, який описується набором станів і переходів між ними.

Діаграми, які використовуються для представлення кінцевих автоматів:діаграма кінцевих автоматів (діграма станів).

Представлення діяльності

[ред. |ред. код]

Представлення діяльності (англ.Activity view) — опис системи з точки зору різних елементів діяльності, які поєднані потоками управління і потоками даних.

Діаграми, які використовуються для представлення діяльності:діаграма діяльності, оглядовадіаграма взаємодії.

Представлення взаємодії

[ред. |ред. код]

Представлення взаємодії (англ.Interaction view) — відображення послідовності обміну повідомленнями між елементами системи під час виконання додатку.

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

Представлення розгортання

[ред. |ред. код]

Представлення управління моделлю

[ред. |ред. код]

Критика

[ред. |ред. код]

Попри те, що UML є широко визнаним стандартом мови моделювання, вона часто підпадає під критику через такі причини:

  • Надмірність мови
  • Неточна семантика
  • Проблеми у вивченні та застосуванні
  • Візуальна неоднорідність
  • Намагається подобатись усім

Див. також

[ред. |ред. код]

Примітки

[ред. |ред. код]
  1. Фаулер М., Скотт К. UML. Основы. — Пер. с англ. — СПб: Символ-Плюс, 2002.[Архівовано 14 грудня 2012 уWayback Machine.] — C. 23.
  2. Iman Poernomo (2006) «The Meta-Object Facility Typed» in:Proceeding SAC '06 Proceedings of the 2006 ACM symposium on Applied computing. pp. 1845—1849
  3. «UML 2.4.1 Infrastructure». Omg.org. 5 August 2011. Retrieved 10 April 2014.
  4. B. Henderson-Sellers; C. Gonzalez-Perez (2006). «Uses and Abuses of the Stereotype Mechanism in UML 1.x and 2.0». in:Model Driven Engineering Languages and Systems. Springer Berlin / Heidelberg.

Посилання

[ред. |ред. код]
Вікісховище має мультимедійні дані за темою:Unified Modeling Language

Література

[ред. |ред. код]
Суб'єкти
Поняття
Об'єктно-орієнтовані
Структурні
Поведінки
Відношення
Розширюваність
Інші поняття
Діаграми
Структурні
Поведінки
Взаємодії
Похідні мови
Інші статті
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Unified_Modeling_Language&oldid=47060471
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp