UML

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

Технологія розробки програмного забезпечення
Технологія розробки програмного забезпечення
Життєвий цикл ПЗ
Аналіз вимог | Проектування | Реалізація | Тестування | Впровадження | Підтримка
Моделі
Agile | Cleanroom | Ітераційна | RAD | RUP | MSF | Спіральна | Водоспаду | Екстремальне програмування
Суміжні дисципліни
Документування | Керування проектами
Портал програмування · ред.

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

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

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

Зміст

[ред.] Застосування

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

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

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

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

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

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

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

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

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

[ред.] Історія створення

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

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

Протягом 1994-96 років творці трьох найпоширеніших методологій - Граді Буч (BOOCH), Джим Рамбо (OMT - Object Modelіng Technіque) і Айвар Якобсон (OOSE - Object Orіented Software Engіneerіng) об'єднали свої зусилля під егідою Rational Software Corporation для створення єдиної мови моделювання, яка б об'єднала всі істотні й успішні розробки в даній галузі і стала би стандартом мови об'єктного моделювання. Грандіозна робота, у якій поряд з Ratіonal брали участь представники багатьох компаній, таких, як Microsoft, IBM, Hewlett-Packard, Oracle, DEC, Unіsys, ІntellіCorp, Platіnum Technology і кількох сотень інших завершився створенням у січні 1997 року UML 1.0, яка після бурхливого обговорення протягом 1997 року у вересні під версією 1.1 і була передана в OMG для прийняття як галузевий стандарт мови об'єктного моделювання.

[ред.] Діаграми

Ієрархія діаграм UML 2.0, зображена у вигляді діаграми класів.
Ієрархія діаграм UML 2.0, зображена у вигляді діаграми класів.

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

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)

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

  • Класів
  • Компонент
  • Композитної/складеної структури
    • Кооперації (UML2.0)
  • Розгортування
  • Об'єктів
  • Пакетів

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

  • Діяльності
  • Скінчених автоматів (станів)
  • Прецедентів
  • Діаграми взаємодії:
    • Кооперації (UML1.x) /
      Комунікації (UML2.0)
    • Огляду взаємодії (UML2.0)
    • Послідовності
    • Синхронізації (UML2.0)

[ред.] Критика

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

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

[ред.] Дивіться також

[ред.] Ресурси Інтернет